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

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

вот проверь эту прошивку
Вложения
main.rar
(735 байт) Скачиваний: 128
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

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

Сейчас все работает как и было задумано! :-ok-:
То есть:
Нажимаю кнопку, после паузы 1 моргание, кнопку отпускаю - 8 тактов.
Нажимаю кнопку, после паузы 2 моргания, кнопку отпускаю - 16 тактов.
Нажимаю кнопку, после паузы 3 моргания, кнопку отпускаю - 24 такта.
То есть получается 3, 1.5 или 1 раз в сутки.
А нельзя изменить на 6,12 и 24 тактов? Так получилось бы 4, 2 и 1 раз в сутки :smu:sche_nie:
И еще. Длительность импульса для моторчика должна быть 1 секунда. Этого времени достаточно для того, чтобы мотор провернул через шестиренки-семиренки рычаг, который давит на балончик. Дальше питание с моторчика снимается и под силой пружины, которая находится в клапане балончика рычажек возвращается в исходное положение. Если импульс длиннее - увеличивается время пшика, но при этом моторчик тормозится и в заторможенном состоянии жреть батарейки как голодный кутью :nez-nayu:
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 90
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

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

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

Stariywolk писал(а):То есть получается 3, 1.5 или 1 раз в сутки.

я соображал немного не так. Пауза привязана не к суткам, а к часам.
1 импульс = 1 час паузы.
Могу расширить диапазон выбора задержек.
Импульс моторчика укорочу.
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

ну вот собственно кекс.
Регулировка от 1 до 5 часов. Индикатор мигает раз в 5 сек.
Вложения
main.rar
(804 байт) Скачиваний: 147
while(1||!1);
зберігай спокій

За это сообщение автора slav0n поблагодарили: 2
Daredee(23 дек 2014, 19:45), Stariywolk(21 апр 2013, 16:17)
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

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

slav0n писал(а):1 импульс = 1 час паузы.

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

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

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

slav0n писал(а):ну вот собственно кекс.

Фига се! Пока писАл - все изменилось! :du_ma_et: Тааак! Ща прошью, прикрутю полевик и насоплях подключу к пырскалке. :dr_ink:

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

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

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

Stariywolk писал(а):То есть получается 24, 12 и 8 срабатываний в сутки

Ты не понял. Количество миганий в тестовой прошивке при отпущенной кнопке никак не связано с часами.
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

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

slav0n писал(а):Ты не понял. Количество миганий в тестовой прошивке при отпущенной кнопке никак не связано с часами.

Так я понимаю что это просто индикация шо это чудо работает.
Но при нажатой кнопке 1 мигание - 1 час пауза, 2 мигания - 2 часа, 3 мигания - 3 часа пауза? Тогда и получается 24, 12 и 8 пшиков :smu:sche_nie:
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 90
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

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

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

да, всё именно так.
Только я расширил регулировку до 5 часов. получается минимум почти 5 пшиков в сутки
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

Сообщение Stariywolk » 15 апр 2013, 22:12

Так я собственно говоря с отчетом. :uch_tiv:
Пауза выбирается великолепно:
http://www.youtube.com/watch?v=RFyVfGLnT6Y&feature=youtu.be
Сегодня после работы победил диван :ne_vi_del: .
Завтра постараюсь его проигнорировать, добавить полевик и прикрутить к пырскалке :ta_n_cor:
Позвонил по «03» и на всякий случай в Америку по «911»… Так наши на полчаса раньше приехали!
Аватара пользователя
Stariywolk
 
Сообщения: 90
Зарегистрирован: 02 окт 2010, 14:37
Откуда: Германия
Благодарил (а): 2 раз.
Поблагодарили: 6 раз.

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

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

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

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

А токи потребления?
Зря-ли я изгалялся с экономичностью.
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

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

С этим немного было проблематично, так как токи все-таки маленькие.
Получилось вот что:
Изображение

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

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

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

Вчера небыло клёва, сегодня - другое дело:
ИзображениеИзображение
С измерениями немного туго - прибор включаю на миллиамперы - одни нули, нифиха немеряет.
На микроамперах - меряет, но большое падение напряжения, светодиод еле-еле, кнопка отказывается выбирать паузу.
Но и так видно что потребление - минимальное :-ok-:
Славон! А можно кнопку к Тиньке прикрутить для принудительного пшика? :smu:sche_nie:

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

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

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

Stariywolk писал(а):А можно кнопку к Тиньке прикрутить для принудительного пшика?
можно.
Stariywolk писал(а):для стабильной работы полевика затвор через 1 ком посадил на минус.Иначе полевик открывался (???) и удерживал мотор
В паузе затвор практически болтается в воздухе. Возможно емкость затвора, зарядившись, удерживает канал мосфета в открытом состоянии.
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

кстати, измерения подтверждают график из даташита.
Как раз 4.2 мкА :co_ol:
Вложения
goodpwr.gif
while(1||!1);
зберігай спокій
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

добавил принудительный пшик. Кнопка на 3 ноге тиньки.
Для пшика жмем и удерживаем несколько секунд пока не пшикнет. При этом таймер сбрасывается.

cxema.GIF
Вложения
main.zip
(810 байт) Скачиваний: 170
while(1||!1);
зберігай спокій

За это сообщение автора slav0n поблагодарил:
Daredee(23 дек 2014, 19:47)
slav0n
Site Admin
 
Сообщения: 4849
Зарегистрирован: 15 ноя 2009, 18:43
Благодарил (а): 36 раз.
Поблагодарили: 496 раз.

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

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

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

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

Сообщение Stariywolk » 01 май 2013, 16:46

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

Сообщение slav0n » 02 май 2013, 00:00

вот код этого чуда

Код: Выделить всё
/****************************************************
timer pshik

made slav0n

Chip type           : ATtiny13
9.6 MHz / 8 = 1.2
фузы  заводские
;Hfuse FF
;Lfuse 6A
****************************************************/


#include <avr/io.h>
#include <avr/eeprom.h>
#include <avr/wdt.h>
#include <util/delay.h>

#include "m8_128.h"


#define LED_pl   PB1
#define LED_mn   PB0
#define GATE   PB2
#define BUTTON_PSHIK PB4

#define adr_set_hrs 1
#define adr_binary adr_set_hrs + 1
#define adr_unary  adr_binary + 1


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

int __attribute__((naked)) main(void)
{      
   WDTCR = (1<<WDE)|   //выпускаем сторожевую собаку
      //   (0<<WDP3)|(0<<WDP2)|(0<<WDP1)|(1<<WDP0);   //32mc
      //   (0<<WDP3)|(0<<WDP2)|(1<<WDP1)|(0<<WDP0);   //64mc
      //   (0<<WDP3)|(0<<WDP2)|(1<<WDP1)|(1<<WDP0);   //0.125c
      //   (0<<WDP3)|(1<<WDP2)|(0<<WDP1)|(1<<WDP0);   //0.5c
      //   (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)|(1<<BUTTON_PSHIK);
   
   
   _delay_us(100);
   while(bit_is_clear(PINB,LED_mn))
   {
      wdt_reset();
      
      u8 set_hrs = eeprom_read_byte(adr_set_hrs) +1;
      if(set_hrs >= 5)set_hrs =0;
      
      u8 i = set_hrs;
      do{
         DDRB |= (1<<LED_pl);   //зажигаем светодиод от кнопки
         _delay_ms(200);
         wdt_reset();
         DDRB &=~(1<<LED_pl);   //тушим светодиод
         _delay_ms(200);
         wdt_reset();
      }while(i--);
      
      
      _delay_ms(400);
      wdt_reset();
      _delay_ms(400);
      wdt_reset();
      
   //   eeprom_update_byte(adr_set_hrs, set_hrs);
      eeprom_write_byte(adr_set_hrs, set_hrs);
      eeprom_write_byte(adr_binary, 0);   // сбрасываем бинарный счетчик
   }
   
   if(bit_is_clear(PINB, BUTTON_PSHIK))goto M_PSHIK;   //пшикаем и сбрасываем таймер


   DDRB |= (1<<LED_pl)|(1<<LED_mn);      //зажигаем светодиод
   _delay_ms(10);

   u8  p_ctr[4];
   u8  p_old[4];
   
   eeprom_read_block(p_ctr, adr_unary, 4);      // читаем унарный счетчик
   memcpy(p_old, p_ctr, 4);
   
   
//   u8 *ctr_unary = p_ctr;
   u32 *ctr_unary = p_ctr;
   *ctr_unary <<= 1;      //инкремент унарный счетчик
   if(*ctr_unary == 0)
   {
      *ctr_unary = 0xffffffff;
   //   *ctr_unary = 0xff;
   
/**/   
      u8 ct_binary = eeprom_read_byte(adr_binary);   // читаем бинарный счетчик
      ct_binary++;
      
      //здесь можем сравнить бинарный счетчик с чем-либо
      u8 set_hrs = eeprom_read_byte(adr_set_hrs);
      if(set_hrs >= 5)set_hrs =0;
      
      if(ct_binary == (set_hrs+1) * 24)
   //   if(ct_binary == (set_hrs+1))
      {
      
      M_PSHIK:   
         
         ct_binary =0;   // сбрасываем бинарный счетчик
         
         DDRB  |= (1<<GATE);
         PORTB |= (1<<GATE);
         wdt_reset();
         _delay_ms(500);
         wdt_reset();
         _delay_ms(500);
         wdt_reset();
         PORTB &=~(1<<GATE);
         DDRB  &=~(1<<GATE);
      }
      
      eeprom_write_byte(adr_binary, ct_binary);
   }
   
/*   */
//------- пишем 4 байта унарного счетчика в EEPROM ----------------------
   for(u8 i=0;i<4;i++)
   {
      if(p_old[i] != p_ctr[i])//пишем только если байт измнился
      {
         while(EECR & (1<<EEPE));// Wait for completion of previous write
         
         // Set Programming mode
                     //   EECR = (0<<EEPM1)|(0>>EEPM0);   //Erase-Write
         if(p_ctr[i] == 0xff)EECR = (0<<EEPM1)|(1>>EEPM0);   //Erase Only   
         else            EECR = (1<<EEPM1)|(0>>EEPM0);   //Write Only
         
         EEARL = adr_unary + i;   //ucAddress;   
         EEDR = p_ctr[i];      //ucData;
         
         EECR |= (1<<EEMPE);// Write logical one to EEMWE   
         EECR |= (1<<EEPE);   // Start eeprom write by setting EEWE
      }
   }
//-------------------------------------------------------------------------   
   
   DDRB  &=~((1<<LED_pl)|(1<<LED_mn));   //тушим светодиод
   PORTB &=~((1<<LED_pl)|(1<<LED_mn));
   
   MCUCR |= (1<<SE)|(1<<SM1)|(0<<SM0);   //power down      

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

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 2

cron