Smartfan с дистанционным управлением с использованием AT89C2051 | Полный проект электроники
Smartfan с дистанционным управлением с использованием AT89C2051 | Полный проект электроники
Смарт-вентиляторы с дистанционным управлением, доступные на рынке, очень дороги, и принципы их работы сложны для понимания. Вот простая схема смарт-вентилятора с дистанционным управлением, который может контролировать скорость вентилятора или интенсивность света электрической лампочки.
Пульт дистанционного управления VIRE (рис. 1) обычно используется для MP3-плееров, FM-радиоприемников и т.п. Его дальность действия составляет до 12 метров, поэтому нет необходимости управлять вентилятором/лампой вручную. Микроконтроллер AT89C2051 (MCU) действует как интеллектуальный регулятор.
Рис. 1: Скриншот ИК-пульта VIRE
Цепь и работа
Схема смарт-вентилятора с дистанционным управлением с использованием AT89C2051 показана на рис. 2. Она построена на основе трансформатора 12 В-0-12 В, 750 мА (X1) с центральным отводом (X1), выпрямительных диодов 1N4007 (D1, D2), 2200 мкФ/25 В (C1), конденсаторов фильтра 100 мкФ/16 В (C2) и напряжения. регулятор 7805 (IC1), обеспечивающий постоянное выходное напряжение 5 В, AT89C2051 (IC2) MCU, ИК-приемник TSOP1738 (IRX1), ИК-пульт VIRE, электромагнитные реле 12 В, транзисторы BC547 (T1, T2, T3) и несколько других компонентов.
В этом проекте MCU выступает в роли интеллектуального электронного регулятора на основе ИК-сигналов дистанционного управления. Это 20-контактный контроллер семейства MCS-51, имеющий флэш-память объемом 2 КБ ROM, 128 байт RAM, UART и встроенный аналоговый компаратор. Электромагнитные реле на 12 В действуют как регуляторы переключения положений резисторов с отводами между R6 и R9, чтобы снизить уровень напряжения для управления вентилятором или лампочкой.
Рис. 2: Схема смарт-вентилятора с дистанционным управлением на AT89C2051
TSOP1738 является частью приемника ИК-пульта дистанционного управления, который принимает ИК-сигналы дистанционного управления и передает ИК-импульсы на AT89C2051 MCU. Выход TSOP1738 имеет активный низкий уровень и в выключенном состоянии дает +5 В.
Сетевое питание понижается трансформатором X1, выпрямляется двухполупериодным выпрямителем, состоящим из D1 и D2, фильтруется C1 и подается на IC1 для поддержания постоянного напряжения +5 В на выходе. Постоянный вывод подается на AT89C2051 MCU.
Создание и тестирование
Односторонний образец схемы PCB фактического размера с использованием AT89C2051 MCU показан на рис. 3, а компоновка ее компонентов - на рис. 4.
Рис. 3: Шаблон PCB фактического размера смарт-вентилятора с дистанционным управлением с использованием AT89C2051Рис. 4. Компоновка компонентов PCB
Загрузите PCB и PDF-файлы компоновки компонентов: нажмите здесь
Каждый раз, когда вы нажимаете кнопку на пульте дистанционного управления, TSOP1738 (IRX1) автоматически получает ИК-сигналы и подает их на контакт P3.0 порта 3 AT89C2051. Контроллер получает последовательность ИК-импульсов и определяет момент нажатия кнопки с помощью программы на ассемблере в формате MCU. В этом проекте мы используем только четыре кнопки ИК-пульта: Power, 1, 2 и 3.
Рис. 5: Прототип проволочного резистора (резистора с ответвлениями)
Случай 1. Когда вы нажимаете кнопку питания на пульте дистанционного управления, MCU отправляет сигнал с низким логическим уровнем на T1, T2 и T3 и автоматически отключает их. Когда T1, T2 и T3 находятся в выключенном состоянии, реле RL1, RL2 и RL3 также будут в выключенном состоянии, и, следовательно, контакты реле между ответвленными резисторами разомкнуты. Следовательно, на потолочном вентиляторе или лампочке не будет напряжения. Это состояние называется состоянием выключенного вентилятора/лампы.
Случай 2. Когда вы нажимаете 1, MCU немедленно отправляет сигнал высокого логического уровня на T1. Это заставляет Т1 проводить ток и, в свою очередь, подавать питание на реле RL1. Как показано на рис. 1, нагрузка (вентилятор/лампочка) подключается к сети переменного тока 230 В через резисторы с отводами R6–R9. Это следует принять за положение 1 или низкую скорость.
Случай 3. Когда вы нажимаете 2, MCU немедленно отправляет сигнал высокого логического уровня на T2. Это заставляет Т2 проводить ток и, в свою очередь, подавать питание на реле RL2. Нагрузка (вентилятор/лампочка) подключается к сети переменного тока 230 В через отводные резисторы R8 и R9. Это следует рассматривать как положение 2 или среднюю скорость.
Случай 4.Когда вы нажимаете 3, MCU немедленно отправляет сигнал высокого логического уровня на T3. Это заставляет Т3 проводить ток и, в свою очередь, подавать питание на реле RL3. Нагрузка (вентилятор/лампочка) подключается к сети переменного тока 230 В без резистора. Это должно быть положение 3 или полная скорость.
Случай 5.Когда вы нажимаете кнопку, отличную от кнопки питания, 1, 2 или 3, MCU не выполняет никаких действий. Он просто вставит несколько задержек (в миллисекундах).
Для устранения неполадок проверьте напряжение в различных точках, указанных в таблице контрольных точек.
Программное обеспечение
Программное обеспечение написано на встроенном языке C и скомпилировано с помощью компилятора версии Keil Microvision 4. Он содержит простые операторы ветвления для управления различными скоростями вращения вентилятора. Мы использовали программатор TopWin 850, чтобы записать шестнадцатеричный код в MCU. Выполните следующие шаги, чтобы скомпилировать программу.
Шаг 1. После открытия Keil uVision перейдите в Project и создайте новый проект uVision. Выберите «Новая папка» и дайте проекту имя, как показано на рис. 6.
Рис. 6. Окно «Создать проект»
Шаг 2.После создания проекта выберите модель вашего устройства, как показано на рис. 7. Например, AT89C2051. Он доступен в пакете Atmel.
Рис. 7. Выбор параметров устройства
Шаг 3. Теперь ваш проект создан; Появится окно сообщения для добавления загрузочного файла вашего устройства. Нажмите «Да», чтобы добавить в папку проекта, как показано на рис. 8.
Рис. 8: Окно сообщений
Шаг 4. Перейдите в раздел «Файл» и создайте новый файл. Сохраните его с расширением .c if, если вы написали программу на языке C, или сохраните с расширением .asm для языка ассемблера, как показано на рис. 9.
Рис. 9. Окно «Создать новый файл»
Шаг 5.Напишите программу и сохраните ее еще раз, как показано на рис. 10.
Рис. 10: Файл компиляции NEC.c
Шаг 6. Слева вы увидите окно проекта. Если нет, перейдите в «Просмотр» и нажмите «Окно проекта», как показано на рис. 11.
Рис. 11: Окно проекта
Шаг 7. После нажатия «Окно проекта» щелкните правой кнопкой мыши «Цель» и выберите «Параметры цели» (рис. 12).
Рис. 12: Окно параметров устройства
Шаг 8. Перейдите на вкладку «Вывод» и установите флажок «Создать шестнадцатеричный файл». Нажмите «ОК», чтобы сохранить все изменения.
Рис. 13: Параметры целевого окнаРис. 14. Окно создания шестнадцатеричного файла
Шаг 9.Расширьте цель. Вы увидите Исходную группу. Щелкните правой кнопкой мыши группу и выберите «Добавить файлы в исходную группу».
Рис. 15: Окно добавления файлов
Здесь добавьте файл программы, написанный на языке C. Программный файл добавляется в исходную группу.
Рис. 16: Окно «Параметры построения цели»
Шаг 10. Нажмите «Построить цель». Вы найдете его в разделе «Проект» или на панели инструментов. Это также можно сделать, нажав клавишу F7.
Шаг 11. Статус вашей программы можно увидеть в окне «Вывод сборки». Если да, то вы закончили работу с программой.
Пармарти Канакараджа — доцент Инженерно-технологического колледжа Уша Рама, Андхра-Прадеш
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба