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

Arduino Mega. Контроллер теплицы. Хроники - 4.0

Тема в разделе "Теплицы и парники", создана пользователем Анкор Плюс, 19.05.18.

Статус темы:
Закрыта.
  1. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Как устроена микросхема: 1 рисунок
    Микросхема NE555 состоит из двух входных усилителей с большим входным сопротивлением, что обеспечивает малый ток разряда конденсатора, подключенного к входам 2 и 6, а большой коэффициент усиления формирует крутой фронт импульса на входах триггера R и S.

    Низкий уровень сигнала на входе TRIG формирует на выходе 3 OUT высокий уровень.
    Высокий уровень на входе THRES формирует на выходе 3 OUT низкий уровень

    К выходу 1 триггера подключен буферный повторитель сигнала.

    Схема сторожевого таймера на NE555: рисунок 2

    Входа 2 и 6 соединены и к ним подключен конденсатор С1. При включении на конденсаторе установлен нулевой уровень. Через резисторы R2 и R3 происходит медленный заряд конденсатора.
    Время заряда конденсатора зависит от цепочки С1 R3. На выводе 5 у нас сформировано опорное напряжение. Конденсатор С2 сглаживает помехи и импульсы по питанию. Величина С2 не влияет на формирование длительности импульса. При достижении порогового значения на С1 триггер перебрасывается в нулевое состояние (вернее немного не так, но будем ориентироваться на выход 3 микросхемы). Что бы на выходе 3 не формировался нулевой уровень периодически микроконтроллер через цепочку D1 R1 сбрасывает заряд конденсатора ниже порога переключения триггера. Для предотвращения разряда конденсатора через вывод микроконтроллера и устанавливают "заградительный" диод D1. В случае зависания микроконтроллера, поступление импульсов сброса через D1 прекращается, конденсатор заряжается до полной величины и триггер сбрасывается на "0". В это время открывается транзистор и закорачивает вывод 7 на "землю".
    Таким образом через вывод 7 и резистор R2 разряжают конденсатор С1 и на выходе 3 вновь появляется высокий уровень.

    Длительность "нулевого" импульса зависит от величины R2 (чем она больше, тем длиннее импульс).

    В стандартных примерах емкость С1 меньше, а R2 равно 2,7ком. Это обеспечивает длительность импульса сброса 800 мс. Для сброса микроконтроллера этого вполне достаточно. Необходимо только установить D2, что бы не шунтировать линию сброса микроконтроллера.

    Но сброс микроконтроллера не всегда приводит к полному сбросу контроллера. Лучше это сделать кратковременно отключая питание. Для этого мы добавили схему на транзисторах Q1,Q2.

    В связи с тем что ключ на полевом транзисторе открывается при нулевом уровне на затворе, пришлось установить инвертирующий ключ на Q1.

    Длительность импульса 800 мс (R2 2.7 ком) возможно недостаточна для полного сброса питания, так как в схеме установлены конденсаторы по питанию, полного отключения схемы может не произойти. Для этого мы увеличиваем длительность импульса до 1,5 секунды резистором R2 5.1 ком.

    Следующая проблема состоит в том, что при загрузки программы в микроконтроллер, сбрасывающие импульсы не формируются и в середине загрузки программы сторожевой таймер может обесточить микроконтроллер. Что бы этого не произошло есть несколько решений.
    Одно из них - увеличение С1 до 1000 мкф, что обеспечит период формирования импульса до 1,5 минуты. Этого достаточно для компиляции и загрузки программы.

    Немного длинно, но мне кажется подробно.

    Дополнительно можно прочитать на https://ledjournal.info/spravochnik/ne555-datasheet.html

    2018-06-06_19-28-52.png 2018-06-06_19-22-41.png
     
    Последнее редактирование: 06.06.18
  2. obuhanoe
    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451

    obuhanoe

    Живу здесь

    obuhanoe

    Живу здесь

    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451
    Адрес:
    Краснодар
    Тут обсуждали NE555, вот про эту микросхему и спросил.
     
  3. obuhanoe
    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451

    obuhanoe

    Живу здесь

    obuhanoe

    Живу здесь

    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451
    Адрес:
    Краснодар
    :hndshk:
     
  4. obuhanoe
    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451

    obuhanoe

    Живу здесь

    obuhanoe

    Живу здесь

    Регистрация:
    08.04.14
    Сообщения:
    429
    Благодарности:
    1.451
    Адрес:
    Краснодар
    Спасибо, очень подробно.
    Буду разбираться.
     
  5. vworld
    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32

    vworld

    Живу здесь

    vworld

    Живу здесь

    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32
    Адрес:
    Екатеринбург
    Еще вопрос про работу NEOWAY M590 вроде как работает, но есть нюанс в том, что если скомпилить пример на тему - звонок с разрешенного номера, принудительный сброс вызова, включения led13 на какое-то время, то модуль отработает раз все ок, но спустя какое-то время еще выполняет код, хотя звонка больше не делалось
    модуль подключен отдельно в БП от ПК 5В
    ничего понять не могу отчего такое...
     
  6. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138
    Адрес:
    Санкт-Петербург
    Переменная какая не сбрасывается или модуль дает сигнал о звонке?
     
  7. vworld
    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32

    vworld

    Живу здесь

    vworld

    Живу здесь

    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32
    Адрес:
    Екатеринбург
    Код:
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(2, 3);
    
    byte led = 13;
    
    void setup() {
      delay(2000); 
      pinMode(led, OUTPUT);
      digitalWrite(led, LOW);
      Serial.begin(9600); 
      mySerial.begin(9600);
      Serial.println("GSM NEOWAY promote site istarik.ru");
      Serial.println();
      Serial.println("Turn on AOH:");
      mySerial.println("AT+CLIP=1");  //включить АОН
      delay(100);
      // ПРИ СТАРТЕ, НА КАЖДУЮ КОМАНДУ ДОЛЖНО БЫТЬ ПОДТВЕРЖДЕНИЕ - ОК
    }
    
    void loop()
    {
    if(mySerial.available()) //если модуль что-то послал
      { 
        char ch = ' ';
        String val = "";
       
        while(mySerial.available())
         { 
           ch = mySerial.read();
           val += char(ch); //собираем принятые символы в строку
           delay(3);
         }
    
        Serial.print("Neo send> ");
        Serial.println(val);
       
        if(val.indexOf("RING") > -1) //если есть входящий вызов, то проверяем номер
         {
          if(val.indexOf("79891196709") > -1) // ВПИШИТЕ НОМЕР, с которого Вы будете звонить на модуль
           { 
             Serial.println("Call my phone");
             mySerial.println("ATH");  //разрываем связь
             Serial.println("Disconnection");
             Serial.println("On D13");
             digitalWrite(led, HIGH);  //включаем светодиод на 5 сек
             Serial.println("5 sec pause");
             delay(5000);
             digitalWrite(led, LOW);  //выключаем
             Serial.println("Off D13");
           }
         }
      }
    }
    
    звонок, сброс, в мониторе порта сообщается, Led13 загорается на 5сек.,
    НО спустя какое-то время опять как будто звонок пришел
     
  8. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138
    Адрес:
    Санкт-Петербург
    Я бы вот этот кусочек (гашение светодиода) вынес за if(). Т. е., зажигаем при совпадении условия, а гасим - всегда...
     
  9. vworld
    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32

    vworld

    Живу здесь

    vworld

    Живу здесь

    Регистрация:
    08.01.14
    Сообщения:
    149
    Благодарности:
    32
    Адрес:
    Екатеринбург
    возможно и так, но код читаться не очень логично или удобно будет
    да и вряд ли именно это влияет на странности в работе кода модуля
     
  10. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Neoway не поддерживается прошивкой. Если вы про другой код - надо смотреть.

    Код:
    while(mySerial.available())
         {
           ch = mySerial.read();
           val += char(ch); //собираем принятые символы в строку
           delay(3);
         }
    delay (3) там не нужен, более того - вреден: всё уже лежит в буфере, если что-то там есть. Вообще рекомендую избавиться от всех delay - это только мешает понять, в чём дело.
     
  11. timon2006
    Регистрация:
    09.03.15
    Сообщения:
    959
    Благодарности:
    1.333

    timon2006

    Живу здесь

    timon2006

    Живу здесь

    Регистрация:
    09.03.15
    Сообщения:
    959
    Благодарности:
    1.333
    И работает только для помех с положительной полярностью:)].
    Как минимум, нужен еще диод параллельно конденсатору, анодом к GND.
    А вообще для таких вещей давным-давно придумали супрессор (он же TVS-диод).
     
  12. olegmak3
    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442

    olegmak3

    Живу здесь

    olegmak3

    Живу здесь

    Регистрация:
    14.08.11
    Сообщения:
    524
    Благодарности:
    442
    Адрес:
    Санкт-Петербург
    Не берите в голову.
    Зашел в ветку незнакомец. Три ветки по триста страниц в каждой не очень читал. Нашел некомпетентных. Бывает.
    А советы?
    Ну, мы все дети Страны Советов.
    Главное-толерантность,однако (;))
     
  13. aostspb
    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138

    aostspb

    Живу здесь

    aostspb

    Живу здесь

    Регистрация:
    31.08.11
    Сообщения:
    7.821
    Благодарности:
    6.138
    Адрес:
    Санкт-Петербург
    Всяко лучше, чем голый пин микроконтроллера выставлять наружу за пределы устройства. :)
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.889
    Адрес:
    80 км от Краснодара
    Забрал сегодня токарный станочек ТВ-4 с транспортной. Ну что сказать? Б/у - оно и в Африке б/у. Было у владельца по кличке "я у мамы рукожоп!", не иначе. Ладно штурвалы побиты - невелика беда, потихоньку разживусь. Отсутствующий лимб продольной подачи - я тоже готов простить, невелика потеря, тем более я сразу закладывался - все лимбы менять.

    Но вот за то, что направляющие штифты коробки подач расплёсканы сверху молотком, и коробка подач намертво посажена на герметик, вместо прокладки - руки бы, цуко, поукоротил на полметра, не меньше! Пришлось варварствовать - высверливать штифты (впереди рассверливание уже по месту под штифты большего диаметра) - а что делать? Пока газом не прогрел - не снял, три часа, не меньше, возился с одной коробкой подач!

    Короче, раскидал на части, коробку подач и переднюю бабку пока не разбирал, но обязательно буду - станок был крашен сверху, не снимаючи частей - сами понимаете, что это колхоз. Надо будет всё драить до блеска, подгонять, прокладки все по кругу, кое-что - под замену, проверить все подшипники и, скорее всего, большинство из них заменить, и т. д. и т. п.

    На станке точили дерево, по ходу - выгреб пару килограмм промасленной деревянной икры со всех щелей :) Следы металлической стружки - тоже имеются, но остатков от Буратин - всё-таки больше.

    В целом - доволен, немного дать ума станочку - и ещё поработает: направляющие в приемлемом состоянии, шестерни - тоже, на первый взгляд. Так - ручки восстановить, штурвалы - обновить, очистить всё, покрасить, собрать, настроить - и можно в бой. Надеюсь, в пару месяцев уложусь, ттт.

    Всё равно не стал бы брать нового "китайца", если честно - не лежит душа к малому весу и пластиковым шестерням, хоть убей.

    Короче, будем жить ;)
     
  15. promavto
    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958

    promavto

    Разработка контроллеров

    promavto

    Разработка контроллеров

    Регистрация:
    27.02.16
    Сообщения:
    1.960
    Благодарности:
    1.958
    Адрес:
    г. Москва, Зеленоград.
    Пластиковые шестерни рассчитаны на одно нажатие кнопки "Пуск".:)]
     
Статус темы:
Закрыта.