КУПЛЮ скетч для управления рулонной шторой

ардуино нано, 3 кнопки (вверх, стоп, вниз) и 2 реле(или драйвер), и коллекторный мотор.
задача: управлять двигателем по времени, для примера (10 секунд).
допустим штора находиться вверху, нажал кнопку вниз и мотор включается в одну сторону отсчитывая 10 секунд, так же и вдругую сторону. что бы кнопкой стоп можно остановить в любой момент и кнопками вверх или вниз продолжить движение. и самое главное это сохранение положения шторы в EEPROM что бы при отключении электричества во время движения шторы ардуино запомнила сколько секунд отсчитано до отключения и продолжило с этого места при подаче напряжения.


номера пинов на рисунке

Отсчет перемещения по времени на практике будет работать паршиво.
Моторы не работают одинаково в разных направлениях движения и разных температурных условиях.

1 лайк

На старом форуме склад таких скетчей был в специальной теме.

возможно вы и правы, попробую найти шаговый

Пока света нет - кто-нибудь руками покрутит штору и все ваши сохраненные положения пойдут прахом. Концевики наше всё !!!

2 лайка

там червячный редуктор, не шелохнётся даже

Продам скетч
barmaley2m@yandex.ru

@magbet , у Вас ущербна сама постановка задачи.

  1. Шторы должны иметь концевики. Это аксиома. Никаким учетом времени Вы от этого не избавитесь.
  2. Использовать в качестве критерия для движения/положения штор - безнадежная затея: характерное время будет меняться в широких пределах в зависимости от:
  • текущего положения шторы,
  • направления движения,
  • по мере загрязнения штор,
  • при замене штор на другие (такие же),
  • по мере износа в процессе эксплуатации,
  • при изменении температуры/влажности/погоды на Марсе,
  • просто ни с того, ни с сего…

Если Вам нужно контролировать любое положение штор - нужен энкодер.
Если достаточно 2-3-4 фиксированных положений (из которых два крайних), можно обойтись концевиками/герконами/оптическими датчиками. Но эти датчики должны физически быть, заменить их чисто программным решением не получится.
Если промежуточные положения не нужны - в EEPROM нужно записывать только текущее состояние (НЕ положение):

  • движемся вверх,
  • движемся вниз,
  • стоим на месте.
1 лайк

У меня покупная штора, она имеет возможность запомнить два любых положения, вверху и внизу, а так же одно промежуточное, они программируются с пульта пользователем, за 3 года эксплуатации ни разу не было проблем! Штору можно отключать от сети но при новом включении она снова останавливается в тех же точках как бы там ни было… Интересно, как она это делает?

чепуха какая то. что сложного высчитать количество шагов у шд до полного открытия шторы и работать с этим числом?ведь оно будем неизменно вне зависимости от износа, температуры,влажности и погоды на марсе. и без концевиков

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

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

эт не мне :wink:

как штора “узнает” после потери питания, в каком именно положении она сейчас и сколько шагов например до нижней точки?

Так какой у нас двигатель, коллекторный или шаговый?

А шторе это надо?
На мой взгляд, отключение питания в процессе движения - форсмажор, после которого штора имеет право “откалиброваться”, доехав до одного из концевиков.
В любом случае: запоминать текущее место останова или текущее состояние - это возможно, а запоминать каждый шаг - очень скоро можно износить весь EEPROM.

ну каждый шаг нет, но Вы хотите сказать что каждый раз когда я останавливаю штору в том или ином положении она пишет его в ЕЕПРОМ ? Иначе от чего отталкиваться если она пол дня простояла, и вдруг пропало питание, ещё через час оно появилось, я пришёл, хочу закрыть штору?

Нужен сигнал “авария питания”. и сохранение положения в ЕЕПРОМ.

1 лайк

мне кажется это слишком для простой шторы… отслеживать питание да ещё и писать что то в момент его пропадания…

Я хочу сказать, что останавливаете штору Вы кнопкой. Значит, имеет смысл сравнивать ресурс кнопки в нажатиях и EEPROM в циклах записи. Думаю, преимущество окажется у EEPROM - кнопка сломается раньше. А вот если Вы будете писать каждый шаг, то, скорее всего, EEPROM выйдет из строя раньше.

Да не нужно это.
Сколько времени работает двигатель шторы в сутки? наверняка не больше десятков секунд, от силы - минута. Это 0.07% всего времени. Даже если у вас отключают свет по 10 раз в сутки, все равно отключение придется на работу двигателя реже раза в год. Этот тот “форсмажор” о котором я писал выше.
Поэтому писать достаточно лишь тогда, когда штора достигла целевого положения. В принципе, здесь возможны варианты.
Но в любом случае говорить “а вот у меня покупной образец…” не совсем корректно. Разработчику, когда он делает устройство, которое предполагается продавать не дешевле $100 миллионными тиражами, нет собой разницы, уйдет на разработку $100000 или $1000000, а для изготовителя единичного экземпляра как одна, так и другая сумма лежат за пределами реальности.
Опять же, изготовить серийным способом абсолютный энкодер на 32-64 позиции можно совсем не дорого, а для любительской конструкции это может оказаться проблемой.

Да я так, мне просто интересно было, как она запоминает любое положение… Видимо и правда каждый раз останавливаясь пишет в память…