Автомат управления освещением санузла

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Аватара пользователя
VALERYI
Родился
Сообщения: 8
Зарегистрирован: Пн мар 17, 2008 17:45:51
Откуда: Perm

Автомат управления освещением санузла

Сообщение VALERYI »

Всем доброго времени суток.
Ищу автора этой статьи. http://radiokot.ru/circuit/digital/automat/10/Интересует продолжение проекта.
Последний раз редактировалось VALERYI Вс сен 20, 2009 10:15:27, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Паятель
Модератор
Сообщения: 3174
Зарегистрирован: Пт июл 21, 2006 03:08:05
Откуда: Пенза

Сообщение Паятель »

Ссылка?
Если долго мучиться, что-нибудь... сломается.
Реклама
Аватара пользователя
murlb|ka
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Пн май 17, 2010 23:29:17
Откуда: Москва

Re: Автомат управления освещением санузла

Сообщение murlb|ka »

скажите какие нужны фьюзы для этого проекта и какой нужен симистор?
Аватара пользователя
RadioKot
Прорезались зубы
Сообщения: 218
Зарегистрирован: Вс авг 15, 2010 18:03:04

Re: Автомат управления освещением санузла

Сообщение RadioKot »

А не пробовали для начала связаться с автором? Там в начале статьи адрес есть :)))
Имею 9 жизней
-----------------------------------------------------------
Прошу не путать меня с тёзкой - "radio-kot"
Реклама
Эиком - электронные компоненты и радиодетали
delta24
Встал на лапы
Сообщения: 113
Зарегистрирован: Сб июл 24, 2010 00:11:33
Откуда: Москва
Контактная информация:

Re: Автомат управления освещением санузла

Сообщение delta24 »

Вот что нашёл на этот автомат.
Изображение
    Внимание! Прошивать МК нужно без впаянных светодиодов.
    Изображение
    На фото вместо датчика Холла вы видите геркон, и это тоже верно. Его надо включать вместо ножек 1 и 2 SS441
    Проект для ICC AVR: http://avrhobby.ru/files/Part1-ICCAVR.rar, там же схема и печатная плата для Proteus 7.5 sp3 и печатная плата для SprintLayout5 (немножко другая).
    Печатная плата Proteus выглядит так:
Изображение

Займемся программой.
Подключаем нужные заголовочные файлы
Определяем константы, соответствующие разрядам PORTB. Красный светодиод объединен с управлением тиристора потому, что они всегда работают вместе, т.к. этот светодиод индицирует включение нагрузки.
Кроме того будут нужны 2 переменные, которые должны быть видны из любого места программы, поэтому объявляем их как глобальные. Напоминаю, что таймер у нас настроен на частоту 10Гц, т.е. срабатывает и вызывает прерывание 10 раз в секунду, поэтому для измерения времени в секундах надо реагировать на таймер только каждый десятый раз, за что и отвечает переменная count, а sec - это наш счетчик секунд.

Код: Выделить всё

01.//ICC-AVR application builder : 21.01.2007 10:53:01
02.// Target : T13
03.// Crystal: 1.2Mhz
04.
05.#include <iot13v.h>
06.#include <macros.h>
07.
08.//Красный светодиод
09.#define LED_R 0b000010
10.//Зеленый светодиод и управление тиристором
11.#define LED_G 0b010100
12.//Датчик Холла (или геркон)
13.#define Key   0b001000
14. 
15.unsigned char count;
16.int sec;


Инициализируем PORTB, где все выводы (кроме PB3) сконфигурированны как выходные, (PB3) - как входной.
Настройку таймера timer0_init () и функцию init_devices() нам забубенил сам ICC AVR. Здесь производится настройка внутренних регистров и всякого разного нужного.

Код: Выделить всё

18.void port_init(void)
19.{
20. PORTB = 0x08;
21. DDRB  = 0x37;
22.}
23.
24.//TIMER0 initialize - prescale:1024
25.// WGM: Normal
26.// desired value: 10Hz
27.// actual value: 10,016Hz (0,2%)
28.void timer0_init(void)
29.{
30. TCCR0B = 0x00; //stop
31. OCR0A = 0x75;
32. OCR0B = 0x75;
33. TCNT0 = 0x8B; //set count
34. TCCR0A = 0x00;
35. TCCR0B = 0x05; //start timer
36.}
37.
38.//call this routine to initialize all peripherals
39.void init_devices(void)
40.{
41. //stop errant interrupts until set up
42. CLI(); //disable all interrupts
43. port_init();
44. timer0_init();
45.
46. MCUCR = 0x00;
47. TIMSK0 = 0x02; //timer interrupt sources
48. GIMSK = 0x00; //interrupt sources
49. SEI(); //re-enable interrupts
50. //all peripherals are now initialized
51.}

Далее имеем функцию timer0_ovf_isr(), которая вызывается по прерыванию таймера (10 раз в секунду), в которой каждый 10-й вызов увеличиваем значение переменной sec на 1. Кроме того присутствует функция Sleep(), которая нужна для осуществления небольшой задержки (256 тактов МК).

Код: Выделить всё

53.#pragma interrupt_handler timer0_ovf_isr:4
54.void timer0_ovf_isr(void)
55.{
56. count++;
57. if (count==9) {
58.  sec++;
59.  count=0;
60. }
61. TCNT0 = 0x8B; //reload counter value
62.}
63.
64.void Sleep(){
65.unsigned char a,b;
66. for (a = 1; a; a++);
67.}

Ну собственно, и сама программа.
Здесь в цикле считывается состояние датчика Холла (операция & Key нужна, для того, чтобы сразу исключить из рассмотрения все разряды кроме PB3). Далее идет анализ состояния датчика и в зависимости от этого включается или выключается свет.

Код: Выделить всё

070.void main(void)
071.{
072.unsigned char state,old_state,ovf;
073.
074. sec=0;
075. ovf=0;
076. old_state=0;
077. 
078. init_devices();
079. 
080. while(1){
081.  //считать состояние датчика
082.  state = PINB & Key;
083.  //немножко притормозить, что бы переждать дребезг контактов у геркона
084.  Sleep();
085.   
086.   
087.  //********************
088.  // кусок кода до следующих звездочек нужен для отсчета
089.  // истечения времени в 10с при открытой двери
090.  if (state==old_state) {//если статус не менялся, т.е. нет изменения от геркона
091.   if (!state) {
092.    //********* в эту секцию мы попадаем всегда при закрытой двери и выключенном свете, т.е. в режиме ожидания
093.    //если дверь закрыта - счетчик секунд сбросить
094.    sec=0;
095.   PORTB &= ~LED_R; //выключить RED
096.   ovf=0;
097.   } 
098.   else {
099.    //********* в эту секцию мы попадаем при долго открытой двери
100.    //если дверь открыта, надо считать секунды
101.   if (sec>10) {
102.    //если свет оставался включенным более 10 с и дверь открыта, то свет выключить
103.    PORTB |= LED_R; //включить RED
104.    if (!ovf) ovf=1;
105.   }
106.   }
107.   continue;
108.  }
109.  //*****************
110.   
111.  old_state=state;
112.   
113.  //проверка PB3, если контакт разомкнут - там 1 (дверь открыта), замкнут - там 0 (дверь закрыта)
114.  if ( state ) { //=1
115.  //открыли дверь ?
116.   PORTB ^= LED_G; //переключить свет (если вкл->выкл и наоборот)
117.  }
118.  else{ //=0
119.  //закрыли дверь ?
120.   if (ovf) { //если интервал времени открытой двери >10с то выключить свет
121.    PORTB &= ~LED_G;
122.   ovf=0;
123.   }
124.   //иначе не реагировать
125.  }
126.   
127. }//while
128. 
129.}//main

Взято с сайта http://avrhobby.ru/index.php?option=com_content&view=article&id=49:wcautomat&catid=34:projectsmk&Itemid=53

Сижу перевариваю теперь если кто то есть головастый прошу слёзно помощи. ну очень хотца его собрать Мяу..


D1 – зеленый,D2 – красный, датчик Холла обозначенный как SS400 (общее название серии) типа SS441A. Симистор может быть любого типа, главное что бы выдерживал 400В и ток нагрузки. Естественно при больших токах - на радиатор его!
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
Реклама
dipodlez
Родился
Сообщения: 9
Зарегистрирован: Вт июн 14, 2011 18:15:22

Освещение в туалете

Сообщение dipodlez »

Захотел собрать эту схему http://radiokot.ru/circuit/digital/automat/10/
Подскажите какие ставить фузы?Чёто там не указанно.





Сюда перенес.


aen
Реклама
Аватара пользователя
zhu4er
Вымогатель припоя
Сообщения: 544
Зарегистрирован: Пт июн 04, 2010 17:40:13
Откуда: Непокорный город-герой Севастополь

Re: Освещение в туалете

Сообщение zhu4er »

Из исходника видно, что фузы выставить надо на внутренний осциллятор на 1,2 Мгц
Даже у стен есть уши...
dipodlez
Родился
Сообщения: 9
Зарегистрирован: Вт июн 14, 2011 18:15:22

Re: Освещение в туалете

Сообщение dipodlez »

А поподробнее можно(какие галочки) для понипрог.Я с AVR ещё не работал....только с PIC
Аватара пользователя
zhu4er
Вымогатель припоя
Сообщения: 544
Зарегистрирован: Пт июн 04, 2010 17:40:13
Откуда: Непокорный город-герой Севастополь

Re: Освещение в туалете

Сообщение zhu4er »

dipodlez писал(а):А поподробнее можно(какие галочки) для понипрог.Я с AVR ещё не работал....только с PIC

А вот это я тебе не скажу, т.к работаю с CVAVR и KazamaProgrammer
Даже у стен есть уши...
delta24
Встал на лапы
Сообщения: 113
Зарегистрирован: Сб июл 24, 2010 00:11:33
Откуда: Москва
Контактная информация:

Re: Автомат управления освещением санузла

Сообщение delta24 »

фьюзы НЕТРОГАЕМ оставляем заводские !!!!!
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
dipodlez
Родился
Сообщения: 9
Зарегистрирован: Вт июн 14, 2011 18:15:22

Re: Автомат управления освещением санузла

Сообщение dipodlez »

Логика подсказывает ,что фузы надо оставить заводские...!?
delta24
Встал на лапы
Сообщения: 113
Зарегистрирован: Сб июл 24, 2010 00:11:33
Откуда: Москва
Контактная информация:

Re: Автомат управления освещением санузла

Сообщение delta24 »

dipodlez писал(а):Логика подсказывает ,что фузы надо оставить заводские...!?

совершенно верно
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
dipodlez
Родился
Сообщения: 9
Зарегистрирован: Вт июн 14, 2011 18:15:22

Re: Автомат управления освещением санузла

Сообщение dipodlez »

Связался с автором он подтвердил-фьюзы заводские.
krokodil
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пт окт 30, 2009 00:30:11
Откуда: Минск

Re: Автомат управления освещением санузла

Сообщение krokodil »

Слегка модифицировал автомат: добавил шим с плавным зажиганием и тушением. Использовал материалы с сайта автора.
В качестве светильника 3 м самой дешевой светодиодной ленты и питатель на 12В включенный в сеть постоянно. Назначение ног контроллера изменилось. Контроллер - attiny13a. Все номиналы подписаны на плате.
Работает месяц. Все мои женщины довольны.
Прошивку исходник и плату прилагаю.
Вложения
moi_var.rar
(62.53 КБ) 290 скачиваний
Reals
Родился
Сообщения: 3
Зарегистрирован: Сб май 26, 2012 00:35:44

Re: Автомат управления освещением санузла

Сообщение Reals »

Здравствуйте!

Подскажите пожалуйста, а откуда можно взять 5V (на 8 ногу контролёра, для датчика Холла)?
Это дополнительно нужно подавать, или возможно где-то с текущей схемы?

P.S. Автомат собрал, работает замечательно с первого же раза, правда пока на рабочем столе, проблема из-за выше заданых вопросов.

Заранее спасибо!
Аватара пользователя
Bear2011
Друг Кота
Сообщения: 13253
Зарегистрирован: Ср апр 06, 2011 09:58:13
Откуда: Кузбасс

Re: Автомат управления освещением санузла

Сообщение Bear2011 »

А что без МК уже никуда? :shock: Один 155ТМ2 и ключ для управления лампой
Reals
Родился
Сообщения: 3
Зарегистрирован: Сб май 26, 2012 00:35:44

Re: Автомат управления освещением санузла

Сообщение Reals »

оффтоп:
Одним больше нравится на логике делать, программистам больше нравится программировать (на уровне программирования) схемотехнику.
Тут уж извиняйте, каждому "на вкус и цвет все фломастеры разные".
krokodil
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пт окт 30, 2009 00:30:11
Откуда: Минск

Re: Автомат управления освещением санузла

Сообщение krokodil »

Bear2011 писал(а):А что без МК уже никуда? :shock: Один 155ТМ2 и ключ для управления лампой


Если точно знаешь что должно получиться и логика пойдет. А вот чтобы всех домочадцев удовлетворить алгоритм работы менять приходилось много раз. Тут уж МК вне конкуренции.
krokodil
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Пт окт 30, 2009 00:30:11
Откуда: Минск

Re: Автомат управления освещением санузла

Сообщение krokodil »

Набросал, по просьбе молодого коллеги, на скорую руку схему своего варианта в splan7.
Вложения
1.rar
(3.49 КБ) 213 скачиваний
Ответить

Вернуться в «Статьи»