Показать сообщение отдельно
Непрочитано 21.11.2017, 03:20  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Мои ответы на вопросы [b]AR_Favorit[/b]

Сообщение от ALEGYR Посмотреть сообщение
Ты хочешь сказать, что тебе надо 1000 раз в секунду делать прерывание и обсчитывать пид регулятор, чтобы сделать ШИМ-сигнал с периодом 1-10с ?
Опять приписываешь мне свои фантазии, видимо, так и не разобравшись в первой строке. ПИД-регулятор не обсчитывается 1000 раз в секунду. Код ПИД-регулятора помечен в моем коде комментариями "начало" и "конец". этот участок исполняется 1 раз в EE_PID_TIME (от 1 до 10, напомню на всякий случай) секунд.

И разумеется, мне не надо обсчитывать ПИД-регулятор 1000 раз в секунду.

Его мне достаточно обсчитывать согласно заданному пользователем периоду регулирования. И чаще его обсчитывать нельзя.

А еще мне надо иметь прерывание минимум 100 раз в секунду для формирования ШИМ-сигнала с периодом в 1 секунду с дискретностью регулировки средней мощности, выдаваемой нагревателем, 1%

(более высокая частота, например, 1000 раз в секунду, вроде бы позволяет сделать дискретность и выше, но если присмотреться к коду и учесть то, что я говорил об исполнительных цепях, станет понятно, что дискретность таки получится от 1% при периоде регулирования 1 с, до 0,1% при периоде регулирования 10с соответственно, так как ток через нагреватель будет течь исключительно целое количество полупериодов напряжения сети, которых в одной секунде у нас 100, поэтому можно при желании вообще heat_counter-ом тикать не до "EE_PID_TIME*1000", а всего лишь до 100, всегда имея эту дискретность, только значение control соответственно смасштабировать при расчете, но выгоды это не даст абсолютно никакой)

И, наконец, мне надо прерывание 1000 раз в секунду для установки флага, по которому в основном цикле программы раз в миллисекунду отрабатывают конечные автоматы, реализующие всю логику работы устройства.

И вместо трех разных прерываний у меня одно. Экономия. И строго детерминированное исполнение кода.

Последний раз редактировалось AR_Favorit; 21.11.2017 в 03:33.
AR_Favorit вне форума