Помогите разобраться - интегратор - Simulink - Arduino

rich.richmond
Offline
Зарегистрирован: 02.05.2013

Здравствуйте!

Помогите разобраться - как правильно настроить работу интегратора в Simulink, чтобы Ардуино 2560 корректно воспроизводил интегрирование. 

Я рассматриваю простой пример - пусть вал двигателя вращается с частотой 10 об/мин. На валу установлен оптический датчик, который в промежутке угловых положений ротора от 0 до 5 механических градусов вырабатывает логическую единицу и передает ее на светодиод (выход 13 ардуино), частота мигания которого должна быть - 1 "моргание" на 6 секунд - т.е. 0,167 Гц.

Ротор и датчик в моем случае пока вируальные. Вращения ротора я воспроизвожу с помощью накопления угла положения ротора интегратором. Учитываю все переходы к радианам из градусной меры.

Контур обратной связи в цепи интегратора служит для его обнуления когда угол положения ротора превышает 360 градусов. 

При моделировании в Simulink все работает нормально. 

А при запуске программы на плате частота мигания светодиода получается очень-очень маленькой. Порядка одного мигания на 2-3 минуты. Как будто контроллер при интегрировании привязан не к реальному времени, а к какому-то другому. 

Помогите пожалуйста, похоже я упускаю, что-то важное.

maksim
Offline
Зарегистрирован: 12.02.2012

Не поможем, учитесь писать программный код.