Главная arrow Проекты arrow По группам arrow Микроконтроллеры arrow Бриз в квартире  
14.10.2024 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Бриз в квартире Печать E-mail
Рейтинг: / 6
ХудшаяЛучшая 
Автор ARV   
24.06.2010 г.

БризЛето в разгаре... Жара... Пот льёт градом...

Кто-то спасается под кондиционером, кто-то под сплит-системой, а кому-то приходится париться без этих средств комфорта. Но не беда! Вентилятор ведь доступен каждому! На рынке и в магазинах сейчас полно моделей напольных и настольных вентиляторов, как правило, с тремя дискретно переключаемыми скоростями. И все бы хорошо, но уж больно утомительно однообразно они дуют, причем на большой скорости часто слишком сильно, а на малой - слишком слабо. И, главное, велик соблазн уснуть под струями вентилятора, а наутро встать с насморком или чем еще похуже...

Радиолюбитель (он же электронщик) не может спать спокойно под опасным ветром от непокорного ветродуя, а посему должен модифицировать свой вентилятор, обеспечив небывалый комфорт и удобство.

 

 

 

 

Предлагается несложная схема на микроконтроллере attiny13, которая придаст вашему вентилятору новые функции:

  • Три программы вращения вентилятора:
    1. Спокойный бриз
    2. Слабый ветерок
    3. Интенсивный бриз
  • Таймер автоотключения через 30 минут
  • Управление функциями одной кнопкой
  • Индикация всех режимов при помощи пары светододов

Принципиальная схема
Принципиальная схема устройства
 

Принципиальная схема показана на рисунке. К компонентам не предъявляется никаких особых требований, кроме балластного конденсатора: он обязательно должен быть не менее чем на 450 вольт, желательно пленочным. Симистор BT-136-600, BTA12-600 и т.п. с допустимым током не менее 5 ампер и рабочим напряжением не менее 400 вольт. Из опыта работы с отечественными симисторами рекомендовать КУ208 не стану. Резистор R1 можно уменьшить, снизив и его мощность. Светодиоды желательно использовать суперяркие, т.к. с целью снижения потребляемой мощности ток через них выбран весьма небольшим. Кнопка должна быть с хорошей изоляцией толкателя.

Микроконтроллер выполняет функцию фазового регулятора напряжения. На вход внешнего запроса прерывания INT0 подается сетевое напряжение, используемое для синхронизации с переходом через ноль, необходимой для работы фазового регулятора. Разумеется, использование фазового регулятора для управления асинхронным моторчиком вентилятора не может обеспечить приличного регулирования оборотов, но для наших целей результат удовлетворительный.

Изменение фазы осуществляется, как было сказано, по трем разным программам. Сразу после подачи питания вентилятор выключен. Наджатие на кнопку включает первую программу, второе нажатие - включает вторую программу, а третье - последнюю. Следующее нажатие выключает вентилятор.

Спокойный бриз - светится HL2: вентилятор начинает вращаться на минимальных оборотах, затем плавно увеличивает скорость до некоторого максимума, после чего резко снижает их опять до минимума и процесс повторяется. Цикл занимает ориентировочно около 20 секунд.

Слабый ветерок - светится HL1: вентилятор постоянно вращается на минимальных оборотах.

Интенсивный бриз - светятся оба светодиода HL1 и HL2: вентилятор каждые 5-10 секунд меняет скорость вращения случайным образом от минимума до максимума.

В любой момент можно включить таймер автоотключения через 30 минут. Это делается нажатием и удержанием кнопки до тех пор, пока светодиод (или светодиоды) не начнут мигать с частотой 0,5 Гц (т.е. 1 раз в 2 секунды). Как только светодиод мигнул - надо отпустить кнопку. Мигание будет продолжаться до тех пор, пока не будет переключена программа работы вентилятора или не истечет интервал в 30 минут. Таймер автоотключения убережет вас от простуды, если вы случайно уснете под вентилятором.

Кстати, можно выключить вентилятор и без того, чтобы "пройтись" по всем программам: для этого надо нажать и держать кнопку не менее 6 секунд - в этом случае оперативно устройство отключит вентилятор.

В сущности, на этом описание устройства для любителей повторять конструкции можно и закончить. Схема есть, прошивка доступна для скачивания из файлового архива. При программировании микроконтроллера обязательно выключить делитель тактовой частоты на 8 (фьюз CKDIV8=1), а тактовый генератор настроить на 9,6 МГц (фьюзы CKSEL=10). При сборке и эксплуатации следует помнить, что все элементы устройства находятся под потенциалом сети! Соблюдайте осторожность! Печатная плата не разрабатывалась, но, надеюсь, это не будет проблемой для настоящего рукодельника.

А вот для любителей поковыряться в исходном коде (который так же доступен для скачивания) рассказ продолжается. Исходный текст подробно прокомментирован, но на всякий случай обращу внимание на некоторые моменты.

Основная работа ведется по прерываниям: внешний запрос INT0 срабатывает в моменты, когда синусоида сетевого напряжения пересекает ноль. В этот момент запускается единственный таймер attiny13, который настроен таким образом. чтобы генерировать прерывания 256 раз в течение полупериода, формируя, таким образом, шаги для изменения фазы отпирания симистора. Так как INT0 генерируется 100 раз в секунду, то это используется и для счета времени для таймера автоотключения.

По прерыванию от таймера ведется организация фазового регулятора. Принцип ее очень прост и напоминает принцип программного ШИМ: переменная counter инкрементируется каждый раз при возникновении прерывания, после чего ее значение сравнивается с переменной phase, определяющей условное значение момента отпирания симистора. Если phase содержит ноль - это соответствует открыванию симистора в начале полупериода, а если 254 - в конце. Значение 255 означает, что симистор никогда не откроется.

 

В основном цикле всего-навсего нужно периодически изменять значение переменной phase и это приведет к изменению скорости вращения вентилятора. Для этого используется функция

uint8_t do_breeze(uint8_t first, uint8_t steps)

Первый ее параметр есть значение устанавливаемой фазы, а второе - число отрезков времени по 100 миллисекунд, в течение которых эта самая фаза будет действовать. Внутри этой функции ведется контроль нажатия кнопки: если во время работы функции было нажатие кнопки, то функция завершается и возвращает ноль, а если же за отведенное время нажатия кнопки не было - функция возвращает 1. Таким образом всегда можно знать, по какой причине произошло завершение функции.

Кому-то построение программы из большого числа функций может показаться слишком сложным и громоздким, но это не так. Во-первых, если анализировать работу программы не с начала файла, а с функции main, то понять весь алгоритм очень просто: достаточно лишь внимательно читать названия функций. Разобраться с тем, что делает каждая функция так же просто - снова читаем названия функций и алгоритм прорисовывается наглядно. При этом все функции объявлены статическими (static), то есть оптимизатор компилятора волен поступать с ними как угодно для получения компактного кода, что он и делает: вся программа занимает менее 70% небольшой памяти микроконтроллера, так что еще остается простор для фантазии при модернизации программы.

Подопытный вентилятор
Подопытный вентилятор
Метка
Шильдик
Стоит еще обратить внимание на то,  что значение фазы задается дискретно - из массива stepping[]. В этом массиве хранятся константы, экспериментально подобранные для типичного трехскоростного вентилятора с лопастями 450 мм. Дело в том, что реакция асинхронного мотора на фазовое регулирование напряжения весьма специфичная: примерно до половины полупериода скорость вращения почти не меняется и близка к максимальной, затем примерно до начала последней четверти полупериода скорость вращения резко падает, и при фазе большей, чем последние 30% полупериода, вентилатор не вращается вовсе. Возможно, для вашего вентилятора придется подобрать значения в этом массиве...

И последнее замечание. Третья программа бриза изменяет скорость случайным образом. Разумеется, случайность тут не совсем случайная, а довольно закономерная: в качестве случайной последовательности используются байты из памяти программ микроконтроллера. То есть коды прошивки и есть те самые байты - только обрезанные до допустимых значнеий. В данном случае, как и во многих других, такая псевдослучайная последовательность вполне приемлема. Велик соблазн использовать функцию rand(), однако объем занимаемой ею памяти не позволяет втиснуться в тини13.

Надеюсь, как исходник, так и сам прибор понравится и даст пищу для размышлений всем интересующимсяч микроконтроллерными устройствами. Думаю, что вы легко придумаете, как модифицировать программу, чтобы получить новые устройства, работающие по принципу фазового регулирования переменного напряжения.

P.S. Данный проект был бы невозможен без моего товарища по интернету, который пожелал остаться неизвестным (скажу только , что его имя начинается на Анд, а заканчивается на рей) именно он предложил идею такого бриз-вентилятора, предоставил схему и фотографии, а так же тщательно протестировал ее на собственноручно собранном образце устройства, пожертвовав своим временем и вентилятором. Кстати, при экспериментах ни один вентилятор не пострадал.

Скачать иходник и готовую прошивку
Обсудить материал на форуме. (14 сообщений)

 


Добавить в любимые (2) | Просмотров: 51718

  Коментарии (8)
 1 Написал(а) вася пупкин, в 23:43 24.06.2010
забыли прошивку выложить
 2 Написал(а) ARV, в 08:18 25.06.2010
не забыл - это был сбой сервера и автоматически восстановилась копия статьи, которая была еще не до конца готова. сейчас я поправил все - скачивайте на здоровье :)
 3 Написал(а) вася пупкин, в 09:22 25.06.2010
спасибо
 4 Написал(а) Юрий, в 19:50 02.07.2010
улёт. есть контроллёр есть симистр. а я до такого недадумался. вертушка так тупо и крутится. нужно сделать експиримент. только електромагнит воткнуть сзади чтоб поворотник отключался ещё на какоето время.
 5 Написал(а) Сергей, в 06:00 30.04.2011
не могу скачать прошивку для устройства "Бриз в квартире" (недоступен файловый архив), кто-нибудь сбросьте, пожалуйста, прошивку на адрес Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script Заранее благодарен.
 6 Написал(а) ARV, в 15:03 30.04.2011
возникла проблема с хостингом, извините. похоже, придется восстанвливать базу. наберитесь терпения и понимания. спасибо.
 7 Написал(а) Сергей, в 10:20 05.05.2011
Спасибо за устройство. Работает прекрасно.
 8 Написал(а) Геннадий, в 11:06 16.06.2011
Собрал данную схему-заработала с первого раза.

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.

 
« Пред.   След. »
Полезные материалы по сходным темам
BannerFans.com