![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
SuperMax |
![]()
Сообщение
#1
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Первая версия системы интеллектального управления освещением
Постановка задачи: 1. есть прихожая и длинный коридор. надо обеспечить экономичное освещение при наличии необходимости в нем, 2. желательно обеспечить управление яркостью освещения ночью. Решение. 1. используется простенький контроллер ATMEL ATTINY 2313 ![]() тактируется от встроенного генератора 8MHz 2. внешние датчики DSC LC-100 PI ![]() настроены на максимальную чувствительность и расположены так, чтобы покрыть указанную территорию. для удобства датчики подключаются по витой паре которая в конце разделывается в стандартные разъемы 3. для освещения использутся 12В светодиодная лента 4. Источник питания +12В - переделанный БП ATX-350 5. Для переключения день-ночь используется внешний таймер с календарем. Решение обеспечивает плавное включение/выключение освещения с учетом времени суток. -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#2
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Схема
![]() импульсные помехи с датчиков давятся 100н конденсаторами остальное решение очевидное и не нуждается в описании ключевые транзисторы - любые из современной материнской платы (те TTL-управляемые) устанавливаются со стороны дорожек -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#3
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Печатная плата
Прикрепленные файлы ![]() -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#4
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Программа - проект в CodeVison (рекомендуется собирать именно в нем тк AVR Studio c AVR GCC сильно уступают по оптимальности кода и как следствие придется брать микроконтроллер с большим объемом флеша)
![]() весь проект ![]() Модель для отладки в Proteus ![]() -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#5
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
описание программного решения
1. используются 2 таймера 0й - 8ми битный используется для прерывания с частотой 128Hz 1й - используется для 10битного ШИМ-а - непосредственно задает яркость освещения. 2. сама программа управления освещением в обработке прерывания - те просчет идет в частотой 128Hz в принципе частоту можно взять и другую - задав ее в константе OCR_CLOCK и изменив пересчет в функциях tim_write_p tim_write_k 3. // базовые константы аппаратного решения #define OCR_CLOCK 128 // реальная частота таймера в герцах #define MAX_LIGHT 1023 // максимальное значение шим-а // порты входных сигналов #define DAY PIND.4 // PIND.4 день/ночь ==0 ночь #define KOR PIND.3 // PIND.3 коридор ==1 активно (датчики нз на землю) #define PRI PIND.2 // PIND.2 прихожая ==1 активно (датчики нз на землю) #define DOR PINA.1 // PINA.1 дверь ==1 активно (датчики нз на землю) // порт выхода #define LED PORTD.6 // светодиод которым мигаем #define LED2 PORTD.0 // светодиод которым мигаем // таймеры #define OCR_PRI OCR1A #define OCR_KOR OCR1B 4. яркости в % #define L_day_p 100 // значение дня прихожей #define L_day_k 100 // значение дня коридора #define L_night_p 30 // значение ночи прихожей #define L_night_k 10 // значение ночи коридора 5. длительности процессов #define L_TP 90 // длительность горения света в прихожей в секундах #define L_TK 90 // длительность горения света в прихожей в секундах #define L_TBBP 3 // время выхода на рабочий режим в секундах / прихожая #define L_TBBK 3 // время выхода на рабочий режим секундах / коридор #define L_TBEP 50 // время выключения в секундах / прихожая #define L_TBEK 50 // время выключения в секундах / коридор #define L_LEV_P 50 // порог активности для выхода из ночного режима секундах / прихожая #define L_LEV_K 100 // порог активности для выхода из ночного режима секундах / коридиор -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#6
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Версия 64Hz
Прикрепленные файлы ![]() -------------------- Живы будем - Не помрем !
|
SuperMax |
![]()
Сообщение
#7
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 282 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
версия 64Hz + 13bit ШИМ
оптимум по плавности управления ярскостью Прикрепленные файлы ![]() -------------------- Живы будем - Не помрем !
|
![]() ![]() |
Текстовая версия | Сейчас: 29.3.2024, 21:31 |