Делать самому имеет смысл только то, что не выпускается серийно промышленностью, или лучше серийных образцов.  
     
Четырехканальный реобас. Практическая реализация.

Давным-давно, 4 ноября 2004 на форуме modding.ru некто V!R предложил: "Давайте соберем умы и сделаем одно устройство Супер "Реобас". Тема жила, были периоды бурного обсуждения, затишья, иногда казалось, что тема уже мертва. Но, периодически, ее вновь оживляли новые посетители форума. Неизменным оставалось только одно: практический результат был равен нулю.

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

Вернуться еще раз к этому устройству меня побудило то, что мне для одного проекта понадобилось перейти с микроконтроллеров Microchip, с которыми я уже давно и успешно работал, на микроконтроллеры Atmel. Лучший способ изучения устройства микроконтроллеров - начать делать какой-нибудь практический проект. Тут в очередной раз "ожила" тема реобаса, на нем то я и решил поизучать новый для меня микроконтроллер.

Первоначально планировалось:

  • выполнить реобас на новой элементной базе, упростив схему;
  • в основном сохранить набор функций и управление;
  • добавить 4 канала измерения температуры.

Практическая же разработка внесла коррективы: из-за того, что разработка firmware велась на языке высокого уровня, память микроконтроллера быстро закончилась, поэтому пришлось сначала отказаться от измерения температуры, а потом и от реализации четырех предустановленны настроек работы вентиляторов. Заодно упростилось управление - остались только три кнопки, и лучше стал интерфейс - двухстрочный ЖК индикатор гораздо информативнее 7-сегментного индикатора.

С одной стороны, я сильно разочарован результатом разработки firmware (для реобаса на PIC я писал на ассемблере, и реализация больших возможностей firmware заняла существенно - раза в три - меньше памяти).

C другой стороны, я понимаю, что это плата за простоту и скорость программирования, а на ассемблере, начав с нуля, за пару недель я бы ничего такого сделать не успел.

Итак, что получилось в результате:

  • 4 канала регулирования;
  • регулировка выходного напряжения от 0 до практически 12 В ступеньками, 128 ступенек регулировки;
  • регулятор выполнен по схеме ШИМ, поэтому в нем ничего не греется (по крайней мере так, чтобы было нужно ставить радиаторы);
  • частота ШИМ 31250 Гц - ультразвуковой диапазон - поэтому работает бесшумно, никаких щелчков нет;
  • после включения реобаса (компьютера) в течение 10 секунд происходит раскрутка вентиляторов на максимальном напряжении (12 вольт), одновременно происходит замер максимальной скорости вращения крыльчаток вентиляторов;
  • после раскрутки напряжение в каналах устанавливается таким, каким оно было при последней регулировке и реобас переходит в рабочий режим;
  • измерения скорости вращения крыльчаток вентиляторов происходит циклически, через 2 секунды выбирается очередной канал, измеряется скорость, результаты измерения выводятся на экран в виде абсолютного значения (в оборотах в минуту) и в виде процента от максимальной скорости;
  • если крыльчатка стоит (нет тахосигнала), выводится сообщение об аварии на индикатор и подается звуковой сигнал (количество "писков" соответствует номеру канала, в котором произошла авария);
  • канал можно выключить, доведя уровень выходного напряжения до 0, при этом он не будет опрашиваться, а на экран выводится сообщение "выключен".

Принципиальная схема реобаса приведена на рисунке 1 (щелкните на картинке, загрузите pdf файл со схемой, там все нормально видно):

 

Рис.1 Принципиальная схема реобаса.
(© 2007 г. ATLab )

Как видно, схема стала существенно проще по сравнению с предыдущим вариантом. Не думаю, что еще одна переделка позволит сделать реобас на 2 резисторах :).

Некоторые пояснения к схеме:

  • микроконтроллер DD1 формирует 4 ШИМ сигнала для управления P-канальными MOSFET ключами DA1, DA2;
  • для тактирования микроконтроллера использован внутренний генератор 8 МГц, это позволило освободить пару выводов (для возможного в дальнейшем подключения датчиков температуры) и удешевить схему;
  • информация о работе каналов регулирования выводится на двухстрочный ЖК индикатор HL1, информация в индикатор передается по четырехбитной шине;
  • кнопки S1-S3 управляют работой реобаса, конденсаторы С2-С4, включенные параллельно кнопкам, предназначены для подавления дребезга, используются внутренние подтягивающие резисторы на выводах микроконтроллера, к которым подключены кнопки;
  • цепочка R9,C5 и внутренний подтягивающий резистор микроконтроллера выполняют функцию согласования уровней напряжения и, одновременно, функцию фильтра низкой частоты, подавляющего до определенной степени короткие импульсные помехи в тахосигнале вентилятора;
  • для облегчения поиска радиоэлементов, согласование уровней напряжения микроконтроллера и MOSFET ключей выполнено иначе, чем в предыдущей схеме: вместо микросхемы согласования уровней 74F07, использована другая схема питания (стабилизатор отрицательного напряжения DA3), в результате чего выводы Vcc микроконтроллера и Vdd индикатора подключены к напряжению +12 В, а выводы GND микроконтроллера и Vss индикатора подключены к напряжению +7 В (выходу стабилизатора DA3). Напряжения приведены по отношению к общему проводу (корпусу) питания компьютера.

Такое решение помимо плюсов (стабилизатор 79L05 найти существенно проще, чем 74F07), имеет и отрицательную сторону: печатную плату и особенно индикатор нужно крепить так, чтобы не было контакта никаких их токоведущих частей (проводников, площадок, рамки индикатора и т.п.) с корпусом компьютера!

Перечень элементов:

  • BF1 - пьезозвонок ЗП-18, можно поставить любой другой;
  • С1, С13, С14, С15, С16, С17, С18 - конденсаторы 0,1 мкФ (100 нФ), керамические, на напряжение не менее 16 В
  • С2, С3, С4 - конденсаторы 0,01 мкФ (10 нФ), керамические, на напряжение не менее 16 В;
  • С5, С6, С7, С8 - конденсаторы 1000 пФ (1 нФ), керамические, на напряжение не менее 16 В;
  • С1, С6, С7, С8 - конденсаторы 1000 пФ (1 нФ), керамические, на напряжение не менее 16 В;
  • С9, С10, С11, С12 - конденсаторы 200 мкФ (100 мкФ), электролитические, на напряжение не менее 16 В;
  • С19, С20 - конденсаторы 10 мкФ, электролитические, на напряжение не менее 16 В;
  • DD1 - , микроконтроллер ATMega48-20PU (Atmel);
  • DA1, DA2 - IRF7306 (IR), мощные MOSFET P-канальные ключи;
  • DA3 - 79L05, стабилизатор отрицательного напряжения -5В;
  • FU1 - предохранитель на 1-2 А;
  • HL1 - PC1602LRS-KNH-B-Y4, двухстрочный знакосинтезирующий ЖК индикатор с русской кодовой таблицей, возможна замена на другой индикатор больших размеров;
  • J1 - перемычка (джампер), для отключения звука;
  • L1, L2, L3, L4 - катушки, намотаны на ферритовых кольцах К10*6*4 M2000HH, каждая катушка намотана парой параллельно соединенных проводов ПЭВ-2 0,18 мм, длина проводов 72 см (70 см намотка, по 1 см на вывод), можно взять более толстый провод аналогичного сечения;
  • R1, R3- резисторы 10 кОм, 0,125 Вт или 0,25 Вт;
  • R2 - резистор 39 Ом, 0,125 Вт или 0,25 Вт;
  • R4 - резистор 560 Ом, 0,125 Вт или 0,25 Вт;
  • R5, R6, R7, R8 - резисторы 75 Ом, 0,125 Вт или 0,25 Вт;
  • R9, R10, R11, R12 - резисторы 22 кОм, 0,125 Вт или 0,25 Вт;
  • S1, S2, S3 - кнопки TS-A3PV-130 (TS-A4PV-130);
  • XP1, XP2, XP3, XP4 - разъемы WF3;
  • XP5 - разъем "MOLEX" (я взял с неисправного винчестера).

Управление:

  • S1 - "меньше", уменьшает напряжение на вентиляторе;
  • S2 - "фиксировать", фиксирует текущий канал, слева от надписи "Канал" появляется треугольник, повторное нажатие снимает фиксирование канала, они вновь будут переключаться через 2 секунды;
  • S3 - "больше", увеличивает напряжение на вентиляторе.
  • одновременное нажатие S1+S3 - сброс реобаса, вновь производится раскрутка крыльчаток и измерение максимальной скорости вращения.

Долгое нажатие на кнопку (дольше 1 секунды) включает автоповтор.

Теперь немного о конструкции: я этот вариант, как и предыдущий реобас, собираюсь разместить в отсеке 3,5", поэтому в качестве конструктива я взял старый дисковод 3,5", выбросил всю начинку, отпилил лишние железки и от лицевой пластмассовой панели оставил только рамку:

   

Делаем печатную плату (по лазерно-утюжной технологии), так, чтобы она входила в конструктив:

© 2007 г. ATLab

Монтируем элементы (DA1, DA2 - со стороны проводников!), дроссели L1-L4 крепим на плате термоклеем, припаиваем индикатор:

   

На плате, у разъема подключения питания, установлен плавкий предохранитель в цепи общего провода вентиляторов, его, конечно, можно заменить перемычкой, однако лучше его поставить, чтобы при случайном замыкании выводов 1,2 в разъемах XP1-XP4 не сжечь ключи DA1, DA2. Я поленился сразу его поставить, в результате пришлось заменить сгоревшую микросхему DA2.

Для крепления платы к конструктиву используем 4 винта М3, их нужно взять не слишком длинные - чтобы они не торчали снизу - и, в то же время, чтобы их длины хватило для установки пластмассовых стоечек, приподнимающих плату над конструктивом. Это позволит отцентрировать положение кнопок по вертикали.

   

Индикатор пока (на время первых экспериментов) закрепим термоклеем.

Программирование микроконтроллера:

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

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

Регулировка:

Единственное, что может потребовать регулировки, это настройка контрастности изображения на индикаторе. Для регулировки замените цепочку резисторов R3, R4 на переменный (подстроечный) резистор 10 кОм, крайние выводы переменного резистора подключите к цепям +12 В и +7 В, а средний вывод (ползунок) к выводу 3 индикатора. Добейтесь подходящего изображения, на индикаторе. Отпаяйте резистор от платы. Замерьте сопротивления плеч переменного резистора (от среднего вывода до крайних выводой) и установите постоянные резисторы такого же или близкого номинала.

Больше никакой регулировки реобас не требует.

Приступаем к экспериментам.

Подключаем вентиляторы и питание, в канал 4 вентилятор не включаем:

 

 

Вид экрана при выводе различных сообщений:

 

После включения (или после одновременного нажатия кнопок S1, S2), во время раскрутки.
Индикация скорости в канале в оборотах в минуту и процентах от максимальной скорости.
В канал 4 вентилятор не был подключен, поэтому выводится сигнал об аварии.
Канал можно выключить, для этого нужно уменьшить напряжение до 0.
Для удобства регулировки, канал, в котором идет регулировка можно зафиксировать нажатием кнопки S2

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

Практический совет: нежелательно устанавливать скорость вращения ниже 30% от максимальной, очень многие вентиляторы в этом случае выдают нестабильный тахосигнал.

 

Осталось придумать форму и подсветку кнопок, аккуратно сделать переднюю панель из заглушки. Но этим я займусь уже в мае.

 

Для желающих повторить реобас, прилагаются:

 

Ответы на незаданные вопросы:

  • я программировал микроконтроллер промышленно изготавливаемым программатором от фирмы "Фитон";
  • способ программирования - параллельный;
  • микроконтроллер можно запрограммировать самодельным программатором, схем в Internet достаточно, не поленитесь и найдете;
  • я не пробовал программировать самодельным программатором;
  • у меня нет запаса микроконтроллеров, я купил их десяток для собственных нужд, поэтому не могу выслать микроконтроллеры желающим;
  • если наберется человек 50-100 желающих повторить реобас, можно попробовать обсудить возможность заказа, прошивки и рассылки микроконтроллеров и/или печатных плат.

Как оно выглядит в работе: короткий ролик (897 кбайт).

На этом все. Надеюсь, к жаре успеете :)

P.S. Если кто не знает: pdf файлы читаются бесплатной программой Acrobat Reader, ее можно найти на дисках к журналу "Мир ПК".

Успехов!

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


Hosted by uCoz