Пятница, 26.04.2024, 08:40
Приветствую Вас Гость | RSS

Лаборатория Полюс

Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

Каталог статей

Главная » Статьи » Электроника

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

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

Устройство может применяться для измерения напряжения радиолюбительских блоков питания, контроля заряда аккумуляторов и т.п. Оно собрано на микроконтроллере ATMEGA-8 и светодиодном индикаторе с общим катодом MT-30361. 

 
Технические характеристики:
 
Напряжение питания: 6..14 В
Потребляемый ток:   42 мА
Число разрядов индикатора: 3
Диапазон измерения: от 0 до 50 В
Шаг измерения: 0,1 В
Расчетная погрешность 0,4%
 

Особенности конструкции:

-Предусмотрена защита от подачи напряжения питания и измеряемого напряжения обратной полярности.
-Для уменьшения размеров устройства применяются SMD компоненты.
 
Принципиальная схема вольтметра показана на Рис.1.
 
 
Краткое описание схемы.
 
Входное напряжение питания ограничивается и стабилизируется на уровне 5В микросхемой DA1. Диод VD1 служит для защиты от перепутывания полярности напряжения питания. Стабилитрон VD2 защищает вход микроконтроллера от превышения напряжения и напряжения обратной полярности.
Измеряемое напряжение через делитель R1 R2 R3 поступает на вход АЦП микроконтроллера и преобразуется в цифровой код. Для сглаживания пульсаций код усредняется по 16 замерам. Конденсатор С4 подавляет помехи в источнике опорного напряжения АЦП. Измеренный код масштабируется и величина напряжения раскладывается на десятичные разряды (десятки, единицы и десятые доли вольт). Полученные величины поочередно выводятся в соответствующие разряды индикатора методом динамической индикации. Резисторы R5..R12 ограничивают ток сегментов индикатора до безопасных значений.
 
Детали и настройка.
 
Чип резисторы R1, R2 желательно применить полупрецизионные размера 0805 или 0603 с допуском 1%. Резистор R3 подстроечный импортный номиналом 1,5-2кОм типа 3329H или 3329H-1.
Чип резисторы R4-R12 размера 0805 с допуском ±5%. Чип конденсаторы С1 и С2 керамические размера 1206, С1 емкостью не менее 10 мкФ с рабочим напряжением от 25 до 50В. Конденсатор C2 не менее 10 мкФ с рабочим напряжением 10..16В. Также можно применить танталовые чип конденсаторы емкостью 10..22мкФ размера "A". Рабочее напряжение конденсатора С1 не менее 25В, а конденсатора С2 не менее 10В.
Чип конденсатор С3 керамический размера 0805, конденсатор С4 размера 0603. 
Диод VD1 любой подходящий по размерам с барьером Шоттки. Чип стабилитрон VD2 BZV55C5V1 в корпусе SOD-80.
Стабилизатор DA1 типа L7805ABD2T в корпусе D2PAK или MC7805BDTG в корпусе DPAK.
Светодиодный индикатор с общим катодом МТ-30361(E30361-L-G-8-w) зеленого или МТ-30361(E30361-L-C-8-w) красного свечения. 
Заменив прошивку можно применить и индикаторы с общим анодом. Микроконтроллер DD1 любые из серии ATMEGA-8 в корпусе TQFP-32. 
 
Для настройки устройства на его вход подают образцовое напряжение 25В и регулируя R3 добиваются совпадения показаний вольтметра с образцовым напряжением. После этого ось подстроечного резистора контрится каплей краски.
 
Несколько слов по поводу конденсатора С4. В большинстве случаев вольтметр нормально работает и без него, однако с некоторыми экземплярами микроконтроллера Atmega8A при отсутствии входного напряжения вольтметр может показывать не нулевое напряжение. Это происходит из-за влияния помех на источник опорного напряжения 2.56В. При подключении С4 помехи полностью устраняются.
 
 
Монтаж.
 
Вольтметр собран на печатной плате из одностороннего стеклотекстолита толщиной 1,5мм. Конденсатор С4 припаивается одной обкладкой к ножкам 19,20 микроконтроллера а второй - к общему проводу схемы. 
 
Рис.2 Вид собранной платы 
 
 
 
Рис.3 Расположение деталей на печатной плате

 

Файл печатной платы разработан в программе DipTrace.

 

Шаблон под "лазерный утюг" в формате pdf находится здесь

 

Программа написана на языке С для компилятора WinAVR-20090313

 

Заводские настройки фьюз-бит при программировании менять не требуется.
Код и прошивки для варианта индикатора с общим катодом:
 
Прошивка для варианта индикатора с общим анодом: voltm8anod.hex  
 
 
Приложение 1:
 
Как записать программу в микроконтроллер: 
 
                                                                      
 
 
Приложение 2:
 
Файл с 3D моделями для DipTrace (D-PAK, D2-PAK, 3329H, MT30361,  PLS-2,54-4R)
 
Приложение 3:
 
Категория: Электроника | Добавил: and (09.11.2011)
Просмотров: 22598 | Комментарии: 31 | Рейтинг: 0.0/0
Всего комментариев: 29
29 Андрей  
0
Нет, все наоборот. При 2,56в на входе- показания 0,0. При 0в на входе-показания 64,0. Запятая на втором индикаторе.

27 Андрей  
0
Здравствуйте. Собрал недавно Ваш первый вольтметр в машишу. Только переназначил порты, под свою схему. Плата получилась чуть больше индикатора. Работой доволен. Теперь на его базе хочу сделать измеритель уровня топлива. Но нужно инвертирование показаний. То есть при 5 Вольтах на входе показания 0,0. А при 0 Вольт - 640. Помогите, если не сложно. Спасибо.

28 and  
0
Андрей я почти забросил этот сайт, поэтому отвечаю не сразу. Сделал простейшую доработку программы, изменил расчетную формулу. При напряжении на входе АЦП 2.56В показания должны быть 640, а при 0 два нуля, разряд запятой не трогал. Прошивка и исходник в Приложении3. Посмотрите, подойдет ли это Вам.

26 Мусик  
0
Не могли бы Вы прикрепить к статье схему  из Dip trace? Спасибо.

25 Leonid7561  
0
А возможно ли эту схему дополнить амперметром, добавив ещё один семисегментник ? Если да, то очень хотелось увидеть:
вольтамперметр до100в и ток до 10а. СПАСИБО !

17 BlindJack  
0
Здравствуйте! Собрал ваш вольтметр, пока что на макетке, но столкнулся со следующей проблемой, на индикаторе просто хаотично мигают сегменты...на измерения никак не реагирует... Использовал Atmega8A-PU (dip корпус) индикатор с общим анодом. В чем может быть ошибка? Спасибо!

18 and  
0
Здравствуйте. Проверьте, правильно ли подключены линии индикатора A,B,C,D,E,F,G,H, работают ли его сегменты. Какую прошивку используете? Для работы меги8 с общим анодом нужна прошивка из приложения1 voltm8anod.hex. Контроллер новый или уже использовался?

19 BlindJack  
0
Подключение индикаторов проверил несколько раз, но почему то отдельные сегменты просто хаотично мигают, прошивку и использовал из приложения 1 с общим анодом, ради интереса прошил прошивку с общим катодом но ничего не поменялось, сегменты просто монгают... Контроллер использовал новый...

20 and  
0
Странно... Какая-то мега8а невезучая, постоянно с ней проблемы. А микросхема исправная? Вы пробовали зашивать в нее какую нибудь тестовую прошивку, например, светодиодную мигалку какую-нибудь?
А если замкнуть вывод 25 на землю, сегменты тоже мелькают? И еще, я делал самый первый вариант на меге8 на макетке для индикатора с общим анодом http://npl.ucoz.ru/publ....-1-0-5. Если хотите, попробуйте эту прошивку.

21 BlindJack  
0
Разобрался! Сам сам виноват, в подключении индикатора нашел ошибку... И еще вопрос на индикаторе всегда прыгает напряжение +/- 1(0.8,0.9...) вольт, так и должно быть или должен стоять четко? Спасибо!

22 and  
0
Если замеряется напряжение хорошего стабилизированного источника или батарейки, то показания обычно стабильные. Нестабильность показаний может быть при отдельных значениях напряжения, кратных 0.05В. Например, если напряжение равно 1.35В, то за счет округления в программе может периодически индицироваться или 1.3 или 1.4В.
Нестабильность плюс минус 1 младшего разряда за счет погрешности АЦП есть практически у всех вольтметров, полностью подавить ее нельзя.
Здесь сделано так -микроконтроллер делает 16 замеров напряжения и вычисляет среднее. Разрядность выбрана с запасом, младший разряд не индицируется, а значения напряжения округляются до десятой доли вольта. Обновление показаний индикатора происходит раз в пол секунды.

23 BlindJack  
0
Просто он у меня почему то в ноль не выставляется, даже когда на землю вход ацп замыкаю прыгает до 1 вольта...

24 and  
0
Собрал несколько вольтметров и все-таки понял, отчего вольтметр с Atmega8A не показывал ноль при отсутствии входного напряжения. Влияют помехи на опорном источнике. Чтобы убрать этот эффект надо подключить между выводом Aref и землей конденсатор емкостью 22нФ..0,1мкФ. Эффект возникает только с разновидностью Atmega8A, где-то у трети микроконтроллеров. Когда экспериментировал с Atmega48 и Atmega8 без "A" такого не наблюдал.
В общем, по науке и даташиту этот конденсатор лучше ставить всегда. Схему и статью доработал

11 and  
0
Нашел прошивку под общий анод, пробуйте.

4 hd1000  
0
Уточнение. Контроллер сейчас А8А, нашёл в монтаже коротыш, устранил - картина на индикаторе точно такая же, как и с первым МК.
На измерения реагирует - так сказать - притушением некоторых сегментов.
Т.е. проблема точно не в монтаже и не в контроллере.

5 and  
0
Отчитываюсь о проделанной работе happy
1)Проверил прошивку для Atmega8в железе с контроллером Atmega8-16AU.
Прошивка верная, вольтметр работает.

2)Проверил исходник, он правильный, AvrStudio4 и Winavr2090313 его успешно компилирует, в исходнике в комментариях о типе процессора была опечатка, пофиксил.

3) На схеме был неправильно указан номинал резистора сброса R4 10кОм, на самом деле он 5,1 кОм, схему поправил.

С Atmega8A никогда не работал, но программа для Atmega8 должна подходить и для Atmega8A, главное отличие у них в величине логических уровней и токе потребления:
http://real.kiev.ua/2010/09/16/a-and-not-a-avrs/langswitch_lang/ru/

В инете пишут, что при замене 8 на 8А схемы могут не работать (видимо срабатывает BOD и не проходит аппаратный сброс) и для их запуска надо уменьшать сопротивление резистора, подключенного к выводу Reset.
http://electronix.ru/forum/lofiversion/index.php//t91313.html

Попробуйте уменьшить номинал R4 до 5,1 Ком, а лучше до 1,5 кОм. Если не заработает, то проверьте, нет ли перемычек в монтаже.

6 hd1000  
0
Спасибо, буду добивать)
Атмега-А -вроде как "обновлённый" аналог старых чипов - просьбы людей были услышаны и производство Атмег в DIP возобновлено - у нас они по старой цене 70р. после недавного взлёта в разы. Мои знакомые в ужасе от TQFP, как и я - был совсем недавно. Попробую и заменить резисторы, и проверить монтаж.
Результат обязательно сообщу, ещё раз респект smile

7 hd1000  
0
BOD я не включал. Частотные фьюзы не менял. R4 поэтапно уменьшил до 1,5к. Проверил монтаж, пропайку чипа, промерил резисторы. На индикаторе - три перевёрнутые по горизонтали 9-ки и три точки) При подаче напряжения на вход - горят всякие другие сегменты, но арабские цифры не образуют biggrin
То есть, формально -прошивка работает, но вывод некорректен.
Видать, AtmegaA не хочет дружить с программой для "не А".
Проверю ещё и ещё раз в свободную минуту, но похоже, что так...

8 and  
0
Ну тогда уж не знаю, что посоветовать...
А какой индикатор Вы применяете? По симптомам похоже, как будто сегменты перепутаны. Флюс нейтральный или кислотный?

9 hd1000  
0
Я очень извиняюсь, но индикатор оказался с общим анодом, несмотря на маркировку! Брак, однако... Не ожидал такой неожиданности. Скажите, что поменять в программе для перевода на ОА или, может, есть готовый HEX? Заранее спасибо.

10 and  
0
Ну вот biggrin
Там в исходнике надо сменить коды знако генератора под индикатор с общим анодом, прошивка под общий анод была, посмотрю, выложу, но скорее всего, уже завтра smile

12 hd1000  
0
Очень жду, самому лезть в исходник бесполезно)
В качестве посильной благодарности - предлагаю маленький рац - включить параллельно-встречно 4148 стаб на 4,7, дабы особо талантливые и вечно спешащие, вроде меня, не пожгли АЦП biggrin

13 and  
0
Прошивка для индикатора с общим анодом выложена в конце статьи, файл voltm8anod.hex

14 hd1000  
0
огромнейшее спасибо за полезный прибор!
В первую же свободную минуту прошью.
Автоаккум тоже будет рад biggrin

15 hd1000  
0
Подтверждаю, прошивка для ОА работает, вольтметр работает быстро и точно, чип Атмега8А годится. Автору - новых побед smile

16 and  
0
Спасибо biggrin

1 hd1000  
0
Здравствуйте.
Повторил конструкцию. Спасибо, конечно, но прошивка - с ней что-то не так. Контроллер A8, индикатор с ОК, на индикаторе горят почти все сегменты, некоторые вполнакала, при измерении напряжения что-то меняется, но всё равно бессмыслица.
Ошибок в сборке и при заливке нет.
В выложенном исходнике для А8 указано, что программа - для А48.
Там же указана установка фьюзов в незаводские значения, хотя в статье сказано, что нужно оставить заводские.
Исправьте, пожалуйста, или скажите, какую прошивку использовть для А8, жаль единственный за месяц выходной.

2 and  
0
Здравствуйте.
Да, досадно, что так получилось. В принципе, прошивки должны быть рабочими. Я делал контрольную сборку; на фотке вольтметр с зеленым индикатором сделан на меге8, а с красным на меге48. Можно было бы быстро слить прошивку с готового прибора, но как раз именно этот вариант я подарил знакомому. Обязательно посмотрю прошивку и, если ошибочная поправлю, но в течении 3-4 дней. Конец года, и своими делами заниматься приходится урывками:(

Что касается фьюзов, то можно использовать и тот и другой вариант. С завода кристаллы меги8 выпускают с запуском от внутреннего RC генератора и тактовой частотой процессора в 1МГц. При этом, частота переключения сегментов получается невысокой, и если покачать платку, то заметно мерцание индикаторов. Зато приборчик быстро изготовить и нет риска залочить кристалл.
А для желающих оптимизировать прошивку в исходнике в комментах дана настройка фьюзов на тактовую частоту 2МГц.

3 hd1000  
0
Благодарю за надежду)
Старый А8, скорее всего, был дефектным - плохо шился, потом я доигрался с фьюзами CKSEL, заменил МК -на индикаторе горят точки и слегка мерцают 2 старших разряда, при измерении реакция есть - но результат неидентифицируем. Возможно, выложенный HEX -для А48, как и исходник? Буду очень ждать поддержки, сам не умею править программы)
Ранее повторял
http://www.arhimed.info/circuits/atmega8_voltmetr.html
но искал вариант с корпусом TQFP, Ваш бы идеально подошёл.

Имя *:
Email *:
Код *:
Поиск
Рейтинг@mail.ru

Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz