Управление задвижкой

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Управление задвижкой

Сообщение ученик » Сб апр 29, 2017 7:05 pm

В прошлом году пришла мне, вот такая задвижкаhttps://ru.aliexpress.com/item/CWX-25S- ... 2559.html?
Для управления ей купил такой драйвер https://ru.aliexpress.com/item/Big-Disc ... 6176.html?
для ручного управления задвижкой написал скетч

Код: Выделить всё

#include <AFMotor.h> 
AF_DCMotor motor(1, MOTOR12_64KHZ); // создаем объект motor №1, ШИМ 64 кГц
 void setup() {
 Serial.begin(9600); // устанавливаем скорость передачи 
 Serial.println("Water gate valve");
 motor.setSpeed(255); // устанавливаем скорость вращения 200/255
 motor.run(RELEASE);
 pinMode(14, INPUT); // Концевик открыт
 pinMode(15, INPUT); // Концевик закрыт
 pinMode(16, INPUT);  // Кнопка открытия
 pinMode(17, INPUT); // Кнопка закрытия
}
void loop() {
 digitalWrite(14, HIGH);// Подключен подтягивающий резистор
 digitalWrite(15, HIGH); // Подключен подтягивающий резистор
 digitalWrite(16, HIGH);//Подключен подтягивающий резистор
 digitalWrite(17, HIGH);//Подключен подтягивающий резистор
 cucle:
 if(digitalRead(16)==LOW){
 Serial.print("Forward"); // Пишем что открываемся
 while(digitalRead(14)==HIGH){
 motor.run(FORWARD); // вращение вперед
 //Serial.print("Open")
 //Serial.println("");
  }
  motor.run(RELEASE); 
  Serial.print("stop");
  goto cucle;
 } else if( digitalRead(17)== LOW) {
  Serial.print("bacward"); // Пишем что закрываемся
 while(digitalRead(15)==HIGH){
 motor.run(BACKWARD); // вращение назад
 //Serial.print("close")
 //Serial.println("");
  } motor.run(RELEASE);
  Serial.print("stop");
  }
  Serial.print("0");
  Serial.println("");
    goto cucle;
 }
Кнопки замыкаешь открывает и закрывает
по замыканию концевика останавливается.
Не дописал закрытие задвижек при протечке, там пин 2 свободный можно реализовать использовав его
вся фишка в том что с этим драйвером можно общаться по аналоговым пинам так как почти все цифровые заняты
как теперь управлять ею с МД в автоматическом режиме?
открывать и закрывать ее в автоматическом режиме.
есть варианты как то подружить c другой ардуиной по шине i2c?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Аватара пользователя
alx69
Сообщения: 122
Зарегистрирован: Чт фев 09, 2017 12:42 pm
Откуда: Киев, Украина
Благодарил (а): 10 раз
Поблагодарили: 22 раза

Re: Управление задвижкой

Сообщение alx69 » Сб апр 29, 2017 7:50 pm

1. На чем стоит МД?
2. Вариантов море. Начиная от проводных вариантов (менее гибко, точнее, вообще не гибко) заканчивая радио вариантами через модули на 433MHz, 2.4GHz (NRF24L01 модуль) WiFi (ESP8266).
Как мне кажется, проще купить ESP8266, подключить к ней и дальше управлять через mqtt протокол, который умеет и ESP и MD.
За это сообщение автора alx69 поблагодарил:
ученик (Пн май 01, 2017 6:42 pm)
Рейтинг: 1.16%
Raspberry PI 3, 4 (MicroSD+HDD/SSD) + Netatmo + Xiaomi + Sonoff + Broadlink + Livolo/Funry/Sesoo + Ghome + Irbis (Алиса)
CONNECT
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: Управление задвижкой

Сообщение ученик » Пн май 01, 2017 6:45 pm

Система базируется на linux.
По вашему совету решил попробовать WiFi (ESP8266).
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Управление задвижкой

Сообщение serghei » Пн май 01, 2017 6:59 pm

Связь двух ардуин по шине I2C показана ТУТ . Заливай два кода в разные ардуины , соединяй тремя проводами и вперёд. Потом вместо цифр подставляй свои переменные.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Re: Управление задвижкой

Сообщение yurat2008 » Пн май 01, 2017 11:11 pm

распиновка платы2.jpg
распиновка платы2.jpg (28.66 КБ) 7261 просмотр
Вот такая поделка с этой задачей справится
Стоимость выходит в районе 8 баксов не считая своей работы (если с китая все заказывать), но надо поработать паяльником пару часиков, потому что изначально это выглядит так
photo_2017-05-01_23-08-32.jpg
photo_2017-05-01_23-08-32.jpg (24.95 КБ) 7261 просмотр
Можно конечно за такие деньги и что-то готовое у китайцев купить, только оно как правило не совсем удобно в эксплуатации
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: Управление задвижкой

Сообщение ученик » Вт май 02, 2017 6:20 am

А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Управление задвижкой

Сообщение slgeo » Вт май 02, 2017 10:22 am

ученик писал(а):А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?
Подойдет, но у него есть свои особенности. Я допиливал вот таким образом
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Re: Управление задвижкой

Сообщение yurat2008 » Вт май 02, 2017 9:01 pm

ученик писал(а):А вот такой модуль не подойдет для этой задачи?
https://ru.aliexpress.com/item/ESP-01-E ... 8582.html?
У него разведено всего 2 gpio и те имеют обрезанный функционал (если они будут замкнуты на землю во время загрузки модуля - модуль переходит в режим прошивки) - поверьте, это может стать серьезной проблемой.
Хак который предлагает slgeo - это пайка под микроскопом, не стоит оно того.
Если не хотите паять берите что-то типа https://www.aliexpress.com/item-img/ESP ... 01343.html

В принципе там все ноги разведены, останется подтяжки резисторами поделать для стабильной работы
Аватара пользователя
alx69
Сообщения: 122
Зарегистрирован: Чт фев 09, 2017 12:42 pm
Откуда: Киев, Украина
Благодарил (а): 10 раз
Поблагодарили: 22 раза

Re: Управление задвижкой

Сообщение alx69 » Ср май 03, 2017 4:44 pm

Собственно говоря - вот схема подобного как раз на ESP8266 (ESP-01)
https://habrahabr.ru/company/masterkit/blog/258469/
Raspberry PI 3, 4 (MicroSD+HDD/SSD) + Netatmo + Xiaomi + Sonoff + Broadlink + Livolo/Funry/Sesoo + Ghome + Irbis (Алиса)
CONNECT
yurat2008
Сообщения: 147
Зарегистрирован: Сб мар 04, 2017 7:04 pm
Благодарил (а): 15 раз
Поблагодарили: 13 раз

Re: Управление задвижкой

Сообщение yurat2008 » Ср май 03, 2017 8:24 pm

а датчик протечки к чему цеплять? Ног явно не хватает, тем более есп-01 и есп-07 стоят практически одинаково
Ответить