Перейти к содержанию
    

Определить самоход

Есть датчик положения, представляющий переменный резистор, запитанный 5 В, сигнал о положении снимается с подвижного контакта. Этот сигнал поступает на 10 разрядный АЦП.

Требуется программно определить начало перемещения с изменением напряжения на подвижном контакте от 40 мВ/с и выдать сигнал не позднее 0,5 с с момента начала перемещения.

Сейчас делаю так: складываю все показания АЦП с интервалом 10 мс за 0,5 с и делю на 50. Если среднее значение отличается от текущего более порога выдаю сигнал. Но при время выдачи сигнала плавает от 0,5 до 1 с.

Может есть у кого-нибудь мысли как решить данную проблему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Циклический буфер на 50 значений и одна переменная для суммы. При поступлении нового значения из буфера извлекается самое старое значение, вычитается из суммы, после чего новое значение прибавляется к сумме и кладется в буфер на освободившееся место. В итоге имеем сумму 50 последних значений. Сравнивать ее можно с текущим значением, умноженным на 50 (деление дороже).

 

Второй вариант - вычислять разницу текущего и прерыдущего значений, результат пропускать через какой-нибудь фильтр (то же скользящее среднее) и сравнивать с порогом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть датчик положения, представляющий переменный резистор, запитанный 5 В, сигнал о положении снимается с подвижного контакта.

Дребезг такого датчика вас не пугает ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дребезг такого датчика вас не пугает ?

Дребезг пугает, но датчик входит в состав другого изделия, которое серийное и уже 30 лет применяется в авиации. Для контроля используются показания двух датчиков

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Дребезг такого датчика вас не пугает ?..

 

ТС ведёт речь об обратной связи с сервы RC аппаратуры. именно резистор там и стоит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg
.. определить начало перемещения..

 

Для начала определиться с параметрами перемещения, а потом бороться с помехами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...