Авторизация
Регистрация

Напомнить пароль

Энкодер KY-040. Собираем реле времени для электросушилки.

Часть первая: Лирическая. Отвечает на вопрос «ЗАЧЕМ?»

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

Первым делом заказал я себе сушилку довольно внушительного, для непромышленного производства конечно, объема на 5 лотков с теном на полкиловатта. Сушилка пока едет, но, у нее, помимо таких достоинств как простота, регулируемая мощность и обилие хороших отзывов есть одно слабое место. Как и у большинства подобных аппаратов у нее нет таймера обратного отсчета или, по-народному, реле времени. А эта штука для сушилки ну весьма нужная. Посудите сами: при разных режимах сушки и разных продуктах время сушки может доходить до 2-х суток! Т.е. процесс сушки может закончиться в самое неожиданное время – ночью, например, или, когда мы на работе. Кто выключать будет?

Простой выход есть – купить реле времени в виде розетки с возможностью программирования времени коммутации. Но не все так просто. Я живу в небольшом городке и всяких Икей, Ашанов и прочих Мерлин Монро у нас нет в принципе, а есть только армяне, активно торгующие только самыми ходовыми товарами типа лампочки Ильича. Значит – заказ с Али или Ебея. Но урожай-то – вот он, а где Китай и наша быстрая почта? Вот то-то и оно…

Перелом стопы, штука конечно не очень. Гипс, очереди к врачу, ходишь как зомби из С.Т.А.Л.К.Е.Р.- а. А с другой стороны – не надо полтора месяца ходить на работу, ничего не болит, полные холодильники пива от любящей жены, ящик волжской воблы (посылка от мамы) и, опять же, чемпионат мира по футболу… В общем, плюсы свои есть, и, главное – времени свободного уйма. Да и загашники им. Плюшкина наполнились за столько лет шопинга в Китай-магазинах не слабо.
Вот, вроде все сложилось, чтобы самому попробовать сделать реле времени для сушилки и далее я расскажу о результате и покажу его.

Часть вторая: Практическая. Отвечает на вопрос «КАК?»

Для начала я определился с задачами. Реле должно обладать возможностью задавать независимо часы и минуты, отображать остаток времени в процессе работы, коммутировать ток, достаточный для сушилки, выдавать сигнал по окончании работы, быть по возможности, компактным, удобным и, разумеется, недорогим по бюджету.
Поскольку я часто в последнее время работаю с ардуино, то выбор платформы для меня был очевиден -Arduino Pro Mini в самом дешевом варианте на чипе Atmega 168, с рыночной стоимостью в районе $1.5. Мне-же эти ардуинки в свое время вообще обошлись в полцены, поскольку хитрый прод горсть заказанных 328-х обильно разбавил 168-ми и, пойманный за руку, не торгуясь, вернул половину суммы.



В качестве устройства отображения отлично подошел дисплейчик на TM1637 с высотой цифр 0.36”, найденный в запасах и продающийся сейчас на ебее центов по 80. Данный дисплей изначально заточен на отображение времени, поэтому для моей цели вписался прекрасно.



Для силовой коммутации я применил самое популярное одноканальное реле SDR-05VDC-SL-C, предлагаемое на ebee по полбакса за штуку. Но тут у меня сначала возникли сомнения – потянет ли? Хотя на нем и написано: 10A 250VAC, что-то я засомневался в способности этой малютки держать не то, что 2.5, а даже нужные мне полкиловатта. Пришлось обратиться к гуру электроники и наш уважаемый Ksiman развеял мои сомнения, поручившись за эту релюху.



В качестве устройства для подачи сигнала по истечении заданного времени я использовал пьезопищалку, кои ныне продаются дешевле бакса за пяток. Громкость сигнала у нее примерно, как у сигнала микроволновки, впрочем, думаю, там примерно такие и стоят.



В качестве питания для ардуины, как ни странно, подошел маленький и исключительно поганый БП 220VAC-5VDC, купленный еще во времена оные за компактность и валяющийся без дела по причине нежелания ардуино-девайсов работать с таким мерзким питанием. Однако, к моему удивлению, с моим текущим набором компонент эта гадость подружилась отлично.



Наконец я и подошел к самому интересному – устройству ввода. Как осуществлять ввод быстро, безошибочно, с максимальным комфортом, не городя при этом многокнопочных панелей? И вот тут своего звездного часа дождался наконец энкодер KY-040, о существовании которого я когда-то узнал тут-же на муське, тогда-же его заказал и у меня давно чесались руки познакомиться с этим девайсом поближе.




На фото один из двух энкодеров, полученных мной с алиэкспресса еще в конце зимы. Цену видно на скриншоте заказа, сейчас они стоят чуть дороже, но стоимость также измеряется в центах. Что такое энкодер, объяснять, думаю, не надо. Ежедневно каждый из нас пользуется колесиком мыши. Особенностью же данного энкодера является наличие встроенной кнопки, срабатывающей при нажатии на торец вала сверху вниз. Кнопка без фиксации. Поворот вала на один шаг сопровождается легким, но вполне ощутимым щелчком и таких шагов здесь всего 30 на один полный поворот вала.

Посмотрим на пины энкодера поближе. Кроме питания + и GND видим пины CLK, DT и SW. Пин DT, при вращении вала, выдает простую последовательность 0 и 1 и служит для подсчета количества шагов, на которое вал поворачивается. А вот пин CLK позволяет определить направление вращения, для чего его значение нужно сравнить со значением на пине DT. Ну а пин SW и есть та самая пресловутая кнопка.

И как же, спросите вы, можно одним энкодером реализовать весь функционал по управлению реле? Можно. Но для этого я программным способом расширю возможности кнопки – введу понятия «короткое нажатие» и «длинное нажатие». Поэтому пора собирать стенд и приступать к моей любимой части любого проекта – программированию.
В качестве мозга для стенда я предпочитаю arduino UNO за большое количество доступных без макеток пинов, как пап, так и мам, наличия напряжений 5V и 3.3V и высокую скорость загрузки скетчей. При этом сохраняется полная совместимость с arduino Pro Mini, поскольку UNO базируется на том же самом чипе Atmega 328.



Схему подключения рисовать смысла нет, поскольку все подключения пинов расписаны в головном блоке программы. Ну и не забываем энкодер, дисплей и БП подключить к VCC и GND ардуино, соблюдая полярность. Прежде чем перейти к скетчу, хочу обратить внимание на то, что в качестве счетчика времени будет использоваться внутренний таймер ардуины. Да, это не такой точный таймер, как, например, DS3231 и я провел эксперимент, в результате которого выявилась ошибка в 2 сек на каждый час. Т.е. за 10 часов накопится ошибка в 20 сек. Для моих целей это несущественно и поэтому ставить точный сторонний таймер было бы экономически нецелесообразно. К тому-же я уверен, что тем-же механическим таймерам и такая точность не по-плечу.
Скетч

// © Klop 2018
// Реле времени для часов/минут 
// погрешность ~ 2 секунды в час
#include <TM1637Display.h>
#include <TimerOne.h>
#include <Encod_er.h>

#define CLK 4         // пин 4 подключаем к CLK дисплея
#define DIO 3         // пин 3 подключаем к DIO дисплея  
#define pin_DT 9      // пин 9 подключаем к DT энкодера
#define pin_CLK 2     // пин 2 подключаем к CLK энкодера
#define pin_SW 12     // пин 12 подключаем к SW энкодера
#define pin_Relay 7   // пин 7 подключаем к реле
#define pin_Speaker 11// пин 11 подключаем к + пищалки ( - пищалки на землю)

#define NotPush 0
#define ShortPush 1
#define LongPush 2
#define DurationOfLongPush 2000 // длительность длинного нажатия
#define interval 250

Encod_er encoder(pin_CLK, pin_DT, pin_SW);

TM1637Display display(CLK, DIO);
byte cyfra[]={63,6,91,79,102,109,125,7,127,111};
byte data[] = {0,0,0,0};
byte mask=15, Hour=0, Minut=0, flsvet, zn, Signal=0;
unsigned long TimeOfPush, tempu, TimerSec=0, mycounter=0, temp1, temp2;
bool dvoet, myfl=false, ModeArbeiten=false, UkazHM=true, flEND=false;
int8_t VAL;
struct myMerz
 {word freq;
  unsigned long temp; 
  bool flsvet;
 };

myMerz trig[]={{500,0,false},  // интервал мерцания двоеточия при работе
               {200,0,false},  // интервал мерцания минут и часов при задании времени
               {1000,0,false}};// интервал прерывания сигнала при окончании работы

void setup() 
{ Timer1.initialize(interval); // инициализация таймера 1, период interval мкс
  Timer1.attachInterrupt(timerInterrupt, interval); // задаем обработчик прерываний
  display.setBrightness(1);
  pinMode (pin_DT,INPUT);
  pinMode (pin_CLK,INPUT);
  pinMode (pin_SW,INPUT);  
  pinMode (pin_Relay,OUTPUT);  
  digitalWrite(pin_Relay, HIGH);
  digitalWrite(pin_SW, HIGH); // подтягиваем к 5V
  TimeOfPush=0;
  delay(100);
  encoder.timeLeft= 0;
  encoder.timeRight= 0;
}
//------------------------------------------------------------
// обработчик прерывания 
void timerInterrupt() {
  encoder.scanState(); 
  if (ModeArbeiten)
     {tempu++;
      if (tempu==4000) {tempu=0; mycounter++;}
     }
}
//------------------------------------------------------------
void View()
{ //  byte h=Hour; byte m=Minut; //для любителей видеть неполные мин (править ниже Hour и Minut на h и m)
  //  if (ModeArbeiten && mycounter>0) {m++; if (m==60) {m=0; h++;}
       data[0]=cyfra[Hour/10];
       data[1]=cyfra[Hour%10];
       data[2]=cyfra[Minut/10];
       data[3]=cyfra[Minut%10];
       for (byte i=0;i<4;i++) if (!bitRead(mask,i)) data[3-i]=0;
       if (dvoet) data[1]= data[1]|0x80;
       display.setSegments(data);
}
//------------------------------------------------------------
bool procmerz(byte num)
{ unsigned long tempmillis=millis();        // триггер переключается с периодом из trig
   if (tempmillis-trig[num].temp>trig[num].freq) 
      { trig[num].temp=tempmillis;
        trig[num].flsvet=!trig[num].flsvet;
      }
  return(trig[num].flsvet);
}
//------------------------------------------------------------
byte mypush() // возвращает длинное-2, короткое-1 или осутствие нажатия-0 
{ unsigned long tpr=millis();
  byte res=NotPush;
  if (!digitalRead(pin_SW)) 
     { if (TimeOfPush==0) TimeOfPush=tpr; else
                                          if (tpr-TimeOfPush>DurationOfLongPush && !myfl)
                                             { TimeOfPush=0;
                                               myfl=true;
                                               return(LongPush);
                                             }
     } else
       { if (TimeOfPush>0 && !myfl) res=ShortPush;
         TimeOfPush=0;                                     
         myfl=false;
       }
  return(res); 
}
//------------------------------------------------------------
int8_t norm(int8_t aa,  byte dob, byte mf) // делаем аа в пределах mf, начиная от dob
{ 
   if (aa>mf) return(dob); 
   if (aa<dob) return(mf); 
   return(aa);    
}
//------------------------------------------------------------
 void Sec2HourMin()
 {
  Hour=(TimerSec-mycounter)/3600;
  Minut=(TimerSec-mycounter)%3600/60;
 }
//------------------------------------------------------------
void loop() 
{
  dvoet=true;
  zn=procmerz(1);
  mask=15;
  unsigned long tempx=millis();
  if (procmerz(2) && flEND && tempx-temp2<10000L) analogWrite(pin_Speaker,150); // издаем звук
     else analogWrite(pin_Speaker,0);

  byte rrr=mypush();
  if (rrr!=NotPush)  // произошло нажатие
  { flEND=false;
    if (rrr==ShortPush) UkazHM=!UkazHM; // короткое
    if (rrr==LongPush) {ModeArbeiten=!ModeArbeiten; // длинное 
                        if (ModeArbeiten) { mycounter=0; // запуск таймера
                                            TimerSec=Hour*3600L+Minut*60L;
                                            tempu=0;
                                            if (TimerSec==0) ModeArbeiten=false; 
                                               else digitalWrite(pin_Relay,LOW);
                                          } else 
                                            { digitalWrite(pin_Relay,HIGH);//отключаем реле принудительно
                                              Hour=0; 
                                              Minut=0;
                                            }
                       }
  }
 if (ModeArbeiten) // режим работы
 { dvoet=procmerz(0);
   if (TimerSec==mycounter) { ModeArbeiten=false; // отключаем реле по времени
                              digitalWrite(pin_Relay,HIGH);
                              temp2=tempx;
                              flEND=true;
                            }
   Sec2HourMin();   
 } else            // режим установки времени
   {if (UkazHM) { if (zn) mask=B0011;
                  Hour=norm(Hour+VAL,0,99);
                }
                  else {if (zn) mask=B1100;
                        Minut=norm(Minut+VAL,0,59);   
                       } 
    if (tempx-temp1<500) mask=15; // не моргать при вращении энкодера
   }

VAL=0;
if (encoder.timeRight!=0) // обрабатываем повороты энкодера
  { VAL=1;
    encoder.timeRight=0;
    goto m1;
  } else
if (encoder.timeLeft!=0)
  { VAL=-1;
    encoder.timeLeft=0;
   m1: temp1=tempx;
       flEND=false; // при любом повороте отключаем сигнал
       if (!digitalRead(pin_SW)) VAL=0; // если кнопка нажата, поворот игнорить
  }

  View();
}


В скетче используются 3 дополнительные библиотеки: Encod_er.h, TM1637Display.h, TimerOne.h
Основные моменты скетча я снабдил комментариями.

Поясню вкратце логику работы.

При подаче питания мы увидим на дисплее нули на месте часов и минут, причем часы быстро мигают. Это означает, что именно часы находятся в режиме редактирования и поворот вала энкодера приведет к изменению их значения. Короткое нажатие на энкодер переключит нас с часов на минуты. Коротким считается нажатие кнопки на время менее 2 сек и отрабатывается по отпусканию кнопки. Значения часов меняются с 0 до 99 по кругу, значения минут с 0 до 59 аналогично. Для комфортного выставления времени, во время вращения вала, изменяемое значение не мигает. В режиме редактирования времени двоеточие горит постоянно. Нажатие кнопки и ее удерживание более 2 сек считается длинным нажатием и автоматически наступает после 2 сек удерживания кнопки, отпускание может произойти когда угодно потом. Но пока не будет отпущена кнопка, следующего нажатия не произойдет. Итак, длинное нажатие стартует реле времени, если оно находилось в режиме редактирования времени или принудительно отключает его, если то находилось в режиме работы. Во втором случае оставшиеся часы и минуты обнуляются. В режиме работы на дисплее выводится оставшееся время, двоеточие мигает с периодом 1 сек. В этом режиме реле не реагирует на вращение вала и короткие нажатия. По истечении заданного времени реле отключается и на протяжении 10 сек выдается прерывистый сигнал об окончании работы. Если во время сигнализации повернуть вал энкодера или нажать на него, сигнал снимается. Если при нажатой кнопке повернуть вал, ничего не произойдет, поэтому случайно сбить время во время длинного нажатия не получится.

Все отлажено и проверено. Заливаем полученный скетч в arduino Pro Mini и паяем всю конструкцию.

Почему компоненты не на плате? Потому, что я решил все это дело разместить в распределительной коробке, оказавшейся у меня в загашнике. Тщательно все изолируем и помещаем в эту коробку. Все встало довольно плотно, для надежности я зафиксировал элементы термоклеем.

Для пьезопищалки просверлил отверстие и вклеил пищалку точно напротив него. На вал энкодера насадил маховичок из загашника. С одной стороны в коробку заходит провод с вилкой, с другой провод с розеткой. В итоге получился такой удлиннитель с реле времени посередине. Во время многочасовой работы нагрева не зафиксировано.


В конце обзора короткое видео работы реле:
Видео


В итоге, благодаря использованию энкодера KY-040 я получил довольно удобное управление для реле времени и заказал себе еще пару на будущее.
А реле этот урожай конечно отработает и перейдет на ПМЖ в гараж, где этому колхозу самое место ). Там у меня электрокоптильня с теном 700W, которая используется круглогодично. И тоже без реле времени.
Планирую купить +48 Добавить в избранное
+85 +154
свернутьразвернуть
Комментарии (190)
RSS
+
avatar
+1
Добрый день! НА картинке товара, энкодер крепится на резьбе, гайкой, а на вашей фото, без резьбы. Прошу уточнить с резьбой ли высылает продавец, а то уже есть грустный опыт покупок(
+
avatar
+1
  • klop
  • 17 июля 2018, 17:52
Ссылка на другого продавца, у моего уже дикая цена. Про резьбу не посмотрел, но на моих резьбы нет, а неплохо бы.
+
avatar
+13
ндааа, есть предложение сделать устройство для отстрела комаров из крупнокалиберного пулемёта с системой захвата-сопровождения цели. Будет нужен ещё радар ближнего радиуса действия, всю информацию об количестве-скоростях-векторах движения комаров выкладывать в облако для последующего анализа ситуации.
+
avatar
+16
  • pet80
  • 17 июля 2018, 18:20
сделать устройство для отстрела комаров из крупнокалиберного пулемёта
Каменный век, уже изрядно назад:
+
avatar
+4
Ну это вряд ли.
Многими учеными неоднократно доказывалось умение комаров прокалывать пространственно-временной континуум на дистанции не менее двух метров. Вот он был в районе лампочки… Бац! И он уже заходит в атаку на твою мягкую шкурку.
Вот во время мгновенного перемещения по проколу, комар не подвержен влиянию никаким средствам уничтожения извне.
А отстрел комара непосредственно вблизи объекта его атаки, т.е. твоей шкурки, чреват повреждениями шкурки. Что не есть good.
+
avatar
+1
Бывший разработчик СОИ из неликвидов сделал, в нем над вашей «шкуркой» разворачивалась лазером плоскость, на ней камера засекала комара и лазер, с ограничением по углу места уничтожал его. Причем, только самок, распознавая их по частоте махания крылышками. Так что даже «зеленые» э-э… нос не подточат. :)
+
avatar
0
радар ближнего радиуса действия
это большая проблема,
чем пока пользуются мутоцеклисты (Att, я — предупредил!;)
+
avatar
0
ps
информацию… выкладывать в облако
с желающих избавиться от комаров — брать денег;
с желающих пострелять по чужим комарам — брать денег;)
+
avatar
+1
  • axxel
  • 17 июля 2018, 17:50
Хорошая статья (как и само изделие), внёс в закладки.
Единственное, что я бы сделал иначе — перенёс бы ручку энкодера на одну поверхность с дисплеем. В нынешнем исполнении нажимать на кнопку кажется весьма неудобным.
+
avatar
0
  • Kruzo
  • 17 июля 2018, 18:36
Я бы вообще тут рядом с дисплеем поставил 5ти позиционную кнопку типа такой или такой. Вправо-влево по разрядам, вверх вниз менять значение. Ну еще нажатие и долгое нажатие.
+
avatar
+1
  • Kruzo
  • 17 июля 2018, 19:10
Или джойстик от PSP. Получается красивая передняя панель без набалдашника энкодера.
+
avatar
+2
  • wd40
  • 17 июля 2018, 19:22
У джойстика есть существенный минус — джойстик неудобен.
+
avatar
+5
всё это в принципе достаточно удобно, но у энкодера оказалось решающее преимущество — он был)
+
avatar
+1
За обзор-полноценный зачёт!
Внёс себе в закладки, на будущее..-свой выращенный табак сушить буду..(-разумеется, подогнав параметры под оный).Ну, и прочие «деликатесы» из сада-огорода.
+
avatar
+1
свой выращенный табак
ну вот, а то всё были сказки про газон;)

ps ещё кто-то помнит фильм?
+
avatar
0
… если это был сарказм, то поверьте-из разряда плоских:-(
Резюме:-попытка повсюду выглядеть остроумным превращает некоторых особей в заурядных «абырвалг»ов… ;-)
+
avatar
+2
  • SERG27
  • 17 июля 2018, 18:00
за руки плюс однозначно. но разве нет готовых недорогих таймеров, или обязательно ар ДУРИНКУ ставить? :)
+
avatar
0
Я с удовольствием бы купил таймер с аналогичным функционалом. Вот именно чтоб выставил часы, минуты и он через заданное время отключил…
+
avatar
0
  • rx3apf
  • 17 июля 2018, 23:26
«Не». Таймер с энкодером при правильной реализации интерфейса — удобен. С кнопками — неудобен. В принципе.
+
avatar
+1
смотря как им пользоваться. таймер с кнопками, как я понимаю, рассчитан на то что его раз настроил — и погнали. может быть как-то потом иногда что-то подкрутить придётся. таймер с энкодером — это какие-то постоянные измерения предполагаются. неясно нафига тогда таймер, если это получается фактически ручное управление.
+
avatar
+2
  • rx3apf
  • 18 июля 2018, 11:10
Совершенно верно. Настроил и забыл. А вот кухонный таймер (или типа того) кнопками страшно неудобно. Обсуждаемое применение — типа этого. Может, реже подстраивать, но оптимальный режим все равно придется подбирать или по ходу процесса добавлять-уменьшать время. Кнопками, со слепым LCD-индикатором — то еще удовольствие…
+
avatar
0
Совсем не то. Хочу просто таймер чтоб можно было настроить «выключить через 10 часов 20 минут» без прикидывания какой день и какое время будет через 10 часов 20 минут. Не обязательно с энкодером, но с ним, конечно, удобнее. И в корпусе с розеткой. Аналог такого:
но просто таймер на 99 часов, без дней недели и т.д. Механический на 24 часа не подходит- нужно более 24 часов и возможность выставить время с точностью до минуты.
+
avatar
+1
Пожалуйста:



Куплен в оффлайне за 300-500 рублей, точно не помню :)
Выставляется (в том числе) когда включить или когда выключить до 99 часов 59 минут с точностью до минуты :)
+
avatar
0
Можно выставить «выключить через 40 часов 10минут», нажать «старт» и всё?
Считать какое время и день будет через 40 часов 10 минут и вводить день и время ненадо?
+
avatar
0
«выключить через 40 часов 10минут», нажать «старт» и всё?
мне кажется это может саноф из коробки.
+
avatar
0
SONOFF, если я не ошибаюсь, очень любит Wi-Fi и смартфоны и без них не хочет ничего делать. Так что не очень подходит…
+
avatar
0
Да, можно. Я именно так им в основном и пользуюсь для отключения 3D-принтера после длительной печати.
+
avatar
0
Тогда это то что нужно, ещё бы ссылку где его можно заказать…
+
avatar
0
Ссылку не подскажу, покупал в Кастораме. Поищите с таким же набором кнопок :)
+
avatar
0
Нешёл похожий, скачал инструкцию, таймер есть, но там пишут что не больше 24-х часов. У вас больше?
+
avatar
0
  • aaan73
  • 22 июля 2018, 23:28
Жаловался народ на качество таких таймеров. Не знаю насколько по делу.
+
avatar
+5
  • CuMr
  • 17 июля 2018, 19:01
А прочитать? в деревне такое не продают, пока приедет из китая — урожай сгниет, комплектующие и самое главное, свободное время, наоборот — в наличии.
+
avatar
+2
  • SERG27
  • 17 июля 2018, 21:58
А прочитать?
а подумать? зачем 33 устройства + программер. когда есть готовые и дешевле?
в деревне такое не продают
а ардуринки у нас — в каждом сельмаге. :)
+
avatar
+5
  • CuMr
  • 18 июля 2018, 00:22
Вы специально оспариваете только один удобный вам аргумент?
+
avatar
+3
  • SERG27
  • 18 июля 2018, 06:01
Вы специально оспариваете только один удобный вам аргумент?
удобный МНЕ аргумент я НЕ ОСПАРИВАЮ. :)
+
avatar
0
  • CuMr
  • 18 июля 2018, 07:02
а все вместе — слабо? или оперативки не хватает?
+
avatar
+2
зачем 33 устройства + программер. когда есть готовые и дешевле?
Затем что 33 устройства и программер (плюс свободное время) в наличии у автора здесь и сейчас, а готовое и дешевое надо ждать месяц.
+
avatar
+2
Плюс — работающих как надо АВТОРУ.
+
avatar
0
  • SERG27
  • 18 июля 2018, 11:57
в наличии у автора здесь и сейчас,
ключевое слово- У АВТОРА. у остальных скорее всего нет. :)
+
avatar
+1
И при чем тут остальные? Автор показал что и из чего он сделал, остальные вольны поступать как им хочется :)
+
avatar
0
  • SERG27
  • 18 июля 2018, 14:23
И при чем тут остальные? Автор показал что и из чего он сделал, остальные вольны поступать как им хочется :)
ОтветитьСообщить
вот я и предложил остальным менее гиморные варианты. имхо
+
avatar
+1
Вы не предложили, а спросили :)
+
avatar
0
  • wd40
  • 17 июля 2018, 19:24
Зато здесь можно как угодно модифицировать функционал. Например, датчик температуры прикрутить, или еще что.
+
avatar
+7
  • wd40
  • 17 июля 2018, 23:17
Любое готовое решение ограничено как по возможностям, так и по конфигурации. Да и своё банально интересно делать. Расширять, дорабатывать. Впоследствии использовать свои же наработки.

Если нужно просто решить задачу — можно и готовое купить.

Оба подхода имеют право на существование.
+
avatar
0
  • SERG27
  • 18 июля 2018, 06:08
своё банально интересно делать
Оба подхода имеют право на существование
невозможно не согласится. :)
+
avatar
+1
+ (один символ — не комментарий. А вот ДВАААА)
+
avatar
+2
Заинтриговали сушилкой, но фото так и не поместили в обзор…
Термоклей поплывет, когда Вы выселите устройство в гараж.
+
avatar
+2
  • klop
  • 17 июля 2018, 18:39
Заинтриговали сушилкой, но фото так и не поместили в обзор
А ее еще и не получил. Но типа такого
А почему термоклей в гараже должен поплыть?
+
avatar
0
У меня был опыт — после 40-45 градусов медленно, но верно уплывает.
Отказался от термоклея в пользу УФ полимеров с Али + УФ фонарик
+
avatar
0
  • wd40
  • 17 июля 2018, 19:25
Киньте, пожалуйста, ссылку на полимеры для примера.
+
avatar
+4
www.aliexpress.com/af/nail-uv-gel.html
Берите любой прозрачный.
Для полимеризации использую Convoy S2+ black UV 365nm led flashlight. Немного дорого для этих целей, но за 10 секунд всё схватывается. Можно использовать и подручные источники УФ.
ЗЫ: Есть два типа гелей — top cover и build. Топ при полимеризации дает твердую поверхность. Билд получается мягче.
+
avatar
0
  • wd40
  • 17 июля 2018, 23:20
Т.е. банальный UV-лак для ногтей? Я думал какой специальный.

Ну, в принципе, прочности должно хватить. Не ясно только, как он отнесется к вибрациям и продолжительному использованию. Ногти-то вроде больше месяца «не ходят».
+
avatar
0
какой у УФ полимеров температурный диапазон?
+
avatar
0
А ее еще и не получил. Но типа такого
Это можно вообще не отключать. Еле сушит. Тоже боролся с яблоками с пощью такого устройства — удовы рыдания.
+
avatar
0
Адовы рыГания?
+
avatar
+1
Имеется в хозяйстве похожая. Не сказал бы что еле. По времени выходит около полных суток, для яблок под завязку (где-то с ведро нарезанных). Только поддоны приходится периодически переставлять из-за неравномерной просушки.
+
avatar
+1
(где-то с ведро нарезанных). Только поддоны приходится периодически переставлять из-за неравномерной просушки.
Ну вот… Будем считать 1 ведро = сутки сушки (хотя у меня в нее ведро не входит, максимум пол-ведра, антоновка, здоровенные яблоки)
У меня 4 яблони (а вообще их 6, но 2 ранние). Когда пипец сколько яблок — это как минимум 5-6 мешков с каждой, в мешке 4 ведра. Это значит я только с одной яблони яблоки сушить буду месяц :-) при этом переодически переставляя поддоны, как вы правильно заметили.
Не, этот ветерок не вариант ниразу. :-)
+
avatar
0
Будем считать 1 ведро = сутки сушки (хотя у меня в нее ведро не входит, максимум пол-ведра
Напомнило анекдот:
— Дорогая, что то мясо жестковато…
— Не знаю, я варила, как в в поваренной книге написано: возьмите один килограмм мяса и варите его один час. Я взяла полкило и варила полчаса…

Один черт — только на своем опыте станет понятно, сколько сушить.
+
avatar
0
  • denM
  • 17 июля 2018, 19:20
кх-м, а не проще на противенях на чердаке яблоки сушить или еще лучше рядом с русской печью…

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

небыло кстати мыслей сделать пастилу из яблок, коли их так много.

за стиль изложения — плюс!
+
avatar
+1
  • skif31
  • 17 июля 2018, 19:41
А вы пробовали русскую печь летом затопить? А зимой сушить вроде нечего. Только валенки.
+
avatar
0
  • trex
  • 17 июля 2018, 20:26
пастилу не делаю, но мармелад без проблем, из ведра высокопектиновых яблок -кило мармелада
+
avatar
+1
  • Arian
  • 17 июля 2018, 22:56
А рецепт?
+
avatar
+1
30 кг спелых яблок (10 л измельченных)
10-20 л воды
2-4 кг сахара
100 г сухих дрожжей
+
avatar
0
Это как-то мало похоже на рецепт мармелада.
+
avatar
+2
Это лучше, намного лучше :-)
+
avatar
0
Это совсем другое :) Мне, например, ничуть не лучше :)
+
avatar
0
  • Arian
  • 17 июля 2018, 22:58
кх-м, а не проще на противенях на чердаке яблоки сушить или еще лучше рядом с русской печью…
Вот, кстати, плюсану, всегда так в деревнях сушили. Зачем выдумывать костыли, которые к тому же жрут электричество, когда есть проверенный веками способ!
+
avatar
+2
  • uZver
  • 18 июля 2018, 09:44
Угу, потом это все обсиженное мухами и с червяками через два-три месяца.
+
avatar
0
обсиженное мухами и с червяками
За санитарией надо следить. :) У меня, почему-то, безо всяких мух и червяков получается…
+
avatar
+1
  • Arian
  • 18 июля 2018, 12:18
Купите тюль с обычным рисунком а-ля марля и накройте в 2-3 слоя, никаких мух и червяков не будет. Я даже сухари на квас так сушил, день на улице под хорошим солнцем и все готово.
+
avatar
0
день на улице под хорошим солнцем и все готово.
Тонкости ферментации: никакого солнца не должно быть.
+
avatar
0
  • Tolan
  • 20 июля 2018, 06:54
По правилам, сухари для кваса должны быть слегка-слегка подгоревшими… Солнце этого не даст, только духовка.
+
avatar
0
  • aaan73
  • 22 июля 2018, 23:39
Это в деревнях не сушили, а дурью маялись. Для сушки делалась специальная сушилка дровяная. На 20-40 вёдер яблок, груш, слив… Перебирать только замаешься, одна яблоня в урожай может дать с десяток мешков яблок, сливы старые по 14-16 вёдер на 10 литров дать могут.
+
avatar
0
если принять орг. меры) против случайного вращения ручки, можно доработать алгоритм так, что на кнопку нажимать (почти) не придётся

и, надо можно чаще пищать;)
+
avatar
0
  • skif31
  • 17 июля 2018, 19:40
Есть такая сушилка. если яблоки сушить — каждый час переворачивать надо. Иначе, пока верх подсохнет, внутренности забродят. Так что по таймеру с ней не получится.
+
avatar
+3
Я не дружу с Ардуино, я купил таймер https://aliexpress.com/item/item/Micro-USB-5/32836789976.html Стоимость:( была ) 211,13 руб
+
avatar
0
  • MaKo
  • 17 июля 2018, 23:28
Дисплей у него можно отключить?
+
avatar
+1
Отключается сам если последние 5 минут ничего не нажималось
without any operation within 5 minutes, then automatically turn off the monitor, any key wake-up;
+
avatar
+3
  • vismyk
  • 17 июля 2018, 20:42
У этих энкодеров есть одно гадское свойство — дребезг контактов. :( Хотя, если вам нужен аппаратный генератор случайных чисел, то это свойство становится архиполезным. ;) В других же случаях с ним нужно бороться. Программно можно ввести задержку между чтениями с энкодера, но тут нужно соблюдать баланс между чёткостью срабатывания и тормозливостью отклика. Аппаратно можно зашунтировать CLK и DT конденсаторами на землю, но нужно подбирать ёмкость и тут опять встаёт выбор между чёткостью срабатывания и ресурсом энкодера (при больших ёмкостях контакты начинают бодро обгорать). Делал себе реле времени в духовку практически из такого же набора запчастей, как у ТС (разница по мелочи: энкодер не на модуле, а «голый», динамик диаметром сантиметров 5 от старинного АТ-кузова и индикатор оттуда же), дребезг решил давить аппаратно кондёрами. На макете всё было прекрасно. После монтажа готового реле в духовку дребезг робко вернулся, зараза. А после почти 2 лет эксплуатации (довольно редкой) сейчас вообще хрен угадаешь в какую сторону и насколько изменятся показания при повороте ручки на 1 клик. :/ Интересно, как китайцы в девайсах с энкодерами борются с дребезгом?
+
avatar
+6
  • klop
  • 17 июля 2018, 20:58
У этих энкодеров есть одно гадское свойство — дребезг контактов
Есть, и я с этим сначала помучился. Но, если соберете схему и загрузите мой скетч, то убедитесь, что дребезг тут отсутствует вообще как класс. Я могу крутить вал энкодера с любой скоростью и он ни разу не ошибется, хотя я и не ставил шунтирующие кондеры на DT и CLK. Очень интересна реализация подавления дребезга в библиотеке Encod_er.h, почему я ее и использовал.
+
avatar
+5
ничего интересного там нет. стандартная практика для медленных MCU завести счтивание состояний энкодера на таймер

откуда я все это знаю? я сам переписывал свою билиотеку под энкодер аж три раза — elchupanibrei.livejournal.com/29025.html

но получилось очень хорошо. имхо одна из лучших на github под arduino. поддерживает все популярные камни: Arduino AVR, Arduino ESP8266, Arduino STM32
+
avatar
0
  • vismyk
  • 18 июля 2018, 06:01
Пару-тройку готовых библиотек пробовал на этапе макетирования. Не помню почему, но в итоге от них отказался (возможно, памяти не хватало, у меня тоже была Pro-Mini на 168 атмеге (падлы даже 168V подсунули)). Использовал в итоге вот этот код и, как уже упоминал, поначалу с ним всё было хорошо… ;)
+
avatar
+2
это потому что со временем любой энкодер разбалтывается и дребезга становится больше. попоробуйте мою билиотеку доложно помочь.
+
avatar
0
  • vismyk
  • 18 июля 2018, 19:08
Спасибо, взял на заметку, библиотеку скачал. Если соберусь духовке ТО делать, то попробую (тем более, я и так TimerOne использую, по памяти не должно большого пенальти получиться).
+
avatar
0
  • vlo
  • 01 октября 2018, 16:09
с любой скоростью — пропускает. причем в зависимости от направления при разной скорости.
+
avatar
0
  • klop
  • 03 октября 2018, 13:03
В эксплуатации уже третий месяц. Используется постоянно. Никаких проблем. Такой же энкодер с той-же библиотекой был поставлен на управление игрушкой. А там отсутствие ошибок архиважно. Тоже проблем нет.
+
avatar
0
  • vlo
  • 03 октября 2018, 13:41
три экземпляра енкодеров (слегка отличных, зелено-синие и с резьбой, но, никакой маркировки не видно ), все одинаково — несложно крутануть пальцами с такой скоростью, что вообще не отреагирует ни разу. если крутить небыстро — да, нормально работает. срыв начинается слегка ниже 10 попугаев между позициями.
ошибок нет, есть пропуски.
возможно дело в конструкции енкодеров, конечно.
+
avatar
0
  • klop
  • 03 октября 2018, 14:04
А Вы пользовались той-же библиотекой, что и я? Потому, что при считывании состояния напрямую в Loop цикле, описанная Вами проблема обязательно будет.
+
avatar
0
  • vlo
  • 03 октября 2018, 17:27
и более того, 1в1 весь исходник, ибо задача была проверить туже самую комплектуху (енкодеры+индикаторы) на работоспособность прежде чем радовать китайцев подтверждением.
+
avatar
0
  • klop
  • 04 октября 2018, 08:14
Ну тогда мыслей нет, кроме как разные железки. Максимально быстрое вращение можете посмотреть у меня в видео в вышеприведенной статье. Там я кручу так быстро, как только могу. И никаких проблем, как видно. Жаль, что и тут, видимо, лотерея.
Может кондеры на экодер повесить, как тут советовали?
+
avatar
0
  • vlo
  • 04 октября 2018, 14:29
выглядит он вот так:


сигнал при вращении по часовой:


сигнал при вращении против часовой:


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

возможно емкость тут и поможет. по идее это не дребезг после переключения, а нестабильный контакт при высокой скорости скольжения (возможно еще и отклонения вала добавляют).
+
avatar
-2
  • rx3apf
  • 17 июля 2018, 23:23
Это проблема не энкодеров, а ошибка в ДНК ;) Правильная реализация обработки начисто лишена проблем дребезга, и никаких шаманств с емкостями и прочей фильтрацией не требует.
+
avatar
+2
правильную реализацию в студию?

моя на пост выше, но без конденсаторов не обошлось — быстрые камни Cortex аля ESPЗ8266 и STM32 успавали ловить кучу дребезга.
+
avatar
0
правильную реализацию в студию?
Алгоритм для кнопок :)
Для каждой кнопки есть ее состояние и счетчик опросов. Состояния могут быть: «свободна», «проверка нажатия», «нажата», «долго нажата», «отпущена», «отпущена после долгого нажатия», «обработана». Изначальное состояние кнопок — «свободна».
Опрашиваете состояние в прерывании таймера, например, 100 раз в секунду. Если нажатие появляется когда у кнопки состояние «свободна» или «отпущена» или «отпущена после долгого нажатия», то переводите состояние кнопки в «проверка нажатия» начинаете выжидать, например, 5 опросов. Если за эти 5 опросов нажатие пропало, переводите состояние кнопки обратно в «свободна» и сбрасываете счетчик. Если все 5 опросов нажатие сохраняется — переводите состояние в «нажата» и начинаете выжидать, например, 100 опросов. Если в течении этих 100 опросов нажатие сохраняется и состояние не изменилось на «обработана» (см. ниже), то переводите состояние в «долго нажата». Если нажатие пропало когда состояние было «нажата», переводите в состояние «отпущена», если пропало когда состояние было «долго нажата», переводите состояние в «отпущена после долгого нажатия», если пропало когда состояние было «обработана» переводите состояние в «свободна».
В основном цикле программы просто проверяете состояние кнопок и если оно равно «нажата», «отпущена», «долго нажата» или «отпущена после долгого нажатия», то выполняете соответствующие действие (или ничего не выполняете) и ставите кнопке состояние «обработана».
Алгоритм проверен годами и не в одном девайсе с самыми разными видами кнопок. Аналогично можно и с энкодером, только еще добавить счетчик нажатий. Хотя в STM32 есть аппаратный интерфейс энкодера со своими фильтрами и он превосходно работает… с дополнительными небольшими конденсаторами :)
+
avatar
0
правильную реализацию в студию?
www.youtube.com/watch?v=4KXKQCDh4X4
+
avatar
0
  • rx3apf
  • 18 июля 2018, 11:03
Каюсь, упустил тот факт, что речь не о квадратурном энкодере (обычно «воюют» с ними, потому что именно они наиболее распространенные), правильное решение для которых общеизвестно (но тем не менее на эти грабли наступают с завидной регулярностью). Но и в данном случае реализовать подавление дребезга по опросу не вижу ни малейших проблем — простейшая цифровая фильтрация.
+
avatar
0
  • vismyk
  • 18 июля 2018, 06:05
Да, да, многостраничные ветки на форумах на эту тему как бы намекают, у кого именно эта ошибка. ;)
+
avatar
+2
  • CuMr
  • 18 июля 2018, 07:04
ну очевидно ведь — у днк-ардуищиггов.
ведь достаточно всего-то немного подумать…
или погуглить.
+
avatar
0
  • vismyk
  • 18 июля 2018, 08:12
Странно, что в топе выдачи Гугла не та самая единственно «Правильная реализация обработки», которая «начисто лишена проблем дребезга, и никаких шаманств с емкостями и прочей фильтрацией не требует», а ссылки на длинные ветки форумов, где поиск истины идёт годами… ;)
+
avatar
+1
И в чем там такая загвоздка, что годами не могут найти решение?
Ну и форумы, наверное, по ардуине? Типа "- У меня этот скетч работает неправильно, помогите! — Попробуй вон тот скетч или вот этот." :)
Что-то я на более профессиональных форумах (тот же электроникс, к примеру) не видел многолетних поисков алгоритма обработки энкодера :)
Сам я написал обработку энкодера на STM32 часа за два, проблем не было :)
+
avatar
0
  • rx3apf
  • 18 июля 2018, 11:05
Там этот вопрос (опять же применительно к квадратурному энкодеру) тоже задавался — и там же можно найти ответ. Все равно находятся любители граблей — то у них энкодер не работает, то HD44780 не могут проинициализировать и донимают окружающих вопросами «почему»…
+
avatar
0
Что такой вопрос там поднимался — я не сомневаюсь, и скорее всего неоднократно. Я только сомневаюсь, что там годами искали решение :)
+
avatar
0
  • vismyk
  • 18 июля 2018, 19:20
Ну да, как то так: «Я победил дребезг, делай как я», потом несколько благодарностей, а потом «А с моим энкодером/ардуиной не работает и я придумал способ ещё лучше» и цикл продолжается в том же духе. ;)
+
avatar
+3
с моим энкодером/ардуиной не работает
В том-то и беда этих ардуинщиков :) Они в большинстве своем не оперируют алгоритмами, а только готовыми скетчами :)
+
avatar
+1
как по мне теряется вся забава. тут же основное подумать и придумать, пофиг что велосипед.
у меня на работе иногда программисты таскают что-то кусками готовыми, а потом при неожиданных результатах или просто вопросах по коду начинается «я оттуда взял, не разбирался, работает же»… приходится отучать по возможности.
+
avatar
0
как по мне теряется вся забава. тут же основное подумать и придумать, пофиг что велосипед.
Согласен. Плюс к этому ты еще во всех подробностях знаешь как и что в твоем коде работает :)
+
avatar
+1
У меня в начале 90-х, когда ардуины и в помине не было, 51-й контроллер программно обрабатывал дребезг.
Без проблем.
Наверное, потому что тогда не только ардуины, тогда и интернета не было…
И приходилось самому думать и самому писать.
+
avatar
0
  • vismyk
  • 18 июля 2018, 19:22
До 90-х, когда и 51 не было, в советских игровых автоматах дребезг использовался как аппаратный ДСЧ. ;)
+
avatar
-3
  • u3712
  • 17 июля 2018, 20:50
осуществлять ввод быстро, безошибочно, с максимальным комфортом, не городя при этом многокнопочных панелей?
И вы думаете, что сделали компфортный UI? Имея энкодер, вы _переключаете_ ввод времени. Это настолько плоско, что сразу возникает вопрос — зачем вы тратили свое время на посредственное устройство.
На али продается таймер с энкодером. Так, даже на китайщине нет никаких переключателей минуты-часы.
+
avatar
+1
  • klop
  • 17 июля 2018, 21:04
даже на китайщине нет никаких переключателей минуты-часы
В смысле, крутить нужно только минуты, а часы увеличиваются, только когда количество минут превысит 59? Тогда, чтобы выставить 99 часов, придется крутить энкодер часа 2… Или я я вас неверно понял?
+
avatar
+1
  • kirich
  • 17 июля 2018, 21:28
Тогда, чтобы выставить 99 часов, придется крутить энкодер часа 2…
Зачем далеко ходить, у меня в газовой плите часы так сделаны, один нажимной энкодер. Установка времени только вращением, дискрета зависит от скорости вращения, медленно — 1 минута на щелчок, быстро — 10 минут на щелчок (примерно, может даже больше), устанавливается очень удобно.
Все уже придумано :)
+
avatar
+3
  • klop
  • 17 июля 2018, 21:36
Я сначала сделал, что в зависимости от скорости вращения вала, изменялась и скорость изменения значения, поскольку библиотека Encod_er.h возвращает время между двумя шагами энкодера. Но раздельное управление часами и минутами настолько удобно и без этого, что я лишний функционал убрал за ненадобностью.
+
avatar
0
  • kirich
  • 17 июля 2018, 21:36
Но раздельное управление часами и минутами настолько удобно
Как посмотреть, дело привычки.
+
avatar
+2
  • klop
  • 17 июля 2018, 21:54
Как посмотреть, дело привычки
Это да. Но не сравнивайте времена для духовки — а это обычно накрутить час-два и для сушилки, где и 24 часа не предел — минуты крутить даже десятками, как у Вас, устанешь.
+
avatar
-1
  • kirich
  • 17 июля 2018, 21:58
А зачем крутить 24 часа если можно 12 :)
+
avatar
0
  • klop
  • 17 июля 2018, 22:04
А зачем крутить 24 часа если можно 12
Не понял, честно.
+
avatar
+1
  • kirich
  • 17 июля 2018, 22:40
Не понял, честно.
Базовое положение 00.00, при этом к примеру 22.00 можно выставить вращением вправо и перебрать 22 часа, а можно влево и тогда переключаем 2 часа, итого максимум 12 часов.

Вообще прогрессивная регулировка очень удобная вещь, просто надо правильно ее настроить и тогда все отлично регулируется.
Кстати интересная вещь, у той же плиты где стоят эти часы (а не только таймер), нет 00.00, вместо этого они показывают 24.00 :)
+
avatar
-1
  • u3712
  • 17 июля 2018, 22:03
Зачем крутить долго? Абсурд.
С одного энкодера, без переключения, вполне можно настраивать от, положим, 30 секунд до пары недель, если сие нужно. Поупражняйте мозг, это интересно.
Если «никак», то в PM.
+
avatar
0
  • pet80
  • 17 июля 2018, 23:06
Поупражняйте мозг, это интересно.
Возможно конечно, если идет на пользу. Можно тренироваться, а можно сделать.
Но, имхо, в данном случае имеем «дорога ложка к обеду».
+
avatar
0
  • u3712
  • 17 июля 2018, 21:38
Так, уберите =раздельное= управление.
+
avatar
+5
  • Samman
  • 18 июля 2018, 10:59
Каждый может сделать UI под себя. Я бы, может, сделал сначала ввод точности, скажем полчаса-10-1 минута, а потом набор времени.Или навсегда забил шаг в 10 минут, если меня это устраивало бы.
Автору нравится так, с отдельными часам и минутами. Так зачем ему переделывать работающее у НЕГО так, чтобы это нравилось ВАМ?
Если ЕМУ надоест ЕГО реализация, он её переделает. Если, конечно, захочет. :)
+
avatar
-6
  • u3712
  • 18 июля 2018, 11:12
+
avatar
+1
  • Samman
  • 18 июля 2018, 12:05
Мне — вообще фиолетово
Тогда зачем попытался 'достучаться' до автора?

такие, как вы, Samman, могут только мешать
Ага, «Есть только 2 мнения, неправильное и моё.» :D
+
avatar
+3
Автор не способен к творческому мышлению
То есть не способен творчески осмыслить ваши рутинные пожелания?
+
avatar
+1
А нераздельное управление никто еще не делал и автору уже нельзя будет сказать, что он повторяет сделанное? :)))
+
avatar
0
Современая не бюджетная духовка прекрасно работает как сушилка, хошь ручками параметры каждый раз выставляй, хошь запомни как программу. И заметно качественнее результат.
+
avatar
0
  • Samman
  • 18 июля 2018, 10:39
Уже было замечено что в духовках таймеры обычно не расчитаны на сутки с лишним.
+
avatar
0
У меня в электролюксе 24 часа таймер. Не понимаю зачем больше, сушка меньше суток занимает.
+
avatar
+2
  • Samman
  • 18 июля 2018, 12:20
У меня в электролюксе 24 часа таймер. Не понимаю зачем больше,
Не все любители сушить яблоки готовы купить для этого электролюкс как у вас, некоторые покупают что-то другое, что сушит более 2-х суток.
Не у всех любителей сушить яблоки, яблони рядом духовками, в которых 24-часовые таймеры.
Как-то так…
+
avatar
+2
Вобще то сушить в духовке можно лишь малые количества, рядом с яблонями есть баня в которой всё прекрасно сохнет и объёмы совсем другие. И никаких таймеров не надо.:)
+
avatar
0
Осталось понять: а на регулировку/поддержание температуры сушилки — будет отдельная ардуина в отдельной «распредкоробке»? :)
+
avatar
0
+
avatar
0
Можно еще вместо таймера поставить весы…
Как только вес загруженного продукта уменьшился до определенного значения — сушилка выключается…
+
avatar
0
Я бы мерял влажность на выходе воздуха из сушилки… :)
+
avatar
0
аналогично, но % изменения веса — почти прямой целевой показатель («измеритель влажности древесины» не совсем подойдёт;)
+
avatar
0
Постоянный контроль за весом — не так прост, как кажется. По крайней мере — обычные датчики от китайских весов под это дело не подойдут: им требуется периодическая калибровка с выходом на ноль. Ну и попробовать готовый продукт при такой схеме — это значит внести в систему ошибку…
+
avatar
0
Добавить кнопочку «проба» :)
+
avatar
0
Вспоминаю молодость времен СССР, когда одна девушка из нашей компании занималась пуско-наладкой автоматизированной линии по переработке мяса. По ее словам, основная проблема была в том, чтобы обучить операторов вовремя вносить в систему коррекцию по массе…
+
avatar
0
Не получится, там заметное отклонение влажности будет только в самом начале, если яблоки резанные. А если целые, то и в начале не будет :)
+
avatar
0
возможно, по-настоящему готовый продукт начинает работать как силикагель, предоставляя нам своеобразное ∆V?)
+
avatar
+1
Нет, просто соотношение объема продуваемого через сушилку воздуха к объему испаряющейся из фруктов влаги слишком велико. И никакими китайскими датчиками эту добавочную влажность в воздухе не уловить нормально :) А некитайский датчик с гарантированной точностью меньше 1 процента будет стоить не по детски, я думаю :)
Продукт никогда не будет работать как осушитель потому что его влажность никогда не упадет ниже влажности продуваемого через сушилку воздуха :)
+
avatar
0
на исходном горячем воздухе вообще не удастся определить влажность «обычными» датчиками (20%+)
+
avatar
0
Они что, не работают при +60? :)
+
avatar
0
Два датчика надо на входе и на выходе воздуха, разность их показаний и есть желаемое. Но более менее точные датчики уже денег стоят, массовые датчики для ардуин, лучшее из которого DHT22 имеет точность плюс-минус лапоть, про остальное типа DHT11 и говорить нечего
+
avatar
0
ds18b20 стоит копейки
+
avatar
+1
А когда его научили измерять влажность? :)
+
avatar
0
Никогда, я про температуру :-)
+
avatar
+1
А, понял :) Тогда лучше фотодиод :)
+
avatar
0
Ступил я :-)
+
avatar
0
Да я так и подумал, и продолжил в том же духе :)))
+
avatar
0
Точность китайского ds18b20 соответствует цене.
+
avatar
0
Но уж по любому выше, чем у китайского же DHT11 :)
+
avatar
0
Те же яйца, только в профиль. Поскольку они легко параллелятся, собрал как-то 16 штук в кучку и думал что показания будут одинаковы. Но это предположение оказалось иллюзией. Хз что там за кристаллы китайцы пихают, но точность весьма условная.
+
avatar
0
Что, разброс был плюс-минус 10 градусов? :)
+
avatar
0
Около 3 градусов от реальной температуры у некоторых экземпляров
+
avatar
0
Ну дак… Если бы датчики влажности меряли с разбросом в 3% от реальной, это было бы отлично :)
+
avatar
0
Дык любой каприз за ваши деньги :)
+
avatar
0
Дайте два, плачу 10 баксов :))))
+
avatar
0
добавь нолик и купишь один точный датчик :)
+
avatar
0
Два датчика надо на входе и на выходе воздуха, разность их показаний и есть желаемое
Эт понятно, но как правильно Вы и заметили — "лучшее из которого DHT22 имеет точность плюс-минус лапоть". Так что разность в показаниях 2% для этих датчиков вообще ничего не значит. Они рядом друг с другом могут показывать разницу в 10%. А ловить нужно единицы и десятые доли процентов.
более менее точные датчики уже денег стоят
Именно это я и написал в предыдущем комментарии.
+
avatar
0
  • Tolan
  • 20 июля 2018, 06:58
Ну я отстал от жизни… Яблоки уже сушат целыми??
+
avatar
0
Понятия не имею, никогда не сушил.
+
avatar
+1
  • klop
  • 18 июля 2018, 13:21
Кстати, не проблема все вставить и в эту ардуинку. Мощностью управлять можно импульсами, регулируя скважность (типа минута работает, минута нет). Термодатчик вставить в сушилку. А вот чтобы не тянуть провод от термодатчика, либо радиоинтерфейс (понадобится ардуинка в сушилке) либо использовать сам силовой провод из реле в сушилку (снимать замеры, когда питание не подается типа — питания нет — провод скоммутирован на термопару, питание пошло — провод коммутируется на тэн), но тут без спеца-электроника не обойтись. Но если есть возможность, лучше смонировать все внутри сушилки. Тогда никаких проблем вообще. А так в текущей версии исполняемый код занимает меньше 25% памяти и то в 168 версии, что хошь можно вставить.
+
avatar
0
А вот чтобы не тянуть провод от термодатчика
Один провод — силовой — уже протянут, так что не вижу никаких проблем прикрепить к нему еще пару тонких проводов.
А если руки растут из нужного места, так и вообще приделать всю ардуину непосредственно к сушилке.
+
avatar
0
На STM32 энкодер обрабатывается аппаратно.
На AVR давно делал, использовал исходник Chan'a
+
avatar
0
две вещи автору стоит добавить в текущий алгоритм, именно под этот юзкейс:
предыдущее время выдержки, и как его использовать — никак), брать предопределённое в скетче, или брать за основу

а вот сохранять прошлое значение в nvram я бы не стал — не потому, что жалко флеш (не жалко!), а из-за того, что «питание просто так не пропадает»
+
avatar
0
Интересная реалиация, но мне кажется удобнее бы было использовать обычную esp8266 с визуализацией в remotexy, тогда ни экран, ни крутилка не нужна, да и можно экстренный стоп/точную длительность выставлять и видеть со смартфона, а если подключить к esp датчик температуры, то и температуру внутри
+
avatar
+3
тогда ни экран, ни крутилка не нужна
Зато смартфон нужен. Ох уж эта мода пихать вайфай с блютусом в каждый утюг…
+
avatar
0
Зато технологично. Сушилка с wifi! :)
+
avatar
+1
Это как раз нетехнологично и неудобно, зато модно :)
+
avatar
0
Интересная штука, этот Remotexy. Радует то, что безо всяких клаудов может работать — т.е. напрямую по IP
+
avatar
0
Может кто встречал готовый таймер для встраивания в сушилку. Идея такая, когда выключаешь сушилку нужно чтобы вентилятор работал секунд 20, для охлаждения тена, потом всё само обестоивается.
+
avatar
0
Последнюю минуту надо сделать обратный отсчет оставшихся секунд ;)
+
avatar
0
  • klop
  • 19 июля 2018, 11:16
Была такая мысль, но с другой стороны можно легко ошибиться, если мельком взглянул на оставшееся время и принял секунды за минуты. Да и просто в таком случае постоянно придется взглядом задерживаться дольше секунды, чтобы понять, что сейчас на дисплее — минуты или секунды. Да и секунды для данной задачи ничего не значат.
+
avatar
0
  • Tolan
  • 20 июля 2018, 10:01
Сушка яблок — весьма энергозатратное дело. В небольших количествах имеет смысл сушить дома в приоткрытой газовой духовке, на маленьком пламени — особенно если нет счетчика газа. Если количества большие, как у ТС, тогда в бане, на сетчатых поддонах. С электрической сушилкой можно вылететь в трубу по деньгам…
+
avatar
0
  • AndyD
  • 22 июля 2018, 11:26
Ребят, не подскажите, есть ли какой-то простенький таймер на 220в, который включает таймер после того, как питание пропадает?
У меня задача включать таймер на вентиляторе в туалете, после выключения в нём света.
+
avatar
0
  • klop
  • 22 июля 2018, 15:41
Купите ардуино, реле (все как в обзоре), а скетч я Вам напишу. Руки откуда надо растут?
+
avatar
0
Есть вентиляторы в ванную с такой функцией задержки включения/выключения
+
avatar
0
  • AndyD
  • 24 июля 2018, 01:05
Такой и стоит, но они все включаются сразу, если цеплять параллельно свету. А я хочу, чтобы он включался по таймеру, когда выходишь из туалета. Чтобы не шумел, когда в нём сидишь.
+
avatar
0
Автору респект и просьба. Может будет время переписать код и поменять дисплей на 1602 с шиной I2C.
+
avatar
0
  • alexz31
  • 22 марта 2020, 16:23
Автор спасибо за обзор, очень познавательно. На мой взгляд не совсем удобно что минуты и секунды при обратном отсчёте не меняются на дисплее в это время и глядя на него не знаешь когда он отключится.
Вот таймер на мой взгляд удобный, управление (установка времени) не кнопками и не энкодером.
https://aliexpress.ru/item/item/32837313833.html
Там стоит переменный резистор на 500 ком.
Также дисплей показывает установленное время переменным резистором. При работе таймера бегут секунды и минуты, меняется соответственно обратному отсчёту.
Резистор с платы можно выпаять и установить вместо него удобный большой потенциометр на корпус в котором будет таймер, также и дисплей перенести на корпус.
+
avatar
0
  • klop
  • 29 декабря 2020, 19:02
Автор спасибо за обзор, очень познавательно. На мой взгляд не совсем удобно что минуты и секунды при обратном отсчёте не меняются на дисплее в это время и глядя на него не знаешь когда он отключится.
С чего Вы это взяли? Часы и минуты меняются при обратном отсчете. Секунд нет, для решения поставленных задач они не нужны.
+
avatar
0
  • Yri999
  • 14 сентября 2021, 06:36
Не устанавливается библиотека TM1637Display.h. Скачал. Добавить библиотеку. Arduino_Taimer:6:10: fatal error: TM1637Display.h: No such file or directory. Есть какой нибудь совет- что не так.
+
avatar
0
  • Yri999
  • 26 октября 2021, 15:01
Довел до ума. Подкорректировал под себя. Время сигнала сделал 40 сек( пока использую как таймер- напоминалку, или засну). Реле поставил без обвязки- места под готовый модуль не хватило, потом диод и транзисторы на реле и бузер. Припаял на + сообразил, в готовом модуле включает низкий уровень. Пришлось в скетче менять уровни наоборот. Удобней получилось пины наоборот припаять 7 и 11. Когда запищало непрерывно дошло посмотреть где есть ШИМ. Вернул назад. Хотя мне непрерывно лучше будит ( от слова будильник). Разьемы только заказал- провода от реле торчат. Можно делать на включение, а можно на отключение. Купить готовое- даром не надо. Кнопки, дисплей-бр. Ну и говорили, надо больше 1.5 часов- нет, тычут ссылки на Али. На 1602 схемы были, а мне так хорошо. Автору респект.
+
avatar
0
  • kukar
  • 18 января 2024, 16:42
Пропала библиотека Encod_er.h, может у кого осталось. Поделитесь пожалуйста.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.