Фиксированная скорость нарастания сигнала PPM

АДэшник

Доброго дня!

Понадобилась такая фича наподобие замедлителя для серв.

Задача такая: нужно обрабатывать входящий PPM сигнал с приемника и на его основе генерировать свой выходящий PPM сигнал с фиксированной скоростью нарастания или спада х%/сек.

Примерный график:

Если есть какие сображения пишите.
p.s. На данный момент осваиваю программирование в BASCOM. Данная приспособа нужна для управления насосом модельного реактивного двигателя.

Diman_Y
АДэшник:

Задача такая: нужно обрабатывать входящий PPM сигнал с приемника и на его основе генерировать свой выходящий PPM сигнал с фиксированной скоростью нарастания или спада х%/сек.

Обычный фильтр нижних частот поможет. Может даже первого порядка подойдет.

Y(t) = Y(t-1)*A + X(t)*B; Y - значение выхода, Х - значение входа.
A = ~0.9, B=0.1; Здесь можно поиграть с коэффициентами.
A + B = 1; - это главное условие.

АДэшник

Покопался в сети и нашел описание к изготовлению блока управления реактивным двигателем.
Блок принимает сигнал от приемника и генерирует свой ШИМ сигнал, подаваемый на коллекторный двигатель топливного насоса и заодно следит за чатотой вращения ротора и температурой газа - полезная штучка.
Вот описание блока . Там есть и печатка, файл программы на асме и файл прошивки (что интересно, HEX какой-то левый), правда под старый AT90S4433 и язык описания немецкий. Пытался откомпилировать программу - ничего не выходит, компилятор ругается на текст программы.
Если кто силен в АСМЕ, посмотрите что не так в коде (ругается на метки - в коде почему-то метки и имена регистров общего назначения обозваны одинаково), заранее спасибо.

2 months later
АДэшник

Задачку решил сам. Для AVR ATmega8 написал программку - дискретный PID регулятор. Контроллер следит за частотой вращения ротора двигателя в зависимости от заданного значения частоты. Нужное значение задается длиной импульса PPM сигнала от мин. до мах. , в зависимости от величины ошибки регулятор выдает управляющее воздействие корректируя скважность ШИМ сигнала идущего на топливный насос. Плюс контроллер постоянно следит за температурой за турбиной, при превышении максимума подача топлива останавливается.