В. Для расширения диапазона измеряемых напряжений я поставил перед АЦП резистивный делитель. Он рассчитан таким образом, чтобы при напряжении в 3. В на входе делителя напряжение на входе АЦП не превышало 2,5. В. Uadc = Uin*R1. R1. 4 + R1. 5) = 3. В*8. 2 /(8. 2 + 9.
АмперВольтметр на attiny13 Этот проект возник из любопытства – что мы можем сделать на таком маленьком микроконтроллере? Инструкция По Применению Смола Эд-16. Оказывается, много .
ВЧтобы вычислить напряжение на входе вольтметра нужно результат преобразования АЦП пересчитать в напряжение и домножить на коэффициент(R1. R1. 5)/R1. 4 = 9. Напряжение на входе АЦП - Uadc вычисляется по формуле: Uadc = value * 2,5. АЦП, value – цифровое значение напряжения. Отсюда напряжение на входе вольтметра будет равно: Uin = (value * 2,5.
Чтобы не связываться с типом float и при этом иметь возможность вычислять напряжение с точностью до 2- ух знаков после запятой, числитель этой формулы я домножил на 1. Uin = (value * 3. Тест вольтметра Когда программа была завершена, мне стало интересно, насколько точные показания будет давать вольтметр по сравнению с мультиметром. Я подключил вольтметр к источнику питания и в диапазоне напряжений от 0 до 3.
В снял его показания. Первая колонка – это напряжение выставляемое на источнике питания, вторая - показания мультиметра Fluke, а третья – цифровой вольтметр на ATmega. Файлы. IAR. Вольтметр на микроконтроллере. Win. Avr. Вольтметр на микроконтроллере. Code. Vision. Вольтметр на микроконтроллере.
Проект для Proteus`a. Вольтметр на микроконтроллере.
Вольтметр на Attiny. HC5. 95. MEGA- AVRУ меня дома много этих тинек валяется (лежит) поетому почему бы и не сделать вольтметр на ней). Заоодно испытать макетную плату которую я недавно приобрёл). Также ставилось целью испытать как ведёт себя измерительная часть если её нога будет ( в какойто момент времени) становится выходом для питания точки 7- сегментнного индикатора.
Для нашего вольтметра потребуется стабилизированное питание 5. В — так как оно используется как опорное. Также нам понадобится сдвиговой регистр 7. Делаем ножку входом. Делаем задержку в 1 мс для затухания переходных процессов. Запускаем измерение АЦП и ждём окончания измерения.
Вычисления и разложения чисел на отдельные сегменты. Делаем ножку выходом. Перебор сегментов. Включаем точку в нужном сегменте. Когда дошли до последнего сегмента — возращаемся к 1 пункту. Кидаем всё это дело на макетку.
Вот что получилось: Когда измеряется напряжение выше 1. В показывается только целая часть напряжения без округления. Нормально измеряет напряжения от 0. В до 5. 0В. Резистор по входу АЦП лучше поставить многооборотистый — для точной подстройки. Из минусов стоит отметить зависимость от питающего напряжения 5. В — так как оно используется как опорное и от него зависят показания.
С опорником в 1. В(который есть в тиньке) пока не сложилось — так как маловата чувствительность получается да и ещё при использовании int переменной. Ситуация изменилась бы если использовать float но тогда код не вмещается))На будущее может доработаю конструкцию) в любом случае поставлю 7- сегментный индикатор на 3 цифры чтоб выводить дробную часть при напряжении более 1. В. Что касается фьюзов то внутренний генератор нужно настроить на 9. ОСТАЛЬНОЕ НЕ ТРОГАТЬ! Проект ниже, исходники в комплекте).
Скачать проект Вольтметр на Attiny. HC5. 95 Скачали 2.