|
Головоломка: емкостной датчик угла 0..359`, Проблема краевого эффекта |
|
|
|
Nov 3 2010, 10:00
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Ребята, всем привет, всех с наступающими!!!!!!! Вот делаю датчик для самолета. Принцип работы: общая обкладка трех конденсаторов лежит на флюгере датчика и имеет форму полукруга. Флюгер изготовлен из фольгированного текстолита. Три остальные обкладки расположены на трех секторах круга из фольгированного текстолита. Он должен быть закреплен с внешней стороны фюзеляжа СЛС. В качестве вала, на котором закреплен флюгер, используется втулка с подшипниками от жесткого диска. При вращении флюгера меняется емкость трех конденсаторов. Останется только ее измерить. Конденсаторы электрически соединены звездой. На общую обкладку конденсаторов подается переменное синусоидальное напряжение высокой частоты. Математика для одного из шести (виртуальных) секторов следующая: (обкладка C закрыта (0 - 60 град)) ResetAngl = 300 - ((Ub - Ua) * 1200) div Uc, где Ux - напряжения на обкладках. Идея работает, но наблюдается краевой эффект. Модель идеального датчика работает изумительно, но если, например, внести смещение емкости (столкнулся с этим на макете) хотя бы одного из конденсаторов, то сразу возникает нелинейность при восстановлении угла. Вопрос: как побороть? И еще, просьба: не предлагайте мне купить энкодер или еще чего готовое. Это легкий путь.  А я очень хочу добить эту конструкцию. Тем более, что она стоила мне копейки. Во вложении две програмки-модели. В одной емкости одинаковые, во второй с перекосом (это видно по значениям напряжений). Спасибо!!!!
Сообщение отредактировал Rostislav - Nov 3 2010, 10:34
Эскизы прикрепленных изображений
Прикрепленные файлы
Unit1.pas.zip ( 1.95 килобайт )
Кол-во скачиваний: 29
_____.rar ( 185.7 килобайт )
Кол-во скачиваний: 25
____.rar ( 185.71 килобайт )
Кол-во скачиваний: 23
|
|
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 40)
|
Nov 3 2010, 10:56
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(MrYuran @ Nov 3 2010, 13:43)  А что за перекос и откуда он может взяться? Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении), в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП.
|
|
|
|
|
Nov 3 2010, 11:03
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Rostislav @ Nov 3 2010, 14:56)  Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении) Ну, это насколько ж надо промахнуться, чтобы заметить изменение ёмкости Цитата , в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП. Вот где нужно копать. Ставить правильные диоды в правильную схему детектора, и оцифровывать правильным АЦП. А ещё проще - собрать RC-генератор на этих емкостях (или LC), и тогда ни детектор, ни АЦП не понадобятся.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Nov 3 2010, 11:21
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(_Pasha @ Nov 3 2010, 14:01)  Вы б картинко выложили - какой баран будет запускать неизвестные программы? Ну значит я баран. Я их не только запускал, но еще и скомпелировал в Delphi + еще и разработал. Значит я еще и осел!  Цитата(MrYuran @ Nov 3 2010, 14:03)  Ну, это насколько ж надо промахнуться, чтобы заметить изменение ёмкости Совсем немного. Модель это показывает. Цитата(MrYuran @ Nov 3 2010, 14:03)  Вот где нужно копать. Ставить правильные диоды в правильную схему детектора, и оцифровывать правильным АЦП.
А ещё проще - собрать RC-генератор на этих емкостях (или LC), и тогда ни детектор, ни АЦП не понадобятся. Не! Копанием мы заниматься не будем. Какой смысл менять преобразование напряжения-цифра на преобразование частота-цифра. Отношение частот будет с той же ошибкой, и, опять же, из-за неидеальной конструкции конденсаторов.
Сообщение отредактировал Rostislav - Nov 3 2010, 11:22
|
|
|
|
|
Nov 3 2010, 11:22
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Rostislav @ Nov 3 2010, 13:56)  Его природа в том, что емкости конструктивно не могут быть одинаковыми (из-за погрешности размеров при изготовлении), Ошибка по плоскостности легко даст бОльшую погрешность. И то, и другое лечится калибровкой и табличной коррекцией. Цитата в том что выпрямленные напряжения снимаемые с обкладок конденсаторов не одинаковы (из-за разброса параметров диодов в выпрямителе), в том что есть ошибки преобразования АЦП. Рассчитываете погрешности и ограничиваете результат значащими цифрами. Если окажется мало, улучшаете смехотехнику.
|
|
|
|
|
Nov 3 2010, 11:34
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
ScreenShort: Цитата(xemul @ Nov 3 2010, 14:22)  Ошибка по плоскостности легко даст бОльшую погрешность. И то, и другое лечится калибровкой и табличной коррекцией. Табличная коррекция (калибровка) впереди... Прежде чем ее делать, нужно получить монотонность изменения восстановленного угла. А сейчас я имею разрывы. Вторая модель это показывает при углах 182..185` (град). Причем разрывы очень неприятные: восстановленный угол монотонно увеличивается, потом резко уменьшается на ~10` (на макете), а потом снова монотонно увеличивается, проходя значение достигнутое ранее. Как можно калибровать в такой ситуации?
Сообщение отредактировал Rostislav - Nov 3 2010, 11:38
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 3 2010, 12:19
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Rostislav @ Nov 3 2010, 15:34)  Табличная коррекция (калибровка) впереди... Прежде чем ее делать, нужно получить монотонность изменения восстановленного угла. А сейчас я имею разрывы. Вторая модель это показывает при углах 182..185` (град). Причем разрывы очень неприятные: восстановленный угол монотонно увеличивается, потом резко уменьшается на ~10` (на макете), а потом снова монотонно увеличивается, проходя значение достигнутое ранее. Как можно калибровать в такой ситуации?  Калибровать надо ваши напряжения. (или максимум ёмкости) Это, кстати, можно делать и на ходу, при полностью перекрытой обкладке. Если я всё правильно понял.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Nov 3 2010, 12:42
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(MrYuran @ Nov 3 2010, 15:19)  Калибровать надо ваши напряжения. (или максимум ёмкости) Это, кстати, можно делать и на ходу, при полностью перекрытой обкладке.
Если я всё правильно понял. Частоты, емкости, напряжения, токи... Это все откалибровать можно. Но тогда еще и зависимость емкости от угла нужно калибровать, чтобы она у всех трех конденсаторов была одинаковая. Уж очень сложно все получается. Самый простой способ - добится монотонного восстановления угла. Это можно сделать чисто математически. Вопрос как? А уж потом применить калибровку по углу.
Сообщение отредактировал Rostislav - Nov 3 2010, 12:43
|
|
|
|
|
Nov 3 2010, 13:02
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(_Pasha @ Nov 3 2010, 15:55)  Вам тоже задам вопрос: как быть с влажностью воздуха? У Вас конструкция такая, что флуктуации влажности испортят все показания Поверхность обкладок защитить лаком. Попавшую воду между ними будет сдувать набегающий поток воздуха. И потом, диэлетрическая постоянная изменится для всех трех конденсаторов примерно одинаково (если вообще не одинаково). А измеряю угол я не по абсолютным значениям напряжений (вы математику посмотрите в файле unit*.pas), а по отношению между ними. Измерение относительное получается, понимаете?
|
|
|
|
|
Nov 3 2010, 13:30
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Rostislav @ Nov 3 2010, 15:42)  тогда еще и зависимость емкости от угла нужно калибровать, чтобы она у всех трех конденсаторов была одинаковая. Уж очень сложно все получается. По экспериментальным данным считаете ошибку, ищете частные зависимости её от каждого измеряемого параметра, строите коррекцию или для измеряемых параметров, или сразу для выхода. Цитата Самый простой способ - добится монотонного восстановления угла. Это можно сделать чисто математически. Вопрос как? Для чисто волшебника это раз плюнуть об асфальт, а для чисто математика даже и не знаю.
|
|
|
|
|
Nov 3 2010, 13:54
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(xemul @ Nov 3 2010, 16:30)  По экспериментальным данным считаете ошибку, ищете частные зависимости её от каждого измеряемого параметра, строите коррекцию или для измеряемых параметров, или сразу для выхода. Знаете!? Попробую проработать вариант с калибровкой итношений напряжений. Т.е. калибровочная таблица для частного. Ну и буду думать о монотонности преобразования. Цитата(_Pasha @ Nov 3 2010, 16:22)  >>Попавшую воду между ними будет сдувать набегающий поток воздуха.
Согласен, но влажность - это не только попавшая вода. Это будет выглядеть, как будто сигнал промодулирован воздушным потоком.
>>Измерение относительное получается, понимаете?
При неравномерности влажности внутри датчика. Закрывать его надо чем-то. Хорошо! Интегрирование + парафин внутриблочно!!! Кубиков 10!!!
|
|
|
|
|
Nov 3 2010, 14:06
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(Rostislav @ Nov 3 2010, 17:54)  Знаете!? Попробую проработать вариант с калибровкой итношений напряжений. Т.е. калибровочная таблица для частного. Да не для частного, а для каждого из ваших Ua,b,c. Ваши "нестыковки" как раз от разных масштабов происходят. А ёмкость от угла при соосности зависит линейно. Ещё раз глянул вашу модельку. Данные там смоделированы или реальные? Насколько я заметил, там даже не масштаб, а просто сдвиг "постоянной составляющей". Это, по-моему, ещё проще учесть.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Nov 3 2010, 14:55
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(_Pasha @ Nov 3 2010, 17:06)  Выполните точно такую же конструкцию, вторым этажом. Предлагаете фзенду с огородом построить? Двухэтажные конструкции я встречал. Пока не хочу усложнять. К тому же, второй этаж отдельно нужно будет оцифровывать? В модели данные смоделированные. Но точно такие же эффекты я наблюдаю и на макете. Цитата(yakub_EZ @ Nov 3 2010, 17:43)  Проблем с линейностью станет меньше если за основу взять КПЕ, воздушный, или лучше даже с пленкой. Думаю у вас емкость микроскопическая, не более десятков пик А углы с КПЕ? +нужен легкий и свободный ход. А емкость меняется от 7 до 15 пФ. Всего!!! Измерял измерителем RLC с четырехпроводной схемой включения. Именно поэтому и относительный метод измерения. Такой метод и позволяет измерять разницу в доли пФ. Ребят!!! Чего по математике посоветуете?
Сообщение отредактировал Rostislav - Nov 3 2010, 14:53
|
|
|
|
|
Nov 3 2010, 14:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 329
Регистрация: 6-12-08
Из: Москва
Пользователь №: 42 252

|
Цитата(Rostislav @ Nov 3 2010, 17:51)  А емкость меняется от 7 до 15 пФ. Именно поэтому и относительный метод измерения. Такой метод и позволяет измерять разницу в доли пФ. При таких емкостях, даже небольшая утечка от загрязнения или приращение поверхности от пылинки добавит довольно много. Большинство КПЕ при помощи слесарных инструментов превращаются в полнооборотные. А если ось посажена на двух шариках, так эта конструкция превзойдет вашу по свободному ходу. Угловая зависимость линейная, и емкость больше на порядок или два
|
|
|
|
|
Nov 3 2010, 15:15
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Вот набросал картинку к объяснению причин краевого эффекта. Каждый цвет - конденсатор. Длина полоски - диапазон изменения емкости конденсатора. Видно, что он разный + есть нестыковки по измеренному напряжению (т.е. нестыковки линий друг с другом по оси X). Задача в том, чтобы концы этих линий математически склеить (это для исключения краевого эфекта). В идеале, еще и отмасштабировать относительно средней величины (это для линейности). По поводу КПЕ. Он также чувствителен к влаге и пыли. + их надо будет 2. А КПЕ от радиол еще и тяжелые.
Сообщение отредактировал Rostislav - Nov 3 2010, 15:20
Эскизы прикрепленных изображений
|
|
|
|
|
Nov 3 2010, 16:42
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(xemul @ Nov 3 2010, 19:29)  , и на подпорке от хвоста статора (там вроде бы тоже медь) и всяких паразитов. Кривизна на боковинах может получаться от непараллельности статора и ротора. Не! Медь на хвосте стравил. Там все чисто. С трапециями ничего не понял.
Сообщение отредактировал Rostislav - Nov 3 2010, 16:43
|
|
|
|
|
Nov 3 2010, 17:39
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Rostislav @ Nov 3 2010, 19:42)  Не! Медь на хвосте стравил. Там все чисто. На фотках хвост однако в меди. Цитата С трапециями ничего не понял. Если конфигурация ротора и статора соответствует фоткам, то на зависимости ёмкости любой роторной обкладки от угла поворота должны быть плоский минимум (60°), такой же максимум (60°) и боковины (по 120°) от частичного перекрытия обкладок.
|
|
|
|
|
Nov 3 2010, 17:54
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(xemul @ Nov 3 2010, 20:39)  На фотках хвост однако в меди. Это прошлогодняя медь. В этом году ее уже нет. Цитата(xemul @ Nov 3 2010, 20:39)  Если конфигурация ротора и статора соответствует фоткам, то на зависимости ёмкости любой роторной обкладки от угла поворота должны быть плоский минимум (60°), такой же максимум (60°) и боковины (по 120°) от частичного перекрытия обкладок. Так оно и есть. А на картинке я все упростил немного.
|
|
|
|
|
Nov 4 2010, 10:03
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Rostislav @ Nov 3 2010, 20:54)  Так оно и есть. А на картинке я все упростил немного.  Тогда синяя и красная обкладки просто ближе к статорной, чем зелёная. (или, что тождественно, зелёная имеет меньшую ёмкость) Цитата(Rostislav @ Nov 4 2010, 01:29)  У меня воображение максимум трехмерное!  Мне очень интересна Ваша идея, но вообразить такую конструкцию я не могу! Вы можете нарисовать, что примерно Вы имеете ввиду? Погуглите про синус-косинусные измерения. Обратный вариант этого метода (адаптировано к Вашему случаю): измерительный сигнал подаётся на подвижную обкладку, измеряемые сигналы (2, 3, ... - по вкусу) снимаются с соответствующего числа статорных обкладок. Ни то, ни другое не спасает от механических погрешностей.
|
|
|
|
|
Nov 4 2010, 11:57
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(xemul @ Nov 4 2010, 13:03)  измерительный сигнал подаётся на подвижную обкладку В моем случае это именно так. На подвижную (общую) обкладку подаю синус амплитудой порядка 20В.
|
|
|
|
|
Nov 6 2010, 18:58
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Берется генератор, у которого есть 4 выхода: 1. Синус 2. Синус, задержанный на 90* (косинус) 3. Инверсный синус (синус, задержанный на 180*) 4. Инверсный косинус (синус, задержанный на 270*) На круглой плате нарезается 4 сектора по 90*. Нумеруем их по часовой стрелке и подаем на сектора соответствующие сигналы с 4-х выходов генератора. Измерительный электрод выполняется в форме такого-же сектора. При его повороте на него будут преимущественно поступать сигналы с соответствующего сектора. Они идут на два синхронных детектора, которые выделяют синусную и косинусную компоненты - дальше простая математика дает угол поворота. Лучше сделать измерительный электрод в форме двух противостоящих секторов, тогда на одном будет фаза, на другом противофаза, и подать на дифференциальный измеритель. При этом будут скоменсированы некоторые геометрические искажения, амплитуда сигнала станет более постоянной, заодно помехи уменьшаться. Цитата(xemul @ Nov 4 2010, 14:03)  Ни то, ни другое не спасает от механических погрешностей. Ессно, зато нет никаких перескоков.
|
|
|
|
|
Nov 6 2010, 22:31
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(rudy_b @ Nov 6 2010, 21:58)  дальше простая математика дает угол поворота У Вас есть ссылочка на математику?  Спасибо!
|
|
|
|
|
Nov 7 2010, 01:00
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата(Rostislav @ Nov 7 2010, 02:31)  У Вас есть ссылочка на математику?  Спасибо! Так она школьная, только с квадрантами нужно быть аккуратным. Если нужен угол > -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-, то выражения несколько иные, но принцип тот же. Что-то в таком духе, рисовал из головы, мог слегка наврать.
|
|
|
|
|
Nov 9 2010, 13:43
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(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)  А такой датчик для авиамодели или частного самолета предпологается использовать? Или так ... для души? Для самодельного частного самолета.  Есть у меня такая мечта. Комплект авионики должен получится крутым, как на боинге. 2-а больших цветных ЖКИ дисплея, 2-е БЭВМ и все это будет работать с электронными датчиками.
Сообщение отредактировал Rostislav - Nov 9 2010, 13:45
|
|
|
|
|
Nov 9 2010, 15:02
|
Частый гость
 
Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765

|
Цитата(MrYuran @ Nov 9 2010, 16:48)  Главное, чтобы парашют не подвёл... Не парашют, а балистическая спассистема! Обязательно поставлю! По-поводу датчика. Есть идея взять сумму напряжений на крайних секторах. Например, так: U`a = Ua + Ub, U`b = Ub + Uc, U`c = Uc + Ua. И рассчитать угол по этим значениям.
|
|
|
|
|
Nov 13 2010, 16:10
|
Знающий
   
Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458

|
Цитата(Rostislav @ Nov 9 2010, 17:43)  Как я могу это применить у себя? У меня три сектора. А напряжение возбуждения подается на одну общую подвижную обкладку. Так переделайте, делов-то. Особенно если Цитата Комплект авионики должен получится крутым, как на боинге. 2-а больших цветных ЖКИ дисплея, 2-е БЭВМ и все это будет работать с электронными датчиками. А насчет Цитата В своем варианте я стремился ограничится только чистой арифметикой. В принципе это получилось. А тут мощная тригонометрия, а обработка у меня происходит в PIC. При таких вычислениях, я не смогу 10 раз в секунду получать результат. то PIC с этим справится элементарно, даже если считать напрямую. Но никто не мешает использовать табличные значения. А по поводу одного излучателя и трех приемников - почти гарантированно будет куча некомпенсируемых геометрических искажений. В моем варианте искажения минимальны (например перекос оси будет компенсироваться автоматически) и амплитуда сигнала (одного, а не трех!) значительно более постоянна, что облегчает ее измерение и обработку. Но генерировать приходится два сигнала (два получаются инверсией), что не представляет особой проблемы, хоть таймером с процессора. Можно вообще использовать прямоугольник, а фильтрацию верхних гармоник сделать прямо в проце для одного входного сигнала.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|