Согласен, моторчик крутит медленно, но солидно и зрелищно :)
Сейчас сделал замер - 50 сек полное открытие или закрытие.
Торопиться некуда, можно и не ждать....сама доедет и остановится.
Супер!
Вопрос: Хватает ли крутящего момента для поднятия штор.
Почему задаю этот вопрос?
Этот шаговичёк куплен был лет 5 назад.
Даже два.
И даже где-то потерялись дома.
При проверке выяснилось что оба пробуксовывают внутри редуктора,
то есть мотор крутится, а вал можно остановить при достаточно небольшом усилии.
Такие шаговики видел в кондиционерах на качающемся дефлекторе и понятно что там момент не главное.
Даже помню что один переделывал в биполярник......
Тоже думал сделать, но мои шторы в два раза длиннее.
Супер!
Вопрос: Хватает ли крутящего момента для поднятия штор.
Почему задаю этот вопрос?
Этот шаговичёк куплен был лет 5 назад.
Даже два.
И даже где-то потерялись дома.
При проверке выяснилось что оба пробуксовывают внутри редуктора,
то есть мотор крутится, а вал можно остановить при достаточно небольшом усилии.
Такие шаговики видел в кондиционерах на качающемся дефлекторе и понятно что там момент не главное.
Даже помню что один переделывал в биполярник......
Тоже думал сделать, но мои шторы в два раза длиннее.
Пробуксовывать может из-за недостатка питания или от большой скорости.
У меня сейчас питание 6 вольт и на входе каждого драйвера стоят кондеры на 1000мкФ, штора едет одинаково вверх и вниз. Когда эксперементировал со скоростью было так, что вниз штора опускается быстро, а вверх даже стронуться не может - подтолкнешь, тогда тянет. Вообщем в скетче оптимальный вариант.
Собрал все по схеме. Все работает, но есть странность. Провожу калибровку обоих штор ноль наверху. Перехожу в рабочий режим. При нажатии вниз - едет только первая штора. Доезжает до низа. Вторая стоит. При нажатии вверх - первая нормально, а вторая заматывается на установленное количество витков. То есть получается что у одной шторы ноль наверху, а у второй ноль внизу. Что то не так в скетче?
Хвала автору! Всё прекрасно работает, моторы поставил на 12в. Дайте совет - буду делать второй экземпляр, там где балкон. Окно большое, штора длинная, один мотор не осилит, поставлю два с разных сторон. Как подключать два мотора? 1. Два мотора, два драйвера входы объеденить и к arduino. Или 2. Два мотора запараллелить и к одному драйверу.
Прикрутил к скетчу датчик освещенности. Цифровой выход модуля повесил на А3
Опыта мало. Наверняка можно код сделать правильнее, но как получилось. По крайней мере работает. Утром открывает, вечером закрывает. Когда начинает двигатся, если нажать на любую кнопку, то движение остановится и не возобновляется до следующей смены состояния освещенности. И чуть подправил скетч. Нулевая точка обоих штор теперь наверху. Если надо сделать на одном моторе обратное вращение, надо зазеркалить подключение самого мотора.
//********** (РЕЖИМ 1-ШАГ) Крутим с помощью сдвига --рабочая - крутит туда сюда без потери шагов - ускоряет - отключает катушки после бездействия
//PORTB - 8, 9, 10, 11 - Шаговик.
//PORTD - 4, 5, 6, 7 - Шаговик.
// 12-кнопка Menu
// 2-кнопка UP
// 3-кнопка DOWN
// A1-Светодиод 1й штор
// А0-Светодиод 2й штор
// А2-Пищалка
// А3-Фотомодуль, цифровой выход
#include <EEPROM.h>
#include <CyberLib.h>
#define uskor 3 //Задаем ускорение
//Здесь устанавливаем максимальное кол. шагов для штор
#define max_Sht1 29500
#define max_Sht2 29500
#define PH_PIN 17 //цифровой выход фотомодуля на А3
byte n1 = 1;// Сдвигаем 1 бит
byte n3 = 0x10;
bool f_timX = 0;
bool f_timZ = 0;
byte sped_Xt = uskor;//Начальная скорость
byte sped_X = 0; //Ускорение
byte sped_Zt = uskor;//Начальная скорость
byte sped_Z = 0; //Ускорение
bool f_run1X = 0;//Сброс после остановки 2 переменные.
unsigned long no_runX; //Переменная для прошедшего периода
bool f_run1Z = 0;//Сброс после остановки 2 переменные.
unsigned long no_runZ; //Переменная для прошедшего периода
// Переменные для кн.Menu
bool kn_menu;
bool f_menu;
bool f_Mpush;
bool f_Md;
uint8_t Menu = 1;
uint8_t temp_Menu;
bool kalib;
unsigned long menu_dreb;
unsigned long menu_klik;
// Переменные для кн.Up
bool kn_Up;
bool f_Up;
bool state_Up;
bool _UP;
uint32_t Up_dreb;
// Переменные для кн.Down
bool kn_Down;
bool f_Down;
bool state_Down;
bool _Down;
uint32_t Down_dreb;
// переменные для фотомодуля
byte timePh = 100; // время устойчивого состояния фотомодуля
byte phCount1= 0;
byte phCount2= 0; // счетчики подтверждений состояния
bool old_Ph;
bool new_Ph;
//сбрасываем UP\Down
bool f_sbrosZ = 1;
bool f_sbrosX = 1;
uint32_t cur_time;//Миллис читаем один раз
uint32_t blink_time;//Мигаем в режиме калибровки
int Shtora1;
int Shtora2;
const int ton = 16;//пищалка
// чтение
int EEPROM_int_read(int addr) {
byte raw[2];
for(byte i = 0; i < 2; i++) raw[i] = EEPROM.read(addr+i);
int &num = (int&)raw;
return num;
}
// запись
void EEPROM_int_write(int addr, int num) {
if (EEPROM_int_read(addr)!= num){//если сохраняемое отличается
byte raw[2];
(int&)raw = num;
for(byte i = 0; i < 2; i++) EEPROM.write(addr+i, raw[i]);
}
}
void setup() {
// DDRB пин, 8,9,10,11 - Шаговик, pin 12- вход, 13- Выход
DDRB = DDRB | B00101111;
// pin 8,9,10,11,13 - выход в 0 а входы pin 12, - 0
PORTB = B00000000;
// DDRD, подключенный к двигателю pin 4,5,6,7 как выход,pin2,3 Выход
DDRD = DDRD | B11110000;
// pin 4,5,6,7 - выход в 0 а входы pin 2,3 - 0
PORTD = B00000000;//;
/////
//////
D14_Out; // Led_1
D14_Low;
D15_Out; // Led_2
D15_Low;
pinMode(ton,OUTPUT);//пищалка
//Serial.begin(9600);
// Инициализировать TIMER1
StartTimer1(Time_Closk, 2800);
Shtora1 = EEPROM_int_read(0);
Shtora2 = EEPROM_int_read(2);
}
void Beep() //короткий звук, переключение шторы
{
tone(ton,500,500);
delay(200);
noTone(ton);
}
void Beep_long() //длинный звук, вход и выход из режима калибровки "0"
{
tone(ton,200,1000);
delay(200);
noTone(ton);
}
void Time_Closk() // Функция прерывания таймера
{
f_timX = 1;
f_timZ = 1;
}
//Функция вращения dvigatel 1
void RunX (bool perem_X)
{
f_sbrosX = 0;
f_timX = 0;
if (perem_X) {
n1 = (n1 >> 1) | (n1 << 3); //Сдвигаем
--Shtora1;
}
else {
n1 = (n1 << 1) | (n1 >> 3); //Сдвигаем
++Shtora1;
}
n1 = 0x0F & n1; //Маскируем кнопки
PORTB = (PORTB & 0xF0) | n1; //Очищаем Младшие биты и пишем туда n1
}
//Функция dvigatel 3
void RunZ (bool perem_Z)
{
f_sbrosZ = 0;
f_timZ = 0;
if (perem_Z) {
n3 = (n3 >> 1) | (n3 << 3); //Сдвигаем
--Shtora2;
}
else {
n3 = (n3 << 1) | (n3 >> 3); //Сдвигаем
++Shtora2;
}
n3 = 0xF0 & n3;//Маскируем
PORTD = (PORTD & 0xF) | n3; //Очищаем старшие биты и пишем туда n3
}
void loop() {
cur_time = millis();
///////////////////Проверка кнопки МЕНЮ - АНТИДРЕБЕЗГ
if (D12_Read && !f_menu)
{
menu_dreb = cur_time;
f_menu = 1;
}
if (!D12_Read)
{
kn_menu = 0;
f_menu = 0;
}
if (f_menu && cur_time - menu_dreb >= 20)
{
kn_menu = 1;
if (!f_Mpush) {
menu_klik = cur_time;
f_Mpush = 1;
}
}
//Был клик
if (f_Mpush && !kn_menu && cur_time - menu_klik < 1000) {
if (_UP || _Down) {
_UP = 0;
_Down = 0;
}
else Menu++, Beep(); // Меняем
if (Menu > 3) Menu = 1;
f_Mpush = 0;
}
//Было нажатие
else if (f_Mpush && !kn_menu && cur_time - menu_klik > 1000) {
Beep_long();
kalib = !kalib; // Включаем калибровку
f_Mpush = 0;
} ///////////////////////Проверка кнопки UP - АНТИДРЕБЕЗГ
if (D2_Read != f_Up) { //Если сигнал изменился
f_Up = !f_Up;
Up_dreb = cur_time;
}
if (kn_Up == D2_Read && cur_time - Up_dreb > 20) kn_Up = !D2_Read;
// Было нажатие
if (kn_Up && !state_Up) {
if (_UP || _Down) {
_UP = 0;
_Down = 0;
state_Up = 1;
}
else {
_UP = !_UP; // Меняем значение
state_Up = 1;
}
}
if (!kn_Up)state_Up = 0; // Отпустили
///////////////////////Проверка кнопки DOWN - АНТИДРЕБЕЗГ
if (D3_Read != f_Down) { //Если сигнал изменился
f_Down = !f_Down;
Down_dreb = cur_time;
}
if (kn_Down == D3_Read && cur_time - Down_dreb > 20) kn_Down = !D3_Read;
// Было нажатие
if (kn_Down && !state_Down) {
if (_UP || _Down) {
_UP = 0;
_Down = 0;
state_Down = 1;
}
else {
_Down = !_Down; // Меняем значение
state_Down = 1;
}
}
if (!kn_Down)state_Down = 0; // Отпустили
//////////////////////// С кнопками закончили продолжаем логику
if (!kalib)
{
if (Menu != temp_Menu) {
temp_Menu = Menu;
switch (Menu) {
case 1: D14_High; D15_High; break;
case 2: D14_Low; D15_High; break;
case 3: D14_High; D15_Low; break;
}
}
}
else {
if (cur_time - blink_time >= 300)
{
blink_time = cur_time;
switch (Menu) {
case 1: D14_Inv; D15_Inv; break;
case 2: D14_Low; D15_Inv; break;
case 3: D14_Inv; D15_Low; break;
}
}
}
/////////////////////////////////
// блок фотомодуля
new_Ph = D17_Read;
if ((new_Ph ==LOW)&&(old_Ph != new_Ph)) {
phCount1++;
}
else
phCount1=0;
if ( phCount1 >= timePh) {
old_Ph = new_Ph;
phCount1 = 0;
_UP = 1;
_Down = 0;
}
if ((new_Ph ==HIGH)&&(old_Ph != new_Ph)) {
phCount2++;
}
else
phCount2= 0;
if ( phCount2 >= timePh) {
old_Ph = new_Ph;
phCount2= 0;
_Down = 1;
_UP = 0;
}
/////////////////////////// Запуск 1го двигателя если " perem_X != 0 "
if (f_timX) {
if (_UP || _Down) {
if (Menu != 2) {
if (!sped_X) {
if (!kalib) { //Калибровка отк.
if (_Down && Shtora1 < max_Sht1) {
RunX(0);
}
if (_UP && Shtora1 > 0) {
RunX(1);
}
}
else { //Калибровка вкл.
if (_Down) {
Shtora1 = 0;
RunX(0);
}
if (_UP) {
Shtora1 = 1;
RunX(1);
}
}
//Три поверки для разгона
if (sped_Xt > 0) {
--sped_Xt;
sped_X = sped_Xt;
// f_timX = 0;
}
}
else {
--sped_X;
f_timX = 0;
}
}
}////
else {
sped_Xt = uskor;
sped_X = 0;
}
}
else { //Для снятия напряжения
f_run1X = 1;
no_runX = cur_time;
}
/////////////////Запуск 3го двигателя если " perem_Z != 0 "
if (f_timZ){
if (_UP || _Down) {
if (Menu != 3) {
if (!sped_Z) {
if (!kalib)//Калибровка отк.
{
if (_Down && Shtora2 < max_Sht2) {
RunZ(0);
}
if (_UP && Shtora2 > 0) {
RunZ(1);
}
}
else {//Калибровка Вкл.
if (_Down) {
Shtora2 = 0;
RunZ(0);
}
if (_UP) {
Shtora2 = 1;
RunZ(1);
}
}
//Три поверки для разгона
if (sped_Zt > 0) {
--sped_Zt;
sped_Z = sped_Zt;
f_timZ = 0;
}
}
else {
--sped_Z;
f_timZ = 0;
}
}
}////
else {
sped_Zt = uskor;
sped_Z = 0;
}
}
else { //Для снятия напряжения
f_run1Z = 1;
no_runZ = cur_time;
}
//Возврат по достижению конечной точки
if (f_sbrosZ && f_sbrosX) {
_UP = 0;
_Down = 0;
}
//Снимаем напряжение с катушек двигателя X
if (f_run1X && cur_time - no_runX >= 1000)
{
f_run1X = 0;
PORTB &= 0xF0;
f_sbrosX = 1;
if (EEPROM_int_read(0)!=Shtora1)
{
EEPROM_int_write(0, Shtora1); // адрес 0 (+2 байта)
}
}
//Снимаем напряжение с катушек двигателя Z
if (f_run1Z && cur_time - no_runZ >= 1000)
{
f_run1Z = 0;
PORTD &= 0xF;
f_sbrosZ = 1;
if (EEPROM_int_read(2)!=Shtora2)
{
EEPROM_int_write(2, Shtora2); // адрес 0 (+2 байта)
}
}
}
PS У меня одна штора шире и соответственно тяжелее чем вторая. Поэтому пришлось немного уменьшить скорость, а то были пропуски шагов. В авторском варианте 2,2 мс, у меня 2,8 мс. Тут можно поиграться при желании.
Всем привет.Собираюсь сделать такие же шторы. Купил шаговые 28ИНО-48 на 12вольт,но они тоже как то не айс тянут. По документации эти шаговики на 400 грамм тяги. Вытащил перемычку с драйвера и запитал 12в поставив + на 4-ю ногу драйвера. Стал тянуть 700гр. Но пришла идея установить вместо шаговых горелые микросервоприводы SG90. По тяге они аж на 4кг идут и на 5 вольт крутят довольно таки быстро. На одну минуту работы, думаю их хватит,что бы не перегрелись. Есть еще горелый серво MG995 на 7кг,но он жутко шумный. Только вот осталось крепление и скетч переделать... Подсобите пожалуйста со скетчем)
Двигатели останавливаются по достижении конечного положения.как вы нашли конечное положение шторы
как вариант можно считать шаги двигателя. Например задаешь начальное положение, потом ручками до нужного момента открываешь и так же фиксируешь в прошивке и он уже дальше стольки шагов просто не будет ехать. Где-то был проект с похожей функцией. Может у автора так же
Коротким нажатием меню выбрать мотор. Калибровка - длинное нажатие, замигает светодиод и изменится звук сигнала. Кнопками доехать до нужного положения и опять длинное нажатие.
супер проект!!!
возможно ли реализовать все это на одном микроконтроллере(он же и сенсорные кнопки, и датчик освещенности прикрутить)? какой может подойти?
удалось ли реализовать дистанционное управление?
У меня на кухне две шторы, управляет ардуино нано, а в зале три шторы - ардуино мега. Датчик освещенности есть, но нужно продумать алгоритм для переменной облачности, слишком часто ездят вверх-вниз. Дистанционное управление не делал, мне не нужно.
летом окна нагреваются как печка, кондиционер не справляется. ваш супер проект натолкнул на мысль сделать выдвижные локтевые маркизы на фасад .
буду подбирать моторы с редуктором, чтобы потянули.
возможно ли сделать их полностью автономными?
добавить датчик температуры, освещенности, вибрации(для ветра), дождя и запитать от солнечной панели?
да и дистанционное управление понадобиться
интересно взглянуть!
двигатели у китайцев нашел только такие- думаю потянут
заявлено до 7кг
1 006,66 руб. | Мотор-редуктор бесщеточный, 12/24 В, 14-1550 об/мин https://a.aliexpress.com/_A3THJa
т.к. маркизы на фасаде - питание соответственно солнечные панели + mppt контроллер 12 в на 18650
и управление актуально дистанционное!
но упор необходимо сделать на открытие и закрытие по датчикам температуры(жара) освещенности(солнце) и вибрации(ветер) т.к. пользоваться будет пожилой человек не дружщий с техникой
Как это всё реализовано? Особенно заинтересовали "кнопки".
Кнопки использовал TTP223, вот ссылка на али.
Моторчики 5v с драйвером, еще ссылка.
Сделал несколько фоток монтажа моторчиков к шторам...
Знакомый токарь выточил втулки вместо родного механизма.
Разбираем штору и вместо механизма вставляем втулку.
Собираем боковую часть и тонким сверлом делаем отверстие, для того чтобы отметить центр.
Замеряем диаметр той части втулки, под которую будем делать отверстие в боковой крышке.
Делаем отверстие.
Прикладываем моторчик и отмечаем где будет крепление.
Собираем всё на место...
Устанавливаем штору, подключаем и радуемся.
Сделал несколько фоток монтажа моторчиков к шторам...
Знакомый токарь выточил втулки вместо родного механизма.
Разбираем штору и вместо механизма вставляем втулку.
Собираем боковую часть и тонким сверлом делаем отверстие, для того чтобы отметить центр.
Замеряем диаметр той части втулки, под которую будем делать отверстие в боковой крышке.
Делаем отверстие.
Прикладываем моторчик и отмечаем где будет крепление.
Собираем всё на место...
Устанавливаем штору, подключаем и радуемся.
Молоток! :)
интересно сколько лет будет сворачиваться штора с таким моторчиком
кабы вот
https://ru.aliexpress.com/item/Used-385-DC-Gear-motor-Big-torque-Multistage-reducer-12V-172rpm-7-type-DC-gear-motor/32782153368.html?spm=a2g0v.search0104.3.42.wqiItm&ws_ab_test=searchweb0_0,searchweb201602_0_10152_10065_10151_10344_10068_10345_10342_10343_51102_10340_10341_10543_10609_10541_10084_10083_10307_10301_10611_10610_10539_10312_10059_10313_10314_10534_100031_10604_10603_10103_10607_10606_10605_10594_10596_10142_10107_10125,searchweb201603_2,ppcSwitch_0&algo_expid=2b1a312f-c79b-454e-8bc8-88f0bb40b4a9-5&algo_pvid=2b1a312f-c79b-454e-8bc8-88f0bb40b4a9&rmStoreLevelAB=0
хотя 1 к 64 может и норм будет
Согласен, моторчик крутит медленно, но солидно и зрелищно :)
Сейчас сделал замер - 50 сек полное открытие или закрытие.
Торопиться некуда, можно и не ждать....сама доедет и остановится.
Фотки не грузятся, перезалей плз
Управление шторами при помощи ардуино и шаговых моторов.
http://www.youtube.com/watch?v=P_dk7K4_4fI&t
Видео доступно по ссылке: https://youtu.be/1ZVcHS72KFg
Схема подключения
Хорошая робота, автор молодец.
Торопиться некуда, можно и не ждать....сама доедет и остановится.
Здравствуйте! Подскажите, по какому событию происходит останов двигателей?
И как прикрутить к проекту фотодатчик для автоматизации процесса? (закат\рассвет)
Здравствуйте! Подскажите, по какому событию происходит останов двигателей?
И как прикрутить к проекту фотодатчик для автоматизации процесса? (закат\рассвет)
Доброй ночи. Двигатели останавливаются при нажатии любой кнопки или по достижении конечного положения.
Я еще новичок в ардуино, с фоторезистором еще не разбирался (видел обзоры на ютубе).
Вот в этой ветке мне помогли с написанием скетча, задайте вопрос там, возможно Вам подскажут.
http://arduino.ru/forum/programmirovanie/proshu-pomoshchi-problema-s-odnovremennoi-rabotoi-shagovykh-dvigatelei
Супер!
Вопрос: Хватает ли крутящего момента для поднятия штор.
Почему задаю этот вопрос?
Этот шаговичёк куплен был лет 5 назад.
Даже два.
И даже где-то потерялись дома.
При проверке выяснилось что оба пробуксовывают внутри редуктора,
то есть мотор крутится, а вал можно остановить при достаточно небольшом усилии.
Такие шаговики видел в кондиционерах на качающемся дефлекторе и понятно что там момент не главное.
Даже помню что один переделывал в биполярник......
Тоже думал сделать, но мои шторы в два раза длиннее.
интересно сколько лет будет сворачиваться штора с таким моторчиком
кабы вот
https://ru.aliexpress.com/item/Used-385-DC-Gear-motor-Big-torque-Multistage-reducer-12V-172rpm-7-type-DC-gear-motor/32782153368.html?spm=a2g0v.search0104.3.42.wqiItm&ws_ab_test=searchweb0_0,searchweb201602_0_10152_10065_10151_10344_10068_10345_10342_10343_51102_10340_10341_10543_10609_10541_10084_10083_10307_10301_10611_10610_10539_10312_10059_10313_10314_10534_100031_10604_10603_10103_10607_10606_10605_10594_10596_10142_10107_10125,searchweb201603_2,ppcSwitch_0&algo_expid=2b1a312f-c79b-454e-8bc8-88f0bb40b4a9-5&algo_pvid=2b1a312f-c79b-454e-8bc8-88f0bb40b4a9&rmStoreLevelAB=0
хотя 1 к 64 может и норм будет
Для такого "гигантсского" мотора на окне обычно нет места......
Шаговик- самое то.
Супер!
Вопрос: Хватает ли крутящего момента для поднятия штор.
Почему задаю этот вопрос?
Этот шаговичёк куплен был лет 5 назад.
Даже два.
И даже где-то потерялись дома.
При проверке выяснилось что оба пробуксовывают внутри редуктора,
то есть мотор крутится, а вал можно остановить при достаточно небольшом усилии.
Такие шаговики видел в кондиционерах на качающемся дефлекторе и понятно что там момент не главное.
Даже помню что один переделывал в биполярник......
Тоже думал сделать, но мои шторы в два раза длиннее.
Пробуксовывать может из-за недостатка питания или от большой скорости.
У меня сейчас питание 6 вольт и на входе каждого драйвера стоят кондеры на 1000мкФ, штора едет одинаково вверх и вниз. Когда эксперементировал со скоростью было так, что вниз штора опускается быстро, а вверх даже стронуться не может - подтолкнешь, тогда тянет. Вообщем в скетче оптимальный вариант.
А я вот по бырику сварганил вот такой электромеханизм управления обычными шторами под управлением ардуино)
https://www.youtube.com/watch?v=Tx47Dj791JU&feature=youtu.be
А я вот по бырику сварганил вот такой электромеханизм управления обычными шторами под управлением ардуино)
Прикольно. Шустренько тянет, только для моих нужд великоват малость.
Скорость можно регулировать в скетче, но чем медленнее тем шумнее слышно работу мотора.
Решил добавить еще парочку фоток.

К драйверу ULN2003 идеально подходит коробочка от телефонной розетки
А вот так выглядит плата под подоконником

С обратной стороны расположилась кренка на 6 вольт

А вот так выглядят кнопки под пластиковым уголком
Доброго!
Проект завершен или еще делается? На работающий скетч можно глянуть?
Доброго!
Проект завершен или еще делается? На работающий скетч можно глянуть?
Пост #8, под схемой работающий скетч.
А как запрограммированы кнопки. В режиме кнопки или выключатель с фиксацией? Просто замыкают на землю при нажатии?
А как запрограммированы кнопки. В режиме кнопки или выключатель с фиксацией? Просто замыкают на землю при нажатии?
Работает как кнопка, а программа отслеживает длинное или короткое нажатие.
А как организовано питание всей системы?
А как организовано питание всей системы?
Обычный адаптер на 9 вольт.
Вот ссылка на али https://ru.aliexpress.com/item/1pcs-AC-100V-240V-Converter-Adapter-DC-9V-1A-Power-Supply-EU-Plug-DC-5-5mm/32769484388.html?spm=a2g0s.9042311.0.0.274233ed35FFzP
А как организовано питание всей системы?
Обычный адаптер на 9 вольт.
На vin как я понимаю. Тогда получается 9 вольт идет и на контроллеры моторов?
А как организовано питание всей системы?
Обычный адаптер на 9 вольт.
На vin как я понимаю. Тогда получается 9 вольт идет и на контроллеры моторов?
На моторы питание идет через кренку на 6 вольт.
Собрал все по схеме. Все работает, но есть странность. Провожу калибровку обоих штор ноль наверху. Перехожу в рабочий режим. При нажатии вниз - едет только первая штора. Доезжает до низа. Вторая стоит. При нажатии вверх - первая нормально, а вторая заматывается на установленное количество витков. То есть получается что у одной шторы ноль наверху, а у второй ноль внизу. Что то не так в скетче?
Да, такая "особенность", моторы стоят зеркально. У левой шторы ноль внизу. Один раз то и надо настроить, потом всё работает нормально.
Доброго!
Проект завершен или еще делается? На работающий скетч можно глянуть?
Пост #8, под схемой работающий скетч.
Добавлю и себе в закладки
Один раз то и надо настроить, потом всё работает нормально.
Ну это да. Особо не напрягает. Эх, еще бы фоторезистор прикрутить.
Хвала автору! Всё прекрасно работает, моторы поставил на 12в. Дайте совет - буду делать второй экземпляр, там где балкон. Окно большое, штора длинная, один мотор не осилит, поставлю два с разных сторон. Как подключать два мотора? 1. Два мотора, два драйвера входы объеденить и к arduino. Или 2. Два мотора запараллелить и к одному драйверу.
Прикрутил к скетчу датчик освещенности. Цифровой выход модуля повесил на А3
Опыта мало. Наверняка можно код сделать правильнее, но как получилось. По крайней мере работает. Утром открывает, вечером закрывает. Когда начинает двигатся, если нажать на любую кнопку, то движение остановится и не возобновляется до следующей смены состояния освещенности. И чуть подправил скетч. Нулевая точка обоих штор теперь наверху. Если надо сделать на одном моторе обратное вращение, надо зазеркалить подключение самого мотора.
PS У меня одна штора шире и соответственно тяжелее чем вторая. Поэтому пришлось немного уменьшить скорость, а то были пропуски шагов. В авторском варианте 2,2 мс, у меня 2,8 мс. Тут можно поиграться при желании.
Прикрутил к скетчу датчик освещенности. Цифровой выход модуля повесил на А3
На BH1750 не похож. Что за датчик?
LPC810 похоже
Модуль с Алиэкспресса. https://ru.aliexpress.com/item/Photosensitive-Sensor-Module-Light-Detection-Module-for-Arduino/32248249658.html?spm=a2g0s.9042311.0.0.274233edYVnL7B
Не важно какой модуль. Надо только что бы был цифровой выход. Этот дает 1 - днем, 0 - ночью.
Отлично, надо тоже забабахать
А я вот по бырику сварганил вот такой электромеханизм управления обычными шторами под управлением ардуино)
https://www.youtube.com/watch?v=Tx47Dj791JU&feature=youtu.be
Как реализовали крепление штор к шаговым ? Сбросьте фото пожалуйста
artur.gromyko@yandex.ru
Двигатели останавливаются по достижении конечного положения.как вы нашли конечное положение шторы
Всем привет.Собираюсь сделать такие же шторы. Купил шаговые 28ИНО-48 на 12вольт,но они тоже как то не айс тянут. По документации эти шаговики на 400 грамм тяги. Вытащил перемычку с драйвера и запитал 12в поставив + на 4-ю ногу драйвера. Стал тянуть 700гр. Но пришла идея установить вместо шаговых горелые микросервоприводы SG90. По тяге они аж на 4кг идут и на 5 вольт крутят довольно таки быстро. На одну минуту работы, думаю их хватит,что бы не перегрелись. Есть еще горелый серво MG995 на 7кг,но он жутко шумный. Только вот осталось крепление и скетч переделать... Подсобите пожалуйста со скетчем)
как вариант можно считать шаги двигателя. Например задаешь начальное положение, потом ручками до нужного момента открываешь и так же фиксируешь в прошивке и он уже дальше стольки шагов просто не будет ехать. Где-то был проект с похожей функцией. Может у автора так же
Здравствуйте а подскажите как происходит процес калибровки. Нигде не могу найти
Коротким нажатием меню выбрать мотор. Калибровка - длинное нажатие, замигает светодиод и изменится звук сигнала. Кнопками доехать до нужного положения и опять длинное нажатие.
Спасибо
пришлите пожалуйста архив с рабочим скетчем и библиотеками jenz@list.ru . При загрузке выдает ошибку
супер проект!!!
возможно ли реализовать все это на одном микроконтроллере(он же и сенсорные кнопки, и датчик освещенности прикрутить)? какой может подойти?
удалось ли реализовать дистанционное управление?
У меня на кухне две шторы, управляет ардуино нано, а в зале три шторы - ардуино мега. Датчик освещенности есть, но нужно продумать алгоритм для переменной облачности, слишком часто ездят вверх-вниз. Дистанционное управление не делал, мне не нужно.
На датчике освещенности есть регулировка.
летом окна нагреваются как печка, кондиционер не справляется. ваш супер проект натолкнул на мысль сделать выдвижные локтевые маркизы на фасад .
буду подбирать моторы с редуктором, чтобы потянули.
возможно ли сделать их полностью автономными?
добавить датчик температуры, освещенности, вибрации(для ветра), дождя и запитать от солнечной панели?
да и дистанционное управление понадобиться
у меня на балконе три шторы с пультом для управления и настроек на одной нане, всё поместилось...
интересно взглянуть!
двигатели у китайцев нашел только такие- думаю потянут
заявлено до 7кг
1 006,66 руб. | Мотор-редуктор бесщеточный, 12/24 В, 14-1550 об/мин
https://a.aliexpress.com/_A3THJa
т.к. маркизы на фасаде - питание соответственно солнечные панели + mppt контроллер 12 в на 18650
и управление актуально дистанционное!
но упор необходимо сделать на открытие и закрытие по датчикам температуры(жара) освещенности(солнце) и вибрации(ветер) т.к. пользоваться будет пожилой человек не дружщий с техникой