Easyelectronics.ru

Электроника для всех
Текущее время: 24 янв 2021, 12:07

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 12:30 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
Хочу сделать сервисную платку для управления мотором в страйкбольном макете. Задачи которые хочется решить для начала: защита от разряда АКБ, подсветка выстрела вспышкой синхронизированной с выхлопом(вылетом шарика), пока достаточно. "Волшебные" задачи на будущее: управление мотором через мосфет, режимы отсечки короткой очереди(2,3,4выстрела). При отпускании спуска "дострел" последнего шарика если поршень взвёлся больше чем на 70% - облегчение последующего старта мотора. Вообщем огроменное поле для очумелых ручек.

Приступил к изучению вопроса.
Самое оптимальное подключение схемы к макету - параллельно АКБ. На первое время Мосфет не требуется, будет и так достаточно. Самый лучший вариант обнаружения выстрела это синхронизация по току потребления мотора, просадке напряжения на АКБ. Никаких дополнительных проводов и прочего мусора. Видел варианты подсветки которые ловят выхлоп воздуха на дульном срезе, такой вариант мне не подходит, перевести его на управление мосфетом потом будет невозможно.

Ниже приведены осциллограммы для трёх начальных положений поршня гирбокса. Рассматривается вариант автоматического огня, как более сложный для анализа. Выстрелы можно классифицировать на три основные группы:
- первый выстрел. Он всегда маскируется пусковым током электродвигателя, который зависит от величины предвзведения поршня.
- обычный выстрел в очереди.
- последний «выстрел». На всех осциллограммах это не выстрел, а лишь взведение.

Чтобы облегчить задачу обнаружения выстрела нет необходимости делать вспышку именно в момент обнаружения выстрела. Т.е., в самом худшем случае, мы имеем возможность продолжать анализировать ток в течение минимум трети последующего выстрела. Обнаружив «последний выстрел в очереди», система может оценить период выстрела и его амплитуду
- период выстрела никогда не может быть меньше (с допусками в 10%), чем период предыдущего выстрела
- амплитуда тока не должна отличаться (оценочно – на 10%) от предыдущего выстрела.
- если условия по периоду и амплитуде не выполнены, то система идентифицирует «взведение поршня», можно выполнить "дострел".


Чтобы не изобретать велосипед, может кто поделится ссылочками на подобные решения или алгоритмы...


ЗЫ, Знаю что такие платы уже торгуют китайцы и стоят они копейки, задача больше хобби-развлекательного вида. Но может и для народного хозяйства пригодится, например контролировать равномерность компрессии бензинового двигателя при прокручивании стартером. Или контроль редукторов на равномерность движения(облом зубъев) простым контролем тока потребления мотора.


Вложения:
htmlimage3.jpg
htmlimage3.jpg [ 46.66 Кб | Просмотров: 2505 ]
htmlimage2.jpg
htmlimage2.jpg [ 43.88 Кб | Просмотров: 2505 ]
htmlimage1.jpg
htmlimage1.jpg [ 46.82 Кб | Просмотров: 2505 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 13:01 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
Миха писал(а):
Чтобы облегчить задачу обнаружения выстрела


Какой МК использовать вообще без разницы, AVR, MSP, STM, всё подойдёт скорость оцифровки нужна не больше 1кгц. Самый шик если сделать этот узел вообще аналоговой схемой, но что-то мне подсказывает тут надо быть ХорвицемХилом_иВилардом в одном лице :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 13:11 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3492
https://ru.wikipedia.org/wiki/%D0%92%D0 ... 0%B8%D1%8F


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 14:35 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 7241
Вообще-то, я ничего не понял. Написано много слов, но самые важные вы почему-то оставили у себя в голове.
Что нужно получить =конкретно=, из чего нужно это получить =конкретно=. На осциллограммах вообще нет никакой размерности, это вообще ни в какие ворота не лезет.
Формулируйте задачу =понятно=, на техническом языке. Конечно, если вам нужен ответ. Пример такой формулировки - вентилятор делает 3 оборота, вот его осциллограмма тока на эти 3 оборота, по этим 3 оборотам надо на 1 и на 3 обороте дать вспышку LEDом по 50 мс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 15:17 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
u37 писал(а):
Что нужно получить =конкретно=, из чего нужно это получить =конкретно=.
ответ
Миха писал(а):
Хочу сделать сервисную платку для управления мотором в страйкбольном макете. Задачи которые хочется решить для начала:
- подсветка выстрела вспышкой синхронизированной с выхлопом(вылетом шарика),


u37 писал(а):
На осциллограммах вообще нет никакой размерности, это вообще ни в какие ворота не лезет.
ответ
Миха писал(а):
Самый лучший вариант обнаружения выстрела это синхронизация по току потребления мотора...
Очевидно на осцилограмме ток через мотор, горизональная шкала время (кто бы мог подумать - кэп очевидность :)), "бугорки" на осцилограмме - момент срыва поршня с зуба редуктора взвода. При старте большой пусковой ток, когда механическая нагрузка периодически снимается с мотора, ток через мотор уменьшается.

u37 писал(а):
Формулируйте задачу =понятно=, на техническом языке.
На входе устройства оцифрованный ток (или напряжение на АКБ) через мотор, в моменты выхлопа(срыв зуба > облегчение нагрузки на моторе > уменьшение тока через мотор) - на выходном проводке появлялась логическая единица, загорался светодиод. Задача в принципе типовая - компаратор со следящими порогами, нужны ссылочки на похожие решения, алгоритмы, или даже аналоговые схемы чтобы не изобретать велосипед.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 15:38 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 7241
Понятно, вы пришли поговорить. На графиках так и не указана размерность оси X и Y. Это уже не уважение к окружающим.
Я как-то делал вывод тахометра для двухпроводного вентилятора, по критерию тока. Это работало и достаточно надежно и универсально (с любым вентилятором). Одно "но" - только в статическом или слабопеременном режиме. Если делать ваш вариант, то "аналогово" в "простом" виде его сделать невозможно.

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

Мое мнение - по току =все= события не отлавить. Надо менять критерий, либо отказываться от идеи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 15:52 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3492
u37 писал(а):
Если брать цифровую обработку, столь любезно предложенную _pv, то в ней, кроме вполне понятных трудностей, придется учитывать, что данные надо выдавать по каждому событию, а не после предварительного накопления буфера. Увы, (авто)корреляционная функция первое-второе событие пропустят.

ну это смотря как сделать.
для тупых можно на картинках красными крестиками отметить в какие именно моменты времени происходит выстрел. что именно распознать-то надо?
а еще лучше данные в текстовом виде и не картинки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 16:16 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
u37 писал(а):
На графиках так и не указана размерность оси X и Y.
Мотор максимум 10..12А, общее время картинки-осцилограммы порядка 1..2 сек, но какое это _принципиальное_ значение имеет для алгоритма ? Здесь сигналы явно не СВЧ.

u37 писал(а):
Мое мнение - по току =все= события не отлавить. Надо менять критерий, либо отказываться от идеи.

Китайским инженерам так-то удалось =все= события отлавливать, их поделки стоят от 3 до 30 уе. Причём разница цены только от применённого силового мосфета. У меня есть на макетке аналоговый велосипедик из компаратора с плавающими порогами, но он работает не очень корректно, переходом на цыфру хотел решить пару дефектов. Если батареи сели и мотор не может взвести пружину, после отпускания спуска электроника считает что выстрел всё-таки был. При отпускании спуска после очереди проскакивает ложное срабатывание. Если реализовать цифровую "модель" аналоговой схемы на макете, скорее всего недостатки останутся, а плюсов от МК небудет, здесь надо правильный способ вычислений выбрать. Аналоговый вариант разделяет сигнал на два канала, один дифференцирует другой интегрирует, далее каналы на входы компаратор, итого ловит "перелом" функции сигнала. В зависимости от полярности подключения компаратора выделяется или "бугорок" или "впадина".


Как кореляционная функция будет работать при изменении формы "бугорков", при разряде батареии они сильно растягиваются по времени, могут и в два раза длиннее сделаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 17:12 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3492
Миха писал(а):
Как кореляционная функция будет работать при изменении формы "бугорков", при разряде батареии они сильно растягиваются по времени, могут и в два раза длиннее сделаться.

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

еще раз:
Цитата:
для тупых можно на картинках красными крестиками отметить в какие именно моменты времени происходит выстрел, что именно распознать-то надо?
а еще лучше данные в текстовом виде, а не картинки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 17:20 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
_pv писал(а):
Цитата:
для тупых можно на картинках красными крестиками отметить в какие именно моменты времени происходит выстрел, что именно распознать-то надо?
"Бугорки" надо распознать. Фиолетовый цвет - бугорки, выхлоп. Синий первый выхоп, Желтый последний взвод - выхлопа нет.
Первый пик - стартовый ток мотора, если пружина уже сжата (100..90% взвода) > редуктор стронуть труднее > ток больше, зато первый выстрел происходит быстрее.


Вложения:
Image12.png
Image12.png [ 156.93 Кб | Просмотров: 2395 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 19:09 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3492
отфильтровать, посчитать вторую производную, опять отфильтровать и искать локальные максимумы больше определённого порога, также проверять чтобы в этот момент времени значение тока тоже было больше определённого порога, чтобы последний (желтная стрелочка) максимум отбросить.
Вложение:
Untitled.png
Untitled.png [ 53.81 Кб | Просмотров: 2360 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 01 апр 2016, 19:23 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 20:18
Сообщения: 603
Парметризовать эти замеры некоторой кривой (или несколько вариантов кривых, несколько гипотез), дальше МНК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Узнать событие по форме сигнала
СообщениеДобавлено: 03 апр 2016, 18:43 
Старожил

Зарегистрирован: 28 янв 2015, 16:31
Сообщения: 253
>отфильтровать,
чем это принципиально отличается от интегрирования ?
>посчитать .. производную,
а здесь от дифференцирования
>и искать локальные максимумы
и опять пришли к компаратору...

Итого те же кальциевые шарики только сбоку :P Здесь в нашем случае помех довольно мало, достаточно RC цепочки чтобы убрать _все_ вч шумы, использовать "крутые" программные фильтры смысла вообще никакого. Четыре аналоговых детальки делают тоже самое.

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

Посмотрел поделки форекс-страдальцев, некоторые их программульки ничётак даже угадывают в нужный момент, только есть проблемка "больные они, на всю голову": на просьбы хотя-бы подсказать где почитать - хотят много мульонов бабок :D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB