Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

cardexc
2017-12-30 10:21:19

Всем спасибо за помощь! 

Попробую реализовать сторожевой таймер через watchdog, пишут вроде что в Arduino Uno должен работать "с коробки"

cardexc
2017-12-26 20:15:52
Lic Control пише:

MT3608 точно поддерживает на выходе напряжение, которое вы задали потенциометром, независимо от изменения входного напряжения во всем допустимом диапазоне (2-24v). При этом дает очень низкие пульсации на выходе и не греется.

Странно. Может я что-то сделал не так, перепроверю.

Lic Control пише:

Вероятность зависания контроллера сильно зависит от программного кода, который вы напишите. Зависит это и от аппаратной части. Учитывая то, что вы только начинаете, можно предположить что иногда будет виснуть. Может раз в день а может раз в месяц... Может и просто сгореть что-то из компонентов.  Думайте как разблокировать замок в этом случае, например собрать вариант схемы при котором в случае сгорания/зависания замок будет разблокирован.

Код достаточно простой, можно ли сделать что-то оптимальней?

enum { LOCK_PIN = 2 };
enum LockState { LOCK, UNLOCK};
LockState lock_state;

const int buttonPin = 4;
int buttonState = 0;

const long interval = 3000;

void setup() {

  lock_state = LOCK;

  pinMode(LOCK_PIN, OUTPUT);
  pinMode(buttonPin, INPUT);
  digitalWrite(LOCK_PIN, HIGH);

  Serial.begin(9600);

}

void loop() {

  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    switch (lock_state) {
      case LOCK: lock_state = UNLOCK; break;
      case UNLOCK: lock_state = LOCK; break;
    }
    delay(600);
  }

  if (Serial.available())  {

    char command = Serial.read();

    switch (command)
    {
      case '1': lock_state = UNLOCK; break;
      case '0': lock_state = LOCK; break;
      default:
        break;
    }

  }

  switch (lock_state) {
    case LOCK: digitalWrite(LOCK_PIN, HIGH); break;
    case UNLOCK: digitalWrite(LOCK_PIN, LOW); break;
  }

}
Lic Control
2017-12-13 22:56:27

MT3608 точно поддерживает на выходе напряжение, которое вы задали потенциометром, независимо от изменения входного напряжения во всем допустимом диапазоне (2-24v). При этом дает очень низкие пульсации на выходе и не греется.
Вероятность зависания контроллера сильно зависит от программного кода, который вы напишите. Зависит это и от аппаратной части. Учитывая то, что вы только начинаете, можно предположить что иногда будет виснуть. Может раз в день а может раз в месяц... Может и просто сгореть что-то из компонентов.  Думайте как разблокировать замок в этом случае, например собрать вариант схемы при котором в случае сгорания/зависания замок будет разблокирован.

Наиболее вероятной причиной сгорания вашей первой arduino был электромагнитный импульс в цепи питания в момент включения/выключения замка.

cardexc
2017-12-13 15:41:14
Nefreemen пише:

Если используется готовый модуль, диод не нужен (можно убить порт при прямом включении), шунтирующий обмотку диод есть в модуле 1N4148 (красненький такой smile ), а других не надо smile.

Значит причина неработоспособности предыдущей Arduino остается нераскрытой smile
Модуль используется этот http://arduino-ua.com/prod580-Modyl_rele
Я так понимаю, Вы про него и написали.

Lic Control пише:

Нет смысла ставить друг за другом два регулятора напряжения. Если замок не работает от 10В, что можно просто проверить экспериментально, то оставьте в цепи питания замка только MT3608  настроенный на 12В.

Да, замок не работает от напряжения, ниже ~11.5 В.
Если оставлять только повышающий преобразователь, то при выходе с блока питания, например 13В на замок пойдет больше 12.
Как я понял принцип работы этого преобразователя, если меняется входное напряжение, меняется и выходящее, он не держит постоянно на выходе 12В.


Lic Control пише:

Питание Arduino возьмите напрямую от блока питания 10-14В. Этим вы защитите ее от скачков напряжения при срабатывании замка. Учтите,  что в этом случае на Arduino будет горячим его регулятор напряжения. Что бы избежать этого, можно запитать Arduino от блока питания 10-14В через понижающий регулятор, настроенный на 7-8В.

Так и сделаю.

Lic Control пише:

Не забудьте, что Arduino + HC06 может повиснуть,  и тогда, если другого входа нет, будет весело smile

 
yikes  А вот это для меня новость. Как часто наблюдается такой эффект? smile
В принципе, обесточить квартиру и подождать разрядки аккумулятора 17АЧ  big_smile

Причина в HC-06? Если другой модуль взять?

Lic Control
2017-12-12 22:59:17

Нет смысла ставить друг за другом два регулятора напряжения. Если замок не работает от 10В, что можно просто проверить экспериментально, то оставьте в цепи питания замка только MT3608  настроенный на 12В. Питание Arduino возьмите напрямую от блока питания 10-14В. Этим вы защитите ее от скачков напряжения при срабатывании замка. Учтите,  что в этом случае на Arduino будет горячим его регулятор напряжения. Что бы избежать этого, можно запитать Arduino от блока питания 10-14В через понижающий регулятор, настроенный на 7-8В.
Как уже упоминалось, диод на реле не нужен.
Не забудьте, что Arduino + HC06 может повиснуть,  и тогда, если другого входа нет, будет весело smile

Nefreemen
2017-12-12 16:42:00

Если используется готовый модуль, диод не нужен (можно убить порт при прямом включении), шунтирующий обмотку диод есть в модуле 1N4148 (красненький такой smile ), а других не надо smile.

cardexc
2017-12-12 15:25:28

Вопрос к знатокам, насколько данная схема рабочая? Есть ли моменты, которые нужно учесть новичку в проектировании подобных схем?

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

Отдельный вопрос - подбор диода. В наличии имеются такие: 1N4148, 1N4007, 1N5819, IN5399, FR107, FR207, 1N5408.
Защиту от дребезга для кнопки не ставил, т.к. стоит задержка в коде 300 мс., при получении сигнала, проблема вроде как решается.

Схема

Комплектующие
1. Arduino UNO R3 http://arduino-ua.com/prod676-Arduino_Uno_Rev3
2. Bluetooth module HC06 http://arduino-ua.com/prod241-Bluetooth_modyl
3. Реле http://arduino-ua.com/prod580-Modyl_rele
4. Преобразователь 1: регулируемый повышающий преобразователь 2А 28В MT3608 http://arduino-ua.com/prod1559-regyliryemii-povishaushhii-preobrazovatel-2a-28v-mt3608
5. Преобразователь 2: DC-DC понижающий конвертер 3А http://arduino-ua.com/prod605-DC-DC_ponijaushhii_konverter_3A
6. Электроригельный замок,     DC 12V, 900 mA, https://www.bezpeka-shop.com/catalog/elektrorigelnye_zamki/rigelnyy_zamok_yb_500a_led_vreznoy_dlya_sistemy_kontrolya_dostupa.html
7. Блок питания с аккумулятором, 10-14V

Підвал форуму