Цифровой реобас с автоматической регулировкой оборотов.
реклама
Вот что у мну получилось:
К виду с обратной стороны предъявлялись уже не сильно жёсткие требования.
И так эта хреновина умеет общается с двумя цифровыми датчиками температуры DS18B20, мерить напряжение по линиям напряжения +12 В и +5 В, управлять оборотами двух вентиляторов с максимальным током нагрузки 0,5А и все это показывает на двух трехзначных светодиодных индикаторах. Девайс построен на основе относительно дешевого микроконтроллера ATmega 8, индикация динамическая без всяких изысков, индикаторы повешены прям на порты процессора через небольшие ограничительные резисторы, хотя это может показаться варварством но процессор себя вполне нормально чувствует . Управление вентиляторами импульсное, в качестве драйверов используется сборка из двух Р-канальных полевых транзисторов IR7342 которые тоже подключаются через емкостной преобразователь уровня напрямую к портам контролера . Напряжение с линий +12 В и +5 В подаются через делители напряжения из постоянных резисторов на входы АЦП контролера. Управлять устройством можно с помощью трех кнопок S1 - “+”, S2 - “Select” и S3 – “-”.
С помощью центральной кнопки “Select” переключаются режимы роботы устройства, термометр, вольтметр и настройка оборотов вентиляторов в циклическом порядке, железяка реагирует на нажатие кнопок больше чем 0,5 С, если кнопки зажимать то переключение идет автоматически.
И так подробно о режимах роботы
- Двухканальный термометр, температура отображается в целых градусах в диапазоне 0-99 градусов Цельсия. Если датчик отсутствует, то отображаются вместо температуры прочерки.
- Двухканальный вольтметр отображаются напряжение +12 В и +5 В с точность 0,1 В.
- В режиме настройки оборотов вентиляторов можно кнопками “+” и “-” изменять напряжение на выходах регуляторов, при этом отображается состояние ШИМа на на выходе и номер канала. Запись значений ШИМ в флэш-память происходит при нажатии кнопки “Select”, после этого устройство переключается на режим управления оборотами второго вентилятора, когда все настроено еще раз нажимаем “Select” и переходи в режим измерения температуры.
Предусмотрена еще и автоматическая регулировка оборотов в зависимости от температуры одного из термо-датчиков, для этого нужно одновременно нажать две кнопки “+” и “-”.
Буква А значит что режим автоматический, дальше идет номер канала потом цифра показывающая режим: 0 – ручной режим; 1 – регулировка по значениям первого термо-датчика ; 2 – регулировка по значениям второго термо-датчика. Эти режимы переключаются циклически при одновременном нажатии на кнопки “+” и “-”, этими кнопками по отдельности происходит регулировка пороговой температуры (две последние цифры). В автоматическом режиме управлением оборотами вентилятора, обороты остаются фиксированными, которые были выставлены в ручном режиме и записаны в флэш-память, при превышении температуры термо-датчика порогового значения, берется разность текущей температуры и порогового значения, умножается на 4 и полученое значение добавляется к фиксированному значению ШИМа, таким образом регулировкой начального значения ШИМа и пороговой температурой можно довольно гибко настраивать диапазон регулировок оборотов. Если что-то случится с термо-датчиком и устройство потеряет с ним связь то сразу выставится максимальный ШИМ. Для того чтобы сохранить режим роботы и значение пороговой температуры нужно нажать на кнопку “Select”, мы вернемся снова в режим регулировки оборотов вентилятора. Если выставить автоматический режим то вместо буквы “n” будет отображаться буква “A” и текущее значение шима в зависимости от температуры, при нажатии на кнопку “Select” переходим в следующий режим работы устройства но значение ШИМа не сохраняется в флэш-память.
Теперь о прошивке контролера и калибровке вольтметра. Прошить можно с помощью любого программатора который поддерживает внутрисхемное программирование, например программой Uniprof , еще нужно выставить в FUSE битах частоту работы 8 МГц для внутреннего РС- генератора. Как это сделать можно прочитать здесь /blog/deep сама прошивка здесь http://cp.people.overclockers.ru/cgi-bin/dl.pl?id=26887&filename=HEX.rar. Для калибровки вольтметра нужно подключить мультиметр на нужную линию питания и вручную отредактировать один из двух первых байт в файле EE_control_panel.hex, первый байт делитель для +12 В второй для +5 В. Это можно сделать прямо в окне программы Uniprof , потом зашиваем программу с новыми значениями и смотрим чтобы значения вольтметра соответствовали показаниям мультиметра.
Теперь немного фото системника и девайса в роботе:
Всем удачных эксперементов и если что я не виноват
Критикуем тута: https://forums.overclockers.ru/viewtopic.php?p=4679226#4679226
Обсуждение технических моментов здесь: http://forum.xtremeukraine.net/viewtopic.php?t=983&start=0
deep (deep_zz)
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают