Вольтметр амперметр atmega8 lcd: Вольтметр –Амперметр, ATmegа8 – LCD.

Ампервольтметр на atmega8 и lcd

Форум Новые сообщения. Что нового Новые сообщения Недавняя активность. Вход Регистрация. Что нового. Новые сообщения.


Поиск данных по Вашему запросу:

Ампервольтметр на atmega8 и lcd

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам. ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Часы на Atmega8 и LCD продолжение

Вольтметр/амперметр для лабораторного БП


Простой вольтметр-амперметр можно собрать на микроконтроллере Atmega8. Вывод информации осуществляется на символьный LCD дисплей 16×2. В качестве источника внутренного напряжения используется внтуренней опорное напряжение в 2.

АЦП работают с разрядность в 10 бит. Схема Вольтметра-Амперметра на микроконтроллере Atmega8 Вывод информации на дисплей осуществляется следующим образом: Напряжение которое нам нужно померить сначала подается на делитель напряжения, и уже с него подается на вход АЦП ADC1. Делить собран на резисторах с номиналами в кОм и 10 кОм, получается что отношение входного и выходного напряжения 10 к 1.

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

Нужно стремится к уменьшению сопротивлению шунта, чем он меньше тем лучше. Если сопротивление равно 0,1 Ом то при силе тока в 1 Ампера получается падение напряжения в 0,1В. Если у нас ток в 2 А то падение напряжения составит 0,2 В.

Это значение очень мало для того чтобы его подать на вход АЦП микроконтроллера, поэтому его можно устелить при помощи ОУ операционного усилителя.

В нашем примере можно использовать схему неинвертирующего усилителя. В связи с тем что ИОП источник опорного напряжения 2. Шаг измерения тока состовит: 2. Таким образом для того чтобы получить значение тока, нам нужно напряжение измеренное АЦП умножить на 2.

Сначала выбирается канал 1 и снимается напряжения, далее выбирается второй и также снимается напряжение. Измерения каналов происхоид раз, далее вычисляется среднее значение и выводятся на символьный дисплей.

В каком компиляторе написан код? LCD Работает безупречно. Подскажите, как в индикации амперметра переместить запятую на один разряд правее. Как мне кажется ток невозможно измерить на прямую,не случайно во всех измерительных приборах,которы е могут измерить ток, присутствует шунт,поэтому измеряя ток прибором его подключают в разрыв цепи и по падению напряжения во внутреннем шунте прибора измеряется ток.

E-Mail обязательное. Подписаться на уведомления о новых комментариях. Запомнить меня. All Rights Reserved. Запрещено копирование материалов без активной ссылки на этот сайт. CVAVR выдает кучу ошибок. Атмел студия проглотила код и выдала хекс. Обновить список комментариев. Полезные ссылки! Справочные данные. Форма входа. Группа в ВК. Самые читаемые. Последние комментарии. Из личного опыта: Количество витков катушек следует уменьшить.

Максимальная чувствительност ь 15 см Последние материалы. Последнии темы форума. Нет сообщений для показа. Вы здесь: Главная Микроконтроллеры. Desktop Version.


Вольтметр –Амперметр, ATmegа8 – LCD.

Войти Регистрация. Логин: Пароль Забыли? Популярные ICO. Обзор ICO Agrotechfarm: цели, преимущества, токены. Обзор ICO fatcats. Универсальный коммутатор для ноутбуков от Baseus — обзор фото.

БП на LM, мегу и LCD рисовать не стал — все стандартно. Генератор внутренний, 8МГц. Я принципиально не стал ставить шунт и.

Цифровой вольтметр на микроконтроллере

Этот прибор был разработан для измерения выходного напряжения и тока в блоке питания. Для измерения тока используется специальный шунтирующий резистор. Прибор может включать и выключать вентилятор, для обдува радиатора, при достижении определённого тока и напряжения. Уровень тока и напряжения, при котором вентилятор включается можно настроить при помощи специальной кнопки. В списке деталей, приведённом ниже, есть элементы с пометкой «не используется». Их не требуется устанавливать, так как они были необходимы предыдущей версии прибора. Возможно, схема и печатная плата будут исправлены позже.

Вольтметр/амперметр для лабораторного БП

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

Сейчас этот форум просматривают: Google [Bot] и гости: 1.

Вольтметр-амперметр на ATMega8

Логин или эл. Войти или Зарегистрироваться. Авторизация Логин или эл. В ходе размышлений над проектом лабораторного блока питания решил я немного поизучать возможности AVR в качестве измерителя напряжения и тока. Вообще, точные измерения любых величин — дело далеко не простое. Начинается все с резисторов повышенной точности, за ними идут источники опорного напряжения, а там уже и до термокомпенсации недалеко… Ну и хорошо бы иметь заведомо точный измерительный прибор для калибровки нашего изделия.

Микроконтроллеры

Задача: разработаем простой вольт-амперметр со следующими характеристиками:. Величина измеряемого напряжения Величина измеряемого тока Вывод показаний на ЖК дисплей ; 4. Использование операционного усилителя. Для измерения напряжения и тока потребуется 2 канала АЦП, используем каналы ADC0 и ADC1 , к которым соответственно будут подходить сигналы измеряемых тока и напряжения.

Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2). Прибор предназначен для установки в.

Бортовой компьютер (часы, двухканальный термометр, вольтметр на ATmega8 и LCD 16х2)

Ампервольтметр на atmega8 и lcd

Простой вольтметр-амперметр можно собрать на микроконтроллере Atmega8. Вывод информации осуществляется на символьный LCD дисплей 16×2. В качестве источника внутренного напряжения используется внтуренней опорное напряжение в 2.

Цифровой вольтметр-амперметр-ваттметр на AVR для бытовой сети. Делается для себя, но хочется не только некий показометр а-ля китайские барометры, которые показывают хрен знает что, мало зависящее от атмосферного давления , а прибор, на показания которого можно ориентироваться. Схему измерительной части прилагаю. Резистор R2 — многооборотный.

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

Понадобился мне для моего будущего проекта вольтампетрметр с LCD экраном. Под рукой была Mega8. На ней и будем делать. Задача как всегда простая: мерить напряжение и ток. Напряжение будет измеряться до 25 вольт.

Войти через uID. Например: TDA Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!


Вольтметр амперметр на микроконтроллере

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

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

При использовании двухстрочного дисплея (и соответствующего ПО для микроконтроллера) имеется возможность отображения значения сопротивления подключенной нагрузки. А при использовании блока питания для зарядки Li-Pol аккумуляторов имеется функция отображения электрической емкости аккумуляторов, что дает возможность оценить их состояние и уровень разряда.

Внутреннее разрешение вольтамперметра по диапазону измерения тока рассчитывается согласно выражения:

Кроме того, падение напряжения на шунте не должно превышать 2.4 В, поэтому значение сопротивления шунта должно быть меньше 2.4/Imax[A]

Автором было разработано два варианта вольтамперметра:

Принципиальная схема вольтамперметра (вариант №1)

Данные конденсаторы, указанные на схеме,
устанавливать на плату не нужно.
Они были необходимы для прежней версии
ПО для микроконтроллера.

Опционально. Для защиты транзистора
от помехи по напряжению при включении
вентилятора.

Опционально. Для защиты транзистора
от помехи по напряжению при включении
вентилятора.

Регулятор напряжения +5 В

Регулятор напряжения +12 В

N-канальный MOSFET
(ток вентилятора менее 200 мА)

Принципиальная схема вольтамперметра (вариант №2)

Ниже представлена схема подключения модуля в блоке питания.

Рассмотрим подробно процесс настройки вольтамперметра.

Кнопка S1 – сброс/установка параметров.
Для входа в режим установки параметров вольамперметра необходимо, удерживая кнопку нажатой, подать питание на схему. На дисплее появится надпись «www.elfly.pl», что означает вход в режим установки.

Первый параметр для настройки – опорное напряжение для АЦП микроконтроллера. Опорное напряжение является основным фактором погрешности измерений. Пользователь должен измерить опорное напряжение на выводе 20 микроконтроллера (для микроконтроллера в корпусе PDIP – вывод 21). Измеренное значение вы и должны прописать в этом «сервисном меню» при помощи этой же кнопки S1, иначе, по умолчанию, принимается значение опорного напряжения Vref = 2.56 В (соответственно техническому описанию на микроконтроллер).

После изменения значения опорного напряжения для сохранения параметра никаких манипуляций с кнопкой S1не должно проводится в течении 5 с.

Следующий параметр – установка значения сопротивления резистора-шунта.
Если номинал шунта известен, то нажатиями на кнопку S1 необходимо добиться отображения на дисплее соответствующего значения и затем не нажимать кнопку в течении 5 с для сохранения значения.

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

После проведения этой процедуры для сохранения параметров кнопку не нажимать в течении 5 с.

Кроме того кнопка S1 используется для сброса значения электрической емкости при зарядке Li-Pol аккумуляторов.

Резистор R9 – точная настройка поддиапазона делителя напряжения.
Чтобы исключить ошибки преобразования АЦП диапазон измерений разбит на два поддиапазона 0 В – 10 В и 10 В – 30 В. Для настройки необходимо на выход блока питания подключить вольтметр и установить выходное напряжение на уровне около 9 В, и регулируя R9 добиться одинаковых показаний вольтметра и нашего устройства.

Резистор R10 – грубая настройка поддиапазона делителя напряжения.
Процедура аналогичная точной настройке, но необходимо установить выходное напряжение блока питания около 19 В, и регулируя резистор R10 добиться совпадения показаний.

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

Коннектор J1 – подключение вентилятора.

Коннектор J2 – питание модуля вольтамперметра (+12 В)
Если ваш блок питания имеет выход стабилизированного напряжения +12 В, то его можно подключить к этому коннектору, и в таком случае можно не использовать в схеме регулятор напряжения U2. Такое решение имеет свои плюсы т.к. возможно подключить более мощный вентилятор охлаждения.

Если выхода +12 В у вашего блока питания нет, то этот коннектор необходимо оставить не подключенным.

Примечание. Во втором варианте схемы (PDIP) данный коннектор отсутствует.

Коннектор J3 – питание модуля вольтамперметра (+35 В)
Напряжение питания +35 В подается с диодного моста блока питания. Перед подключением необходимо уточнить параметры используемого регулятора напряжения U2 и уровень напряжения с диодного моста, чтобы не повредить регулятор U2. Но с другой стороны, минимальное напряжение, подаваемое на этот коннектор, не должно быть ниже 9 В или 6.5 В, если используются регуляторы с низким падением напряжения (LDO).

Данный коннектор должен быть подключен независимо от того, подключен ли коннектор J2 к питанию +12 В.

Коннектор J4 – подключение линий измерения напряжения и тока.
Выводы коннектора подключаются:

  • Вывод 1 – подключается к клемме «+» блока питания;
  • Вывод 2 – подключается к клемме «–» блока питания;
  • Вывод 3 – «общий»

Коннектор LCD – подключение индикатора
Вольтамперметр работает корректно с однострочным LCD. Дисплей необходимо использовать со светодиодной подсветкой (ток потребления до 15 мА).

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

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

Помните, что при программировании микроконтроллера в схеме, необходимо подать напряжение питания +5 В. В зависимости от используемого программатора, напряжение питания может подаваться от самого программатора, либо от внешнего источника.

Соответствие сигналов переходника, коннектора LCD, микроконтроллера и программатора

Выводы
ЖК модуля

Сигнал

Выводы
микроконтроллера

Выводы
программатора

Простой вольтметр-амперметр можно собрать на микроконтроллере Atmega8. Вывод информации осуществляется на символьный LCD дисплей 16×2.

  • диапазон измеряемого напряжения: 0 до 25 В;
  • диапазон тока: от 0 до 2.5 В;

Для работы нам понадобятся два канала АЦП, это каналы ADC0 и ADC1, при помощи одного мы мерием напяржение при помощи другого силу тока. В качестве источника внутренного напряжения используется внтуренней опорное напряжение в 2.56 В. АЦП работают с разрядность в 10 бит. Микроконтроллер Atmega8 затактирован от внутреннего RC генератора с частотой в 4 МГц.

Схема Вольтметра-Амперметра на микроконтроллере Atmega8

Вывод информации на дисплей осуществляется следующим образом:

Напряжение которое нам нужно померить сначала подается на делитель напряжения, и уже с него подается на вход АЦП ADC1. Делить собран на резисторах с номиналами в 100 кОм и 10 кОм, получается что отношение входного и выходного напряжения 10 к 1. Максимальное напряжение которое можно подать на вход делителя составляет 28.13 В.

Для того чтобы померить силу тока нам понадобится токовый шунт, его включаем в разры цепи ток в которой хотим померть. Падение напряжения на шутнте нетрудно определить по закону Ома, эта величина меряется други АЦП ADC0. Нужно стремится к уменьшению сопротивлению шунта, чем он меньше тем лучше. Если сопротивление равно 0,1 Ом то при силе тока в 1 Ампера получается падение напряжения в 0,1В.

Если у нас ток в 2 А то падение напряжения составит 0,2 В. Это значение очень мало для того чтобы его подать на вход АЦП микроконтроллера, поэтому его можно устелить при помощи ОУ (операционного усилителя). В нашем примере можно использовать схему неинвертирующего усилителя. Коэффициент усиления составит

Нудно чтобы это коэффициент был равен 10, для того чтобы измеряемы ток, к примеру 1 А соответствовал напряжение на выходе ОУ в 2В. В связи с тем что ИОП (источник опорного напряжения) 2.56 В. то мы не может подать больше этого значения. Шаг измерения тока состовит: 2.56А/2024=2.5 мА.

Таким образом для того чтобы получить значение тока, нам нужно напряжение измеренное АЦП умножить на 2.5

Измерение происходит по прерыванию окончания преобразования АЦП. Сначала выбирается канал 1 и снимается напряжения, далее выбирается второй и также снимается напряжение. Измерения каналов происхоид 400 раз, далее вычисляется среднее значение и выводятся на символьный дисплей.

Затеял я навести порядок на рабочем столе и радикально упрятать в корпус привода для чтения CD-ROM лабораторный блок питания, блок питания паяльника TS-100, USB-хаб и USB-зарядку. Но в последний момент возникла трудность — китайский вольтметр с амперметром не влезли по ширине передней панели привода. Решил я сделать свой, снова на PIC16F690, схему которого я давно публиковал на моём старом сайте. Но под руку попали сдвоенные 7-сегментные индикаторы, которые замечательно вписались по ширине корпуса 30мм. Пришлось ставить четырехразрядные индикаторы и переписывать программу контроллера для более точного расчета напряжения и тока…

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

Схема нового вольтметра и амперметра для лабораторного блока питания мало отличается от схемы старого. Но софт переписал с нуля и радикально. Главное отличие в схеме амперметра применен шунт не 0,1 Ом, а 0,01. Это очень уменьшило падение напряжения на нём, но повысило требования к преобразователю тока в напряжение. Так как в качестве усилителя я применил «народный» LM358, пришлось для компенсации напряжения смещения вводить программную коррекцию. При первом включении прибора (обязательно без нагрузки) он измеряет падение напряжения на шунте и смещение ОУ и принимает этот уровень за ноль и сохраняет значение в энергонезависимую память. Далее все измерения производятся относительно запомненного уровня.

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

Резистор, подключенный к выводу 4 микроконтроллера, определяет тип используемого экрана — с общим анодом или общим катодом.
Плата рассчитана на индикатор высотой знака 0,36″.
Мой неудачный первый опыт сборки прибора показал, что зелёные индикаторы почему-то светят весьма слабо. Видимо потому, что яркость слабого свечения зеленых индикаторов делится во времени не на три, а на восемь разрядов двух индикаторов.

В архиве три платы (индикатор и два варианта процессорной платы для контроллеров в корпусах SSOP и SOIC), схема и прошивка прибора.

Если у Вас возникнут вопросы или Вы захотите связаться со мной, сделайте это с помощью формы на страничке «Обратная связь»

97 thoughts on “ Вольтметр и амперметр повышенной точности ”

Есть мысль использовать этот измеритель в ЗУ автомобильного аккумулятора. Есть два вопроса по этому поводу:
1. На схеме указан диапазон измеряемого тока 0-4А, можно ли его увеличить до 10А?
2. Какой метод измерения тока в этом приборе? В автомобильных зарядных форма тока далека от идеальной, особенно если сделана на тиристорах, поэтому хотелось бы иметь среднеквадратичный метод измерения, True RMS так сказать.

Спасибо за очередную, простую и функциональную конструкцию.

Доброго дня.
Я думаю, для автомобильного зарядного не обязательно мерить в миллиамперах ток.. Для зарядки лучше подойдет вот эта моя конструкция, тем более с нужной разрядностью и учётом формы тока уже всё нормально:
http://smartelectronix.biz/publ/ochen_prostoj_ampervoltmetr_na_pic16f690/1-1-0-2

Здравствуйте, Eddy. Я заметил, что Вы почти никогда не публикуете исходных кодов к своим разработкам, делитесь только готовыми прошивками. Думаю, что Вы как программист хорошо понимаете их ценность, исходники позволяют делиться опытом, исправлять ошибки, и дорабатывать проекты, использовать программные решения одних проектов в других, читающие их программисты могли бы делиться с Вами своими способами доработки Ваших проектов. Исходники позволяют заранее детально оценить поведение прошивки, и её применимость, думаю я мог бы продолжать перечислять, но у Вас вероятно есть причины их не публиковать ? Может это коммерция ? Но Вы не публикуете исходники даже к самым простейшим проектам, коммерчески не эффективным на мой взгляд. И предложений о продаже я тоже не видел тут. Тогда что за причины ? Раскроете секрет?

Доброго дня, Владимир
Вы практически угадали — я уже очень давно зарабатываю на кусок хлеба разработкой устройств на микроконтроллерах и написанием прошивок к ним. Многие пошли в серию от сотен до десятков тысяч устройств. У меня нет стабильной зарплаты от слова «совсем», т.е. что написал, то и получил. Причём очень часто пишу совсем бесплатно, если разработка не для серийного производства, просто из желания помочь людям.
Вторая причина в том, что я считаю, что учиться надо на примерах, выкладываемых производителями контроллеров и компиляторов — тексты тех документов создаются профессиональными программистами, а не самоучками вроде меня. Они содержат подробное изложение теории и практических советов по решению задачи. У меня нет такого количества свободного времени, чтобы заниматься преподаванием основ программирования. Увы.
Третья причина в том, что я очень сомневаюсь в том, что кто-то будет тратить своё время на улучшение или исправление моих текстов. Свои ошибки я стараюсь устранять самостоятельно и максимально быстро. Если человеку нужен вольтметр, он его либо купит на Алиэкспрессе за полтора доллара, либо соберет себе по материалам одного из опубликованных в сети проектов. За пол часа. А сидеть сутками и ковырять сотни строк математики, вспоминая старшие классы школы или курсы института.. Зачем?

1) причина коммерция вполне понятна.
Но я как раз насчёт тех самых не коммерческих. «умные кнопки», думаю один из них. Помню, я очень удивился не увидев исходников в архиве к этим умным кнопкам. Нужды в них не было,
сам бы такое мог написать, просто любопытство. Я давно слежу за вашими разработками они подкупают простотой схемотехники, это стиль всех ваших схем, ведь «Всё гениальное просто!»
Любопытно было может и тексты Ваши так-же просты и понятны всем 🙂

3)причина «…кто-то будет тратить своё время на улучшение или исправление моих текстов.»
Соглашусь с Вами, что никто не будет тратить своё время на доработку чужих частных проектов, но Вы не учли, что проекты с открытыми исходниками с момента их открытия
перестают быть единолично чьими-то. С исходниками навсегда остаются имена их авторов но сами тексты уже достояние общества, и могут стать самостоятельными и бессмертными как и
имена их авторов. (Имя Линус Торвальдс яркий пример). т.е. тексты уже не совсем Ваши и другие люди часто дорабатывают их не из благородства и альтруизма, а в СВОИХ личных и даже корыстных целях и потом делятся своими трудами просто потому, что понимают ценность своего труда, а поделиться этим ничего им не стоит, время на доработку они всё равно уже потратили. Мне лично всегда интересно узнать оценку своей доработки от авторов программы и особенно приятно когда мою доработку включают в официальный релиз.
Я говорю это из личного опыта. Я помню, участвовал в устранении одного бага биллинговой системы Stargazer украинских разработчиков, наличие бага они подтвердили но сами они не спешили его устранять т.к. не использовали эту часть программы. От денег они отказались, сказали нет времени на это. Я потратил недели на изучение исходников и написание патча, разработчики помогали мне, отвечая на вопросы на форуме, результат я опубликовал на том-же форуме с предложением включить в релиз, увы в релиз мой патч не включили по двум причинам,
1) патч не решал проблему в корне, а лишь помогал её обходить т.е. по факту это «костыль» на большее силёнок не хватило 🙂
2) применение патча гипотетически могло нарушить работу программы в других частях, требовалось длительное тестирование, ради не очень полезного самим разработчикам «костыля» они не хотели тратить на это время и рисковать. Их Stargazer-ы обслуживали тысячи абонентов, а мой стоял в офисе на 50чел. Но в любом случае мой патч остался опубликованным, и всем кто столкнулся с тем-же багом как я, было уже можно решить проблему. Пусть авторы не приняли мой способ решения, но баг, а затем и ошибку в их коде я всё-таки нашёл, значит чем-то помог проекту.

2.1)причина » учиться надо на примерах, выкладываемых производителями…»
и согласен и нет . Так как сказали Вы, так надо только начинать учиться основам, далее этого будет мало.
Например основы от производителя научат вас записывать числа в ячейки EEPROM, но если их много, как их там систематизировать чтобы удобно было работать и самому не запутаться,
придумывайте сами.
Основы от производителя научат вас менять содержимое памяти программ, даже есть готовый модуль от mplab xc8 mcc
Но как там не запутаться и меняя текст строки не затереть случайно исполняемый код придумайте сами.
И однажды мне удалось написать свои очень оригинальные версии модулей для работы с EEPROM и памятью программ. Гениальна даже не реализация, её Вы возможно сможете ещё
улучшить, гениальна сама идея переложить на компилятор заботу о распределении памяти EEPROM и FLASH. Мы ведь не задумываемся об адресах размещения наших переменных и констант в озу и памяти программ, компилятор делает это за нас, но в EEPROM производителями такое не предусмотрено, то-же самое при использовании FLASH памяти программ, её используют поблочно, что ещё геморойнее чем EEPROM, при этом память под константы в этой же самой FLASH компилятор успешно распределяет без нашего участия.
Написанные мной модули позволяют работать с этими типами памяти почти так-же привычно как с ОЗУ. Сначала была идея загнать все данные в одну структуру в ОЗУ и работать с ними привычным способом, а в EEPROM только копировать полностью или частично эту структуру из ОЗУ. Но такой не бережный расход ОЗУ меня не устраивал. И тут пришла идея объявить эту структуру в ОЗУ и не использовать! (не сочтите меня поспешно за идиота) т.к. структура не будет использоваться её можно объявить располагаемой хоть с нулевого адреса ОЗУ где лежат совсем другие данные. Этим данным ничто не угрожает. Эта структура описывает данные хранимые на самом деле в EEPROM, компилятор об этом «не догадывается:)» она позволяет нам привычным способом получать данные о размерности элементов и их смещении относительно начала структуры. Работать с указателями на элементы этой структуры надо ,передавая их в специальную функцию которая вычислит смещение и использует его для чтения или записи нужного элемента из EEPROM!
С памятью программ получилось ещё интереснее, там оказались совсем не нужны виртуальные структуры, ведь компилятор в этой области умеет работать с константами, правда только на чтение 🙂 этот недостаток я и исправил написав функцию, меняющую значение констант по указателю. Т.е. для использования памяти программ в качестве перезаписываемой, объявляем обычные константы, константные структуры и массивы, читаем их обычным способом и перезаписываем передавая указатель в мою функцию.
А теперь скажите, Вы видели подобные примеры от производителей?
Оценив на практике удобство и мощь этих модулей, возник вопрос — почему ни в одном учебнике мне не попалось ничего подобного, я присваиваю новые значения константам и
константным структурам будто они не константы вовсе! Написав тогда собственное решение лучше предлагаемых профессионалами, я понял что они не боги. И у самоучек могут быть не
стандартные решения лучше. Такие удачные изобретения получаются не часто, как настоящие шедевры 🙂 Думаю у каждого опытного программиста есть подобный «брилиант» среди своих наработок, и получить их много в своё распоряжение можно только разбирая чужой код. Самому много такого не придумать нужна слишком «большая удача».
А примеры от производителей конечно грамотны и полезны, но теперь для меня это лишь «инструкция к инструменту» она учит грамотно пользоваться инструментом, но шедевры
делать не научит.

2.2)причина » У меня нет такого количества свободного времени, чтобы заниматься преподаванием основ программирования. Увы.»
Тут мне возразить совсем нечего, в рыночной экономике все участники загружены по максимуму, а кто нет, тот проиграл в конкуренцию.
Публикация исходников вызовет и дилетантские вопросы и не всегда полезные Вам дискусии, с потерей времени.
Надеюсь однако, что наша беседа была Вам полезна.

«Самое важное — не то большое, до чего додумались другие, но то маленькое, к чему пришёл ТЫ сам » /Харуки Мураками/ ©
🙂
И всё же, я считаю что для обсуждения способов реализации той или иной функции есть специализированные форумы программистов.
У этого показометра исходник 550 строк. На Си (PCWHD). Две недели с чистого листа. Зачем это нормальному человеку?
Я проникся кусочком философии Джобса, который стремился спрятать сложность объекта от пользователя — устройство должно быть простым и хорошо выполнять свои функции. У человека не должна болеть голова, где там ошибка. Ему надо чтобы всё работало, а не заниматься самоистязанием с калькулятором и симулятором..
Я думаю, что возможно, когда я смогу хоть малость расслабиться от необходимости добывать кусок насущной пищи и буду считать себя достаточно умелым программистом, начну выкладывать свои труды. А пока сам учусь программированию. Постоянно. Последние лет тридцать. 🙂

Вольтметр и амперметр с ЖК дисплеем « схемопедия


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

Технические характеристики

  • Микроконтроллер ATmega8 в качестве основы прибора
  • Дисплей на контроллере HD44780
  • Диапазон измеряемого напряжения 0-30В
  • Точность измерения напряжения 10 мВ
  • Точность измерения тока 10 мА
  • Оносторонняя печатная плата
  • Совместимость с другими LCD-дисплеями на контроллере HD44780

Схема

В списке деталей, приведённом ниже, есть элементы с пометкой «не используется». Их не требуется устанавливать, т.к. они были необходимы предыдущей версии прибора.  Возможно, схема и печатная плата будут исправлены позже.

Печатная плата

В архиве по ссылке есть две версии платы отзеркаленная и не отзеркаленная. Для разных способов изготовления печатной платы нужна та или иная версия для получения правильной платы. При монтаже печатной платы не забудьте припаять две перемычки и расположить микросхему U2 на радиаторе.

После того, как на плату запаяете все детали, необходимо:

– поставить 2 перемычки на плате

– поставить перемычку вместо L1

– посадить на радиатор элемент U2

– обратить внимание на полярность элементов D1 и D2

Список элементов

Элемент Значение Корпус Примечание
R1 100k 1206   
R2 100k 1206   
R3 10k   Потенциометр
R4 30k 1206   
R5 10k 1206   
R6 10k 1206   
R7 7k5 1206   
R8 7k5 1206   
R9 500R   Потенциометр
R10 500R   Потенциометр
R11 5k1 1206   
C1 100n 1206   
C2 100n 1206   
C3 100n 1206   
C4 100n 1206 Не используется
C5 100n 1206 Не используется
C6 100n 1206 Не используется
C7 100n 1206 Не используется
C8 100n 1206 Не используется
C9 100n 1206 Не используется
C10 22u/6V SMD A   
C11 10n 1206 Опциональный элемент – защищает Q1 против скачка напряжения после выключения вентилятора.
C12 10u/50V     
L1 47u 1210  Не используется – закоротите на плате
D1 диод  SMD A Опциональный элемент – защищает Q1 против скачка напряжения после выключения вентилятора.
D2 диод SMD A например SK310A
U1 7805 TO-252 Стабилизатор напряжения +5V, например LM7805
U2 7812 TO220 Стабилизатор напряжения +12V, например LM7812
U3 ATMEGA8 TQFP32   
LCD GOLDPIN 1×16   
J1 GOLDPIN 1×2 FAN_CON – разъем для вентилятора
J2 GOLDPIN 1×1 +12V_CON – опциональный +12V разъем
J3 GOLDPIN 1×1 +35V_CON  – главный разъем питания
J4 GOLDPIN 1×3  
S1 выключ.     
Q1 MOSFET N SOT-23 e.g. BSS-138 (вентилятор менее 200мА)

Прошивка

При использовании  микроконтроллера в TQFP корпусе, его проще прошить после монтажа на плату. Я сделал так, что микроконтроллер можно прошить через разъем для подключения ЖК дисплея. В качестве кабеля для прошивки микроконтроллера я использую кабель от старого жесткого диска.  Помните, что при прошивке на схему необходимо подавать +5V питания. В зависимости от конструкции вашего программатора, он сам подаст это напряжение, или его придется брать с дополнительного блока питания.

После подключения к микроконтроллеру программатора, проверьте, распознает – ли программатор микроконтроллер. Если все в порядке, вы можете прошивать микроконтроллер. FUSE-биты необходимо выставить на работу микроконтроллера от встроенного RC генератора с частотой 1 МГц. Если микроконтроллер новый, этого делать не требуется. Поле прошивки микроконтроллера вы можете подключать ЖК-дисплей. Рекомендуется подключать его при помощи разъёма, для возможности обновления прошивки в будущем.

LCD Pin number LCD signal ΅C signal/Pin Prog signal
1 GND GND GND
2 VCC VCC VCC
4 RS SCK / PB.5 SCK
5 RW MISO / PB.4 MISO
6 EN MOSI / PB.3 MOSI
10 D3 RESET RESET

Подключение

Разъемы и элементы регулировки прибора

S1 – Кнопка настройки

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

R9 – настройка точности в точном поддиапазоне измерений

Чтобы уменьшить ошибки АЦП ошибки, диапазон измерения разделен на два поддиапазона 0-10V и 10-30V. Для подбора точного значения резистора подключите вольтметр к выходу блока питания с напряжением 9V, и меняйте значение резистора до тех пор, пока показания вольтметра и прибора будут равны.

R10 – настройка точности в грубом поддиапазоне измерений

Примерно тоже самое что R9, но для диапазона измерений 10-30V. На выходе блока питания необходимо напряжение около 19V.

R3 – настройка контрастности ЖК-дисплея

Проворачивайте потенциометр до тех пор, пока на ЖК-дисплее не появится четкое изображение.

J1 – подключение вентилятора

Прикрепите + вентилятора к 1 выводу разъема, – ко второму.  

J2 – +12V

Если у вас в блоке питания есть постоянная линия +12 В, подключите её эти к контактам. В этом случае вы не должны монтировать U2 на печатной плате. Это хорошо, т.к. вы убираете лишний источник тепла. Если у вас нет постоянной линии +12 В, то оставьте контакты неподключенными.

J3 – +35V

Напряжение с диодного моста, которое идет на U2. Возможно, на этот контакт нужно подавать меньшее напряжение – всё зависит от типа использованной вами U2. Этот вывод должен быть подключен, даже если +12V уже подключено к J2.

J4 – сигнал для измерения напряжения и тока

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

Контакт 1 – измерение напряжения  – подключается к + блока питания.

Контакт 2 – измерение тока – подключается к – блока питания.

Контакт 3 – GND – подключается к выводу шунтирующего резистора, противоположному подключенному к блоку питания.

Скачать прошивку и печатные платы

Оригинал статьи на английском языке (перевод: Paravoz для сайта cxem.net)

Мои программы

 

Первый опыт програмирования AVR — амперметр+вольтметр

Амперметр — Вольтметр на Atmega8 — полный архив с исходниками на СИ и примерами «прогона» в эмуляторах VMLab и Proteus — скачать zip-архив

Импульсный блок питания с цифровой индикацией
(U и I) и c кнопочным управлением

Архив содержит схему, реализованую на Atmega8, исходники на СИ и файлы-проекты для VMLab и Proteus —
скачать zip-архив

Зарядное устройство
для малогабаритных аккумуляторов
(NiCd, NiMH)

Архив содержит схему, реализованую на Atmega8, исходники на СИ и файлы-проекты для VMLab и Proteus —
скачать zip-архив

Зарядное устройство с ШИМ управлением
для аккумуляторов на Attiny15 с LCD
(NiCd, NiMH, SLA)

Архив содержит схему, реализованую на Attiny15, исходники на СИ и файлы-проекты для VMLab и Proteus —
скачать zip-архив

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

Дата обновления: 09.03.2009 года
Архив содержит схему, реализованую на Atmega8, исходники на СИ и файлы-проекты для Proteus ISIS и ARES
скачать zip-архив

Различные схемы программаторов,
повторенные мною
(LPT, USB)  СИ, проекты в Proteus

скачать zip-архив

Готовый рабочий проект «Астротаймер v1.0»  (рус)
на ЖКИ Wh2602 и МК Atmega8
(прошивка, схема, исходники, документация)

скачать zip-архивПосмотреть проект

Готовый рабочий проект «Астротаймер v1.0» (eng)
на ЖКИ и МК Atmega8
(прошивка, схема, исходники, документация)

скачать zip-архивПосмотреть проект

Готовый рабочий проект «Астротаймер v2.0»  (рус)
на ЖКИ Wh2602 и МК Atmega8 с часовым кварцем
(прошивка, схема, исходники, документация)

скачать zip-архивПосмотреть проект

Готовый рабочий проект «Астротаймер v3.0»
на LЕD (OK или ОА) и МК Atmega8 с часовым кварцем
(прошивка, схема, исходники, документация)

скачать zip-архивПосмотреть проект

Готовый рабочий проект «Астротаймер v4.0»
на LЕD (OK или ОА) и МК Atmega8 с часовым кварцем
(прошивка, схема, исходники, документация)

скачать zip-архив

Готовый рабочий проект «Астротаймер v2.6» на ЖКИ Wh2602 и МК Atmega8 с часовым кварцем (прошивка, схема, исходники, документация, управление по сумеркам, сохранение координат и зоны в EEPROM, можно обновить v1.0 (eng) — v.2.0(eng))

скачать zip-архивПосмотреть проект
Перейти на главную страницу

НЕБОЛЬШИЕ РАЗРАБОТКИ

НЕБОЛЬШИЕ РАЗРАБОТКИ

скачать rar-архив

Исправлена ошибка в проекте OA!!! 12/12/09

Задействуем АЦП. Вольтметр на AVR. — Проекты — AVR project.ru

 Аналогово-Цифровой Преобразователь служит для преобразования аналогового сигнала на входе в цифровую форму, понятную для МК.  Практически во всех современных микроконтроллерах от AVR имеется 10 битный АЦП, позволяющий оцифровывать аналоговый сигнал с дискретностью 1024 значений. Этого достаточно чтобы, например, делать замеры напряжений (в разумных пределах), снимать показания с различных датчиков, таких как фотодиод и термопара, делать анализаторы спектра и многое другое.

 Примерная работа преобразования приведена на рисунке ниже; через равные промежутки времени (ось X) происходит считывание значения напряжения на входе АЦП (ось Y). Так как АЦП имеет ограниченную разрешающую способность, появляется дискретность (дробление) значений.  


  Величина по оХ называется частотой дискретизации, чем больше частота тем точнее может быть полученная информация о сигнале. АЦП в мк AVR может работать на частотах дискретизации от 50 до 200 кГц

  В Bascom-AVR конфигурирование АЦП сводится к одной строчке:

Config Adc = SINGLE , Prescaler = 128 , Reference = Avcc

 здесь Adc — режим считывания значения: Single — единичное считывание, также может быть Free (режим постоянной работы преобразователя)

Prescaler = 128 — выбираем частоту дискретизации путем деления частоты кварца на определенное число (также может быть 2,4,8,16,32,64 или Auto). Если выбрать Auto, то компилятор сам выберет подходящую частоту работы АЦП

Reference – выбор источника опорного напряжения. Aref – внешний источник, Avcc – напряжение питания схемы, Internal – внутренний ИОН на 2,56 в.

  Преобразование аналога в цифру в Bascom-AVR происходит следующим образом, для примера считаем значение напряжения на первом канале АЦП и выведем результат преобразования на ЖКИ:

Start ADC         ‘ запускаем преобразование
M = GetADC(1)     ‘ приравниваем переменную М результату преобразования
Stop ADC          ‘ останавливаем работу АЦП
LCD  M           ‘ выводим значение на ЖКИ

  Считывание может быть произведено с любого пина АЦП микроконтроллера, от 0 до 7 (например для ATMEGA32). Для этого в строке GetADC(x) заместо х ставим интересующий нас канал. И все!

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

Итак, первым делом нужно определиться с диапазоном измеряемых значений.  Я выбрал пределом измерения 30 Вольт, от этого зависит коэффициент на который нужно будет умножать результат преобразования, а также расчет резисторного делителя напряжения на входе АЦП. В качестве источника опорного напряжения выбран внутренний ИОН на 2,56 В. Поэтому резисторный делитель рассчитан таким образом, чтобы при максимально измеряемом напряжении 30 В на вход АЦП заходило не более 2,56 В. Схема вольтметра приведена ниже:


  Подстроечник RV1 — многооборотный, для точной настройки делителя.

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

  Индикация организована в главном цикле программы. Для считывания показаний АЦП задействован Timer1, который переполняется примерно 2 раза в секунду. При переполнении вызывается подпрограмма, в которой происходит считывание данных с АЦП и их преобразование.

 Так как переполнение таймера происходит каждые 0,5 сек, то показания вольтметра будут обновляться 2 раза в секунду. Это сделано для того чтобы четвертая цифра отображающая сотые доли не скакала слишком быстро, размазывая показания (так как АЦП имеет свойство иногда менять показания при неизменном напряжении на входе).


    $regfile = «m8def.dat»
    $crystal = 8000000
     
    ‘ * * * переменные * * *
     
    Dim W As Integer              ‘ переменная для хранения значения АЦП
     
    Dim N1 As Integer
    Dim N2 As Integer
    Dim N3 As Integer
    Dim N4 As Integer
     
    Dim M1 As Integer
    Dim M2 As Integer
    Dim M3 As Integer
    Dim M4 As Integer
     
    Dim C1 As Integer
    Dim C2 As Integer
    Dim C3 As Integer
    Dim C4 As Integer
     
     
    ‘ * * * настройка портов * * *
     
     
    Ddrb = &B11111111
    Ddrd = &B11111111
     
     
    ‘ * * * конфигурируем таймер1 и прерывание по его переполнению * * *
     
     
    Config Timer1 = Timer , Prescale = 64
     
    On Timer1 Acp:
     
     
    ‘ * * * конфигурация АЦП * * *
     
    Config Adc = Single , Prescaler = Auto , Reference = Internal
     
     
    ‘ * * * разрешаем прерывания * * *
     
    Enable Interrupts
    Enable Timer1
     
     
    ‘ * * * основная программа * * *
     
     
    Do
     
     
    Portb = &B11101111
     
    Select Case N1
    Case 0 : Portd = &B11111111
    Case 1 : Portd = &B11111001
    Case 2 : Portd = &B10100100
    Case 3 : Portd = &B10110000
    Case 4 : Portd = &B10011001
    Case 5 : Portd = &B10010010
    Case 6 : Portd = &B10000010
    Case 7 : Portd = &B11111000
    Case 8 : Portd = &B10000000
    Case 9 : Portd = &B10010000
    End Select
    Waitms 5
     
    Portb = &B11110111
     
    Select Case N2
    Case 0 : Portd = &B11000000
    Case 1 : Portd = &B11111001
    Case 2 : Portd = &B10100100
    Case 3 : Portd = &B10110000
    Case 4 : Portd = &B10011001
    Case 5 : Portd = &B10010010
    Case 6 : Portd = &B10000010
    Case 7 : Portd = &B11111000
    Case 8 : Portd = &B10000000
    Case 9 : Portd = &B10010000
    End Select
    Waitms 5
     
    Portb = &B11111011
     
    Select Case N3
    Case 0 : Portd = &B11000000
    Case 1 : Portd = &B11111001
    Case 2 : Portd = &B10100100
    Case 3 : Portd = &B10110000
    Case 4 : Portd = &B10011001
    Case 5 : Portd = &B10010010
    Case 6 : Portd = &B10000010
    Case 7 : Portd = &B11111000
    Case 8 : Portd = &B10000000
    Case 9 : Portd = &B10010000
    End Select
     
    Waitms 5
     
    Portb = &B11111101
     
    Select Case N4
    Case 0 : Portd = &B11000000
    Case 1 : Portd = &B11111001
    Case 2 : Portd = &B10100100
    Case 3 : Portd = &B10110000
    Case 4 : Portd = &B10011001
    Case 5 : Portd = &B10010010
    Case 6 : Portd = &B10000010
    Case 7 : Portd = &B11111000
    Case 8 : Portd = &B10000000
    Case 9 : Portd = &B10010000
    End Select
     
    Waitms 5
     
    Loop
     
    ‘ * * * подпрограмма считывания показания с АЦП * * *
     
    Acp:
     
    Start Adc          ‘ считываем показания АЦП
     
     
    W = Getadc(1)      ‘ <—- число которое получили с первого канала АЦП
     
     
    M1 = W * 3         ‘ переводим значение АЦП в вольты. Так как запятая у меня
                       ‘ фиксированная, то для удобства работать будем с целыми числами 3069/1023=3;
                       ‘ где 3069 максимальное значение напряжения отображаемое вольтметром,
                       ‘ или 30.69 В

    M2 = M1
    M3 = M1
    M4 = M1
     
    M1 = M1 / 1000     ‘ обработка тысяч
    N1 = Abs(M1)
     
    M2 = M2 Mod 1000   ‘ обработка сотен
    M2 = M2 / 100
    N2 = Abs(M2)
     
    M3 = M3 Mod 100    ‘ обработка десяток
    M3 = M3 / 10
    N3 = Abs(M3)
     
    M4 = M4 Mod 10     ‘ обработка единиц
    N4 = Abs(M4)
     
    Return
     
    End


  

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

 Разрешение измерения вольтметра получилась 0,03 В (большего из 10 битного АЦП на таком диапазоне не выжать), точность не менее 0,05 В. Что весьма не плохо, учитывая что использовался внутренний ИОН и не использовались ВЧ-фильтры на входе преобразователя. Для блока питания самое то.

ЗЫ. Если говорить о точности измерения, то в качестве эталонного измерителя напряжения выступал мой Mastech MAS838, поэтому все относительно =) 

Скачать файлы к проекту

Вольтметр(амперметр)на микроконтроллере Attiny2313 / Микроконтроллеры / Блоги по электронике

Предлагаю вашему вниманию конструкцию цифрового вольтметра, который также может быть переделан в амперметр. Схема была взята из журнала Радио №2 за 2010 год. Схема представлена на рисунке

Вольтметр предназначен для измерения напряжения до 0-99,99 в, этот интервал разбит на два участка – 0-9,999в и 10-99,99 в. Переключение с одного диапазона на другой –автоматическое. Входное сопротивление на первом участке – 470 кОм, на втором – около 100 кОм, абсолютная погрешность измерения на первом участке составляет ±3мв, напряжение питания – 15-20 в, потребляемый ток – 60мА(зависит от примененного семисегментного индикатора). Период повторения измерения – 100мс, максимальное время одного цикла преобразования при входном напряжении 9,999 в – 10мс. При превышении измеряемым напряжением 99,99 в на индикаторе отображается число «9999», которое мигает с частотой 2Гц. Полярность входного напряжения — положительная.
Принцип работы вольтметра основан на методе преобразования измеряемого напряжения в частоту с помощью однократного интегрирования. Это позволяет по сравнению с микроконтроллерами, имеющими встроенные десятиразрядные АЦП, получить большую разрешающую способность в широком интервале измеряемого напряжения. Подсчет частоты, переключение пределов и вывод результатов измерения на светодиодный индикатор осуществляет микроконтроллер. Подробное описание работы можно прочитать в статье, в прилагаемом файле, так же исходный код и файл прошивки
depositfiles.com/files/9p9spo2oo
Теперь про доработку этого вольтметра. Резистор делителя напряжения R2 я сделал составным – резистор ПТМН – 0,5Вт 100кОм, ±0,25% и последовательно с ним многооборотный подстроечный СП5-2 на 22 кОм, резистор R5 поставил подстроечный СП3-39А на 15 кОм. Это было сделано для точного подбора сопротивления делителя напряжения при настройке вольтметра.
Вольтметр собран на печатной плате. Плата была перерисована из статьи в программе sprint layout, файл печатки прилагается ниже
depositfiles.com/files/rsbo4oebv
а вот печатка для SMD компонентов
depositfiles.com/files/zi6xq8x7f
Микроконтроллер прошивался при помощи программатора STK 200/300, в программе CodeVisionAVR.
Фьюзы для CodeVisionAVR

Фьюзы для Pony Prog

Питается вольтметр от трансформаторного блока питания с стабилизатором напряжения на микросхеме 7815, собранном по типовой схеме. Блок питания собран на печатной плате, так же на плате находится составной резистор R2 и R5. Файл печатной платы ниже.
depositfiles.com/files/nsaa4kzkj
Фото основной платы вольтметра


Фото блока питания


И теперь все в сборе

Настройка вольтметра заключается в установке резистором R3 тока зарядки конденсатора C2 и подбор сопротивления делителя напряжения. Предварительно делитель подстроечными резисторами настраивается – резистор R2 на сопротивление 117 кОм, резистор R5 на сопротивление 13 кОм. На вход прибора подают стабилизированное напряжение в интервале 9…9.8 в, контролируя образцовым вольтметром. Резистором R3 уравнивают показания налаживаемого и образцового вольтметров. Увеличивают напряжение до тех пор, пока вольтметр не переключится на второй диапазон измерений. Если показания вольтметра «зависли» при этом, то резисторами R2 и R5 добиваются переключения вольтметра на второй диапазон, после этого нужно повторить регулировку резистором R3. Подают на вольтметр максимально возможное напряжение до 100 в и резисторами R2 и R5 корректируют показания. Далее подают на вход от 5 до 10 в и при необходимости корректируют показания резистором R3. Проверяется показания вольтметра во всем диапазоне.
Фото показаний вольтметра на первом диапазоне и образцового прибора Щ301-1.

Фото показаний вольтметра на втором диапазоне и образцового прибора Щ301-1.

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

Показания могут лежать в диапазоне от 0,00 до 99,99А.
Децимальная точка зафиксирована, старший разряд при показаниях, меньших 10А не горит.
Делитель изъят, вместо С4 стоит танталовый конденсатор К53-4 6,8мкФ — для усреднения. В сток транзистора VT1 добавил резистор 1ом, ёмкость-то большая, хоть немного ограничивает пиковый ток разряда.
Для имеющегося шунта необходимо пересчитать ёмкость С2: Сх=(Uпоказ./Uшунт)*С2, где Сх, мкФ — искомая ёмкость конденсатора, Uпоказ., мВ — требуемое максимальное показание амперметра, Uшунт, мВ — напряжение на шунте, соответствующее максимальному измеряемому току, С2 — 2,2мкФ. Пусть на шунте падает 300мВ. Для 10А получается: (1000/300)*2,2 = 7,33 мкФ. Ёмкость лучше округлить в большую сторону, до 8,2мкФ. Номинал резистора R4 придется подобрать, он будет меньше, чем в исходной схеме. Немного измененная прошивка прилагается ниже (так же и исход)
depositfiles.com/files/r753yeofl
Ну вот и все! Оценивайте, комментируйте, критикуйте!

Вольтметр и амперметр с жк дисплеем. Вольтметр-амперметр-ваттметр, «джин»v1.0. Ваттметр вольтметр амперметр учет ампер часов

Программа рассчитана для измерений постоянного тока, в лабораторном БП.
Свойства программы и характеристики:
двухдиапазонный вольтметр, общий диапазон измерения от 0 до 100V.
Этот диапазон разделен на два поддиапазона измерения,

①от 0.00 до 9.99V. дискретность измерения напряжения 0.01V,

②от 10.0 до 100.0V дискретность измерения напряжения 0.1V.

Амперметр от 0.00 до 10.00А дискретность измерения тока 0.01А.
Защита по превышению потребляемых ампер, двух видов:
триггерная и по таймеру от 1 до 99 сек. (вариант выбора производится из пользовательского меню).
ваттметр, отображает информацию исходя из измерения по собственным данным V и А,
расчет для постоянного тока Ватт = Ампер * Вольт, т.е. — P=I*U, диапазон от 0.00 до 999.99Watt, шаг отображения измерения 0.01 ватт.

Также, в программе используется функция аппаратного ШИМа (PWM) МК, частота 125 kHz ,
коэффициент заполнения импульсами — ШИМа, отображается в основном экране в % исчислении, от 0 до 100% ,
на вывод МК (РВ3) можно подключать любое устройство, в котором вы имеете надобность, будь то паяльник или вентилятор.

Схема состоит из распространенных и доступных деталей,
ЖКИ 16х2 на базе контроллера HD44780 или KS0006, МК ATmega8 с любой буквой, в DIP или TQFP исполнении. А также ОУ Lm328 или Lm2904 .
Вот в вкратце и все основные характеристики.
НО…… к чему тогда программа названа таким чудным названием, «Джин версия 1»………..???
Вот тут и есть такая изюминка, программа МК как бы подразумевает, «Что желаешь, хозяин?»,
а хозяин, например,…. как бы не желает пользоваться этим двухдиапазонным вольтметром:-), а желает просто без всяких хитростей, простой до 30.00V, тогда
входим в пользовательское меню и оттуда делаем замену на главном экране,
двухдиапазонного на простой вольтметр с диапазоном от 0.00 до 30.00V (точность измерения будет 0.03V).
Далее,… так ведь хозяину маловато измерять ток до 10А, входим в меню и «вуаля» — (франц.»voila») выбираем диапазон до 20А или до 30 Ампер….
(ВНИМАНИЕ!!! Выбор этих двух опций в рабочей схеме повлечет за собой необходимость подстройки, входных аналоговых цепей V или А).

Еще при необходимости в пользовательском меню вы можете подключать дополнительно, второй независимый вольтметр с диапазоном от 0.00 до 30.00V

(например: это позволит при наладке каких либо схем, производить контроль напряжения сразу в нескольких точках).

Вот несколько фотографий работы вольтамперметра-ваттметра, как видите одной прошивкой по выбору, осуществляется несколько режимов измерения.

На экране отображаются; вольтметр — — ШИМ, амперметр — — устан. защиты в А

Теперь; вольтметр — — ваттметр, амперметр — — устан. защиты в А

Вольтметр — — вольтметр, амперметр — — ваттметр

Управление кнопками:

В основном режиме экрана, кнопки Кн1, Кн2, Кн3 оперативно реагируют на такие настройки;
Кн2 производит выбор (устанавливается миг. курсор) на регулировку ШИМ или установку порога сработки защиты амперметра
(сброс сработавшей защиты производится по нажатию любой кнопки или по таймеру)
в это время кнопки Кн1, Кн3 выполняют функцию уменьшения или увеличения, порога защиты ампер или значения ШИМ.
Одновременное нажатие кнопок Кн1, Кн2 вход в меню (установки верхней строки), где выставляются отображение функций ШИМ, ваттметр, вольтметр.

Одновременное нажатие кнопок Кн2, Кн3 вход в меню настройки функций амперметра защиты по току (нижняя строка правая часть экрана).
Движение по пунктам меню осуществляется кнопкой Кн2.

Настройка вольтметра: начинаем с первого поддиапазона, подаем на вход любое постоянное напряжение до 9.98V,
и сравнивая с тестовым вольтметром, настраиваем подстроечным резистором R-2 одинаково видимые показания приборов,
аналогично поступаем и со вторым поддиапазоном,
подаем на вход напряжение от 10.1V и, сравнивая с тестовым вольтметром,
настраиваем подстроечным резистором R-1 одинаковые показания напряжения.
Если будете использовать доп. вольтметр, настройка доп. вольтметра производится подстроечным резистором R-3.
FUSE. МК тактируется от внутреннего RS осциллятора, на частоте 8MHz.

Вольтметр-амперметр-ваттметр, «ДЖИН» V 1.0 .

Программа рассчитана для измерений постоянного тока, в лабораторном БП.

Свойства программы и характеристики:

  • двухдиапазонный вольтметр, общий диапазон измерения от 0 до 100 V .

Этот диапазон разделен на два поддиапазона измерения ,

от 0.00 до 9.99 V . дискретность измерения напряжения 0.01 V ,

от 10.0 до 100.0 V дискретность измерения напряжения 0.1 V .

  • амперметр от 0.00 до 10.00А дискретность измерения тока 0.01А.

Защита по превышению потребляемых ампер, двух видов:

триггерная и по таймеру от 1 до 99 сек. (вариант выбора производится из пользовательского меню).

  • ваттметр, отображает информацию исходя из измерения по собственным данным V и А,
расчет для постоянного тока Ватт = Ампер * Вольт, т.е. — P=I*U, диапазон от 0.00 до 999.99 Watt , шаг отображения измерения 0.01 ватт.
  • также, в программе используется функция аппаратного ШИМа (PWM) МК, частота 125 kHz ,

коэффициент заполнения импульсами — ШИМа, отображается в основном экране в % исчислении, от 0 до 100% ,

на вывод МК (РВ3) можно подключать любое устройство, в котором вы имеете надобность, будь то паяльник или вентилятор.

Схема состоит из распространенных и доступных деталей,

ЖКИ 16х2 на базе контроллера HD44780 или KS0006, МК ATmega8 с любой буквой, в DIP или TQFP исполнении . А также ОУ Lm 328 или Lm 2904 .

Вот в вкратце и все основные характеристики.

НО…… к чему тогда программа названа таким чудным названием, «Джин версия 1 »………..???

Вот тут и есть такая изюминка, программа МК как бы подразумевает, «Что желаешь, хозяин?»,

а хозяин, например,…. как бы не желает пользоваться этим двухдиапазонным вольтметром:-), а желает просто без всяких хитростей, простой до 30.00 V, тогда

входим в пользовательское меню и оттуда делаем замену на главном экране,

двухдиапазонного на простой вольтметр с диапазоном от 0.00 до 30.00 V (точность измерения будет 0.03 V ).

(ВНИМАНИЕ!!! Выбор этих двух опций в рабочей схеме повлечет за собой необходимость подстройки, входных аналоговых цепей V или А).

Еще при необходимости в пользовательском меню вы можете подключать дополнительно, второй независимый вольтметр с диапазоном от 0.00 до 30.00 V

(например: это позволит при наладке каких либо схем, производить контроль напряжения сразу в нескольких точках).

Вот несколько фотографий работы вольтамперметра-ваттметра, как видите одной прошивкой по выбору, осуществляется несколько режимов измерения.

На экране отображаются; вольтметр — — ШИМ, амперметр — — устан. защиты в А


Теперь ; вольтметр — — ваттметр, амперметр — — устан. защиты в А

Вольтметр — — вольтметр , амперметр — — ваттметр

Управление кнопками:

В основном режиме экрана, кнопки Кн1, Кн2, Кн3 оперативно реагируют на такие настройки;

Кн2 производит выбор (устанавливается миг. курсор) на регулировку ШИМ или установку порога сработки защиты амперметра

(сброс сработавшей защиты производится по нажатию любой кнопки или по таймеру)

в это время кнопки Кн1, Кн3 выполняют функцию уменьшения или увеличения, порога защиты ампер или значения ШИМ.

Одновременное нажатие кнопок Кн1, Кн2 вход в меню (установки верхней строки), где выставляются отображение функций ШИМ, ваттметр, вольтметр.
Одновременное нажатие кнопок Кн2, Кн3 вход в меню настройки функций амперметра защиты по току (нижняя строка правая часть экрана).

Движение по пунктам меню осуществляется кнопкой Кн2 .

Настройка вольтметра: начинаем с первого поддиапазона, подаем на вход любое постоянное напряжение до 9.98 V,

и сравнивая с тестовым вольтметром, настраиваем подстроечным резистором R -2 одинаково видимые показания приборов,

аналогично поступаем и со вторым поддиапазоном,

подаем на вход напряжение от 10.1 V и, сравнивая с тестовым вольтметром,

настраиваем подстроечным резистором доп. вольтметра производится подстроечным резистором R -3 .

FUSE . МК тактируется от внутреннего RS осциллятора, на частоте 8MHz.

Рroteus:

Все настройки и параметры устройства, выбранной пользователем конфигурации, сохраняются в памяти МК.

Архив проекта:

версия 1.0 диапазон измерения до 10.00А-20.00А-30.00А, установка защиты с шагом 0,1А

____________________________________________________________________________

Версия Вольтметр-амперметр-ваттметр, «ДЖИН V2.0 »
Программа для измерений постоянного тока, в лабораторном БП.
Дисплей 16х4

-1-й вольтметр двухдиапазонный от 0 до +100V
-2-й вольтметр с возможностью измерений от -30V до +30V .
-показания в амперметрах от 0.00 до 10.00А (30.00А)
-настраиваемый порог защиты по току
-термостат точность 0.1°C
-ваттметр, диапазон от 0.00 до 999.99Watt .
-отображение внутреннего сопротивления подключенной нагрузки в оМ
-использование регулируемого выхода ШИМ МК

(Вход в пользовательское меню, одновременное нажатие Кн1 и Кн3)
В схеме одля измерения отрицательного напряжения требуется минусовая подпорка.
Рис. 1 и 2 , как возможные варианты питания этой схемы….


FUSE. МК тактируется от внутреннего RS осциллятора, на частоте 4MHz.

Вольтметр-амперметр-ваттметр, «ДЖИН»V1.0. Программа рассчитана для измерений постоянного тока, в лабораторном БП. Свойства программы и характеристики:  двухдиапазонный вольтметр, общий диапазон измерения от 0 до 100V. Этот диапазон разделен на два поддиапазона измерения, ①от 0.00 до 9.99V. дискретность измерения напряжения 0.01V, ②от 10.0 до 100.0V дискретность измерения напряжения 0.1V.  амперметр от 0.00 до 10.00А дискретность измерения тока 0.01А. Защита по превышению потребляемых ампер, двух видов: триггерная и по таймеру от 1 до 99 сек. (вариант выбора производится из пользовательского меню). ваттметр, отображает информацию исходя из измерения по собственным данным V и А, расчет для постоянного тока Ватт = Ампер * Вольт, т.е. — P=I*U, диапазон от 0.00 до 999.99Watt, шаг отображения измерения 0.01 ватт.   также, в программе используется функция аппаратного ШИМа (PWM) МК, частота 125 kHz , коэффициент заполнения импульсами – ШИМа, отображается в основном экране в % исчислении, от 0 до 100% , на вывод МК (РВ3) можно подключать любое устройство, в котором вы имеете надобность, будь то паяльник или вентилятор. Схема: Схема состоит из распространенных и доступных деталей, ЖКИ 16х2 на базе контроллера HD44780 или KS0006, МК ATmega8 с любой буквой, в DIP или TQFP исполнении. А также ОУ Lm328 или Lm2904 . Вот в вкратце и все основные характеристики. НО…… к чему тогда программа названа таким чудным названием, «Джин версия 1»………..??? Вот тут и есть такая изюминка, программа МК как бы подразумевает, «Что желаешь, хозяин?», а хозяин, например,…. как бы не желает пользоваться этим двухдиапазонным вольтметром:-), а желает просто без всяких хитростей, простой до 30.00V, тогда входим в пользовательское меню и оттуда делаем замену на главном экране, двухдиапазонного на простой вольтметр с диапазоном от 0.00 до 30.00V (точность измерения будет 0.03V). Далее,… так ведь хозяину маловато измерять ток до 10А, входим в меню и «вуаля» — (франц.»voila») выбираем диапазон до 20А или до 30 Ампер…. (ВНИМАНИЕ!!! Выбор этих двух опций в рабочей схеме повлечет за собой необходимость подстройки, входных аналоговых цепей V или А). Еще при необходимости в пользовательском меню вы можете подключать дополнительно, второй независимый вольтметр с диапазоном от 0.00 до 30.00V (например: это позволит при наладке каких либо схем, производить контроль напряжения сразу в нескольких точках). Вот несколько фотографий работы вольтамперметра-ваттметра, как видите одной прошивкой по выбору, осуществляется несколько режимов измерения. На экране отображаются; вольтметр — — ШИМ, амперметр — — устан. защиты в А Теперь; вольтметр — — ваттметр, амперметр — — устан. защиты в А вольтметр — — вольтметр, амперметр — — ваттметр Управление кнопками: В основном режиме экрана, кнопки Кн1, Кн2, Кн3 оперативно реагируют на такие настройки; Кн2 производит выбор (устанавливается миг. курсор) на регулировку ШИМ или установку порога сработки защиты амперметра (сброс сработавшей защиты производится по нажатию любой кнопки или по таймеру) в это время кнопки Кн1, Кн3 выполняют функцию уменьшения или увеличения, порога защиты ампер или значения ШИМ. Одновременное нажатие кнопок Кн1, Кн2 вход в меню (установки верхней строки), где выставляются отображение функций ШИМ, ваттметр, вольтметр. Одновременное нажатие кнопок Кн2, Кн3 вход в меню настройки функций амперметра защиты по току (нижняя строка правая часть экрана). Движение по пунктам меню осуществляется кнопкой Кн2. Настройка вольтметра: начинаем с первого поддиапазона, подаем на вход любое постоянное напряжение до 9.98V, и сравнивая с тестовым вольтметром, настраиваем подстроечным резистором R-2 одинаково видимые показания приборов, аналогично поступаем и со вторым поддиапазоном, подаем на вход напряжение от 10.1V и, сравнивая с тестовым вольтметром, настраиваем подстроечным резистором R-1 одинаковые показания напряжения. Если будете использовать доп. вольтметр, настройка доп. вольтметра производится подстроечным резистором R-3. FUSE. МК тактируется от внутреннего RS осциллятора, на частоте 8MHz. Рroteus: Все настройки и параметры устройства, выбранной пользователем конфигурации, сохраняются в памяти МК. Архив проекта: схема, прошивка, фьюзы, proteus. версия 1.0 диапазон измерения до 10.00А-20.00А-30.00А, установка защиты с шагом 0,1А версия 1.1 д. изм. до 10.00А-20.00А-30.00А, уст. защиты шаг0,1А (по молчанию дисплей кириллица, но если ЖКИ латиница то перемычкой РС5 на землю). версия 1.2 диапазон измерения до 1.000А-2.000А-3.000А, установка защиты с шагом 0,01А Обсуждение статьи в форуме

ЦЕПЬ ПИТАНИЯ ATMEGA8 LCD АМПЕРМЕТР, ВОЛЬТМЕТР

Что не может сделать больше одного радиолюбителя? Что не может быть больше одного радиолюбителя? Правильно — без ХОРОШЕГО блока питания, а еще лучше ХОРОШЕГО ДВУХКАНАЛЬНОГО блока питания. Правильно — без ХОРОШЕГО блока питания, а еще лучше ХОРОШЕГО ДВУХКАНАЛЬНОГО блока питания. В этой статье я опишу, как можно сделать хороший, на мой взгляд, блок питания из обычного компьютера (АТ или АТХ). На мой взгляд, лучше использовать обычный компьютер (AT или ATX).Идея хороша тем, что не нужно покупать дорогие трансформаторы, транзисторы, ветроимпульсные трансформаторы, катушки… У нас средний блок питания ATX 300W в городе на радиорынке по 45-50 грн (~10$). Неплохо купить дорогие трансформаторы, катушки, транзисторы, ветроимпульсные трансформаторы и катушки… 45-50 грн ($10). Естественно, это б/у. Естественно, это б/у. Сразу стоит оговориться, что чем выше качество блока питания, из которого вы перешиваете, то вы сможете получить наилучшие характеристики от готового блока питания.Это того стоит, что вы можете получить его. Это связано с тем, что в «китайском» БП фильтров на входе может вообще не быть, а на выходе почти все фильтры! Его можно использовать для блока питания. Поэтому рекомендуется посмотреть на «жертву». Поэтому рекомендуется посмотреть на «жертву». Я сам сделал блок питания из старого CODEGEN 300W. Я сам сделал блок питания из старого CODEGEN 300W. Хотя не идеал конечно, но жить можно. Хотя не идеал конечно, но жить можно.Сделано на заказ от CHIEFTEC 350W. Сделано на заказ от CHIEFTEC 350W. Это почти идеал – фильтры на входе, фильтры (и даже какие-то!!!) на выходе, ну и т.д. Это почти идеал – фильтры на входе, фильтры (и еще какие-то!!!) на выходе, ну и т.д. и т.д.

Характеристики:
    • Напряжение – 3 – 20,5 Вольт
  • Ток – 0,1 – 10 А
  • Пульсации — зависит от модели «источника».

При изготовлении такого блока питания есть одно «НО»: если вы его сразу не ремонтировали или хотя бы не разбирали компьютерный блок питания, то сделать лабораторный будет проблематично.Это связано с тем, что схемных решений компьютерных блоков питания очень много и я не могу описать все необходимые модификации. По секрету скажу, что я сжег 2 БП, прежде чем получил то, что хотел. В этой статье я опишу как сделать плату контроля напряжения и тока, куда ее подключать, и что делать в самом блоке питания, но точную схему переделки не приведу. Могу только подсказать где взять схему на свой БП.

Ну и так далее.Я думаю, что первая ссылка поможет больше всего. Еще одно «но»: схема предназначена для использования в блоке питания на базе достаточно распространенной микросхемы ШИМ — TL494 (аналоги KA7500, MW7575, mPC494C, IR3M02, M1114EU). Может и к другим можно прикрутить, но это я не пробовал.

Идея взята из журнала «Радио 2004/10» с. 33-34. Но там схема измерения была реализована на КР572ПВ2А и светодиодных индикаторах, отображалось одно измеряемое значение (ток или напряжение). Статью читать стоит — там много интересного по переделке описанного БП, но схему повторять не стал.Взял контроллер с АЦП и понеслась….

Схема. (23.01.2009 выложен исправленный вариант схемы, который соответствует печатной плате и прошивке.)


Схема

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

В качестве источника напряжения используем канал 12 вольт, который немного переделан.Переделка заключается в замене ВСЕХ конденсаторов в цепи 12 вольт на конденсаторы такой же (или большей) емкости, но с более высоким напряжением 25-35 вольт. Канал 5 Вольт я вообще выкинул — выкинул диодную сборку и все элементы, кроме общего дросселя. Канал -12В тоже нужно переделать под большее напряжение — его тоже будем использовать. Канал 3,3 Вольта тоже нужно убрать, чтобы он нам не мешал.

А вообще в идеале нужно оставить только диодную сборку канала 12 Вольт и конденсаторы/дроссели фильтра этого канала.Также необходимо убрать цепь обратной связи по напряжению и току. Если по напряжению цепь ОУ найти не сложно — обычно на 1 пин TL494, то по току (защита от КЗ) обычно приходится искать довольно долго, особенно если цепи нет. Иногда это ОС на 15-16 выводов того же ШИМ, а иногда хитрое подключение со средней точки управляющего трансформатора. Но эти цепочки нужно снять и убедиться, что ничто не блокирует работу нашего БП.В противном случае лаборатория не будет работать. Например — в CODEGEN я забыл снять ОС по току… И не смог поднять напряжение выше 14 Вольт — защита по току и питание отключились напрочь. Еще одно важное примечание:

Необходимо изолировать корпус БП от всех внутренних цепей. Это связано с тем, что на корпусе БП есть общий провод. Если совершенно невзначай прикоснуться к выходу «+» к корпусу, то хороший фейерверк получается. Так как теперь защиты от КЗ нет, а есть только ограничение по току, но оно реализовано отрицательным выводом.Вот так я и спалил первую модель своего БП.

Для измерения тока взят шунт от китайского тестера. «Константановые провода», как и в «Радио», я не нашел, так как не знаю, что это такое. А в китайском тестере как раз нужной толщины и длины! В качестве регуляторов используются многооборотные резисторы BOURNS 3590s. Хотя можно и обычный поставить, но точность установки напряжения и тока меня не порадовала. В качестве подстроечных резисторов использовались многооборотные подстроечные устройства той же фирмы: BOURNS 3266 или BOURNS 3296.

Печатная плата.


Печатная плата

Односторонняя печатная плата размером 145*75 мм. Крепится болтами прямо на стенку БП. С левой стороны перемычки указано место установки шунта.

Внимание! На плате есть две хитрые перемычки — под предохранителем 2 перемычки SMD — нужно припаять ТОЛЬКО ТОЛЬКО — правильную лучше всего. Во вложениях вы можете скачать плату в формате Sprint-Layout 5.0

Собираем.

Вот как это выглядит в собранном виде:

foto_face.jpg (71,56 КБ) Просмотров: 250604

Правый переменный резистор задает требуемое напряжение, левый – ток. Обратите внимание, что установленный ток также отображается на индикаторе (Set I = 00,86A).

Немного о настройке измерительной части.

После сборки рекомендуется включить блок питания через лампу накаливания 60Вт. Это позволит избежать фейерверков.

Если все заработало и не взорвалось, то можно переходить к настройке (после включения блока питания без лампы), которая сводится к регулировке подстроечных резисторов в цепи измерения тока и напряжения. Значит напряжение на выходе БП = 20 Вольт должно соответствовать напряжению 2,5 Вольта на среднем выводе резистора «Измерение» U» — 23-й вывод контроллера. Тоже с током. 10А соответствует напряжению 2,5 В на среднем выводе резистора «Усиление I» — 24-й вывод контроллера.Можно просто подключить точные силовые приборы к выходу блока питания и, замерив напряжение, отрегулировать «Измерение «U»» по мере необходимости. Точно так же ток можно регулировать с помощью эталонного амперметра.

С этим блоком питания очень удобно заряжать любые аккумуляторы. Например, для зарядки свинцового аккумулятора 12В/7А/ч установите напряжение = 14,2 В, ток = 0,7 – 1,5 А (согласно инструкции к аккумулятору). Подключите аккумулятор к блоку питания, и если ток заряда больше установленного, он будет ограничен (это приведет к падению напряжения).На индикаторе в это время будет отображаться символ ” ↓ ” (пример Set I = 00,86A ↓ ) и загорится красный светодиод. Когда ток падает до установленного значения или ниже, напряжение будет ограничено. (При этом светодиод и символ «↓» гаснут). Таким образом, аккумулятор сначала заряжается стабильным током, а в конце заряда – стабильным напряжением.

От этого блока питания я заряжал литиевые аккумуляторы от мобильных телефонов (домой иногда забываю зарядить, да и не только я), фотоаппарат.На фото я только что закончил зарядку аккумулятора от телефона. Свинцовые аккумуляторы от ИБП (в другом приложении) 6В и 12В. Однажды мне даже пришлось зарядить аккумулятор в машине. Поставил 14,4 вольта, 10А и за ночь аккумулятор зарядился, и мой блок питания был протестирован.

Также блок питания использовался для питания шуруповерта на 18 вольт. Ток при старте был ограничен 8 амперами (специально), но сверлить и закручивать саморезы (4,5*85 мм) это не мешало — просто был более плавный старт.В общем, применений этого БП много.

В начале статьи я упоминал ДВУХКАНАЛЬНЫЙ БЛОК ПИТАНИЯ. Так вот — никто не запрещает собрать два таких блока питания и собрать их вместе. В этом случае можно включить их последовательно и получить до 40 вольт!!! Не рекомендую параллельное включение.

Ну и в конце добавлю ложку дегтя. ATMega8 не очень качественный АЦП (всего 10 бит), поэтому показания на индикаторе все время немного подскакивают (последний бит), но я сомневаюсь, что можно добиться лучшего без использования внешнего АЦП или разделения диапазон измерения на несколько поддиапазонов.Но это уже сложнее… Еще хочу добавить, что печатная плата не мешает переделать — разделить аналоговое и цифровое питание, развести землю по уму и так далее.

Вольтметр-амперметр на базе Atmega8

v2 — Схемы своими руками

Danke der Code funktioniert nach ein paar Konvertierungsfehlern. 🙂
4 мой Симсон: XD

$regfile = «m8def.dat»
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4, Db5 = порт 3, Db6 = порт 2, Db7 = порт 1, E = порт 5, Wr = порт 6, Rs = порт 7
Курсор выкл.
Dim Volt As Single, V As String * 10
Dim Amper As Single, A As String * 10
Dim Watt As Single, W As String * 10
Const Adc_multi = 0.0146484375
Config Adc = Single, Prescaler = Auto, Reference = Avcc
Start Adc
Deflcdchar 0, 32, 32, 32, 31, 32, 32, 32, 32 ‘ заменить [x] на номер (0-7)
Deflcdchar 1, 32, 16, 8, 4, 2, 1 , 32 , 32 ‘ заменить [x] на номер (0-7)
Deflcdchar 2 , 32 , 4 , 4 , 4 , 4 , 4 , 32 , 32 ‘ заменить [x] на номер (0-7)
Deflcdchar 3 , 32 , 1 , 2 , 4 , 8 , 16 , 32 , 32 ‘ замените [x] номером (0-7)
Cls
Найдите 1 , 1
ЖК-дисплей «VAW Meter 1.0»
Найдите 2, 1
ЖК-дисплей «KR51/1 Vape»
Подождите 1
Класс
Найдите 1, 1
Дисплей «5V Switcher 2.5A»
Найдите 2, 1
ЖК-дисплей «Зарядное устройство USB» 0
2 60262 Подождите 1 9026 Найдите 1, 1
ЖК-дисплей «By DR»
Найдите 2, 2
ЖК-дисплей «:-)»
Найдите 2, 1
ЖК-экран (0)
Waitms 200
Найдите 2, 1
ЖК-экран (1)

6 Waitms
Locate 2 , 1
Lcd Chr(2)
Waitms 200
Locate 2 , 1
LCD Chr(3)
Waitms 200
Locate 2 , 1
Lcd Chr(0)
Lcd 90 200 6
Waitms (1)
Waitms 200
Locate 2 , 1
Lcd Chr(2)
Waitms 200
Locate 2 , 1
Lcd Chr(3)
Waitms 200
Cls
Do
Mess_volt =
Mess_volt = 900c(6s20c) Adc_multi
Вольт = Вольт * 80
Вольт = Вольт / 50
Mess_amper = Getadc(1)
Ампер = Mess_amper * Adc_multi
Ампер = Ампер * 80
Ампер = Ампер / 50
Ватт = 0
Ватт 00 Вт = Ватт * Ампер
В = Слияние(вольт , «#.##»)
A = Предохранитель (ампер, «#.##»)
Вт = Предохранитель (ватт, «#.##»)
Найдите 1, 4: ЖК-дисплей «Вольт*»; В
Найдите 2, 4 : ЖК-дисплей «Amp.*» A
Подождите 3
Найдите 2 , 4 : ЖК-дисплей «Watt*» W
Подождите 1
Контур

Цифровой амперметр

с использованием микроконтроллера AVR (ATmega8): схема и код

В этом проекте мы собираемся изготовить амперметр низкого диапазона с использованием микроконтроллера ATMEGA8 . В ATMEGA8 для этого мы собираемся использовать функцию 10-битного АЦП (аналогово-цифровое преобразование).Хотя у нас есть несколько других способов получить текущий параметр из цепи, мы собираемся использовать метод резистивного сброса, потому что это самый простой и простой способ получить текущий параметр.

 

В этом методе мы собираемся пропустить ток, который необходимо измерить, к небольшому сопротивлению, тем самым мы получим падение на этом сопротивлении, которое связано с током, протекающим через него. Это напряжение на сопротивлении подается на ATMEGA8 для преобразования АЦП. При этом у нас будет ток в цифровом виде, который будет отображаться на ЖК-дисплее 16×2.

 

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

 

Теперь важно отметить, что входной сигнал, принимаемый контроллером для преобразования АЦП, составляет всего 50 мкА. Этот эффект нагрузки делителя напряжения на основе сопротивления важен, так как ток, потребляемый от Vout делителя напряжения, увеличивает процент ошибки, поэтому сейчас нам не нужно беспокоиться о влиянии нагрузки.

 

Необходимые компоненты

Оборудование: ATMEGA8, блок питания (5 В), AVR-ISP PROGRAMMER, JHD_162ALCD (16*2LCD), конденсатор 100 мкФ, конденсатор 100 нФ (4 шт.), резистор 100 Ом (7 шт.) или 2,5 Ом (2 шт.), 100 кОм резистор.

Программное обеспечение: Atmel studio 6.1, progisp или flash magic.

 

Принципиальная схема и пояснение к работе 

[См. это руководство, чтобы понять, как связать ЖК-дисплей с микроконтроллером AVR]

Напряжение на резисторах R2 и R4 не является полностью линейным; это будет шумно.10 = 5 мВ. Таким образом, для каждого приращения на 5 мВ на входе у нас будет приращение на единицу на цифровом выходе.

 

Теперь нам нужно установить регистр АЦП исходя из следующих условий:

1. Прежде всего нам нужно включить функцию ADC в ADC.

2. Здесь собираемся получить максимальное входное напряжение для преобразования АЦП +5В. Таким образом, мы можем установить максимальное значение или ссылку АЦП на 5 В.

3. Контроллер имеет функцию преобразования триггера, которая означает, что преобразование АЦП происходит только после внешнего триггера, поскольку мы не хотим, чтобы нам нужно было устанавливать регистры для работы АЦП в непрерывном автономном режиме.

4. Для любого АЦП частота преобразования (аналогового значения в цифровое значение) и точность цифрового выхода обратно пропорциональны. Таким образом, для большей точности цифрового вывода мы должны выбрать меньшую частоту. Для обычных часов АЦП мы устанавливаем предпродажу АЦП на максимальное значение (2). Поскольку мы используем внутренние часы с частотой 1 МГц, часы АЦП будут (1000000/2).

Это единственные четыре вещи, которые нам нужно знать, чтобы начать работу с ADC.

Все вышеперечисленные четыре функции задаются двумя регистрами,

КРАСНЫЙ (ADEN): Этот бит должен быть установлен для включения функции АЦП ATMEGA.

СИНИЙ (REFS1, REFS0): Эти два бита используются для установки опорного напряжения (или максимального входного напряжения, которое мы собираемся задать). Так как мы хотим иметь опорное напряжение 5В, необходимо установить REFS0 по таблице.

ЖЕЛТЫЙ (ADFR): Этот бит должен быть установлен, чтобы АЦП работал непрерывно (режим автономной работы).

РОЗОВЫЙ (MUX0-MUX3): Эти четыре бита указывают входной канал. Поскольку мы собираемся использовать ADC0 или PIN0, нам не нужно устанавливать какие-либо биты, как в таблице.

КОРИЧНЕВЫЙ (ADPS0-ADPS2): эти три бита предназначены для установки предварительного скаляра для АЦП.Поскольку мы используем предварительную скалярную величину 2, мы должны установить один бит.

ТЕМНО-ЗЕЛЕНЫЙ (ADSC): этот бит установлен для того, чтобы АЦП начал преобразование. Этот бит можно отключить в программе, когда нам нужно остановить преобразование.

[Также проверьте: цифровой вольтметр с использованием микроконтроллера AVR]

Мульти-DVM


Gelegentlich muss man mehr als eine Spannung messen, vielleicht auch ночь умирает Frequenz. Dann wird es schnell voll auf dem Arbeitstisch.Dagegen hilft dieses Multimeter mit dem ATMega8, es misst gleichzeitig zwei Spannungen V1 и V2 от 0 до 26 вольт и zeigt auch die Различия между: V1 — V2 rechts unten. Der Eingangswiderstand betrgt 100 кОм. Parallel dazu arbeitet ein Frequenzzhler mit einer festen gate время 1 Sekunde, die Timer2 erzeugt, und zeigt das Ergebnis в Гц бесконечные ссылки. Der Zhler geht bis ок. 1 МГц с дем 4 МГц Кварц, до 1 MHz zhlt er 7 Hz zu wenig, das knnte man mit den Kondensatoren am Кварцевая отделка, wenn es genauer werden soll.Es wird mit einem Steckernetzteil betrieben, ist im Prinzip, а также Potentialfrei, die Masse der drei Eingnge ist aber miteinander verbunden.Ein schnelles Projekt fr Regentage und es hlt den Arbeitstisch frei.


Загрузить: DVM_LCD4T.zip

 '****************************************** *********************************** 
' ATMega8 LCD цифровой вольтметр GS 2013
' GS 3-2011, обновлено 2-2014
'
' 2 вольтметра, 0 - 26 В, отображает разницу V1 - V2
' измеряет частоту с временем срабатывания 1 сек по T2, вход на PD5
' дисплей обновляется каждую секунду
'
' 4 канала показаний АЦП 4 5, ссылка = внутренняя (2.62 В)
' 10k/90k Делитель каналов АЦП
' Коэффициент калибровки: вольт/счет АЦП, 0,02598 В/счет
'
' ЖК-дисплей:
' 12345678
456
' ---
' 12.00 01.00
' 1.000Hz+11.00
' ----------------
'
' Эта программа является бесплатным программным обеспечением; вы можете распространять его и/или изменять
' в соответствии с условиями Стандартной общественной лицензии GNU.
'Эта программа распространяется в надежде, что она будет полезной,
' но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ;
'
'****************************************************** ****************************
' ATMega8 PDIP
'
' (СБРОС) PC6 1 28 PC5 (ADC5/SCL)
' (RXD) PD0 2 27 PC4 (ADC4/SDA)
' (TXD) PD1 3 26 PC3 (ADC3)
' (INT0) PD2 4 25 PC2 (ADC2)
' (INT1) PD3 5 24 PC1 (ADC1)
' (XCK/T0) PD4 6 23 PC0 (ADC0)
' VCC 7 22 GND
' GND 8 21 AREF
' (XTAL1/TOSC1)PB6 9 20 AVCC
' (XTAL2/TOSC2)PB7 10 19 PB5 (SCK)
'(T1) PD5 11 18 PB4 (MISO)
' (AIN0) PD6 12 17 PB3 (MOSI/OC2)
' (AIN1) PD7 13 16 PB2 (SS/OC1B)
' (ICP1) PB0 14 15 PB1 ( OC1A)
'
'************************************************ *******************************
' Аппаратное обеспечение: ЖК-дисплей, порт B
' Контакты ATMega8:
' R/S PortB 5 Lcd pin 4
'E PortB 4 LCD pin 6
' DB4 PortB 0 Lcd вывод 11
' DB5 PortB 1 ЖК-данные
' DB6 PortB 2
' DB7 PortB 3 ЖК-вывод 14

$regfile = "m8def.dat"
$crystal = 4000000
$hwstack = 32 ' по умолчанию используется 32 для аппаратного стека
$swstack = 10 ' по умолчанию используется 10 для программного стека
$framesize = 40 ' по умолчанию используется 40 для пространства кадра
$baud = 9600

'*************************************************** **********************

Псевдоним Ipulse Portd.7
Псевдоним Mpulse Portd.4
Rs232 Псевдоним Pind.6

Const Calfactor0 = 2598 'калибровка
Const Calfactor1 = 2598 'калибровка

Const T2comp = 256 - 217 '18 Hz T2

Dim Dis0 Byte Asnt 9 As Byte
'display counter
Dim Icnt As Byte 'ISR counter
Dim T1ovfcnt As Byte 'ISR ovf counter
Dim Cntflag As Byte 'ISR Cntflag

Dim Seconds As Byte
Dim Minutes As Byte
Dim Hours As 6 Byte
Dim W Word Dim Ad As Integer
Dim Adch0 As Long
Dim Adch2 As Long
Dim Frequency As Long

Dim S As String * 10
Dim S1 As String * 6
Dim S2 As String * 6
Dim S3 As String * 6

'****************************** **********************************************
Config LCD = 16 * 2
Конфигурация Lcdpin = Pin, Db4 = Portb.0 , Db5 = Портb.1 , Db6 = Портb.2 , Db7 = Портb.3 , E = Портb.4 , Rs = Портb.5 'Didr0 = & b00000111' ch2 & 2 & 3 m48 только

ddrd = & b10011110
portd = & b11011111

config adc = single, prescaler = auto, ссылка = внутренняя "2.62 v
Запустить ADC

'Config Timer1
Timer1 = Счетчик, Edge = Rising
Enable OVF1
на OVF1 T1oVF
Включить Timer1

'Timer1

' Config Timer2
Timer2 = Timer, Prescale = 1024
TCNT2 = T2COMP
Включить OVF2
на OVF2 T2VF2

Включить прерывания

'*** ******************************************************* ****************
ЖК-дисплей "Gerds DVM V4"
Ожидание 2
Cls
Курсор выкл.

Запуск таймера 2
Запуск таймера 1
Частота = 12345
Cntflag = 1

Do

9 0002 'измерить контур напряжения и частоты

If Dispcnt = 1 Then '1 s
Dispcnt = 0 ' обновить дисплей
Stop Timer1
'Tccr1b = 0
Frequency = 65536 * T1ovfcnt
Frequency = Tcnt1 + Frequency
Tcnt1 = 0 = 0

Запуск Таймера 1
'Tccr1b = &B00000111

S3 = Str(частота)
S3 = Формат(s3 , " .000")
S3 = S3 + "Hz"
Mpulse = 1

W = 0
Adch0 = 0 ' V Getadc(4)
Для N = от 1 до 4 'get ch 4
W = Getadc(4)
Adch0 = Adch0 + W
Next N
Сдвиг Adch0 , Right , 2 'div 4
Adch0 = Adch0 * Calfactor0 'вольт/счет, калибровка
Adch0 = Adch0 / 1000
S1 = Str(adch0)
S1 = Format(s1 , " 0,00")
'S1 = S1 + "V1"

W = 0
Adch2 = 0 ' V Getadc(5)
Для N = от 1 до 4 'get ch 5
W = Getadc(5)
Adch2 = Adch2 + W
Next N
Сдвиг Adch2 , Right , 2 'div 4
Adch2 = Adch2 * Calfactor1 'вольт/счет, калибровка
Adch2 = Adch2 / 1000
S2 = Str(adch2)
S2 = Format(s2 , " 0.00")
'S2 = S2 + "V2"

Ad = Adch0 - Adch2
S = Str(ad)
S = Format(s , "+0.00")

Mpulse = 0

Home Upper
'Lcd ""
Найдите 1, 1
ЖК-экран S1
Найдите 1, 12
ЖК-экран S2
Найдите 2, 1
ЖК-экран S3
Если Len(s) = 6, то
Найдите 2, 11
Else 2 Если
End 2 9 0, 1 2
Lcd S

If Rs232 = 0 Then 'отправить данные
S = S1 + ";" + S2 + ";" + S3
Print S
End If

End If 'if dispcnt

Цикл' повторить

'****************************************************** *********************

T2ovf2: 'прерывание 18 Гц

Ipulse = 1
Tcnt2 = T2comp ' перезагрузить T2
Incr Icnt
If Icnt = 18 n '1 сек
Dispcnt = 1
Icnt = 0 '1 секунда
Incr Seconds
If Seconds = 60 Then
Seconds = 0 : Incr Minutes
End If
If Minutes = 60 Then
Minutes = 0 : Incr Hours
End If
If Hours = 24 Then
Hours = 0
End If
' S1 = Str(часы)
' S2 ​​= Str(минуты)
' S3 = Str(секунды)
' S = Format(s2 , "00") + ":" + Формат(s3, "00")
'S = Формат(s1, "00") + ":" + Формат(s2, "00") + ":" + Формат(s3, "00")
' Найдите 2 , 11
' Lcd S

End If 'Icnt
Ipulse = 0

Возврат 'reti

T1ovf:
Incr T1ovfcnt

*** '

*** Возврат

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



 

Электроник-Лабор   Проекте   АВР

Упрощенный биполярный вольтметр 50 В и амперметр 5 В

Упрощенный двухполюсный вольтамперметр который выполнен в виде модуля для удобного добавления на переднюю панель.

Большинство доступных модулей либо не могут считывать отрицательные напряжения и токи, либо являются дорогостоящими для любителя. Схема проста и требует одного положительного источника питания (от 8 до 12 В постоянного тока).

 

См. полную схему:

Здесь микроконтроллер ATMEGA8 является сердцем проекта. Каналы АЦП микроконтроллера непрерывно считывают напряжения, доступные на 4 контактах (23, 24, 25 и 26), затем обрабатывают и отображают на 2-строчном 16-колоночном ЖК-дисплее.

Положительное напряжение делится с помощью резистивных делителей, а отрицательное напряжение преобразуется в положительное с помощью LM358 (один операционный усилитель используется из двойной микросхемы операционного усилителя) и питается от отдельного источника питания 6 В через стабилизатор фиксированного напряжения IC 7806. Оставшаяся цепь питается от другого стационарного регулятора напряжения IC 7805. 

Ток измеряется с помощью модулей ACS712-5A, которые могут измерять ток от -5 А до +5 А. Два аналогичных модуля ACS712-5A используются для измерения положительного и отрицательного тока, а схема и способ подключения модулей показаны ниже.

Первоначальная настройка/калибровка:

После того, как компоненты припаяны к печатной плате (здесь используется печатная плата общего назначения) в соответствии со схемой, файл BipolarVAmeter.HEX должен быть загружен в ATMEGA8 с помощью любого подходящего программатора, использующего порт ISP. .

После подключения источника питания к цепи (предпочтительна батарея 9 В) включите питание цепи. Теперь подключите положительный и отрицательный разъемы источника питания к входу для положительного напряжения и входу для отрицательного напряжения для измерения напряжения.Считайте входные напряжения на мультиметре (режим напряжения) и отрегулируйте подстроечные потенциометры 200K для отображения того же напряжения на ЖК-дисплее.

Для калибровки показаний тока соедините последовательно два модуля ACS712-5A, как показано на рисунке, с мультиметром в режиме 10 А. Необходимо сделать небольшую печатную плату с двумя кнопками, подключенными к контактам 4 и 5 ATMEGA8. Теперь перезапустите схему, выключив и включив питание (или нажмите кнопку сброса).

Считайте текущий расход в амперах на мультиметре, ЖК-дисплее для положительных и отрицательных значений.если на ЖК-дисплее отображается нулевое значение (0,0 А), поменяйте местами входы питания для конкретного модуля ACS712-5A после отключения питания цепи.

Если отображаемое значение (ампер) не соответствует значению мультиметра, запишите процент ошибки для положительных и отрицательных ампер на ЖК-дисплее, относительно. до многометрового значения.

Теперь перезагрузите схему и просто нажмите любую кнопку, пока на ЖК-дисплее отображается название проекта (упрощенный биполярный вольт-амперметр).

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

Описанный выше процесс необходимо повторять до тех пор, пока значения ампер, отображаемые на ЖК-дисплее, не совпадут со значением на мультиметре.

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

 

НАСЛАЖДАЙТЕСЬ. ВСЕГО НАИЛУЧШЕГО.

щелкните ссылку / вложение, чтобы загрузить файл и переименовать его в BipolarVAmeter.HEX , затем загрузите его в ATMEGA8 с помощью любого подходящего программатора AVR.

 Упрощенный биполярный вольт-ампер-ваттметр 

Этот проект является РАСШИРЕНИЕМ проекта упрощенного вольт-амперметра, который отображает мощность и сводку в дополнение к вольтам и амперам как для положительного, так и для отрицательного напряжения постоянного тока и потребляемого тока.

Основное отличие состоит в том, что ЖК-дисплей должен быть заменен на 4 строки по 16 столбцов вместо 2 строк по 16 столбцов. В цепи нет изменений. Запишите новый шестнадцатеричный код, доступный ниже (скачайте, нажав на ссылку), в ATMEGA8. Значение WATTS получается путем умножения напряжения и потребляемого тока. Сводка содержит общий ток и общую мощность (как положительную, так и отрицательную потребляемую мощность).

Изготовьте подходящую панель для ЖК-дисплея 16×4. Остальные вещи такие же, как описано выше.

НАСЛАЖДАЙТЕСЬ. УДАЧИ

щелкните ссылку / вложение, чтобы загрузить файл и переименовать его в BipolarVAWmeter.HEX , затем загрузите его в ATMEGA8 с помощью любого подходящего программатора AVR.

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

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

Это, пожалуй, самый простой цифровой вольтметр с микроконтроллером Atmel AVR и ЖК-дисплеем. Схема управляется микропроцессором IO1 — AVR Atmel ATmega16A, ATmega16L, ATmega16, ATmega32A, ATmega32L или ATmega32.Ниже представлена ​​программа для бесплатного скачивания и настройка битов настройки принтскрина. Трехразрядный семисегментный ЖК-дисплей используется для отображения значения напряжения. Я использовал тип LCD3.0-13. Дисплей питается прямоугольным переменным напряжением с частотой около 50 Гц. Активные сегменты подключаются к напряжению синфазно с общим электродом или так называемой объединительной платой (БП). Неактивные сегменты подключаются к напряжению синфазно с общим электродом. В схеме используется несимметричный 10-разрядный аналого-цифровой преобразователь AVR.Выходное значение находится в диапазоне от 0 до 1023. Как не стоит добавлять четвертую цифру для узкого диапазона 1000–1023 диапазон ограничен 0–999. Когда входное напряжение выходит за пределы допустимого диапазона, на дисплее отображается символ «- — -«. Шкала соответствует входному напряжению 2,5 В. Входной делитель R9, R10 и P1 уменьшает напряжение в 4 раза, обеспечивая диапазон 10 В с разрешением 0,01 В. Входное сопротивление около 1М. (Если вам нужен диапазон 100 В, замените R10 на 9M1 и P1 на 2M2.Тогда вы получите Диапазон 100 В с разрешением 0,1 В и входным сопротивлением около 10 МОм.) Откалибруйте вольтметр, используя P1, когда известное напряжение подключено. При необходимости выберите десятичную точку (1h или 2h). Выбранная точка подключается к контакту 29 (PC7). Неиспользованная точка должна быть подключен к контакту 21 (PD7) и, следовательно, к БП, поэтому напряжения относительно БП нет (не выпускайте точку «на волю»). Частота обновления вольтметра составляет около 4 Гц. IO1 использует внутренний RC-генератор с частотой 1 МГц.Схема питается от источника питания около 3 — 5В для ATmega16A/ATmega32A/ATmega16L/ATmega32L или 4,5 — 5В для ATmega16/ATmega32. (по моим экспериментам ATmega32 работает и при 3В, но это не гарантируется даташитом). Потребляемый ток при 3В составляет примерно 0,2-0,4 мА, а при 5В примерно 2-4 мА. Вольтметр может быть полезен в качестве усовершенствования лабораторного источника питания, индикатора напряжения бортовой сети транспортного средства, измерителя напряжения питания ПК, измерителя напряжения батареи ИБП и т. д.Напряжение питания можно получить с помощью простого источника питания, например, 7805, LM317 или стабилитрона. Установите соответствующий предохранитель на входе питания.
Программа для бесплатного скачивания:
исходный код на ассемблере (ASM) для ATmega 16 (A/L)
исходный код на ассемблере (ASM) для ATmega 32 (A/L)
скомпилированный HEX файл для ATmega 16 (A/L) (284 байта)
скомпилированный HEX-файл для ATmega 32 (A/L) (284 байта)
Как записать программу в AVR описано здесь .

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

Принципиальная схема простейшего цифрового вольтметра с ЖКИ и АРН ATmega16(A)(L) / ATmega32(A)(L).


Установка битов конфигурации. (то же самое для ATmega16(A)(L) и ATmega32(A)(L))


Проверка вольтметра на ATmega16A. Справа вы можете видеть другой дисплей LCD3.0-13 с нижней стороны.

0 comments on “Вольтметр амперметр atmega8 lcd: Вольтметр –Амперметр, ATmegа8 – LCD.

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

Ваш адрес email не будет опубликован.