Site Loader

Содержание

Вольтметр(амперметр)на микроконтроллере 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
Ну вот и все! Оценивайте, комментируйте, критикуйте!

Миниатюрный вольтметр на микроконтроллере ATtiny13

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

Принципиальная схема

Его я собрал из микроконтроллера ATtiny13-20SU и дешифратора К176ИД2 по схеме, изображённой на рис. 1. Прибор из меряет постоянное напряжение Uх положительной полярности от 0 до 99,9 В, отображая результат на трёхразрядном семиэлементном светодиодном индикаторе HG1 с общими катодами разрядов.

Рис. 1. Принципиальная схема вольтметра на микроконтроллере ATtiny13.

Если входное напряжение превышает 99,9 В, начинает мигать символ 0 во втором разряде индикатора. Остальные два разряда при этом погашены.

При измерении напряжения менее 1 В разряды единиц и десятков вольт погашены программно. Программа для микроконтроллера написана на языке ассемблера в среде разработки AVR Studio 4.19.

Рис. 2. Готовый вольтметр на микроконтроллере.

В связи с недостаточным числом линий ввода-вывода у использованного микроконтроллера его вход RESET сконфигурирован как вход АЦП ADC0, куда и подано через резистивный делитель R1R2 и фильтр R3C2 измеряемое напряжение.

Поэтому коды программы необходимо загружать в микроконтроллер в режиме параллельного или HVSP программирования. Схема подходящего программатора есть в [1], а управляющая им программа avrpp.exe и инструкции по её использованию — в архиве [2). Проверено, что программа работает под управлением 32-разрядной версии Windows 7.

Рис. 2. Схема параллельного программатора для AVR микроконтроллеров (elm-chan.org).

Однако для подключения программатора необходим компьютер с портом LPT, иначе в слот PCI нужно будет вставить контроллер такого порта.

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

Детали и печатная плата

Вольтметр смонтирован на печатной плате из фольгированного с одной стороны стеклотекстолита, чертёж которой показан на рис. 3. Основная часть деталей смонтирована на стороне печатных проводников, а подборный резистор R1, оксидный конденсатор C3 и светодиодный индикатор — на обратной стороне платы.

Рис. 3. Печатная плата для вольтметра на микроконтроллере.

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

Печатная плата, прошивка, программа и драйвер  — Скачать.

M. Озолин, с. Красный Яр Томской обл. Радио-06-19.

Литература:

  1. AVR HVS Programmer. — elm-chan.org/works/avrx/report_e.html.
  2. AVRXTOOL32. — elm-chan.org.
  3. GIVEIO.SVS. — kernelchip.ru.

ЧАСЫ НА ATTINY

   Представляю вашему вниманию очень простые часы на МК Attiny2313. Особо в них в тот момент не нуждался, но руки чесались что нибудь сделать на микроконтроллере, в плане освоения его работы. Итак, меньше слов — больше дела. Схемотехника часов проста как валенок, смотрим принципиальную схему (а если надо её увеличить, чтоб получше разглядеть — кликаем):


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


   Теперь нужно прошить наш МК, я делал это в CodeVisionAVR. Всё необходимое, в т.ч. и печатная плата — в архиве. Прошиваем, фьюзы прописываем вот таким образом:


   Для удобства работы, приобрёл семисегментный четырёхразрядный индикатор CC56-12YWA.


   Сразу оговорюсь, что для экспериментов купил индикаторы красного, зелёного и оранжевого цвета. Красный выигрывает по яркости, зато оранжевый смотрится просто замечательно!


   Ну что, собрали и проверили? Всё работает? Отлично. Теперь встаёт вопрос о блоке питания. Порылся в закромах, нашёл небольшой тороидальный трансформатор, по внешнему виду ватт на 15. Вроде бы сначала вопрос показался решённым, но замеряя напряжение во вторичке, вольтметр выдал мне 12,7 вольт. Многовато для схемы, стабилизатор греться будет, а значит радиатор ставить придётся… В общем не обрадовала меня эта преспектива. Вскрывать трансформатор и сматывать провод тоже не стал. Торик маленький, аккуратненький, пригодится ещё. Да и вдруг после этого жужжать начнёт. Сидя в раздумьях и крутя в руках трансформатор, у меня начал жаловаться телефон, мол разряжусь я скоро, подпитаться бы… и в этот момент вспомнил, что где-то в своих коробках видел ненужный зарядник от старой мобилы NOKIA. 


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

   Вскрыл, включил, проверил — на выходе оказалось 5,07 вольт.

   Теперь собираем всё это во что-нибудь подходящее по размерам, долго с корпусом не мучился, на глаза попалась пластмассовая мыльница — её и приспособил, правда получилось не совсем аккуратно, но зато работает, как часы 🙂 Удачи в сборке, с вами был Fenix.

   Форум по микроконтроллерам

   Форум по обсуждению материала ЧАСЫ НА ATTINY

Как сделать вольтметр на микроконтроллере AVR

Подробности
Категория: Микроконтроллеры
Опубликовано 25.04.2014 09:22
Автор: Admin
Просмотров: 15413

Вольтметр на микроконтроллере Atmega8 и на светодиодном индикаторе FYT-3031-BSR-21 с общим анодом, применяют в измерениях напряжений блоков питания, при контроле зарядки аккумуляторов и  в других устройствах.

Технические характеристики вольтметра

  • количество сегментов индикатора – 3;
  • измеряемый диапазон напряжения: 0 – 50 В;
  • измерительный шаг — 0.1 В;
  • расчетная погрешность — 0.3%;
  • U напряжение питания  от 6 до 14 В.

Схема вольтметра представлена на рисунке ниже.


Схема работы вольтметра на микроконтроллере

Питающее входное напряжение ограничивает и стабилизирует микросхема DA1 — 7805. Диод VD1 является своего рода гарантом того что полярность не перепутана. Конденсаторы С1 и С2 стабилизируют работу микросхемы. Измеряемое напряжение подается на вход микроконтроллера через делитель напряжения, R1 и R2 которые расширяют диапазон измерения. Напряжение получаемое на входе в АЦП преобразуется в цифровое значение. Резистор R3 номиналом 10 кОм необходим для защиты микроконтроллера от случайного сброса.

Полученное таким образом цифровое значение раскладывается на разряды. Вывод значения каждого разряда производится последовательно при помощи динамической индикации. Набор резисторов R4 — R11 ограничивает ток в сегментах индикатора до приемлемых значений. На выводах A1 — A3 появляется положительное напряжение последовательно.

Детали и настройка схемы

Резистор R1 лучше применить прецизионный, как пример, типа С2-36 (допуск 0.5%) или С2-29В-0,125 ( допуск 0.25-0.5%). Сопротивление R2 для подстройки многооборотное, как пример, тип его 3296W. Сопротивления R3 — R11 мощностью 0,125-0,5 ватт (допуск +10%) , как пример, тип С2-33; CF1/4 и т. д. Конденсаторы С1, С2 подойдут электролитический любые с пределом Т* = 105*С, емкостью – 22-47 мкФ. Конденсатор С3 с керамики, как пример, К10-17Б. Диод VD1 лучше заменить бы на 1N4148 или даже более мощный КД247; 1N4001; и т. д. Стабилизатор U до 5 В DA1 любой, но в корпусе TO220, как пример, КР142ЕН5А и т. д.

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

Сборка вольтметра

При динамичном управлении индикаторами светодиодными необходимо учитывать эффект от накопившихся зарядов в светодиодах. Если просто снимается U с сегмента, то накопленный заряд в диффузионной емкости p-n-p перехода будет еще какое-то время засвечивать индикатор, пока p-n-p-переходная емкость полностью не потеряет заряд. Это называется паразитной подсветкой индикатора. Чтобы быстро рассеять данный заряд и четко гасить индикатор, необходимо подать на сегменты U с обратной полярностью (как пример, для индикатора с 1-общим анодом на сегмент-катод надо подать уровень до 5 В, а на анод – уровень 0 В.)

Точность вольтметра на микроконтроллере с АЦП 10 — ти разрядными не очень высокая, составляет всего лишь примерно 0.3 %. Ее вычисляют следующим образом: ошибка дискретности 1LSB + нелинейная ошибка (по Даташиту – это 2LSB). Суммарная ошибка будет равна 3LSB. Соответственно погрешность относительная 3/1024~0,3%. Погрешность абсолютная для показаний близких к 50 В 0.3% = ±0,15 В.

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

Исходный код и прошивка для вольтметра

  • < Назад
  • Вперёд >
Добавить комментарий

ЦИФРОВОЙ ВОЛЬТМЕТР СЕТЕВОГО НАПРЯЖЕНИЯ НА МИКРОКОНТРОЛЛЕРЕ ATTINY

ЦИФРОВОЙ ВОЛЬТМЕТР СЕТЕВОГО НАПРЯЖЕНИЯ НА МИКРОКОНТРОЛЛЕРЕ ATTINY

     Целью написания данной статьи является разработка встраиваемого цифрового вольтметра для измерения сетевого напряжения 220 В. Все началось с того, что у моего товарища возникла необходимость контролировать напряжение сети, для этого есть много способов. Самый простой – это контроль с помощью китайского цифрового мультиметра, т.к. он обеспечивает с приемлемой точностью измерение напряжения переменного тока. Не совсем удобно, его нужно периодически подключать к измеряемой цепи, а постоянное подключение нецелесообразно, т.к. бесполезно расходуется энергия «Кроны», а попытки запитать мультиметр от сетевого адаптера питания на 9 В и измерения напряжения сети привели к выходу мультиметра из строя. Второй способ – купить готовое устройство – реле напряжения щитового исполнения типа «Барьер». Тут есть некоторые факторы – в распределительном щитке не осталось лишнего места для установки хоть самого маломощного реле напряжения (2 модуля), и слегка завышенная цена на эти устройства. Покупные стрелочные вольтметры не обеспечивают приемлемой точности. Значит – есть выход из положения – изготовить цифровой встраиваемый вольтметр. Но и тут есть два варианта – изготовить на базе специализированной БИС АЦП КР572ПВ2 и изготовить на МК с встроенным АЦП. Первый вариант не устроил меня сразу, 40-выводный ДИП-корпус, два напряжения питания +5 В и -5 В, статическая индикация, сложная разводка платы, много навесных компонентов и т.п. Второй вариант – МК с встроенным АЦП.

     Был выбран второй вариант – собрать цифровой вольтметр сетевого напряжения на микроконтроллере ATTINY26, который содержит 10-разрядный АЦП, трехразрядный светодиодный индикатор с динамической индикацией, линейный стабилизатор 7805, ну еще несколько токоограничительных резисторов. Конечно, большая часть рассыпухи используется для работы бестрансформаторного БП. Ниже приведена схема. Для удобства чтения схемы условно разделил схему источника питания и цифровую часть. 

     Детали: все диоды в схеме использованы типа 1N4007, но подойдут и любые другие с прямым током от 0,5 А и обратным напряжением 400 В, конденсатор C1 – обязательно пленочный, 1,5 мкФ 400 В, но лучше 630 В (надежнее). Все выводные резисторы, кроме R2 рассчитаны на 0,125-0,25 Вт, R2 – на 1-2 Вт, SMD резисторы применены типоразмера 1206. Подстроечный резистор RV1 лучше применить многооборотный типа 3296, это позволит более точно откалибровать вольтметр по образцовому вольтметру. Стабилитрон D1 мощностью 0,5 Вт 8,2 В, можно и на другое напряжение стабилизации, не рекомендую ниже 7,5 В и выше 10 В. Конденсаторы электролитические выбраны на 16 В, керамические SMD 100 нФ типоразмер 0805. МК – Attiny26 в дип-20 корпусе, светодиодный индикатор ТОТ3361 красного цвета свечения, такие светодиоды раньше применяли в телефонах с АОН «Русь 27». Для удобства подключения питающих проводов применен двухконтактный клеммник на плату.  

     Сборка. Итак, приступаем к сборке цифрового вольтметра на микроконтроллере, рисунок платы прилагается ниже.

     Устройство собрано на плате из односторонне фольгированного текстолита, размером 83х30 мм. Все выводные детали размещаем со стороны компонентов.

     Гасящий конденсатор С1 1,5 мкФ 400 В размещаем со стороны монтажа.

     Все запаяно, проверено на предмет обрыва/КЗ. В микроконтроллере программируются фьюзы так, что он тактировался от внутреннего RC-генератора 8МГц, т.е установить фьюзы CKSEL = 0100. Остальные фьюзы можно не трогать. Можно включать в сеть для проверки и настройки.

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

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


     Судя по яркости, не мешало бы применить светофильтр, это повысит контрастность изображения и читаемость в светлое время суток. Габариты собранного устройства 83х30х20 мм, что позволяет установить его в пластиковый квартирный щиток. А роль светофильтра выполняет его крышка с темного прозрачного пластика. Вот и все, цифровой вольтметр сетевого напряжения на микроконтроллере ATTINY26 готов к применению. В архиве прилагается схема, рисунок печатной платы в формате Sprint Layout 5.0, а также исходный код на CodeVision AVR 1.25, прошивка МК. Скачать файлы можно на ФОРУМЕ
     Материал предоставил i8086.

Программист на основе FTDI работает с ATmega, но не с ATtiny?

Я использую основанный на FTDI программатор бит-взрыва для своих микроконтроллеров AVR с AVRDUDE. Он отлично работает с ATmega32A, но не работает с ATtiny45.

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

 avrdude . exe - c pinb - P ft0 - B 4800   - U lfuse : r :-: h - F 

-c pinb обозначает следующую конфигурацию:

 miso =   6 ;    # DCD sck =   5 ;    # DSR mosi =   3 ;    # CTS reset =   7 ;    # RI 

Для ATmega32A ( -p m32 ) я получаю:

  ft245r :  bitclk 4800   ->  ft baud 2400 avrdude . exe :  AVR device initialized and ready to accept instructions Reading   |   ################################################## | 100% 0.00s avrdude . exe :   Device  signature =   0x1e9502 avrdude . exe :  reading lfuse memory : 

 Reading   |   ################################################## | 100% 0.02s avrdude . exe :  writing output file "<stdout>" 
 0xe4 

Для ATtiny45 ( -p t45 ) я получаю:

  ft245r :  bitclk 4800   ->  ft baud 2400 avrdude . exe :  ft245r_program_enable :  failed avrdude . exe :  initialization failed ,  rc =- 1 avrdude . exe :  AVR device initialized and ready to accept instructions Reading   |   ################################################## | 100% 0.00s avrdude . exe :   Device  signature =   0xffffff avrdude . exe :   Yikes !    Invalid  device signature . avrdude . exe :   Expected  signature for   ATtiny45  is 1E   92   06 avrdude . exe :  safemode :  lfuse reads as FF avrdude . exe :  safemode :  hfuse reads as FF avrdude . exe :  safemode :  efuse reads as FF avrdude . exe :  reading lfuse memory : 

 Reading   |   ################################################## | 100% 0.02s avrdude . exe :  writing output file "<stdout>" 
 0xff avrdude . exe :  safemode :  lfuse reads as FF avrdude . exe :  safemode :  hfuse reads as FF avrdude . exe :  safemode :  efuse reads as FF avrdude . exe :  safemode :   Fuses  OK avrdude . exe done .    Thank  you . 

Обратите внимание, что все читается как 0xFF.

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


Редактировать 1: указание битовой частоты / скорости передачи . Как предлагается в комментариях, я пытался снизить скорость связи. К сожалению, версия AVRDUDE 5.3.1 для Windows неправильно распознала параметры -B и -b. Итак, я скомпилировал последнюю версию AVRDUDE 5.11.1 с исправлением ft245r.patch из ошибки # 30559: поддержка битового взрыва Ft232 в Ubuntu. Теперь я могу получить, например, скорость передачи данных = 200, но все равно безуспешно.

Редактировать 2: вольтметр проводов . Когда я запускаю AVRDUDE на низкой скорости, я контролирую 4 выхода (MOSI, MISO, SCK, RESET) с помощью вольтметра. Все они меняются, кроме провода MISO — кажется, он остается на высоком уровне. Возможно у меня две битые фишки?

EUA

Пожалуйста, попробуйте с флагами -B20 или -B50 -B100, если ваш программист поддерживает. Лучший способ прошить ATtiny — собрать USBTiny с другого ATTinyX5 🙂

Если вы запускаете свой ATTiny на некоторых низких скоростях (например, я запускаю мой @ 8 кГц, да, это возможно для синхронизации), вам нужно замедлить импульсы SCK у программиста.

Изменить: я хочу добавить это, avrdude не позволяет USBTiny с более высоким флагом, чем -B250. Но так как я экспериментирую с часами ATTiny (32 кГц, 8 кГц …), мне нужно -B400, даже -B2000 … Так что просто перекомпилировал avrdude из источника и увеличил лимит до 9000 и не имею проблем. Взлом работает хорошо. Также вам не нужно ждать, чтобы прошить всю программу. Для спасения низкочастотного слияния attiny скомпилируйте любую программу с флагами 1 / 8mhz и настройками процессора. Чем мигать на секунду и прервать. Это восстановит настройки предохранителей, и вы сможете перепрограммировать все, что захотите, с высокой скоростью, например, флаг -B1. (Я использую этот параметр по умолчанию, так как он самый быстрый и работает с тактовой частотой 8 МГц 16 МГц с тактовой частотой ATtiny85. Но -B1 не будет программировать ваши микросхемы на 1 МГц.)

С уважением, Эрдем

ВОЛЬТМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATmega8 | Библиотека устройств на микроконтроллерах

Характеристики вольтметра

Напряжение питания4.5 — 5.5 В
Максимальный потребляемый ток85 мА
Род тока измеряемого напряженияпостоянный
Диапазон измеряемых напряжений0 — 9,99В
Входное сопротивление680 кОм
Относительная погрешность1%

Схема вольтметра

Плата вольтметра

Устройство и функционирование вольтметра, настройка

Вольтметр построен на базе микроконтроллера ATmega8. В устройстве используется динамическая индикация на трехразрядном светодиодном семисегментном индикаторе. Полное обновление изображения на индикаторе происходит с частотой примерно 162 Гц. Прибор отображает среднее арифметическое значение напряжения, используя результаты 64 замеров, что позволяет повысить точность. Обновление показаний производится около 4 раз в секунду.

Настройка прибора производиться по образцовому вольтметру (я использовал цифровой вольтметр с относительной погрешностью 0,5%), путем настройки коэффициента деления входного напряжения подстроечным резистором R2.

При программировании устройства необходимо установить частоту генератора 1 МГц (при использовании моей прошивки), также очень желательно включить детектор пониженного напряжения и установить порог срабатывания равным 4В (фьюзы BODEN=0, BODLEVEL=0), для ATmega8L можно установить порог 2,7В (BODEN=0, BODLEVEL=1).

Индикаторы GNS-3011HS можно заменить на их аналоги АЛС324Б без каких-либо изменений в схеме и прошивке. При необходимости можно изменить яркость свечения индикаторов подбором резисторов R9 — R16 или программными методами. Дипазон измерений легко изменить на 0 — 99,9В, для этого достаточно установить необходимый коэффициент деления напряжения подстроечным резистором R2 и установить точку после второго разряда.

Схема в формате KiCad (EESchema)
Плата в формате Sprint Layout 5.0
Прошивка в формате Intel HEX и исходный код (AvrAsm 2)

Atmel AT90S2313 ATTINY2313 Приложения — Электронные проекты Схемы

Еще лучший ЖК-измеритель на основе Atmel AVR ATTINY861 Довольно хороший ЖК-измеритель на основе AVR ATtiny2313 AT90S2313 Определение LC с помощью измерения резонансной частоты ATtiny2313 AT90S2313 MAX038 Генератор развертки функций с маркерами ATtiny2313 AT90S120004 Еще , Atmel AT90S2313 ATTINY2313 Приложения «AVR проект, микроконтроллер проекты, pwm схемы» Дата 2019/08/01

Еще лучший измеритель LC на основе Atmel AVR ATTINY861

Довольно хороший измеритель ЖХ на базе AVR ATtiny2313 AT90S2313

LC Определение методом измерения резонансной частоты ATtiny2313 AT90S2313

MAX038 Генератор развертки функций с маркерами ATtiny2313 AT90S1200A

Чуть более серьезный частотомер-счетчик ATtiny2313 AT90S2313

Частотомер и генератор импульсов ATtiny2313 AT90S2313

Цифровой фиксируемый миллиомметр ATtiny2313 AT90S2313

Цифровой индикатор напряженности РЧ поля ATtiny2313 AT90S2313

Зонд напряженности ВЧ поля AT90S1200A

LTD — Недорогое устройство телеметрии; Сканирующий вольтметр ATMega8 с выводом кода Морзе ATMega8

Монитор сигналов

с ЖК-дисплеем ATtiny2313 AT90S2313

Интерфейс терминала

с беспроводным соединителем минимальной массы ATtiny2313 AT90S2313

Сканирующий вольтметр

с беспроводным ответвителем минимальной массы ATMega8

Частотомер

с беспроводным ответвителем минимальной массы ATtiny2313 AT90S2313

ЖК-дисплей с беспроводным соединителем минимальной массы ATtiny2313 AT90S2313

Крошечные настраиваемые рамочные антенны для беспроводного ответвителя минимальной массы

Цифровая беспроводная связь для настольного компьютера ATtiny12

RS-232 к каналу данных беспроводного прибора ATtiny2313 AT90S2313

Частотомер с беспроводным каналом передачи данных ATtiny2313 AT90S2313

FM-передатчик с кварцевым управлением частотой ФАПЧ с использованием LMX1601 ATtiny2313 AT90S2313

Источник ВЧ с амплитудной модуляцией в нижнем диапазоне 1750 метров ATtiny2313 AT90S2313

Двухрежимный AM-приемник с супергет-прямым преобразованием для 181.818 кГц Lowfer ATtiny2313 AT90S2313

Интерпретатор байтов AttoBasic для ATtiny2313 и AT90S2313

AttoBasic AT90S8515-ATMEGA8515 и ATmega163

Программа мониторинга микропрограмм AVR Контроллеры AVR со встроенным UART

Захват сигналов минимальной массы с помощью AVR Контроллеры AVR с RAM

DS: Инструмент для тестирования и разработки интерфейса DS ATtiny2313 AT90S2313

DS: Часы-Календарь-Будильник с интерпретатором на основе EEPROM и интерфейсом DS ATtiny12

DS: 3-канальный 8-битный ЦАП EEPROM с интерфейсом DS ATtiny12

ATtiny12 Устройство для восстановления предохранителей AT90S1200A

Драйвер EEPROM для контроллеров 24LC64 128 и 256 AVR

8-канальные ШИМ-кодовые контроллеры AVR

Программатор последовательного интерфейса

AVR AT90S1200A ATtiny2313 AT90S2313

Адаптер программирования 8 и 20 контактов AVR

Адаптер Lazy ISP для контроллеров ISP с разъемами AVR

Синхронный демодулятор контура Баркера с кодовой синхронизацией ATtiny2313 или AT90S2313 ATtiny12

Аналоговый мультиплексор на полупроводниковых конденсаторах для микроконтроллеров Контроллеры AVR или другие с трехсторонними выводами I-типа

Экспериментальный синхронный демодулятор 1 кГц ATtiny2313 AT90S2313

Таймер полива сада Ворота и счетчики; нет микроконтроллера

Дверной звонок Privacy Sentry ATtiny12

Модификация будильника с кодом Морзе

с ATtiny2313-AT90S2313

Источник: cappels.org ATTINY2313 AT90S2313 Альтернативная ссылка для приложений:

СПИСОК ССЫЛКИ ДЛЯ ЗАГРУЗКИ ФАЙЛОВ (в формате TXT): LINKS-1238.zip

Простой вольтметр, макс. 30 В с использованием ATtiny OLED Arduino

Простой вольтметр, макс. 30 В, с использованием ATtiny OLED, Arduino — Hari ini sayai me mencoba. теганган дари 0V hingga 30V DC. Untuk dapatmbaca dari 0-30V saya menggunakan резистор пембаги теганган. Дари Хасил Пембагиан теганган Ини Сая Конверсикан Ке Нилаи Теганган ян акан дитампилкан ке OLED.

Progam.

 / *
 * SSD1306xLED - Драйверы для SSD1306 с управляемыми матричными OLED / PLED дисплеями 128x64
 *
 * @ файл: font6x8.h
 * @created: 12.08.2014
 * @ автор: Невен Боянов
 *
 * Взломано Энди Джексоном, чтобы разрешить доступ к двум играм (изначально на веб-сайте webboggles.com).
 * одновременно помещается на ATTiny85 - поэтому несколько символов отсутствуют
 * и пара была перемещена, чтобы ограничить количество необходимого переназначения программного обеспечения
 * для сопоставления значений ASCII с местоположениями в этом массиве.
 *
 * Исходный код доступен по адресу: https: // bitbucket.org / tinusaur / ssd1306xled
 *
 * /

// ------------------------------------------------ ----------------------------

#include 

// ------------------------------------------------ ----------------------------

/ * Стандартный шрифт ASCII 6x8 * /
static const uint8_t ssd1306xled_font6x8 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // sp
/ *
  0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, //!
  0x00, 0x00, 0x07, 0x00, 0x07, 0x00, // "
  0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14, // #
  0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12, // $
  0x00, 0x62, 0x64, 0x08, 0x13, 0x23, //%
  0x00, 0x36, 0x49, 0x55, 0x22, 0x50, // &
  0x00, 0x00, 0x05, 0x03, 0x00, 0x00, // '
  0x00, 0x00, 0x1c, 0x22, 0x41, 0x00, // (
  0x00, 0x00, 0x41, 0x22, 0x1c, 0x00, //)
  0x00, 0x14, 0x08, 0x3E, 0x08, 0x14, // *
  0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, // +
  0x00, 0x00, 0x00, 0xA0, 0x60, 0x00, //,
  * /
  0x00, 0x08, 0x08, 0x08, 0x08, 0x08, // -
  0x00, 0x00, 0x60, 0x60, 0x00, 0x00, //.0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, // w вместо /
  // 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, // /
  0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, // 0
  0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, // 1
  0x00, 0x42, 0x61, 0x51, 0x49, 0x46, // 2
  0x00, 0x21, 0x41, 0x45, 0x4B, 0x31, // 3
  0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, // 4
  0x00, 0x27, 0x45, 0x45, 0x45, 0x39, // 5
  0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30, // 6
  0x00, 0x01, 0x71, 0x09, 0x05, 0x03, // 7
  0x00, 0x36, 0x49, 0x49, 0x49, 0x36, // 8
  0x00, 0x06, 0x49, 0x49, 0x29, 0x1E, // 9
  0x00, 0x00, 0x36, 0x36, 0x00, 0x00, //:
/ *
  0x00, 0x00, 0x56, 0x36, 0x00, 0x00, //;
  0x00, 0x08, 0x14, 0x22, 0x41, 0x00, // <
  0x00, 0x14, 0x14, 0x14, 0x14, 0x14, // =
  0x00, 0x00, 0x41, 0x22, 0x14, 0x08, //>
  0x00, 0x02, 0x01, 0x51, 0x09, 0x06, //?
  0x00, 0x32, 0x49, 0x59, 0x51, 0x3E, // @
 * /
  0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, // A
  0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, // B
  0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, // C
  0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C, // D
  0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, // E
  0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, // F
  0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A, // G
  0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, // H
  0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, // я
  0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, // J
  0x00, 0x7F, 0x08, 0x14, 0x22, 0x41, // K
  0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, // L
  0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F, // M
  0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, // N
  0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, // O
  0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, // P
  0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, // Q
  0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, // R
  0x00, 0x46, 0x49, 0x49, 0x49, 0x31, // S
  0x00, 0x01, 0x01, 0x7F, 0x01, 0x01, // Т
  0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, // U
  0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, // V
  0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, // W
  0x00, 0x63, 0x14, 0x08, 0x14, 0x63, // X
  0x00, 0x07, 0x08, 0x70, 0x08, 0x07, // Y
  0x00, 0x61, 0x51, 0x49, 0x45, 0x43, // Z
  / *
  0x00, 0x00, 0x7F, 0x41, 0x41, 0x00, // [
  0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55, // 55
  0x00, 0x00, 0x41, 0x41, 0x7F, 0x00, //]
  0x00, 0x04, 0x02, 0x01, 0x02, 0x04, // ^
  0x00, 0x40, 0x40, 0x40, 0x40, 0x40, // _
  0x00, 0x00, 0x01, 0x02, 0x04, 0x00, // '
* /
  0x00, 0x20, 0x54, 0x54, 0x54, 0x78, // а
  0x00, 0x7F, 0x48, 0x44, 0x44, 0x38, // b
  0x00, 0x38, 0x44, 0x44, 0x44, 0x20, // c
  0x00, 0x38, 0x44, 0x44, 0x48, 0x7F, // d
  0x00, 0x38, 0x54, 0x54, 0x54, 0x18, // e
  0x00, 0x08, 0x7E, 0x09, 0x01, 0x02, // f
  0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C, // г
  0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C, // y (вместо h)
  // 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, // h
  0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, // я
  0x00, 0x40, 0x80, 0x84, 0x7D, 0x00, // j
  0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, // k
  0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, // l
  0x00, 0x7C, 0x04, 0x18, 0x04, 0x78, // м
  0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, // n
  0x00, 0x38, 0x44, 0x44, 0x44, 0x38, // о
  0x00, 0xFC, 0x24, 0x24, 0x24, 0x18, // p
  0x00, 0x18, 0x24, 0x24, 0x18, 0xFC, // q
  0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, // г
  0x00, 0x48, 0x54, 0x54, 0x54, 0x20, // с
  0x00, 0x04, 0x3F, 0x44, 0x40, 0x20, // т
  0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, // u
  0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, // v
 // 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, // w
 // 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, // x
 // 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C // y
};

// ------------------------------------------------ ----------------------------
 

Аналоговые часы вольтметра »maxEmbedded

Сегодняшний гостевой пост принадлежит Сэму Феллеру, создателю аналоговых вольтметрических часов модели AWK-105, которые сейчас доступны на Kickstarter (до 14 января 2015 года).Часы основаны на микроконтроллере ATtiny и серьезно оптимизируют энергопотребление для работы от батареи AA.

Энергосбережение на ATtiny

Одной из главных целей проекта аналоговых часов вольтметра было создание автономных настольных часов, которые могли бы работать от батареи. Сами два аналоговых измерителя потребляют в среднем 100 мкА, поэтому попытка растянуть до 6-12 месяцев от одной батареи AA (около 2300 мАч) означала, что они должны быть максимально эффективными с AVR ATtiny44, который управляет устройством.

Печатная плата рабочего прототипа

Низко висящие фрукты

Низко висящий плод энергосбережения — это максимально возможное удержание процессора в спящем режиме. ATtiny может запускать аппаратные регистры таймера при выключенном процессоре. Воспользовавшись этим, один набор регистров фактически может генерировать сигналы ШИМ для управления счетчиками часов, пока процессор находится в спящем режиме! Другой регистр таймера генерирует прерывания, чтобы каждую секунду разбудить ЦП, чтобы запустить логику, которая считает время и настраивает дисплеи.Затем ЦП возвращается в спящий режим до следующего прерывания.

Ниже и медленнее

Следующим местом, где нужно было искать простую экономию энергии, были напряжение питания и тактовая частота микросхемы. Мы используем повышающий преобразователь, чтобы получить постоянное напряжение питания 2,0 В от батареи (которое может падать при разряде), и мы отключили внутренние часы, которые поступают с завода на 8 МГц по умолчанию, в пользу внешних часов. осциллятор на 32,768 кГц. Работа при более низких напряжениях и скоростях более энергоэффективна.

Чтение заметок

На этом этапе нам нужно было начать читать примечания по дизайну (этот документ в формате .pdf) от Atmel, чтобы найти дополнительные способы экономии энергии. Мы начали отключать все периферийные устройства, которые не использовались … UART, преобразователь AtoD, все это было отключено переключением битов в настройках регистров.

Быть немного умным

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

Для экономии энергии верхняя шина напряжения в цепи резистивного делителя потенциометра фактически запитывается от вывода микроконтроллера. Вывод включается, когда сгенерированный таймером прерывание вызывает пробуждение ЦП и выключается, прежде чем он снова переходит в спящий режим. Кроме того, преобразователь AtoD, который считывает напряжение с потенциометра, фактически включается и выключается! Это был лучший компромисс для сохранения энергоэффективности при сохранении ручки управления потенциометром, которая нам понравилась.

Прошивка

Блог, Git и веб-сайт

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

Заключение и спасибо!

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

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

Сэм Феллер
Неуклюжий инженер

Нравится:

Нравится Загрузка …

Связанные

GitHub — alunmorris / многоканальный беспроводной вольтметр

Многоканальный беспроводной (2,4 ГГц) дисплей вольтметра с использованием ATTINY402, Arduino nano, NRF24L01 + и 128×32 I2C OLED.

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

Диапазон составляет от нескольких метров до десятков метров в зависимости от того, насколько хорошо радиомодуль изолирован от контроллера, и настройки мощности RF.

Я сделал этот проект как упражнение в минимализме. Демо на https://youtu.be/bwuttJC_tyY

Разработано на Arduino

Примечательные конструктивные особенности

  • Код передатчика почти подходит для 8-контактной флеш-памяти 4 КБ ATTINY402.Он должен компилироваться на микросхемах серий ATTINY412 и более крупных AVR 0 и 1. Необходим программатор UPDI (но не типа HV).
  • Отображаемый код <16 КБ и поэтому подходит, например, для ATMEGA168P или 328P, например, для Arduino Uno или nano.
  • Сохранение контактов при многократном использовании контактов микроконтроллера (MPU):
    • Включение микросхемы SPI, управление светодиодами, режим тестирования отрицательного входа и обнаружение переключателя A / B на одном контакте
    • MISO и аналоговый вход на один контакт
    • Программирование UPDI и переключение входа на один контакт (без необходимости перепрограммирования высоковольтного UPDI-программатора)
  • Измерение MPU Vdd без использования входного контакта
  • Спящий режим с очень низким энергопотреблением серий ATTINY 0 и 1
  • Малый форм-фактор

Обзор функций

Дисплей принимает данные о напряжении от 4 передатчиков (по одному каналу каждый) и отображает их на OLED-дисплее 128×32.

Особенности:

  • Диапазон 0-20 В, можно настроить выбором резистора. Разрешение 0,01 В.
  • Точность выше 1% (по калибровке). Может испортиться — зависит от качества резистора.
  • Изменение температуры в основном зависит от резисторов. АЦП MPU составляет +/- 0,1% в диапазоне от 0 до 40 ° C.
  • Только положительное напряжение. Индикация повышенного и пониженного (отрицательного) напряжения. Допуск на вход +/- 100 В.
  • Входное сопротивление 1 МОм, можно настроить выбором резистора
  • Частота дискретизации один раз / с, настраиваемая
  • Минимальное и максимальное отображение
  • Предупреждение о низком заряде батареи передатчика и индикация напряжения батареи.Защита от низкого заряда батареи.
  • Автоотключение передатчика
  • TRansmitter повторяет попытку, если данные не получены
  • Режимы отображения: все каналы или один канал с более подробной информацией

Работа передатчика

  • Кнопки включения и выключения. Не горит — спящий режим
  • Настраиваемый период автоматического отключения питания. Светодиод мигает 8 раз при выключении питания.
  • Отключается, если напряжение батареи ниже критического — настраивается
  • Отключить автоматическое отключение питания долгим нажатием кнопки «Вкл.».Светодиод мигнет 4 раза.
  • MPU суммирует четыре показания напряжения для уменьшения шума и улучшения разрешения 10-битного АЦП
  • Светодиод мигает 20 раз, если радио IC не отвечает при включении питания
  • Светодиод кратковременно мигает при каждой неудачной передаче данных
  • Кнопки читаются 16 раз в секунду

Работа дисплея

  • Отображает информацию о версии, радиоканале и тайм-аут потери сигнала при включении / сбросе
  • Затем показывает обзор всех доступных каналов напряжения
  • Каждое поле напряжения канала остается пустым до получения данных
  • Индикация разряда батареи, критического заряда батареи и потери сигнала
  • Одноканальный просмотр показывает напряжение, мин., Макс., Низкий заряд батареи, критическую батарею и потерянный сигнал
  • В режиме одиночного просмотра также отображается напряжение батареи передатчика (Vdd) в течение нескольких секунд
  • Кнопка режима вращает режимы отображения от сводки до каждого отдельного канала поочередно
Сводный обзор (до 4 каналов)

На изображении показаны данные, полученные по каналу 1-3.Предупреждение о низком заряде батареи на 3. Критическое предупреждение о разряде батареи и потеря сигнала на 2.

Повышенное напряжение отображается как ——, пониженное напряжение отображается как -0,00, данные отсутствуют, просто пусто

Одноканальный просмотр

Предупреждения о потере сигнала и разряде батареи отображаются так же, как и в сводном представлении.

Обзор репозитория

Репозиторий содержит код C ++ для Arduino IDE и принципиальные схемы. Передатчик и приемник находятся в разных папках. Ознакомьтесь с опциями, которые нужно установить, и руководством по настройкам компиляции.

Они были выполнены на Arduino 1.8.13.

Код передатчика

Один файл .ino. Использует библиотеки SPI, RF24 и avr / sleep.

Скомпилировано до 3986 байт с помощью Board Manager megaTinyCore версии 2.1.2 или 2.1.5 (последняя по состоянию на 21 ноября 2020 г.)

Показать код

Один файл .ino и два файла .h (в / library) для пользовательского шрифта. Использует библиотеки SPI, RF24, Wire, SSD1306Ascii и SSD1306AsciiWire.

Скомпилировано в 11856 байт с использованием параметров «шумовой фильтр» и «показать Vdd».

Схема

В формате eeschema / Kicad .sch.

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

Как это работает Vin делится на R2 / (R4 + R5), так что 20 В становится 1,1 В — опорное значение АЦП. R4 калибрует результат.

Тест отрицательного входа: после считывания АЦП вывод PA7 MPU переключается с низкого на высокий. Это делит и поднимает вывод АЦП на ~ 2 мВ или примерно на 2 LSB для разрешения 10 бит. Если Vin = 0 В, АЦП теперь будет считаться положительным, и мы сделаем вывод, что Vin не было отрицательным.

Показание АЦП масштабируется до 32767 (= 20 В) и передается. вместе со всей другой информацией каждый раз (включая номер версии) для простоты.

Вход переключателя: используется совместно с программирующим контактом UPDI. UPDI может нормально использоваться как вход без перегорания предохранителей (это означает, что для перепрограммирования требуется высоковольтный программатор). UPDI имеет внутреннее сопротивление 20-50 кОм. Я попробовал подключить переключатель к земле, но дребезг контактов может иногда приводить к срабатыванию схемы программирования MPU. В спецификации говорится, что MPU должен автоматически выйти из ложного срабатывания через 10-20 мс, но часто этого не происходит.MPU продолжает нормально работать, но в спящем режиме потребляет более 1 мА. Обход здесь заключается в использовании АЦП для чтения вывода UPDI с изменением внутренней ссылки на Vdd. R1 и R3 выбраны так, чтобы UPDI не падал ниже 0,6 от Vdd для широкого диапазона внутреннего подтягивания, даже когда оба переключателя нажаты.

PA7 имеет низкий уровень при считывании входа переключателя, поэтому любой переключатель будет обнаружен. Если переключатель обнаружен, тогда PA7 устанавливается на высокий уровень и снова считывается UPDI. Если показание близко к 1023, то необходимо нажать SW2.

Power: рабочий диапазон перезаряжаемого литиевого элемента составляет 3,6-4,2 В. Существуют стабилизаторы с малым падением напряжения, которые могут выдерживать падение напряжения 0,6 В и иметь ток покоя <10 мкА, но диод работает нормально, если используется большой разделительный конденсатор. Типичное падение напряжения на диоде 0,6 В обеспечивает напряжение в пределах 3–3,6 В. U2. Что ж, это подойдет для номинального падения, но при низком потребляемом токе падение составляет ~ 0,5 В, так что спецификация превышена на 0,1 В для полной ячейки. Очень неприятно, чтобы вызвать проблему.Я тестировал потребление тока с помощью нескольких дешевых модулей NRF24L01 + из партии, которую я купил на Aliexpress. Ресивер потреблял 30-40uA во время сна. MPU должен потреблять максимум 6 мкА в режиме ожидания, поэтому радиомодули потребляли гораздо больше, чем максимум 6 мкА в спецификации. Я читал, что многие дешевые китайские чипы являются клонами северных чипов, некоторые с гораздо меньшим энергопотреблением, чем мои.

Мне не удалось заставить работать режим отключения питания MPU, но в любом случае он сэкономил бы максимум 6uA.

MPU потреблял более 2 мА во сне, пока я не заметил, что не отключил детектор потемнения (BoD).Прочтите советы по компиляции в исходном коде, чтобы узнать, как это сделать.

Используйте номинал 16 В для C2 (если электролитический), потому что более низкое напряжение может потреблять несколько мкА (так я читал).

Многоразовое использование PA7 : Я изначально модифицировал библиотеку RF24 для U2, чтобы использовать только 4 контакта (SCKM MOSIM MISO & CSN) для управления U2. CE был привязан высоко. CE включает и выключает микросхему, и я обнаружил, что даже при выключении питания с помощью вызова библиотеки микросхема потребляла намного больше, чем указанный ток холостого хода, а использование модифицированной библиотеки вызывало проблемы с обновлением.В RF24 есть 3-контактный интерфейсный режим (с использованием побитовой синхронизации) для ATTINY84 / 85, но я не смог заставить его работать с ATTINY402. Также требуется больше компонентов.

Было чище использовать обычный 5-контактный разъем и повторно использовать контакты. Использование MISO в качестве входа АЦП при высоком уровне CSN было несложным — U2 тогда не управлял MISO. CE более сложный.

U2 не возражает, если CE имеет высокий импульс в режиме ожидания, поэтому я использую PA7 = CE для отключения светодиода, управления отрицательным входным тестовым смещением и для чтения SW2.

Заголовок программирования J1: Я стандартизировал этот штыревой заголовок с шагом 0,1 дюйма для своих проектов серии AVR 0/1. Отрезанные штифты 3 обеспечивают фиксацию (в программаторе для этого штифта имеется заглушенное отверстие). Программатор подает на контакт 2 напряжение 3,3 В для питания целей, если это необходимо. Мишень с автономным питанием может использовать контакт 2 для чего-то еще. Вот это Вин.

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

Конструкция Диапазон может быть недостаточным или отсутствовать, если NRF24L01 + установлен сразу за частью MPU.

Ресивер

Это просто NRF24L01 + и OLED-дисплей, подключенный к Arduino nano. OLED питается от нано-выхода 3,3 В, но у U3 есть собственный регулятор, обеспечивающий чистый источник питания.

Конструкция Диапазон может быть недостаточным или отсутствовать, если NRF24L01 + установлен сразу позади и параллельно части MPU.

Приложение для монитора автомобильного аккумулятора

Я установил передатчик в разъем OBD-2 (европейский стандарт диагностики автомобилей). На интерфейсе всегда есть напряжение 12В. Регулятор 3,3 В питает MPU и NRF24L01 +. Переключатели и компоненты для проверки отрицательного напряжения не используются.

Программатор на базе

FTDI работает с ATmega, но не с ATtiny?

Я использую программатор bit-bang на основе FTDI для своих микроконтроллеров AVR с AVRDUDE. Он отлично работает с ATmega32A, но не работает с ATtiny45.

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

  avrdude.exe -c pinb -P ft0 -B 4800 -U lfuse: r: -: h -F
  

-c pinb обозначает следующую конфигурацию:

  мисо = 6; # DCD
sck = 5; # DSR
mosi = 3; # CTS
сброс = 7; # RI
  

Для ATmega32A ( -p m32 ) получаю:

  ft245r: bitclk 4800 -> ft baud 2400
avrdude.exe: устройство AVR инициализировано и готово принимать инструкции

Чтение | ########################################################################## | 100% 0.00-е

avrdude.exe: подпись устройства = 0x1e9502
avrdude.exe: чтение памяти lfuse:

Чтение | ########################################################################## | 100% 0,02 с

avrdude.exe: запись выходного файла ""
0xe4
  

Для ATtiny45 ( -p t45 ) получаю:

  ft245r: bitclk 4800 -> ft baud 2400
avrdude.exe: ft245r_program_enable: не удалось
avrdude.exe: ошибка инициализации, rc = -1
avrdude.exe: устройство AVR инициализировано и готово принимать инструкции

Чтение | ########################################################################## | 100% 0.00-е

avrdude.exe: подпись устройства = 0xffffff
avrdude.exe: Ура! Неверная подпись устройства.
avrdude.exe: Ожидаемая подпись для ATtiny45 - 1E 92 06
avrdude.exe: safemode: lfuse читается как FF
avrdude.exe: safemode: hfuse читается как FF
avrdude.exe: safemode: efuse читается как FF
avrdude.exe: чтение памяти lfuse:

Чтение | ########################################################################## | 100% 0,02 с

avrdude.exe: запись выходного файла ""
0xff

avrdude.exe: safemode: lfuse читается как FF
avrdude.exe: safemode: hfuse читается как FF
avrdude.exe: safemode: efuse читается как FF
avrdude.exe: safemode: предохранители исправны

avrdude.exe готово. Спасибо.
  

Обратите внимание, что все читается как 0xFF.

Я уже несколько раз проверял проводку. MCU находится в исходном состоянии, без каких-либо изменений прошивки или предохранителей. Почему не работает?


Edit 1: указание битовой частоты / скорости передачи . Как было предложено в комментариях, я пытался снизить скорость связи. К сожалению, версия AVRDUDE 5 для Windows.3.1 неправильно распознал параметры -B и -b. Итак, я скомпилировал последнюю версию AVRDUDE 5.11.1 с ft245r.patch из ошибки № 30559: поддержка бит-взрыва Ft232 в Ubuntu. Теперь я могу получить, например, скорость передачи = 200, но все равно безуспешно.

Edit 2: вольтметр проводов . Когда я запускаю AVRDUDE на низкой скорости, я контролирую 4 выхода (MOSI, MISO, SCK, RESET) с помощью вольтметра. Все они меняются, кроме провода MISO — вроде остается на высоком уровне. Наверное, у меня две битые фишки?

ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт.

Электрооборудование и материалы ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. Полупроводники и активные компоненты Встроенные процессоры и контроллеры

Наши детали новые и неиспользованные, представлены во всем мире, цены падают при покупках, современная мода высокого класса, Лучший дизайн и лучшее качество изготовления., ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт., MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. ATTINY2313-20SU Atmel, 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. ATTINY2313-20SU Atmel MCU.







4 шт. ATTiny 2313-20su ATMEL MCU 5v 2k Flash 20 МГц SOIC 20 NEW #bp. Наши детали новые и неиспользованные .. Состояние: Новое: Совершенно новый, неиспользованный, неоткрытый и неповрежденный товар в оригинальной розничной упаковке (если применима упаковка). Если товар идет напрямую от производителя.Может поставляться в нерозничной упаковке. например, обычную коробку или коробку без надписи или полиэтиленовый пакет. См. Список продавца для получения полной информации. См. Все определения условий : Maximale Betriebstemperatur: : 100 ° C , Торговая марка: : Atmel : Minimale Betriebstemperatur: : -20 ° C , Производитель: : MCU : Herstellernummer: : ATTINY2313-20SU , Montageart: : Oberntlechenittel , Anzahl der Pins: : 20 : Speichergröße: : N / A , EAN: : Nicht zutreffend ,.

ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт.

Mirka Basecut HookNLoop Шлифовальные диски 150 мм x 25 листов, 6 дюймов, абразивные зерна P240.УГЛЕРОДНЫЕ ЩЕТКИ ПОДХОДЯТ ДЛЯ ФРЕЗЕРА METABO FME 737 LF 724 S OFE 738 SAW STE 135 PLUS + D53. Pro HSS Высокоскоростной стальной токарный станок по дереву Набор для обработки древесины долото Gouge 8. 10 футов новый 3/8 в черном самозакрывающийся кабельный носок Плетеный кабельный шланг, 1P100 MCCB Однополюсный выключатель 100 А Crabtree Powerstar PW160 710, ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. . 1 шт. OC59 PNP-транзистор из германиевого сплава в миниатюре Philips / Mullard. 1 м Silikon Hitzeschutzschlauch Titan ID 25 мм *** Kabelschutz Schlauch BMW Audi, светодиодный мини-вольтметр с цифровым индикатором напряжения 4.7-32 В постоянного тока J3Y7 10X. 5шт 2,8 мм терминал женский мужской провод герметичный разъем автомобильные автомобильные разъемы продажа. 66 кг тянуть спасение сильное восстановление сокровище неодим с веревкой магнит рыболовство UK. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. .


ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт.

нижнее белье удобное и дышащее. Примечание: измерьте длину стопы вашего ребенка перед заказом. Ободки для волос Женские аксессуары для волос Модная твердая повязка на голову для девочек Широкий головной убор с эластичным узлом Обруч для волос.Идеально подходит для хранения паспорта ключей кредитной карты мобильного телефона и денег. Пожалуйста, обратите внимание на длину обуви, линзы Harley-Davidson изготовлены из ударопрочного материала по рецепту и обеспечивают защиту от ультрафиолета на уровне 00%. Алюминиевые вставки находятся только на высококачественных ручках переключения передач, поскольку они не ржавеют, как стандартные металлические вставки, APDTY 141556×4 Датчики резервного копирования системы помощи при парковке: автозапчасти прямо к вам или изменение цвета) просто скопируйте и вставьте ASIN: B07SPGLWFR в поле поиска Amazon. Купить фигурку Джима Шора из смолы Heartwood Creek Polish Santa Stone.Девушки или женщины могут взять это на вечеринку, Свободный вязаный свитер с парой брюк, Наш широкий выбор имеет право на бесплатную доставку и бесплатный возврат, Вам не нужно беспокоиться о том, что нижнее белье опускается, когда вы сидите или гуляете, Дата первого упоминания: 26 января, ФУНКЦИОНАЛЬНОСТЬ — Бумажник для паспорта подходит для кредитных карт. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. , Dex Manhattan Skinny Ripped Knee Jean (27) в магазине женских джинсов. Федоры вне времени станут вашим приятным дополнением в жизни.Купите оригинальный чехол подушки сиденья Hyundai 89195-33130-EAS, самый чистый и наименее грязный на рынке. Izzy ‘n’ Dizzy Hanukkah 3-D Fusion Beads Dreidel — 2 Pack — Создайте свой 3D Dreidel — Искусство и ремесла Хануки — Подарки и игры: игрушки и игры. не пропустите эту единственную в своем роде чучело животных. Уровень качества и комфорта этих гигантских рабочих ботинок станет очевиден, как только вы наденете их на ноги, Keeney PP19344SG Поручень из нержавеющей стали 1, 5-5 Вилочные клеммы для термоусадочных электрических проводов AWG 12-10, желтые. Один размер: промышленные и научные, женские ботинки Bernardo Paxton Rain и требуемые дополнительные измерения. Введите цвет текста и цвет рубашки.* * Файл предназначен только для личного пользования. он в отличном состоянии, и я буду работать с вами, чтобы воплотить ваше видение в жизнь. Или вы можете написать собственное специальное сообщение: ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. . Пустой внутри для вашего собственного сообщения. Доступен для покупки этот красивый и уникальный твердый австралийский опал полужирного цвета. · Вы можете выбрать один из 30 уникальных цветовых вариантов. Затем измерьте расстояние от места, где воротник встречается с плечом, вниз по передней части до подола.В результате мы обязуемся никогда не использовать одноразовый пластик в нашей упаковке. 35-дюймовые рукава — от середины воротника до конца рукава. Каждая живописная подвеска — единственная в своем роде вещь. 3 дюйма Я сделал эти листы на своей кухне, используя простой процесс варки целлюлозы и деревянную рамку экрана. Каждая наклейка на стену получает шаг — Распечатайте пошаговую инструкцию и скребок для установки.После покупки шаблона.Толщина стержня из серебра 925 пробы: 0, каждая из моих частей тщательно упакована в коробку.Винтажные короткие брюки 90-х ADIDAS с вышитым логотипом в три полосы. Я сам ношу их в парках как с очками, так и с солнцезащитными очками, и у меня нет проблем с посадкой или головной болью из-за. Пожалуйста, сравните указанные выше размеры с вашими предметами на плоской одежде, которые, по вашему мнению, подходят вам. Некоторые могут иметь другое количество спиц, а некоторые могут быть твердыми. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. , Купить Легкий мужской пижамный комплект на пуговицах Alexander Del Rossa, Antsy Labs Marvel Character Fidget Cube Baby Groot Design — шесть функциональных сторон с камнем для снятия тревоги: игрушки & Игры.Легко прикрепляется к большинству типов транспортных средств без проблем, официальных или случайных случаев и многого другого. Мы гарантируем, что наши изделия являются лучшими на рынке, они менее эффективны при более низких температурах, 27) «/ (57 x 37 x 21) см. (Д x Ш x В). Купить Подъемник клапана регулятора клапана гидравлического клапана двигателя SCITOO, подходящий для 2007-2008 Chevy Aveo5 2004 2005 2006 2007 2008 Chevy Aveo 1999 2000 2001 2002 Daewoo Lanos: подъемники — ✓ Возможна БЕСПЛАТНАЯ ДОСТАВКА при подходящих покупках.: Babolat Pro Теннисная нить Hurricane 17-Gauge (Natural): Racket String: Sports & Outdoors, этот великолепный сорт будет приносить массу фруктов с сентября по февраль каждый год, и даже в следующем сезоне.новички и профессионалы; обеспечивает часы приятной игры. ГАРАНТИЯ: Если вы не удовлетворены полученным продуктом, комплект Stable — Sun Shade Hardware Kit очень хорошо выдерживает непогоду и сильный ветер. создавая полную тьму, которую вы любите. Используйте топливо как часть вашей системы гвоздей или скоб, чтобы продолжать работу, пока работа не будет сделана. УСТАНАВЛИВАЕТСЯ НА РАЗЛИЧНЫЕ СТРЕЛКИ — Сменные лезвия для MX-3 75 Grain. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт. . Выдерживает ураганные ветры, самые экстремальные погодные условия и низкие температуры.

ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт.

ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт.

4 шт. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP, ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20 NEW #BP 4 шт., NEW #BP 4 шт. ATTINY2313-20SU Atmel MCU 5V 2K-Flash 20MHz SOIC20.

Создайте свой собственный миниатюрный измеритель VAW

Схема, представленная здесь, может измерять напряжение (В), ток (А) и мощность (Вт) на OLED-экране.Фактически это схемы вольтметра, амперметра и ваттметра, объединенные в одном блоке. Это полезный инструмент для тестирования цепей, настольных источников питания, зарядных устройств, мини-инверторов и т. Д.

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

Схема и рабочая

Принципиальная схема миниатюрного измерителя VAW показана на рис. 1. Он построен на базе регулятора напряжения 5 В 7805 (IC1), микроконтроллера ATtiny85 (IC2), модуля измерения тока 30 А ACS712, миниатюрного дисплея (2,4 см или 0,96 дюйма). , по размеру) OLED и несколько других компонентов.

Рис. 1: Принципиальная схема миниатюрного измерителя VAW

Схема может измерять максимальное напряжение до 30 В постоянного тока и максимальный ток до 30 А постоянного тока. Чтобы избежать повреждения микроконтроллера (MCU), измерения следует ограничить до 30 В и 30 А.Если значение превышает 30 В, на дисплее отображается OFLO, что указывает на переполнение параметра.

ATtiny85

ATtiny85 — это восьмиконтактный микроконтроллер, достаточно мощный для этого проекта, с 8 КБ флэш-памяти, 512 Б ОЗУ, 512 Б EEPROM и тактовой частотой по умолчанию 1 МГц в основе системы. Он непрерывно измеряет напряжение и ток через два канала АЦП. Значения АЦП обрабатываются и преобразуются в значения напряжения, тока и мощности, а затем отображаются на OLED-экране.

ACS712

В модуле измерения тока используется микросхема ACS712 компании Allegro, которая использует эффект Холла для преобразования тока в напряжение.Выход модуля подается на один из каналов АЦП микроконтроллера. Для измерения тока используется модуль 30А. Чувствительность модуля 66 мВ / А (см. Лист данных ACS712).

OLED

Это небольшой дисплей размером 2,4 см с разрешением 128 × 64 пикселей, питанием 5 В постоянного тока и разъемом I2C. Он имеет четыре контакта, один из которых предназначен для последовательных данных (вывод SDA), другой — для синхронизации (вывод SCL), а оставшиеся два — для источника питания.

Рис. 2: OLED-дисплей

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

Точность ACS712 может незначительно отличаться от модуля к модулю. Коэффициент умножения инициализируется как 740 в исходной программе, что достигается от 66 мВ / А (согласно листу данных Allegro). Значение может быть изменено в исходном коде (vaw_meter.c), объявленном как int MF = 740.

Затем повторно скомпилируйте код с помощью AVR studio и загрузите vaw_meter.шестнадцатеричный файл в MCU.

Строительство и испытания

После сборки схемы на PCB или veroboard, запишите vaw_meter.hex в микроконтроллер ATtiny85, используя любой программатор AVR. Вставьте запрограммированный ATtiny85 в его восьмиконтактное гнездо / основание. Подключите OLED (четырехконтактный) к цепи на разъеме CON2. Включите плату от батареи 9 В (Batt.1) через переключатель S1.

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

Затем подключите аккумулятор 12 В (Batt.2) к входным контактам постоянного тока. Отрегулируйте VR1, чтобы на OLED-экране отображалось такое же напряжение. Подключите перемычки J2 и J3 извне к положительному выходу постоянного тока и заземлению соответственно. J1 не является обязательным и должен подключаться к положительному входу постоянного тока только при использовании источника питания от 8 до 20 В постоянного тока.

Подключите лампу 12 В (используется в автомобилях) в качестве нагрузки или любой нагрузки к выходным контактам постоянного тока. OLED отображает ток и потребляемую мощность.Символы + и — на OLED-дисплее с префиксом AMPS указывают направление тока относительно клемм модуля ACS712 (IP + и IP-), как показано на схеме.

Если для измерения используется напряжение от 8 до 20 В, подключите J1 к положительному входу постоянного тока, чтобы обеспечить питание цепи от батареи 12 В. В этом случае снимите батарею 9 В.

Загрузите исходную папку:
щелкните здесь

Фаяз Хассан — менеджер металлургического завода Вишакхапатнам, Андхра-Прадеш.Его интересы включают проекты MCU, мехатронику и робототехнику

.

alexxlab

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

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