Ви не увійшли.
Вопрос к знатокам, насколько данная схема рабочая? Есть ли моменты, которые нужно учесть новичку в проектировании подобных схем?
Спрашиваю, т.к. одна ардуинка уже отошла к нерабочему состоянию. Схема была не совсем такая, но похожая. Главное отличие - наличие на данной схеме диода, подключенного параллельно реле.
Отдельный вопрос - подбор диода. В наличии имеются такие: 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
Неактивний
Если используется готовый модуль, диод не нужен (можно убить порт при прямом включении), шунтирующий обмотку диод есть в модуле 1N4148 (красненький такой ), а других не надо .
Остання редакція Nefreemen (2017-12-12 16:42:52)
Неактивний
Нет смысла ставить друг за другом два регулятора напряжения. Если замок не работает от 10В, что можно просто проверить экспериментально, то оставьте в цепи питания замка только MT3608 настроенный на 12В. Питание Arduino возьмите напрямую от блока питания 10-14В. Этим вы защитите ее от скачков напряжения при срабатывании замка. Учтите, что в этом случае на Arduino будет горячим его регулятор напряжения. Что бы избежать этого, можно запитать Arduino от блока питания 10-14В через понижающий регулятор, настроенный на 7-8В.
Как уже упоминалось, диод на реле не нужен.
Не забудьте, что Arduino + HC06 может повиснуть, и тогда, если другого входа нет, будет весело
Неактивний
Если используется готовый модуль, диод не нужен (можно убить порт при прямом включении), шунтирующий обмотку диод есть в модуле 1N4148 (красненький такой ), а других не надо .
Значит причина неработоспособности предыдущей Arduino остается нераскрытой
Модуль используется этот http://arduino-ua.com/prod580-Modyl_rele
Я так понимаю, Вы про него и написали.
Нет смысла ставить друг за другом два регулятора напряжения. Если замок не работает от 10В, что можно просто проверить экспериментально, то оставьте в цепи питания замка только MT3608 настроенный на 12В.
Да, замок не работает от напряжения, ниже ~11.5 В.
Если оставлять только повышающий преобразователь, то при выходе с блока питания, например 13В на замок пойдет больше 12.
Как я понял принцип работы этого преобразователя, если меняется входное напряжение, меняется и выходящее, он не держит постоянно на выходе 12В.
Питание Arduino возьмите напрямую от блока питания 10-14В. Этим вы защитите ее от скачков напряжения при срабатывании замка. Учтите, что в этом случае на Arduino будет горячим его регулятор напряжения. Что бы избежать этого, можно запитать Arduino от блока питания 10-14В через понижающий регулятор, настроенный на 7-8В.
Так и сделаю.
Не забудьте, что Arduino + HC06 может повиснуть, и тогда, если другого входа нет, будет весело
А вот это для меня новость. Как часто наблюдается такой эффект?
В принципе, обесточить квартиру и подождать разрядки аккумулятора 17АЧ
Причина в HC-06? Если другой модуль взять?
Неактивний
MT3608 точно поддерживает на выходе напряжение, которое вы задали потенциометром, независимо от изменения входного напряжения во всем допустимом диапазоне (2-24v). При этом дает очень низкие пульсации на выходе и не греется.
Вероятность зависания контроллера сильно зависит от программного кода, который вы напишите. Зависит это и от аппаратной части. Учитывая то, что вы только начинаете, можно предположить что иногда будет виснуть. Может раз в день а может раз в месяц... Может и просто сгореть что-то из компонентов. Думайте как разблокировать замок в этом случае, например собрать вариант схемы при котором в случае сгорания/зависания замок будет разблокирован.
Наиболее вероятной причиной сгорания вашей первой arduino был электромагнитный импульс в цепи питания в момент включения/выключения замка.
Неактивний
MT3608 точно поддерживает на выходе напряжение, которое вы задали потенциометром, независимо от изменения входного напряжения во всем допустимом диапазоне (2-24v). При этом дает очень низкие пульсации на выходе и не греется.
Странно. Может я что-то сделал не так, перепроверю.
Вероятность зависания контроллера сильно зависит от программного кода, который вы напишите. Зависит это и от аппаратной части. Учитывая то, что вы только начинаете, можно предположить что иногда будет виснуть. Может раз в день а может раз в месяц... Может и просто сгореть что-то из компонентов. Думайте как разблокировать замок в этом случае, например собрать вариант схемы при котором в случае сгорания/зависания замок будет разблокирован.
Код достаточно простой, можно ли сделать что-то оптимальней?
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;
}
}
Неактивний