Site Loader

Термостат-Вольтметр для авто / Хабр

Ganch36

DIY или Сделай сам Автомобильные гаджеты Электроника для начинающих

Привет! Сегодня я предоставляю вашему вниманию термостат+ вольтметр для авто. У меня на авто ЗАЗ 1102 вечно ломается кран и я решил сделать вот такой термостат который будет включать электроклапан, но чтоб задействовать ми контроллер как-то еще, я решил добавить вольтметр.

И так начнем. Так-как это моя первая самоделка на LCD, то я немного расскажу как я начинал учить язык программирования.
Начинал я изучать язык СИ так как и все, с самого простого, миганием светодиодов ну и различные простенькие схемы, но я все ровно не мог понять как написать что-то серьезное в итоге я решил начать с более менее сложного устройства и тем самым собрать себе термостат+вольтметр на автомобиль, после двух недель мучения я наконец-то понял как это все работает и что такое программирование.


Поэтому для меня, как оказалось, лучше начинать изучать с более менее сложных устройств, теперь я хоть начал понимать о чем идет речь, но еще по прежнему слабый в этом деле. Как показала практика (лично для меня), то лучше начинать с тяжелого, а легкое само прейдёт. Может кому-то из начинающих эта статья поможет.
Пишу я в программе Codevisionavr, в этой программе есть готовые библиотеки и начальные термины в общем начинать в ней легче.

Пожалуй хватит обо мне пора начать рассматривать моё устройство, вот принципиальная схема.

Вот такая получилась у меня простенькая схема и проще как мне кажется уже некуда, самый главный здесь ми контроллер ATmega8 к которому подключен LCD дисплей 1602, что означает 16 символов и 2 ряда.

Резистор R1 служит для точной настройки выводимого напряжения на дисплей, а резистор R2 для настройки контрастности дисплея.
Дальше все просто три тактовые кнопки S1 S2 S3 для установки и сохранения температуры, рядом у нас установлен температурный датчик Даллас DS18B20 с подтягивающим резистором R3 в 4,7k.
Теперь мы рассмотрим питание самой схемы, для нормальной работы нам нужно подать на схему 5 вольт и не в коем случае больше, а то наш ми контроллер с дисплеем и температурным датчиком выйдут из строя, а как нам известно, мы это устройство будем использовать в автомобиле, а там 12 вольт.
Для этого я поставил всем известную кренку L7805, параллельно входу поставил конденсатор C2 ёмкостью в 0,047 мкФ и на выходе в 0,1 мкФ также на выходе стоит электролит ёмкостью в 1000 мкФ, после всего этого мы получаем стабилизированное питание 5 вольт.
Дальше рассмотрим узел управления эл.клапаном. Наш ми контроллер подает 5 вольт на опто-транзистор, но через ограничивающий резистор R4 после чего наш оптрон открывается и питание идет на затвор полевого транзистора VT1, полевик открывается и на наш эл. клапан подается полноценные 12 вольт. Резистор R5 служит для разряда затвора VT1 в тот момент когда оптрон закрылся, а диод VD1 служит для защиты полевого транзистора от всплесков.

И вот что получилось. Передняя часть.

И задняя часть.

Небольшое видео по работе данного устройства

На этом буду заканчивать, если где-то ошибки, прошу прощения. Всем пока и удачи!!!

Теги:

  • термостат+вольтметр для авто
  • ATmega8 термостат+вольтметр
  • ATmega8
  • авто термостат
  • вольтметр своими руками

Хабы:

  • DIY или Сделай сам
  • Автомобильные гаджеты
  • Электроника для начинающих

Всего голосов 21: ↑11 и ↓10 +1

Просмотры

8.9K

Комментарии 22

Владимир Кальченко @Ganch36

Пользователь

Комментарии Комментарии 22

Указатель топлива, температуры на ATMega8 + Часы | Радиолюбитель

Опубликовано автором Moldik

228 просмотров

После публикации статьи “Термометр+вольтметр с системой предупреждений для АВТО”, было много вопросов и обсуждения схемы, и было упоминание другой схемы, которая всех так заинтересовала, я ее нашел на просторах “незыблемого” интернета. Автор этой схемы Александр Богданов, автор прошивки «Soir». И эту схему с описанием автора я приведу ниже, на себя я взял труд только перевести текст с Украинского на Русский.

Прибор под названием «Измеритель температуры охлаждающей жидкости с термостатом + измеритель уровня топлива в баке» или «Термометр – бакометр». Два устройства на одном Микроконтроллере ATMega8. Автор прошивок исходных кодов никому не дает и не продает!!!
Все настройки устройства выведены в меню устройства – и это облегчает его настройку.
Для отключения зависимости показаний бакомера от плавающего напряжения бортовой сети, было решено подключить датчик через стабилизатор 5В (78M05).

Предупреждения:
Устройство не рассчитано на подключение паралельно со стандартным датчиком!
Для исключения влияния “плескания” топлива в баке на показания, введена функция усреднения показаний. Велечина усреднения доступна в настройках.

реклама

Что у нас есть:

1. Функции:

Термометр:
Диапазон измерения температур -55÷ 125°С. Дискретность измерения 1°С. При достижении заданной температуры подается команда на включение реле. Когда температура снижается на 3°С ниже заданной , реле отключается. Если температура достигает 100°С показания температуры начинают мигать с частотой 1Гц. В случае ошибки датчика индикатор выводит прочерки, реле отключается.

реклама

Измерение уровня топлива:
Диапазон измерений 0-90 литров. Дискретность 1 литр.
Настройка показаний уровня при заливке топлива и возможность ручной корректировки показаний. Точки калибровки пользователь расставляет на свое усмотрение в процессе калибровки.

Последняя точка означает емкость бака, т.е. максимальный литраж. Как в действительности датчик в баке (растет напряжение при уменьшении при уменьшении топлива в баке или падает) – не имеет значения. Не требуется смена прошивки для разных баков и разных типов поплавков. Если уровень топлива снижается до 5 литров – начинает мигать символ “L”.

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

2. Настройка.

2.1. При включении питания устройства – устройство находится в основном режиме. После тестирования индикатора и заставки на индикатор выводится температура и уровень топлива.

2.2. Нажатием на кнопку SELECT Производится выбор параметра для настройки. И по очереди доступны для установки:
– температура включения реле. В старшем разряде символ “t” Диапазон установки 50÷ 99°С. По умолчанию 90°С;
– величина усреднения показаний уровня топлива. В старшем разряде символ “r”. Диапазон установки 0÷ 99 (чем больше значение, тем больше усреднение) По умолчанию 10;
– яркость индикатора при включении габаритов. В старшем разряде символ “b”. Диапазон установки 1÷ 99. По умолчанию 50.
2.2.1. Настройки запишутся в память через 5 секунд после последнего нажатия кнопки.

3. Режим калибровки показаний уровня топлива.
Предусмотрено 2 режима калибровки.
3.1. Калибровка заливкой топлива.
– перед подачей питания нажать и удерживать кнопки SELECT и MINUS. После тестирования индикатор будет выводить символы “rSt” – все предыдущие настройки будут стерты. (в рошивке присутствуют настройки “От Фонаря”, для теста!). После отпускания кнопки устройство перейдет в режим калибровки. На индикаторе термометра отображается установленный уровень. На индикаторе бакомера, напряжение с датчика бака.
– залить известное количество топлива (дискретность 1 литр). Кнопками PLUS/MINUS установить на индикаторе уровень в литрах.
– коротко нажать на кнопку SELECT – подтверждение настроек.
На индикаторе будет выведено символы “rEc”.
– долить топлива, установить уровень, нажать SELECT… операцию повторить до полного бака.
– нажать и удерживать кнопку SELECT не менее 5 секунд, пока устройство не перейдет в основной режим. Настройки запишутся в память. Если какие-то точки настройки были пропущены – программа сделает расчет, исходя из допущний, что между 2 точками зависимость линейна.
3.2. ручная калибровка.
– в основном режиме нажать и удерживать кнопку SELECT не менее 5 сек, пока устройство не перейдет в режим калибровки уровня. Отображение как и во время предыдущей настройки. только теперь на индикаторе бакомера отобразится записанное напряжение для данного уровня.
– кнопками PLUS/MINUS выбрать нужный уровень.
– коротким нажатием на кнопку SELECT перейти на индикатор бакомера. Показания напряжения будут мигать.
– кнопками PLUS/MINUS отредактировать данные.
– короткое нажатие на кнопку SELECT переход на выбор уровня.
– выход из режима настройки длинным нажатием на кнопку SELECT (более 5 сек. ). измененные данные запишутся в память.


Что бы заполнить свободное пространство, добавлены часы. Собрав на макетке схему часов с термометром на ATTiny2313 и поэкспериментировав с прошивками с помощью уважаемого “Soir” был сделан вывод, что термометр не нужен. Были сделаны часы с чипом реального времени, автономным питанием сменой яркости при включении габаритов.

Описание работы часов.

Формат отображения 24 часа.
Незначащий 0 в часах не отображается.
Суточная коррекция ±25 с.
Управление яркостью, при подаче +12В (габариты включены), яркость индикатора уменьшается.
Настройка

Нажатие кнопки ENTER – вход в настройки.
Настраиваемый параметр мигает.
При удержании нажатыми кнопок PLUS/MINUS происходит экспресс настройка.
Параметры выбираются по кругу, нажатием на кнопку ENTER.
– минуты;
– часы;
– секунды. Кнопкой PLUS или MINUS секунды сбрасываются в 0;
– величина суточной коррекции времени. В старшем разряде символ ”c”. Диапазон установки ±25 с. По умолчанию 0 сек.
– яркость индикатора при замкнутом ключе LIGHT. В старшем разряде символ ” b”. Диапазон установки 0 ÷ 99%. По умолчанию 50%.
– основной режим отображение времени.
Через 10 сек после последнего нажатия на кнопки параметры записываются в память часы переходят в основной режим.

В архиве схема и прошивка для общего катода и общего анода, катоду, папка с платами от Владимира Зямзина для ВАЗ2109 та OPEL Vectra,

Несколько фотографий плат готового устройства (все есть в архиве с платами и прошивками) и видео автора как оно работает.

Поделится

В авто

авто

Простейший цифровой вольтметр с АРН

Простейший цифровой вольтметр с АРН

Это, наверное, самый простой из возможных цифровых вольтметров с микроконтроллером Atmel AVR. Схема управляется микропроцессором IO1 — Atmel AVR ATmega8 (ATmega8, ATmega8L), программа для загрузки и установки конфигурационных битов находится ниже. (ATmega8 может показаться слишком «большим», но был выбран потому, что это один из наиболее часто используемых AVR. и его часто можно найти в ящике стола.) Для отображения значения используется трехразрядный семисегментный светодиодный дисплей. Катоды подключены к порту D, аноды к младшим 3 битам порта B. Использование сверхъяркого дисплея позволяет опустить текущий усилительные транзисторы. Дисплей управляется мультиплексированием (матрично) и подключается обычным мультиплексным способом. Я использовал трехразрядный желтый индикатор Т-5631БУЙ-11 со светимостью 150-200 мкд. Резисторы с R1 по R8 определяют ток на дисплее и, следовательно, его яркость. Они выбраны не для превышен максимальный выходной ток (40 мА) даже при одновременном горении всех 8 светодиодов. В схеме используется несимметричный 10-разрядный АЦП (аналогово-цифровой преобразователь) в AVR. Выходные значения варьируются от 0 до 1023, а потому не стоит добавлять четвертую цифру для узкого диапазона 1000 — 1023 диапазон ограничен 0 — 999. При более высоком значении появится символ «—«. Диапазон вольтметра соответствует входному напряжению 2,5 В. Вход подключается через делитель 1/4, состоящий из R9, R10 и P1, обеспечивающий диапазон 10В с разрешением до 0,01В. Входное сопротивление составляет примерно 1 МОм. (Если вам нужен диапазон 100 В, измените значение R10 на 9M1, а P1 на 2M2. Тогда у вас будет Диапазон 100 В с разрешением 0,1 В и входным сопротивлением около 10 МОм.) Калибровка вольтметра производится по известному напряжению установкой подстроечного резистора Р1. Перемычки DP1 и DP2 могут использоваться для подсветки десятичных точек. DP1 загорается десятичной точкой после первого числа (0,00), DP2 загорается точкой после второго числа (00,0). Частота обновления вольтметра составляет около 4 Гц. IO1 использует внутренний RC-генератор с частотой 1 МГц. Схема питается от источника около 5В. Потребляемый ток около 25 мА (большую часть потребляет светодиодный дисплей). Разместите C1 и C2 как можно ближе к АРН IO1. Измеритель может быть полезен в качестве усовершенствования лабораторного блока питания, указателя напряжения бортового напряжения автомобиля, напряжения питания ПК, напряжения аккумулятора в ИБП и т.д. Напряжение питания 5 В можно получить с помощью простого источника питания, например, с помощью интегральной схемы 7805. Используйте соответствующий предохранитель на входе питания.
Программа для бесплатного скачивания:
исходный код на ассемблере (ASM)
скомпилированный HEX файл (298 байт)
Как записать программу в AVR описано здесь .

Я могу выслать вам запрограммированный микроконтроллер. Для дополнительной информации щелкните здесь.



Принципиальная схема простейшего цифрового вольтметра с AVR ATmega8.


Установка битов конфигурации.


Проверка вольтметра на ATmega8.

Добавлено: 27. 06.2012
дом

Вольтметр на базе Atmeag8/AVR | Embedded System Desgin

Учебное пособие для вольтметра на базе Atmeag8/AVR

                            I t измеряет напряжение переменного тока и показывает показания в среднеквадратичном значении.

Основы сигнала переменного тока

Сигнал переменного тока, амплитуда которого изменяется во времени. В Индии частота переменного тока составляет 50 Гц.

Затем период времени один полный цикл ,

T = 1/частота

T = 1/50 Гц = 0,002 секунды

= 20Milli. для полупериода

Существует множество методов цифрового измерения напряжения переменного тока

мы можем найти среднеквадратичное значение, умножив пиковое напряжение на 0,707.

   Vrms = пиковое напряжение * 0,707 .

Приблизительно Indian Line AC Пиковое напряжение составляет 325 В.

  Пример : 

                 325 В *0,707 = 229,775 В      .

Но микроконтроллер мог воспринимать только до 5 вольт, а также не мог воспринимать отрицательные значения

, поэтому мы не можем подать на него 230 вольт напрямую.

Это можно исправить с помощью понижающего трансформатора, преимуществом которого является безопасность.

Напряжение переменного тока можно уменьшить до комфортного диапазона с помощью трансформатора. (т.е. от 0 до 5 вольт постоянного тока)

сделайте расчет как ,

 делитель напряжения даст 5 вольт, когда Vrms 230v. [ будет подробнее по пути ].


Выход двухполупериодного выпрямителя подается на АЦП микроконтроллера. Затем выполните соответствующее кодирование.

Микроконтроллер Секция

Я использую здесь Amega8.

нам нужно повторно измерить только один полупериод, потому что волны повторяются

Основы

Я выбрал , частота F_cpu — это внутренний RC-генератор 8 МГц.

АЦП Atmega8 использует Prescalar [редуктор частоты или делитель на 2, 4 и т. д.]

Предварительная шкала АЦП Atmega Предварительная шкала находится в диапазоне от 50 кГц до 200 кГц

Время преобразования АЦП

составляет от 13 до 260 мкс.

Частота АЦП = F_cpu / Предделитель

                         = 800 000 Гц  / 8

  

                        = 62,5 кГц

При высокой частоте преобразование АЦП будет быстрым, а при более низкой частоте преобразование будет более точным.

Расчет времени преобразования АЦП

Время преобразования = 1/частота АЦП

                           = 1/62500 

                           = 0,000016 Секунда

                           = 0,016 миллисекунды

                           = 16 микросекунд. [При 62,500 кГц]

Таким образом, на один цикл преобразования потребуется 16 микросекунд при частоте 62,5 кГц.

Для одного преобразования требуется 13 циклов АЦП

т. е.

    13 * 16 микросекунд = 230 микросекунд [приблизительно]

                                      = 230 us.

Полуволна имеет продолжительность 10 миллисекунд [100000 микросекунд].

Доступное время преобразования:

                                      =  Общий период времени для полупериода/одно время преобразования АЦП  

                                                

                                      = 10000 микросекунд / 230 микросекунд

                 

                                      = 43,4 выборки [за один полупериод, т.е. 10 миллисекунд]

                                                 

    Изображение показывает только 7 выборок за полупериод. В нашем случае это 43

И снова уменьшил выборку до 40 .

расчет Vpeak

 Выбирает наибольшее значение Vpeak из 40 образцов.

Vrms = Vпик * .707

******************************************* ****************************************

Расчет размера шага АЦП Atmega8

Atmega8 использует последовательную аппроксимацию adc,

АЦП Atmega8 представляет собой 10-битный /[т.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *