1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 6

Самодельный контроллер для горелки на отработке с ОК - 2

Тема в разделе "Котлы, горелки, котельное об-е своими руками", создана пользователем sergMinsk, 07.11.12.

  1. Dead21
    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79

    Dead21

    Живу здесь

    Dead21

    Живу здесь

    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79
    Адрес:
    Кисловодск
    Все что вы просчитали не может случится, обычно случается с вероятностью выше, чем меньше расчетная вероятность. Короче бутерброд падает маслом на пол в землю. Если возможна ситуация что могут исполнители быть включены, а процессор подвис, то это случится.
     
  2. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Для таких ситуаций и существует сторожевой таймер в МК. В основной программе его надо постоянно очищать, если этого не делать (что происходит когда программа улетела не туда), то сторожевой таймер переполняется и осуществляется полный сброс МК, после чего программа начинается выполняться с начала. Я использую еще такой способ реализации в основной программе все время восполняю специально выделенную переменную, а в прерывании от таймера она декрементируется. Прерывание от таймера не подвиснет, т. к. имеет железный вектор прерывания. Если в прерывании эта переменная додекрементировалась до 0, это значит, что основной цикл слетел и соответственно "Туши свет". Кроме того люди еще делают внешний сторожевой таймер, который считает сам по себе и который опять же периодически сбрасывается сигналом на какой либо ноге МК. Если МК "виснет", то сигнал на этой ноге не меняется, сброс не проходит, и по переполнении внешнего сторожевого таймера вырабатывается сигнал "Авария" и осуществляются соотв. мероприятия.
    Но это все только от зависания. А от физических повреждения - только отдельные аппаратно независимые каналы, как тут уже и писали ... перегрев, перелив и т. п.
     
  3. Дед Банзай
    Регистрация:
    27.07.10
    Сообщения:
    1.261
    Благодарности:
    460

    Дед Банзай

    Универсальный универсал

    Дед Банзай

    Универсальный универсал

    Регистрация:
    27.07.10
    Сообщения:
    1.261
    Благодарности:
    460
    Адрес:
    Новосибирск
    Вы невнимательно читаете. Я написал, что промконтроллеры питаются от 24 вольт, а вот исполнители (задвижки, моторчики и прочая ерунда) могут работать на любом напряжении.

    Есть такая хрень. Только её основная задача - защитить процессор от зависания программы, написанной криворукими программерами или из-за схемы, которую сделали криворукие схемотехники. Есть такое правило - начальное состояние системы должно находится в безопасном режиме. Вот когда вы зажимаете ногу сброса на проце - все ноги переходят в третье состояние, то есть режим "может что угодно". Чтобы не было неопределённого состояния, резисторами задаются эти начальные условия.
    Так что собака немного не в тему.
     
  4. nommer28
    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20

    nommer28

    Живу здесь

    nommer28

    Живу здесь

    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20
    Адрес:
    Краснодар
    А если сделать так. У меня есть несколько незадействованных выходов. Если на них искуственно создать определенную комбинацию сигналов и при помощи простой логики вывести на реле. Т. Е. пока эта комбинация сохраняется- реле включено, при выходе из строя процессора, комбинация нарушится и реле вырубит нагрузку. Только вопрос, нарушится ли комбинация сигналов?
     
  5. Димон Минск
    Регистрация:
    28.11.13
    Сообщения:
    2.894
    Благодарности:
    914

    Димон Минск

    Живу здесь

    Димон Минск

    Живу здесь

    Регистрация:
    28.11.13
    Сообщения:
    2.894
    Благодарности:
    914
    Адрес:
    Минск
    Я видел, что вы написали. Вопрос вообще не в этом. Все микропроцессоры работают на низких напряжениях. Если быть точным, то штатный топочный автомат жидкотопливной или газовой горелки тоже работает от 24 В DC, но подводится к нему 220АС.
    Вопрос безотказности и надежности устройства состоит совсем не в том, на каких напряжениях он работает, а в том насколько правильно он сделан с технической точки зрения. И здесь многие промышленные устройства оставляют желать лучшего.
     
  6. Дед Банзай
    Регистрация:
    27.07.10
    Сообщения:
    1.261
    Благодарности:
    460

    Дед Банзай

    Универсальный универсал

    Дед Банзай

    Универсальный универсал

    Регистрация:
    27.07.10
    Сообщения:
    1.261
    Благодарности:
    460
    Адрес:
    Новосибирск
    Вот тут я стопроцентно соглашусь.
     
  7. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Нет, так не пойдет. Когда сигнал на выходах постоянен, то непонятно идет ли работа по программе. На выходах МК стоят защелки, т. е. в них записали 1 или 0 и они держатся пока не произойдет перезапись.
    Вот скажем вы в начале программы подали допустим 1 на какой-то выход. Он так и будет там висеть, вне зависимости от того, чем занимается АЛУ. Поэтому для определения того, что программа работает как надо используют изменение этого уровня. Т. е. сколько то проходов основного цикла 1, потом опять 0. ... Тогда смена 1 и 0 на выходе с частотой, которая нам известна будет говорить о том, что все идет как надо, а если сигнал перестанет меняться или частота изменится или скважность, то ситуация нештатная.
     
  8. nommer28
    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20

    nommer28

    Живу здесь

    nommer28

    Живу здесь

    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20
    Адрес:
    Краснодар
    Т. е. заданные изначально сигналы на выходе, могут так и висеть, даже при выходе контроллера из строя? Можно конечно чтобы контроллер чередовал сигнал на каком то выходе, к этому выходу добавить " приблуду" которая следит за сигналом, и если сигнал остановился, то все, stop. Только, что это за "приблуда" такая?
     
  9. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Микроконтроллер состоит из множества функциональных блоков. При физическом повреждении одного из блоков или "зависания" (выхода счетчика команд из области заданного кода в неопределенную область) остальные блоки могут нормально функционировать. Связь с внешним миром МК осуществляет посредством двунаправленных портов. На выходах там защелки (D- триггер), если него что-то записать, то это там так и будет, пока не будет произведен сброс или перезапись, если конечно физически не повредится шина питания выходного порта.

    Простейшая приблуда в данном случае внешний счетчик который считает сам по себе от своего тактового генератора. Скажем задаем частоту счета 10 Гц и возьмем 8 разрядный счетчик, тогда переполнение его наступит через 0.1*256=2.56 с. Если запрограммировать МК так, то на каком либо выводе будет формироваться импульс сброса для этого внешнего счетчика с периодом меньше 2.56 сек, то пока формируется импульс сброса переполнения внешнего счетчика не наступит. А если МК перестанет по каким либо причинам формировать импульс сброса, то на выходе переполнения счетчика появится активный уровень. Именно так работает внешний сторожевой таймер.
     
  10. nommer28
    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20

    nommer28

    Живу здесь

    nommer28

    Живу здесь

    Регистрация:
    06.09.14
    Сообщения:
    93
    Благодарности:
    20
    Адрес:
    Краснодар
    Понял, спасибо за идею, попробую разобраться
     
  11. Dead21
    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79

    Dead21

    Живу здесь

    Dead21

    Живу здесь

    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79
    Адрес:
    Кисловодск
    Зачем нам внешний watch dog? Чем больше корпусов и сложнее схема, тем больше шансов что пойдет что-то не так. И скорее всего не так будет в программе, обслуживающую по прерыванию наш внешний сторожевой таймер. Ведь все придумали уже до нас и встроили таймер уже в МК. Гораздо надежнее защелкивать выходы по сигналу выбор кристала. Во-первых так можно больше организовать портов вывода (правда это не актуально сейчас, у нас портов и так много), во-вторых, логика железная и третье состояние не предусмотрено, в третьих, гораздо проще учитывать аварию на внешнем датчике, типа превышения температуры, изменив элемент с 2И, на 3И, только нужно инвертировать сигнал... Или еще проще использовать регистр-защелку, типа К580ИР22 и 1533ИР33, ну или буржуйский аналог.
     
  12. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Очень многие спорят сильно нужен или нет внешний сторожевой таймер.
    Я не готов спорить. Я написал как делают.

    Нет, тут ошибка. Обслуживать сторожевой таймер по прерыванию нельзя.
    Потому что прерывание возникает от аппаратных источников и адрес подпрограммы отработчика В МК, как правило, фиксирован. Т. е. если слетела основная петля, то по прерыванию внешний таймер все равно будет обслуживаться как при нормальной основной петле. Вот если вы обслуживаете сторожевой таймер в основной петле, то ее слет (петли) прекращает периодическую очистку сторожевого таймера (как внешнего, так и встроенного)
    МК законченное устройство, у них и устройства и сигналы CS все внутри. Вся прелесть МК в том, что никаких внешних корпусов для его полноценной работы не нужно, ни тактового генератора, ни памяти, ни портов...У него все это внутри уже есть.
     
  13. седой2
    Регистрация:
    04.12.09
    Сообщения:
    3.819
    Благодарности:
    1.265

    седой2

    Чертежи горелки ББ имеются у автора.

    седой2

    Чертежи горелки ББ имеются у автора.

    Регистрация:
    04.12.09
    Сообщения:
    3.819
    Благодарности:
    1.265
    Адрес:
    Россия
    Вопрос увели в сторону. Обсуждаете архитектуру. Человек имел ввиду физическое повреждение процессора в результате которого кристаллы спеклись и образовали мосты. Управляемые элементы питаются как правило + постоянно. Минус коммутируют ключи. В результате все элементы в работе. Что дальше?
     
  14. Dead21
    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79

    Dead21

    Живу здесь

    Dead21

    Живу здесь

    Регистрация:
    11.03.13
    Сообщения:
    200
    Благодарности:
    79
    Адрес:
    Кисловодск
    Опять по кругу? Я устал описывать одно и тоже. Чтобы у разработчика была уверенность что в случае проблемы с МК, его зависанием, сгоранием, попаданием молнии и прочих нештатных ситуаций, исполнительный механизм - маслянный насос, вентилятор надува и т. д. должен включаться гарантированно от работающего МК, а не подвисшего или сгоревшего. Для этого я предлагал разнести сигнал активации исполнительного механизма на два порта раздельных и двух раздельных бит. Типа сгореть, сломатся, подвиснуть сразу в порядке активации маловероятное явление. Один из вариантов это использовать элемент 2И или 3И. где 2-мя входами будет от разных портов МК активироваться исполнительный механизм. 3 сигнал на элемент И, может идти от железного датчика температуры носителя или температуры пламени котла или горелки. Где железно (хардвенно) выставится температура при которой котел работать не должен... потому что произошла АВАРИЯ, нештатная ситуация, которую программно контроллер не увидел или он вообще подвис.
     
  15. V757V
    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633

    V757V

    Живу здесь

    V757V

    Живу здесь

    Регистрация:
    23.11.11
    Сообщения:
    1.683
    Благодарности:
    633
    Адрес:
    Москва
    Не надо уставать. Устали - надо отдохнуть. Вас же никто не заставляет.

    И что это даст? То, что вы написали это одна машинная команда - запись в выходной порт двух единиц в нужных разрядах если порт один, или две команды рядом с разницей в единицы мкС если порты разные. Если вы их туда записали, и порты живы и питание не пропало то они там и будут там висеть. Как вы узнаете висят ли они там нормально или в результате зависания или гибели АЛУ?

    И про это уже тут писали, например Ситинец, должна быть защита более верхнего уровня. Ставьте элемент И на сколько нужно входов разрешения и подавайте питание на старт контроллера только при наличии всех сигналов от датчиков.