реклама на сайте
подробности

 
 
> Головоломка: емкостной датчик угла 0..359`, Проблема краевого эффекта
Rostislav
сообщение Nov 3 2010, 10:00
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765



Ребята, всем привет, всех с наступающими!!!!!!!

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

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

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

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

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

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

Спасибо!!!!

Сообщение отредактировал Rostislav - Nov 3 2010, 10:34
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  Unit1.pas.zip ( 1.95 килобайт ) Кол-во скачиваний: 29
Прикрепленный файл  _____.rar ( 185.7 килобайт ) Кол-во скачиваний: 25
Прикрепленный файл  ____.rar ( 185.71 килобайт ) Кол-во скачиваний: 23
 
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 40)
Rostislav
сообщение Nov 4 2010, 11:57
Сообщение #31


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765



Цитата(xemul @ Nov 4 2010, 13:03) *
измерительный сигнал подаётся на подвижную обкладку


В моем случае это именно так. На подвижную (общую) обкладку подаю синус амплитудой порядка 20В. smile.gif
Go to the top of the page
 
+Quote Post
Deka
сообщение Nov 4 2010, 17:49
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 18-07-06
Из: Сочи
Пользователь №: 18 890



А если границы секторов сделать не вдоль радиусов, а вдоль некой спирали? Может быть это поможет? Помница народ как-то боролся с краевым эффектом в емкостных датчиках уровня. Там по идее ваше-же задача, только там подвижный электрод - жидкость. ИМХО Вам надо посмотреть чего и какими силами они добились.
Go to the top of the page
 
+Quote Post
xemul
сообщение Nov 4 2010, 20:32
Сообщение #33



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Rostislav @ Nov 4 2010, 14:57) *
В моем случае это именно так. На подвижную (общую) обкладку подаю синус амплитудой порядка 20В. smile.gif

Осталось добавить умножители или синхронные детекторы.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Nov 6 2010, 18:58
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



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

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

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

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

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

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


Go to the top of the page
 
+Quote Post
Rostislav
сообщение Nov 6 2010, 22:31
Сообщение #35


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765



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


У Вас есть ссылочка на математику? smile.gif Спасибо!
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Nov 7 2010, 01:00
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(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-, то выражения несколько иные, но принцип тот же.

Что-то в таком духе, рисовал из головы, мог слегка наврать.
Go to the top of the page
 
+Quote Post
Hmm
сообщение Nov 7 2010, 12:31
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 329
Регистрация: 22-06-04
Пользователь №: 124



А такой датчик для авиамодели или частного самолета предпологается использовать? Или так ... для души?


--------------------
Талант не пропить ...
Go to the top of the page
 
+Quote Post
Rostislav
сообщение Nov 9 2010, 13:43
Сообщение #38


Частый гость
**

Группа: Участник
Сообщений: 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) *
А такой датчик для авиамодели или частного самолета предпологается использовать? Или так ... для души?

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

Сообщение отредактировал Rostislav - Nov 9 2010, 13:45
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 9 2010, 13:48
Сообщение #39


Беспросветный оптимист
******

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



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

Главное, чтобы парашют не подвёл...
Это так, чёрный юмор...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Rostislav
сообщение Nov 9 2010, 15:02
Сообщение #40


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 6-07-08
Из: Москва
Пользователь №: 38 765



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


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

По-поводу датчика.
Есть идея взять сумму напряжений на крайних секторах. Например, так: U`a = Ua + Ub, U`b = Ub + Uc, U`c = Uc + Ua. И рассчитать угол по этим значениям.
Go to the top of the page
 
+Quote Post
rudy_b
сообщение Nov 13 2010, 16:10
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Цитата(Rostislav @ Nov 9 2010, 17:43) *
Как я могу это применить у себя? У меня три сектора. А напряжение возбуждения подается на одну общую подвижную обкладку.

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


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

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

А по поводу одного излучателя и трех приемников - почти гарантированно будет куча некомпенсируемых геометрических искажений. В моем варианте искажения минимальны (например перекос оси будет компенсироваться автоматически) и амплитуда сигнала (одного, а не трех!) значительно более постоянна, что облегчает ее измерение и обработку. Но генерировать приходится два сигнала (два получаются инверсией), что не представляет особой проблемы, хоть таймером с процессора. Можно вообще использовать прямоугольник, а фильтрацию верхних гармоник сделать прямо в проце для одного входного сигнала.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 14:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01492 секунд с 7
ELECTRONIX ©2004-2016