Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Головоломка: емкостной датчик угла 0..359`
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
Rostislav
Ребята, всем привет, всех с наступающими!!!!!!!

Вот делаю датчик для самолета.

Принцип работы: общая обкладка трех конденсаторов лежит на флюгере датчика и имеет форму полукруга. Флюгер изготовлен из фольгированного текстолита. Три остальные обкладки расположены на трех секторах круга из фольгированного текстолита. Он должен быть закреплен с внешней стороны фюзеляжа СЛС. В качестве вала, на котором закреплен флюгер, используется втулка с подшипниками от жесткого диска. При вращении флюгера меняется емкость трех конденсаторов. Останется только ее измерить. Конденсаторы электрически соединены звездой. На общую обкладку конденсаторов подается переменное синусоидальное напряжение высокой частоты. Математика для одного из шести (виртуальных) секторов следующая: (обкладка C закрыта (0 - 60 град)) ResetAngl = 300 - ((Ub - Ua) * 1200) div Uc, где Ux - напряжения на обкладках.

Идея работает, но наблюдается краевой эффект. Модель идеального датчика работает изумительно, но если, например, внести смещение емкости (столкнулся с этим на макете) хотя бы одного из конденсаторов, то сразу возникает нелинейность при восстановлении угла.

Вопрос: как побороть?

И еще, просьба: не предлагайте мне купить энкодер или еще чего готовое. Это легкий путь. biggrin.gif А я очень хочу добить эту конструкцию. Тем более, что она стоила мне копейки.

Во вложении две програмки-модели. В одной емкости одинаковые, во второй с перекосом (это видно по значениям напряжений).

Спасибо!!!!
MrYuran
А что за перекос и откуда он может взяться?
Rostislav
Цитата(MrYuran @ Nov 3 2010, 13:43) *
А что за перекос и откуда он может взяться?


Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении), в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП.
_Pasha
Вы б картинко выложили - какой баран будет запускать неизвестные программы?
MrYuran
Цитата(Rostislav @ Nov 3 2010, 14:56) *
Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении)

Ну, это насколько ж надо промахнуться, чтобы заметить изменение ёмкости
Цитата
, в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП.

Вот где нужно копать.
Ставить правильные диоды в правильную схему детектора, и оцифровывать правильным АЦП.

А ещё проще - собрать RC-генератор на этих емкостях (или LC), и тогда ни детектор, ни АЦП не понадобятся.
Rostislav
Цитата(_Pasha @ Nov 3 2010, 14:01) *
Вы б картинко выложили - какой баран будет запускать неизвестные программы?


Ну значит я баран. Я их не только запускал, но еще и скомпелировал в Delphi + еще и разработал. Значит я еще и осел! biggrin.gif

Цитата(MrYuran @ Nov 3 2010, 14:03) *
Ну, это насколько ж надо промахнуться, чтобы заметить изменение ёмкости


Совсем немного. Модель это показывает.

Цитата(MrYuran @ Nov 3 2010, 14:03) *
Вот где нужно копать.
Ставить правильные диоды в правильную схему детектора, и оцифровывать правильным АЦП.

А ещё проще - собрать RC-генератор на этих емкостях (или LC), и тогда ни детектор, ни АЦП не понадобятся.


Не! Копанием мы заниматься не будем. Какой смысл менять преобразование напряжения-цифра на преобразование частота-цифра. Отношение частот будет с той же ошибкой, и, опять же, из-за неидеальной конструкции конденсаторов.
xemul
Цитата(Rostislav @ Nov 3 2010, 13:56) *
Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении),

Ошибка по плоскостности легко даст бОльшую погрешность.
И то, и другое лечится калибровкой и табличной коррекцией.
Цитата
в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП.

Рассчитываете погрешности и ограничиваете результат значащими цифрами. Если окажется мало, улучшаете смехотехнику.
Rostislav
ScreenShort:

Цитата(xemul @ Nov 3 2010, 14:22) *
Ошибка по плоскостности легко даст бОльшую погрешность.
И то, и другое лечится калибровкой и табличной коррекцией.

Табличная коррекция (калибровка) впереди...

Прежде чем ее делать, нужно получить монотонность изменения восстановленного угла. А сейчас я имею разрывы. Вторая модель это показывает при углах 182..185` (град).
Причем разрывы очень неприятные: восстановленный угол монотонно увеличивается, потом резко уменьшается на ~10` (на макете), а потом снова монотонно увеличивается, проходя значение достигнутое ранее. Как можно калибровать в такой ситуации? laughing.gif
Евгений Германович
В книжке про измерения влажности древесины ( естественно не помню в какой) рассматривался емкостной измеритель влажности. И рассматривался краевой эффект, вроде вместе с методами борьбы с ним. Название всплывало здесь в связи с вопросом об измерении влажности. Попробуйте поискать.

Цитата(Rostislav @ Nov 3 2010, 14:21) *
Не! Копанием мы заниматься не будем. Какой смысл менять преобразование напряжения-цифра на преобразование частота-цифра. Отношение частот будет с той же ошибкой, и, опять же, из-за неидеальной конструкции конденсаторов.

Зря не будете. Измерять частоту проще.
MrYuran
Цитата(Rostislav @ Nov 3 2010, 15:34) *
Табличная коррекция (калибровка) впереди...

Прежде чем ее делать, нужно получить монотонность изменения восстановленного угла. А сейчас я имею разрывы. Вторая модель это показывает при углах 182..185` (град).
Причем разрывы очень неприятные: восстановленный угол монотонно увеличивается, потом резко уменьшается на ~10` (на макете), а потом снова монотонно увеличивается, проходя значение достигнутое ранее. Как можно калибровать в такой ситуации? laughing.gif

Калибровать надо ваши напряжения. (или максимум ёмкости)
Это, кстати, можно делать и на ходу, при полностью перекрытой обкладке.

Если я всё правильно понял.
Rostislav
Цитата(MrYuran @ Nov 3 2010, 15:19) *
Калибровать надо ваши напряжения. (или максимум ёмкости)
Это, кстати, можно делать и на ходу, при полностью перекрытой обкладке.

Если я всё правильно понял.


Частоты, емкости, напряжения, токи... Это все откалибровать можно. Но тогда еще и зависимость емкости от угла нужно калибровать, чтобы она у всех трех конденсаторов была одинаковая. Уж очень сложно все получается.

Самый простой способ - добится монотонного восстановления угла. Это можно сделать чисто математически. Вопрос как?

А уж потом применить калибровку по углу.
_Pasha
Вам тоже задам вопрос: как быть с влажностью воздуха?
У Вас конструкция такая, что флуктуации влажности испортят все показания
Rostislav
Цитата(_Pasha @ Nov 3 2010, 15:55) *
Вам тоже задам вопрос: как быть с влажностью воздуха?
У Вас конструкция такая, что флуктуации влажности испортят все показания


Поверхность обкладок защитить лаком. Попавшую воду между ними будет сдувать набегающий поток воздуха. И потом, диэлетрическая постоянная изменится для всех трех конденсаторов примерно одинаково (если вообще не одинаково). А измеряю угол я не по абсолютным значениям напряжений (вы математику посмотрите в файле unit*.pas), а по отношению между ними. Измерение относительное получается, понимаете? smile.gif
_Pasha
>>Попавшую воду между ними будет сдувать набегающий поток воздуха.

Согласен, но влажность - это не только попавшая вода. Это будет выглядеть, как будто сигнал промодулирован воздушным потоком.

>>Измерение относительное получается, понимаете?

При неравномерности влажности внутри датчика. Закрывать его надо чем-то.
xemul
Цитата(Rostislav @ Nov 3 2010, 15:42) *
тогда еще и зависимость емкости от угла нужно калибровать, чтобы она у всех трех конденсаторов была одинаковая. Уж очень сложно все получается.

По экспериментальным данным считаете ошибку, ищете частные зависимости её от каждого измеряемого параметра, строите коррекцию или для измеряемых параметров, или сразу для выхода.
Цитата
Самый простой способ - добится монотонного восстановления угла. Это можно сделать чисто математически. Вопрос как?

Для чисто волшебника это раз плюнуть об асфальт, а для чисто математика даже и не знаю.
Rostislav
Цитата(xemul @ Nov 3 2010, 16:30) *
По экспериментальным данным считаете ошибку, ищете частные зависимости её от каждого измеряемого параметра, строите коррекцию или для измеряемых параметров, или сразу для выхода.


Знаете!? Попробую проработать вариант с калибровкой итношений напряжений. Т.е. калибровочная таблица для частного. Ну и буду думать о монотонности преобразования.


Цитата(_Pasha @ Nov 3 2010, 16:22) *
>>Попавшую воду между ними будет сдувать набегающий поток воздуха.

Согласен, но влажность - это не только попавшая вода. Это будет выглядеть, как будто сигнал промодулирован воздушным потоком.

>>Измерение относительное получается, понимаете?

При неравномерности влажности внутри датчика. Закрывать его надо чем-то.


Хорошо! Интегрирование + парафин внутриблочно!!! Кубиков 10!!! biggrin.gif
MrYuran
Цитата(Rostislav @ Nov 3 2010, 17:54) *
Знаете!? Попробую проработать вариант с калибровкой итношений напряжений. Т.е. калибровочная таблица для частного.

Да не для частного, а для каждого из ваших Ua,b,c.
Ваши "нестыковки" как раз от разных масштабов происходят.
А ёмкость от угла при соосности зависит линейно.

Ещё раз глянул вашу модельку.
Данные там смоделированы или реальные?
Насколько я заметил, там даже не масштаб, а просто сдвиг "постоянной составляющей".
Это, по-моему, ещё проще учесть.
_Pasha
Цитата(Rostislav @ Nov 3 2010, 17:54) *
думать о монотонности преобразования.

А шо там думать?
Выполните точно такую же конструкцию, вторым этажом. И места, где влияет краевой эффект уберете поворотом "второго этажа" на 60 градусов.
Я не слишком витиевато?
yakub_EZ
Проблем с линейностью станет меньше если за основу взять КПЕ, воздушный, или лучше даже с пленкой. Думаю у вас емкость микроскопическая, не более десятков пик
Rostislav
Цитата(_Pasha @ Nov 3 2010, 17:06) *
Выполните точно такую же конструкцию, вторым этажом.


Предлагаете фзенду с огородом построить? Двухэтажные конструкции я встречал. Пока не хочу усложнять. К тому же, второй этаж отдельно нужно будет оцифровывать?

В модели данные смоделированные. Но точно такие же эффекты я наблюдаю и на макете.


Цитата(yakub_EZ @ Nov 3 2010, 17:43) *
Проблем с линейностью станет меньше если за основу взять КПЕ, воздушный, или лучше даже с пленкой. Думаю у вас емкость микроскопическая, не более десятков пик


А углы с КПЕ? +нужен легкий и свободный ход.

А емкость меняется от 7 до 15 пФ. Всего!!! Измерял измерителем RLC с четырехпроводной схемой включения. Именно поэтому и относительный метод измерения. Такой метод и позволяет измерять разницу в доли пФ.

Ребят!!! Чего по математике посоветуете? smile.gif
yakub_EZ
Цитата(Rostislav @ Nov 3 2010, 17:51) *
А емкость меняется от 7 до 15 пФ. Именно поэтому и относительный метод измерения. Такой метод и позволяет измерять разницу в доли пФ.

При таких емкостях, даже небольшая утечка от загрязнения или приращение поверхности от пылинки добавит довольно много.
Большинство КПЕ при помощи слесарных инструментов превращаются в полнооборотные. А если ось посажена на двух шариках, так эта конструкция превзойдет вашу по свободному ходу.
Угловая зависимость линейная, и емкость больше на порядок или два
Rostislav
Вот набросал картинку к объяснению причин краевого эффекта. Каждый цвет - конденсатор. Длина полоски - диапазон изменения емкости конденсатора. Видно, что он разный + есть нестыковки по измеренному напряжению (т.е. нестыковки линий друг с другом по оси X). Задача в том, чтобы концы этих линий математически склеить (это для исключения краевого эфекта). В идеале, еще и отмасштабировать относительно средней величины (это для линейности).

По поводу КПЕ. Он также чувствителен к влаге и пыли. + их надо будет 2. А КПЕ от радиол еще и тяжелые.
xemul
Цитата(Rostislav @ Nov 3 2010, 18:15) *
Вот набросал картинку к объяснению причин краевого эффекта. Каждый цвет - конденсатор. Длина полоски - диапазон изменения емкости конденсатора.

имхо, должны быть три трапеции, частично перекрывающиеся боковинами, и на подпорке от хвоста статора (там вроде бы тоже медь) и всяких паразитов. Кривизна на боковинах может получаться от непараллельности статора и ротора.
Rostislav
Цитата(xemul @ Nov 3 2010, 19:29) *
, и на подпорке от хвоста статора (там вроде бы тоже медь) и всяких паразитов. Кривизна на боковинах может получаться от непараллельности статора и ротора.


Не! Медь на хвосте стравил. Там все чисто.

С трапециями ничего не понял.
xemul
Цитата(Rostislav @ Nov 3 2010, 19:42) *
Не! Медь на хвосте стравил. Там все чисто.

На фотках хвост однако в меди.
Цитата
С трапециями ничего не понял.

Если конфигурация ротора и статора соответствует фоткам, то на зависимости ёмкости любой роторной обкладки от угла поворота должны быть плоский минимум (60°), такой же максимум (60°) и боковины (по 120°) от частичного перекрытия обкладок.
Rostislav
Цитата(xemul @ Nov 3 2010, 20:39) *
На фотках хвост однако в меди.


Это прошлогодняя медь. В этом году ее уже нет. biggrin.gif

Цитата(xemul @ Nov 3 2010, 20:39) *
Если конфигурация ротора и статора соответствует фоткам, то на зависимости ёмкости любой роторной обкладки от угла поворота должны быть плоский минимум (60°), такой же максимум (60°) и боковины (по 120°) от частичного перекрытия обкладок.


Так оно и есть. А на картинке я все упростил немного. smile.gif
Tanya
Хотите монотонность - сделайте ромбик кривенький на подвижной части. Или равнобедренный треугольник.
rudy_b
А ежели сделать по другому. Сделать 4 обкладки снизу (сектора по 90*, можно хитрой формы для задания амплитуды сигнала) и "флажок" (сектор 90*) сверху, с которого снимается сигнал. На противоположные (по диаметру) обкладки подать инвертированный сигнал, причем на одну пару - сдвинутый по фазе на 90*. Тогда при вращении на "флажке" всегда будет сигнал, амплитуда его будет гулять, но фаза - строго соответствовать углу и изменяться в диапазоне 0..360*. Вот ее и измерять.
Rostislav
Цитата(rudy_b @ Nov 4 2010, 00:39) *
А ежели сделать по другому


wacko.gif wacko.gif wacko.gif У меня воображение максимум трехмерное! wacko.gif Мне очень интересна Ваша идея, но вообразить такую конструкцию я не могу! Вы можете нарисовать, что примерно Вы имеете ввиду?

Спасибо!
xemul
Цитата(Rostislav @ Nov 3 2010, 20:54) *
Так оно и есть. А на картинке я все упростил немного. smile.gif

Тогда синяя и красная обкладки просто ближе к статорной, чем зелёная. (или, что тождественно, зелёная имеет меньшую ёмкость)
Цитата(Rostislav @ Nov 4 2010, 01:29) *
У меня воображение максимум трехмерное! wacko.gif Мне очень интересна Ваша идея, но вообразить такую конструкцию я не могу! Вы можете нарисовать, что примерно Вы имеете ввиду?

Погуглите про синус-косинусные измерения.
Обратный вариант этого метода (адаптировано к Вашему случаю): измерительный сигнал подаётся на подвижную обкладку, измеряемые сигналы (2, 3, ... - по вкусу) снимаются с соответствующего числа статорных обкладок.
Ни то, ни другое не спасает от механических погрешностей.
Rostislav
Цитата(xemul @ Nov 4 2010, 13:03) *
измерительный сигнал подаётся на подвижную обкладку


В моем случае это именно так. На подвижную (общую) обкладку подаю синус амплитудой порядка 20В. smile.gif
Deka
А если границы секторов сделать не вдоль радиусов, а вдоль некой спирали? Может быть это поможет? Помница народ как-то боролся с краевым эффектом в емкостных датчиках уровня. Там по идее ваше-же задача, только там подвижный электрод - жидкость. ИМХО Вам надо посмотреть чего и какими силами они добились.
xemul
Цитата(Rostislav @ Nov 4 2010, 14:57) *
В моем случае это именно так. На подвижную (общую) обкладку подаю синус амплитудой порядка 20В. smile.gif

Осталось добавить умножители или синхронные детекторы.
rudy_b
Берется генератор, у которого есть 4 выхода:
1. Синус
2. Синус, задержанный на 90* (косинус)
3. Инверсный синус (синус, задержанный на 180*)
4. Инверсный косинус (синус, задержанный на 270*)

На круглой плате нарезается 4 сектора по 90*. Нумеруем их по часовой стрелке и подаем на сектора соответствующие сигналы с 4-х выходов генератора.

Измерительный электрод выполняется в форме такого-же сектора. При его повороте на него будут преимущественно поступать сигналы с соответствующего сектора. Они идут на два синхронных детектора, которые выделяют синусную и косинусную компоненты - дальше простая математика дает угол поворота.

Лучше сделать измерительный электрод в форме двух противостоящих секторов, тогда на одном будет фаза, на другом противофаза, и подать на дифференциальный измеритель. При этом будут скоменсированы некоторые геометрические искажения, амплитуда сигнала станет более постоянной, заодно помехи уменьшаться.

Цитата(xemul @ Nov 4 2010, 14:03) *
Ни то, ни другое не спасает от механических погрешностей.

Ессно, зато нет никаких перескоков.


Rostislav
Цитата(rudy_b @ Nov 6 2010, 21:58) *
дальше простая математика дает угол поворота


У Вас есть ссылочка на математику? smile.gif Спасибо!
rudy_b
Цитата(Rostislav @ Nov 7 2010, 02:31) *
У Вас есть ссылочка на математику? smile.gif Спасибо!

Так она школьная, только с квадрантами нужно быть аккуратным.
Если нужен угол > -180 и <=+180 то
if(cos==0 && sin>=0) f=90; *(sin==0 && cos==0 - не бывает)
if(cos==0 && sin<0) f=-90;
if(cos>0) f=atan(sin/cos);
if(cos<0 && sin>=0) f=atan(sin/cos)+180;
if(cos<0 && sin<0) f=-180-atan(sin/cos);

Бывает честная atan2, которая сразу и квадрант учитывает, но это нужно библиотеки смотреть.
Если нужен угол 0...360-, то выражения несколько иные, но принцип тот же.

Что-то в таком духе, рисовал из головы, мог слегка наврать.
Hmm
А такой датчик для авиамодели или частного самолета предпологается использовать? Или так ... для души?
Rostislav
Цитата(rudy_b @ Nov 7 2010, 04:00) *
Если нужен угол > -180 и <=+180 то
if(cos==0 && sin>=0) f=90; *(sin==0 && cos==0 - не бывает)
if(cos==0 && sin<0) f=-90;
if(cos>0) f=atan(sin/cos);
if(cos<0 && sin>=0) f=atan(sin/cos)+180;
if(cos<0 && sin<0) f=-180-atan(sin/cos);


Как я могу это применить у себя? У меня три сектора. А напряжение возбуждения подается на одну общую подвижную обкладку.

В своем варианте я стремился ограничится только чистой арифметикой. В принципе это получилось. А тут мощная тригонометрия, а обработка у меня происходит в PIC. При таких вычислениях, я не смогу 10 раз в секунду получать результат. Потом, это уже иная конструкция, а переделывать не хочется.

Цитата(Hmm @ Nov 7 2010, 15:31) *
А такой датчик для авиамодели или частного самолета предпологается использовать? Или так ... для души?

Для самодельного частного самолета. rolleyes.gif Есть у меня такая мечта. Комплект авионики должен получится крутым, как на боинге. 2-а больших цветных ЖКИ дисплея, 2-е БЭВМ и все это будет работать с электронными датчиками.
MrYuran
Цитата(Rostislav @ Nov 9 2010, 16:43) *
Комплект авионики должен получится крутым, как на боинге. 2-а больших цветных ЖКИ дисплея, 2-е БЭВМ и все это будет работать с электронными датчиками.

Главное, чтобы парашют не подвёл...
Это так, чёрный юмор...
Rostislav
Цитата(MrYuran @ Nov 9 2010, 16:48) *
Главное, чтобы парашют не подвёл...


Не парашют, а балистическая спассистема! Обязательно поставлю!

По-поводу датчика.
Есть идея взять сумму напряжений на крайних секторах. Например, так: U`a = Ua + Ub, U`b = Ub + Uc, U`c = Uc + Ua. И рассчитать угол по этим значениям.
rudy_b
Цитата(Rostislav @ Nov 9 2010, 17:43) *
Как я могу это применить у себя? У меня три сектора. А напряжение возбуждения подается на одну общую подвижную обкладку.

Так переделайте, делов-то. Особенно если
Цитата
Комплект авионики должен получится крутым, как на боинге. 2-а больших цветных ЖКИ дисплея, 2-е БЭВМ и все это будет работать с электронными датчиками.


А насчет
Цитата
В своем варианте я стремился ограничится только чистой арифметикой. В принципе это получилось. А тут мощная тригонометрия, а обработка у меня происходит в PIC. При таких вычислениях, я не смогу 10 раз в секунду получать результат.

то PIC с этим справится элементарно, даже если считать напрямую. Но никто не мешает использовать табличные значения.

А по поводу одного излучателя и трех приемников - почти гарантированно будет куча некомпенсируемых геометрических искажений. В моем варианте искажения минимальны (например перекос оси будет компенсироваться автоматически) и амплитуда сигнала (одного, а не трех!) значительно более постоянна, что облегчает ее измерение и обработку. Но генерировать приходится два сигнала (два получаются инверсией), что не представляет особой проблемы, хоть таймером с процессора. Можно вообще использовать прямоугольник, а фильтрацию верхних гармоник сделать прямо в проце для одного входного сигнала.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.