Re: Программный терморегулятор на ATmega8
Добавлено: Вс июл 22, 2012 19:26:52
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/


Понял, сделаю.tbogdan писал(а):Еще одна просьба, если можно, сделать снятие сигнала работы после сигнала на уменьшения мощности в конце программ. Чтоб снижалась мощность а потом отключалась горелка.
Тут не понял. Увеличить минимальную длительность? Она сейчас 2 мсек. Какая должна быть максимальная? Как и кто пропускает пол периода? Управляющий импульс приходит когда переход сетевого напряжения через 0 и управление не происходит? Если просто "перекрыть" время, то все равно что-то может пропустить, или чего-то лишнего прихватить. Система не синхронизирована с фазой сетевого напряжения. Без внесения изменений в схему, ну и в прошивку, самой программой это не решить.tbogdan писал(а):Увеличить длительность управляющего импульса до 30-35 мс. а то бывает пропуск пол периода сетевого напряжения.
Посмотрю. Много что-то. Это задали программу на 2 часа, проверили по часам - прошло 2 часа 7 минут?tbogdan писал(а):И еще, при двух часах работы реально отстает на 6-7 мин. Это так для информации.
Да примерно так, но еще обязательно проверю.Soir писал(а):Это задали программу на 2 часа, проверили по часам - прошло 2 часа 7 минут?

Всегда благодарен за помощь, подсказки, советы и критику.da-nie писал(а):Ну, вот видите, ПИД-регулятор забавная штука.
Сделал, не проверял.tbogdan писал(а):...сделать снятие сигнала работы после сигнала на уменьшения мощности в конце программ.
Пока полистал прошивку, вроде все ok. Проверил на симуляторе, но он иногда ошибается или наоборот, прощает ошибки. Проверьте по случаю еще раз на реальном объекте. Если подтвердится, тогда уже буду копать глубже.tbogdan писал(а):Да примерно так, но еще обязательно проверю.Soir писал(а):Это задали программу на 2 часа, проверили по часам - прошло 2 часа 7 минут?
Сделал 500, чтоб мало не показалось. Пришлось пожертвовать символом i.tbogdan писал(а):наверно нужно увеличить дифференциальный коэффициент ( di ) сейчас установлен 99 и вроде еще хочет.


Я посмотрю, насколько серьезные переделки требуются, если есть желание экспериментировать, переделаю.tbogdan писал(а):Даже захотелось для первого регулятора (муфельная печь) иметь ПИД
В прошлый раз Вы писали, что программа отстает на 6-7 минут. Если есть сомнения в внутреннем генераторе, попробуйте другой МК, а я поковыряюсь в прошивке. Только я не понял, отстают часы МК или спешат. Мириться не будем, 5 минут на два часа это много. В крайнем случае, можно просто ввести коррекцию, если разница во времени закономерна и предсказуема.tbogdan писал(а):программа на двух часах выполняется на 5 мин. быстрее, наверно ошибка через внутренней генератор.
Так что тут уже придется мирится с ошибкой, она вполне сносная на малых временных диапазонах.
А может учитывать калибровочный байт?
Я ошибся с определением кто отстает, Программа заканчивает работу раньше чем задано.Soir писал(а):В прошлый раз Вы писали, что программа отстает на 6-7 минут.
Soir, спасибо, пока полностью устраивает.Soir писал(а):Я посмотрю, насколько серьезные переделки требуются, если есть желание экспериментировать, переделаю.
Понятно, буду разбираться.tbogdan писал(а):Опережает реальное время на 6 мин. за три часа.
Контроллер брал другой.
Для разных контроллеров погрешность будет разная. Причина понятна, попробуйте новую прошивку. Без кварцевого генератора точности хода не добиться, но попробуем откалибровать внутренний генератор. Определите погрешность, я внесу коррекцию.tbogdan писал(а):Опережает реальное время на 6 мин. за три часа.
Контроллер брал другой.
Нет, не от кварца, внутренний тактовый генератор. Пробовал кварц, тогда все четко, то есть к программе, к прерываниям и т.п. вопросов нет, ну и все это я проверил. Если бы долго висело висело в прерываниях, то часы МК отставали бы, а так спешат. Проблема в OSCCAL. Внутренний генератор калибруется на заводе на частоте 1 МГц, у меня используется на 4 МГц. Отсюда такая погрешность. Сейчас я OSCCAL уменьшил программно, у меня на макете в час секунд 5 погрешность.da-nie писал(а):А у вас от кварца тактирование в оригинальной схеме сделано? Тогда не бывает таких погрешностей. А как вы время считаете? У вас по прерыванию таймера время увеличивается? Нигде нет долгого висения в функциях прерываний или их длительного отключения?
В данном устройстве, как я понял, точность времени не критична. На внутреннем генераторе можно добиться 1% при желании.Jack_A писал(а):Я думаю, когда делается серьезная вещь ( не помигать диодами ), на копеечном кварце не надо экономить. Не стоит оно того геморра.
Я только в одной из последних своих поделок попробовал обойтись внутренним RC, поколдовал малость с UBRR для UART - конкретно для каждого экземпляра. Оставило ощущение отврата, хотя и работало.
Запутался в количестве программ. Проверьте.tbogdan писал(а):...в прошивке которая стоит сейчас есть ошибка, пятая программа (Р4) не устанавливается время работы,переключается 0 или 5.