Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани)

Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани)

Сообщение Stariywolk » 01 апр 2013, 19:38

Привет, уважаемые Коллеги!
Решил я долбануть нашей кувалдой по детищу китайской электронной промышленности :-):
Хочется решить одну проблемку, но мозга нехватает.
Идея проекта такая:
Сейчас довольно популярны китайские пырскалки для запаха.
Изображение
Максимальный интервал у них - 36 минут. Поставил такую в туалет - жена чуть из дома не выгнала так как туалет несмотря на вытяжку превратился в газовую камеру. Увеличить время срабатывания не получится, так как китаёзы воткнули внутрь контроллер-кляксу и пару-тройку SMD.
Вот если бы получилось научить Attiny13 выдавать секундный импульс раз в 1-2-3 часа - было бы самое то. И запах прыятный, и балончика хватало бы до Нового Года. А то сейчас получается как в анекдоте: "Кто раньше встал, тому и свежий воздух в туалете"
В принципе Тинька должна на 1-2 секунды "коротить" через полевик моторчик на "массу". Питание - 3 вольта (две батарейки АА). Ну и чё-нибудь подмигивать должно раз в 5-10 секунд с намёком на то, что "воно" - работает. Если бы удалось еще и фоторезистор привинтить чтобы ночью не работал, но при посещении в темное время суток после выключения света разочек пырснул - вааще мечта!

Может получиться нужный проект, так как народ интересуется такой переделкой. Есть один интересный проект на PIC, но он для туалета/ванной без окон. Таких большинство, а у меня - окошки. Да и алгоритм там немного того... заумный.

Может попробуем поколдовать над прошивкой? А "железо" проверю я и платку сделаю по размеру для замены.
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Сообщение slav0n » 01 апр 2013, 20:03

Вот для начала файлик схемы в сплане. Кромсай как хошь, в зависимости от начинки сабжа.
Вложения
timer_tiny13.rar
(2.45 Кб) Скачиваний: 44
clos.GIF
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 02 апр 2013, 10:48

Stariywolk писал(а):Питание - 3 вольта (две батарейки АА).

Тут такое дело. Тинька в рабочем режиме потребляет около 3 мА. Надолго ли хватит батареек?
Думаю можно сделать алгоритм на сторожевом таймере, ток потребления 60 мкА. Но тогда не будет мгновенного срабатывания на включение света.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 02 апр 2013, 17:43

slav0n писал(а):Но тогда не будет мгновенного срабатывания на включение света.

Так в этом и вся прелесть!!! Если после того, как включался свет хоть через пол-часа пшикнет - нормально. :co_ol:
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Сообщение slav0n » 02 апр 2013, 18:30

были проделаны некоторые эксперименты.
В целях максимальной минимизации энергопотребления схему делаем примерно такую.
Что будем применять в качестве датчика освещения?
Вложения
cxema.GIF
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 02 апр 2013, 19:58

slav0n писал(а):Что будем применять в качестве датчика освещения?

Проблемка... В разных местах живем...
Я тут нашел фоторезисторы - в темноте 1 Мгом, на свету - 10 Ком. Обозначаются как "GL5528".
В немецинском eBay их як гною. И стоят недорого. Компактные, 5мм в диаметре.
Если в +3 вольта поставить резистор ком на 100, а фоторезистор на массу - сможет Тинька прочитать и среагировать?
Померял ток этой китайской зверуги - 24 микроампера :-( В принципе 60 тоже приемлемо.
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 02 апр 2013, 21:03

Stariywolk писал(а):Я тут нашел фоторезисторы - в темноте 1 Мгом, на свету - 10 Ком. Обозначаются как "GL5528".

Да нормально. Прицепить к АЦП - думаю будет работать. Пробовать надо.
Тут вот другая засада. Идея со сверхмалым потреблением может не пройти.
Ресурс записи-чтения ЕЕПРОМ тиньки по даташиту составляет 100.000 циклов.
Если писать-читать ячейку каждые 4-5 сек. то ресурса хватит часов на 150. Маловато.
А может ресурс всё-таки в реальности больше? Есть где-нибудь такая инфа?
Жаль, идея была хорошая. Ток потребления в паузе был всего несколько микроампер.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 02 апр 2013, 21:45

Я нашел один проект, но он несовсем подходит так как у меня туалет и ванная с окошками.
Вот это: http://www.alprad.dx.am/airwick.htm
Там сделано на PIC12F629.
А какой ресурс Вы имеете ввиду? Батарейки? Так их в "родном китайском" чуть ли не на год хватает. При 24 микроаперах. Раз в 20 секунд моргает светодиод, в этот момент потребление возрастает до пару милиампер. Если в переделке будет хватать на пол-года - тоже небеда.
Если выбросить фоторезистор - тоже не беда. Главное чтобы пырскала пореже и если будет можно выставлять 1-2-3 часа - самое то.
Если оставить фоторезистор - мож сделать чтобы он просто тормозил таймер без излишеств?
В принципе если пырскнет 3-4 раза в сутки - для маленького туалета достаточно.
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 02 апр 2013, 23:15

Stariywolk писал(а):А какой ресурс Вы имеете ввиду? Батарейки?

Нет, не батарейки, а памяти. Вот тут кое-что про это пишут http://electronix.ru/forum/lofiversion/ ... 65606.html
Ну, да ладно. Можно применить режим холостого хода, тоже нормально.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Сообщение slav0n » 03 апр 2013, 19:03

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

Код: Выделить всё
#define LED_pl   PB2
#define LED_mn   PB1


//============================================================

int __attribute__((naked)) main(void)
{      
   WDTCR = (1<<WDE)|   //выпускаем сторожевую собаку
         (0<<WDP3)|(1<<WDP2)|(1<<WDP1)|(0<<WDP0);   //1c
      //   (0<<WDP3)|(1<<WDP2)|(1<<WDP1)|(1<<WDP0);   //2c
      //   (1<<WDP3)|(0<<WDP2)|(0<<WDP1)|(0<<WDP0);   //4c
      //   (1<<WDP3)|(0<<WDP2)|(0<<WDP1)|(1<<WDP0);   //8c


   PORTB |= (1<<LED_pl);
   
   _delay_us(2);
   if(bit_is_clear(PINB,LED_mn))goto slp;   


   DDRB |= (1<<LED_pl)|(1<<LED_mn);      //зажигаем светодиод
   
   
   u32 ctr_unary = eeprom_read_dword(30);   // читаем унарный счетчик
   
   ctr_unary <<= 1;      //инкремент унарный счетчик
//   if(ctr_unary == 0)
   if(ctr_unary == 0Xffffff00)
   {
      ctr_unary = 0xffffffff;
   
/**/   
      u8 ct_binary = eeprom_read_byte(30+4);   // читаем бинарный счетчик
      ct_binary++;
      //здесь можем сравнить бинарный счетчик с чем-либо
      eeprom_update_byte(30+4, ct_binary);
      
         _delay_ms(300);   
   }
   
   eeprom_update_dword(30, ctr_unary);
   
   
   DDRB &=~((1<<LED_pl)|(1<<LED_mn));   //тушим светодиод
   
slp:   
   
   PORTB &=~((1<<LED_pl)|(1<<LED_mn));
   
   MCUCR |= (1<<SE)|(1<<SM1)|(0<<SM0);   //power down      

   asm("sleep");
}
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 03 апр 2013, 19:29

В принципе я сразу проверю в "железе" с подробным отчетом.
А для чего переключатель в последнем варианте?
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 03 апр 2013, 20:57

Stariywolk писал(а):А для чего переключатель в последнем варианте?

переключатель времени.
В целях экономии питания - 2 позиции, иначе резистивный делитель будет жрать батарейку.
Еще один прикол - если вход замкнуть на корпус, начинает жрать 25 мкА.
Если замкнуть на плюс - всё нормально, 6 мкА.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 03 апр 2013, 21:28

slav0n писал(а):Еще один прикол - если вход замкнуть на корпус, начинает жрать 25 мкА.

Непонял??? Вы уже на макетке пробуете???
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 04 апр 2013, 02:09

Stariywolk писал(а):на макетке пробуете???

Да, сохранилась примерно такая удобная вещь.
Вложения
brd.jpg
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 04 апр 2013, 10:47

Запустил тест ячейки памяти на износ по записи/стиранию.
Алгоритм такой - в цикле в ячейку пишется 0 со сдвигом, после заполнения нулями ячейка стирается и т.д.
Итого по кругу восемь записей, одно стирание. Частота получилась - 66 стираний в минуту.
При заявленной в даташите живучести EEPROM в 100.000 стираний должно хватить на сутки.
Если запись тоже изнашивает ячейку, то сдохнуть должно в восемь раз быстрее - через 3 часа.
Посмотрим...
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 04 апр 2013, 16:14

Прошло 6 часов. Всё ОК. Сбоев нет.
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 04 апр 2013, 18:23

Пришел с работы, смотрю - а тут прямо как сводки с фронтов! :co_ol: :dr_ink:
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение slav0n » 04 апр 2013, 18:31

Ну, что же. Прошло более 8-ми часов - никаких сбоев не наблюдается.
При этом произошло более 220.000 записей в ячейку.
Можно-ли сделать вывод, что запись без предварительного стирания не изнашивает память?
Ладно, подождем ещё...
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Сообщение slav0n » 04 апр 2013, 19:05

Пока мы чего-то ждем, вкратце объясню смысл происходящего.

Есть тут цель - сделать некий долгоиграющий таймер. Питание - батарейки.
Естественно хочется продлить жизнь батарейкам минимизируя их ток.
У AVR контроллеров самый экономичный режим Power-Down.
В этом режиме вырубается ядро и абсолютно вся периферия, кроме Wachdog Timer сторожевого таймера. (пёс всегда на чеку!)
При этом по току потребления вырисовывается вот такая замечательная картинка:

power.gif

грех не воспользоваться таким режимом для экономии батареек
while(1||!1);
slav0n
Site Admin
 
Сообщения: 4498
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 24 раз.
Поблагодарили: 388 раз.

Re: Переделка "Air Wick" ( пырскалка от дяди Вани из Тайвани

Сообщение Stariywolk » 04 апр 2013, 19:18

Супер! Я сейчас пытаюсь тоже вникнуть в теорию. Пока ... как Ёжик в тумане :-)
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 106
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

След.

Вернуться в Самодельные электронные устройства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1