Понадобилась такая фича наподобие замедлителя для серв.
Задача такая: нужно обрабатывать входящий PPM сигнал с приемника и на его основе генерировать свой выходящий PPM сигнал с фиксированной скоростью нарастания или спада х%/сек.
Примерный график:
Если есть какие сображения пишите.
p.s. На данный момент осваиваю программирование в BASCOM. Данная приспособа нужна для управления насосом модельного реактивного двигателя.
Задача такая: нужно обрабатывать входящий PPM сигнал с приемника и на его основе генерировать свой выходящий PPM сигнал с фиксированной скоростью нарастания или спада х%/сек.
Обычный фильтр нижних частот поможет. Может даже первого порядка подойдет.
Y(t) = Y(t-1)*A + X(t)*B; Y - значение выхода, Х - значение входа.
A = ~0.9, B=0.1; Здесь можно поиграть с коэффициентами.
A + B = 1; - это главное условие.
Покопался в сети и нашел описание к изготовлению блока управления реактивным двигателем.
Блок принимает сигнал от приемника и генерирует свой ШИМ сигнал, подаваемый на коллекторный двигатель топливного насоса и заодно следит за чатотой вращения ротора и температурой газа - полезная штучка.
Вот описание блока . Там есть и печатка, файл программы на асме и файл прошивки (что интересно, HEX какой-то левый), правда под старый AT90S4433 и язык описания немецкий. Пытался откомпилировать программу - ничего не выходит, компилятор ругается на текст программы.
Если кто силен в АСМЕ, посмотрите что не так в коде (ругается на метки - в коде почему-то метки и имена регистров общего назначения обозваны одинаково), заранее спасибо.
Задачку решил сам. Для AVR ATmega8 написал программку - дискретный PID регулятор. Контроллер следит за частотой вращения ротора двигателя в зависимости от заданного значения частоты. Нужное значение задается длиной импульса PPM сигнала от мин. до мах. , в зависимости от величины ошибки регулятор выдает управляющее воздействие корректируя скважность ШИМ сигнала идущего на топливный насос. Плюс контроллер постоянно следит за температурой за турбиной, при превышении максимума подача топлива останавливается.
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"4147494c3df9550077793b27":{"_id":"4147494c3df9550077793b27","hid":4482,"name":"АДэшник","nick":"АДэшник","avatar_id":null,"css":""},"4d1a27fe3df9550077758353":{"_id":"4d1a27fe3df9550077758353","hid":77106,"name":"Diman_Y","nick":"Diman_Y","avatar_id":null,"css":""}},"settings":{"can_see_ip":false,"can_report_abuse":false,"can_see_hellbanned":false,"forum_can_view":true,"forum_can_reply":false,"forum_edit_max_time":30,"forum_can_close_topic":false,"forum_show_ignored":false,"forum_mod_can_delete_topics":false,"forum_mod_can_hard_delete_topics":false,"forum_mod_can_see_hard_deleted_topics":false,"forum_mod_can_edit_posts":false,"forum_mod_can_pin_topic":false,"forum_mod_can_edit_titles":false,"forum_mod_can_close_topic":false,"can_vote":false,"forum_mod_can_add_infractions":false,"forum_topic_title_min_length":10,"forum_reply_old_post_threshold":30,"votes_add_max_time":168,"forum_show_post_interval":7,"can_see_deleted_users":false},"section":{"_id":"61c9a54c3df9550077bb50ba","hid":8,"title":"Самодельная электроника, компьютерные программы","parent":"61c9a54c3df9550077bb50f3","description":"Софт для моделирования и черчения, самодельные электронные устройства.","is_category":false,"is_votable":true,"is_writable":true,"cache":{"topic_count":2666,"post_count":48273,"last_post":"65f92eb7c68e4ffcbcbdffa9","last_topic":"5a9828483df9550077cbbef3","last_topic_hid":517779,"last_topic_title":"Самодельный Futaba CIU-2","last_ts":"2024-03-19T06:20:39.517Z","last_user":"4f3e22e13df955007774805c"}},"topic":{"_id":"4d6b8a853df955007759f9ea","hid":223945,"title":"Фиксированная скорость нарастания сигнала PPM","views_count":1781,"last_post_counter":4,"cache":{"post_count":4,"first_post":"4d6b8a853df955007759ff1d","first_ts":"2011-02-28T11:44:05.000Z","first_user":"4147494c3df9550077793b27","last_post":"4dd11a353df955007759ff23","last_post_hid":4,"last_ts":"2011-05-16T12:36:05.000Z","last_user":"4147494c3df9550077793b27"},"st":1,"section":"61c9a54c3df9550077bb50ba"},"subscription":null,"pagination":{"total":4,"per_page":25,"chunk_offset":0},"posts_list_before_post":["paginator","datediff"]},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}