Ищу автора этой статьи. http://radiokot.ru/circuit/digital/auto ... Интересует продолжение проекта.
Автомат управления освещением санузла
Всем доброго времени суток.
Ищу автора этой статьи. http://radiokot.ru/circuit/digital/auto ... Интересует продолжение проекта.
Ищу автора этой статьи. http://radiokot.ru/circuit/digital/auto ... Интересует продолжение проекта.
Последний раз редактировалось VALERYI Вс сен 20, 2009 10:15:27, всего редактировалось 1 раз.
- Реклама
скажите какие нужны фьюзы для этого проекта и какой нужен симистор?
- Сообщения: 218
- Зарегистрирован: Вс авг 15, 2010 18:03:04
А не пробовали для начала связаться с автором? Там в начале статьи адрес есть 
Имею 9 жизней
-----------------------------------------------------------
Прошу не путать меня с тёзкой - "radio-kot"
-----------------------------------------------------------
Прошу не путать меня с тёзкой - "radio-kot"
Вот что нашёл на этот автомат.

Займемся программой.
Подключаем нужные заголовочные файлы
Определяем константы, соответствующие разрядам PORTB. Красный светодиод объединен с управлением тиристора потому, что они всегда работают вместе, т.к. этот светодиод индицирует включение нагрузки.
Кроме того будут нужны 2 переменные, которые должны быть видны из любого места программы, поэтому объявляем их как глобальные. Напоминаю, что таймер у нас настроен на частоту 10Гц, т.е. срабатывает и вызывает прерывание 10 раз в секунду, поэтому для измерения времени в секундах надо реагировать на таймер только каждый десятый раз, за что и отвечает переменная count, а sec - это наш счетчик секунд.
Инициализируем PORTB, где все выводы (кроме PB3) сконфигурированны как выходные, (PB3) - как входной.
Настройку таймера timer0_init () и функцию init_devices() нам забубенил сам ICC AVR. Здесь производится настройка внутренних регистров и всякого разного нужного.
Далее имеем функцию timer0_ovf_isr(), которая вызывается по прерыванию таймера (10 раз в секунду), в которой каждый 10-й вызов увеличиваем значение переменной sec на 1. Кроме того присутствует функция Sleep(), которая нужна для осуществления небольшой задержки (256 тактов МК).
Ну собственно, и сама программа.
Здесь в цикле считывается состояние датчика Холла (операция & Key нужна, для того, чтобы сразу исключить из рассмотрения все разряды кроме PB3). Далее идет анализ состояния датчика и в зависимости от этого включается или выключается свет.
Взято с сайта http://avrhobby.ru/index.php?option=com ... &Itemid=53
Сижу перевариваю теперь если кто то есть головастый прошу слёзно помощи. ну очень хотца его собрать Мяу..
D1 – зеленый,D2 – красный, датчик Холла обозначенный как SS400 (общее название серии) типа SS441A. Симистор может быть любого типа, главное что бы выдерживал 400В и ток нагрузки. Естественно при больших токах - на радиатор его!
- Внимание! Прошивать МК нужно без впаянных светодиодов.

На фото вместо датчика Холла вы видите геркон, и это тоже верно. Его надо включать вместо ножек 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; Настройку таймера 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.}Код: Выделить всё
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Сижу перевариваю теперь если кто то есть головастый прошу слёзно помощи. ну очень хотца его собрать Мяу..
D1 – зеленый,D2 – красный, датчик Холла обозначенный как SS400 (общее название серии) типа SS441A. Симистор может быть любого типа, главное что бы выдерживал 400В и ток нагрузки. Естественно при больших токах - на радиатор его!
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
- Реклама
- Сообщения: 9
- Зарегистрирован: Вт июн 14, 2011 18:15:22
Захотел собрать эту схему http://radiokot.ru/circuit/digital/automat/10/
Подскажите какие ставить фузы?Чёто там не указанно.
Сюда перенес.
aen
Подскажите какие ставить фузы?Чёто там не указанно.
Сюда перенес.
aen
Из исходника видно, что фузы выставить надо на внутренний осциллятор на 1,2 Мгц
Даже у стен есть уши...
- Сообщения: 9
- Зарегистрирован: Вт июн 14, 2011 18:15:22
А поподробнее можно(какие галочки) для понипрог.Я с AVR ещё не работал....только с PIC
А вот это я тебе не скажу, т.к работаю с CVAVR и KazamaProgrammerdipodlez писал(а):А поподробнее можно(какие галочки) для понипрог.Я с AVR ещё не работал....только с PIC
Даже у стен есть уши...
фьюзы НЕТРОГАЕМ оставляем заводские !!!!!
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
- Сообщения: 9
- Зарегистрирован: Вт июн 14, 2011 18:15:22
Логика подсказывает ,что фузы надо оставить заводские...!?
совершенно верноdipodlez писал(а):Логика подсказывает ,что фузы надо оставить заводские...!?
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
- Сообщения: 9
- Зарегистрирован: Вт июн 14, 2011 18:15:22
Слегка модифицировал автомат: добавил шим с плавным зажиганием и тушением. Использовал материалы с сайта автора.
В качестве светильника 3 м самой дешевой светодиодной ленты и питатель на 12В включенный в сеть постоянно. Назначение ног контроллера изменилось. Контроллер - attiny13a. Все номиналы подписаны на плате.
Работает месяц. Все мои женщины довольны.
Прошивку исходник и плату прилагаю.
В качестве светильника 3 м самой дешевой светодиодной ленты и питатель на 12В включенный в сеть постоянно. Назначение ног контроллера изменилось. Контроллер - attiny13a. Все номиналы подписаны на плате.
Работает месяц. Все мои женщины довольны.
Прошивку исходник и плату прилагаю.
- Вложения
-
- moi_var.rar
- (62.53 КБ) 290 скачиваний
- Сообщения: 3
- Зарегистрирован: Сб май 26, 2012 00:35:44
Здравствуйте!
Подскажите пожалуйста, а откуда можно взять 5V (на 8 ногу контролёра, для датчика Холла)?
Это дополнительно нужно подавать, или возможно где-то с текущей схемы?
P.S. Автомат собрал, работает замечательно с первого же раза, правда пока на рабочем столе, проблема из-за выше заданых вопросов.
Заранее спасибо!
Подскажите пожалуйста, а откуда можно взять 5V (на 8 ногу контролёра, для датчика Холла)?
Это дополнительно нужно подавать, или возможно где-то с текущей схемы?
P.S. Автомат собрал, работает замечательно с первого же раза, правда пока на рабочем столе, проблема из-за выше заданых вопросов.
Заранее спасибо!
А что без МК уже никуда?
Один 155ТМ2 и ключ для управления лампой
- Сообщения: 3
- Зарегистрирован: Сб май 26, 2012 00:35:44
оффтоп:
Одним больше нравится на логике делать, программистам больше нравится программировать (на уровне программирования) схемотехнику.
Тут уж извиняйте, каждому "на вкус и цвет все фломастеры разные".
Одним больше нравится на логике делать, программистам больше нравится программировать (на уровне программирования) схемотехнику.
Тут уж извиняйте, каждому "на вкус и цвет все фломастеры разные".
Если точно знаешь что должно получиться и логика пойдет. А вот чтобы всех домочадцев удовлетворить алгоритм работы менять приходилось много раз. Тут уж МК вне конкуренции.Bear2011 писал(а):А что без МК уже никуда?Один 155ТМ2 и ключ для управления лампой
Набросал, по просьбе молодого коллеги, на скорую руку схему своего варианта в splan7.
- Вложения
-
- 1.rar
- (3.49 КБ) 215 скачиваний


