Миниатюрный вольтметр на микроконтроллере 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.
Литература:
- AVR HVS Programmer. – elm-chan.org/works/avrx/report_e.html.
- AVRXTOOL32. – elm-chan.org.
- GIVEIO.SVS. – kernelchip.ru.
Схема. Вольтметр на микроконтроллере ATtiny2313
:020000020000FC
:100000002FC0189518955AC11895E9C1ADC018951B
:100010001895189518951895189518951895189578
:06002000189518951895D3
:10006000F8944FED4DBF41E948B944274BBF4FEFDE
:1000700047BB4FEF48BB4FE341BB40E242BB4EEOC2
:1000800041BD9927442740936900409367004DBDC7
:100090004CBD40936A0042E049BF44E043BF40E0AA
:1000A00040936B0040E040936C0040E24093680056
:1000C000720040EB4093730049E94093740042E9A9
:1000D0004093750042E84093760048EF40937700E4
:1000E00040E84093780040E94093790048E8409325
:1000F0007A0043E840937B0046EC40937C0041EA61
:1001000040937D0046E840937E004EE840937F0098
:10011000789440E84093610040EC4093620049E9E4
:100120004093630049EF409364004FEF40936900B0
:10013000409169004423E1F76BD102D00000FDCF6C
:1001400090FD089500916800002309F00895F89447
:100150001FB69160002708BF0AE809BF02E00EBD84
:1001600095981FBE78940895A8951FB60F931F9376
:100170002F933F934F935F93AF93BF93209168006A
:10018000222319F02A9520936800209169002223E8
:1001900019F02A952093690020916A0088942E33E3
:1001A00038F4239520936A002FEF209360000DC050
:1001B00088942A3738F4239520936A0022272093C5
:1001C000600003C0222720936A0004E011E0BB27EF
:1001D000A1E622B3207F212B22BB3D9140916700F5
:1001E000342B38BB54E04FEF4A9544230000000005
:1001F000D9F75A955523B9F7110F0A95002349F7F6
:100210004F913F912F911F910F911FBE18951FB6BF
:1002200088249924AA24BB240091650010916600BB
:10023000202F312F8894084E134020FOB394202FA4
:10024000312FF9CF8894022F132F0446104020F04D
:10025000A394202F312FF9CF8894022F132F0A4017
:10026000104020F09394202F312FF9CF8894022F43
:10027000132F802EBB27A1E6FF27E0E7E80D0081C2
:100280000D93E0E7E90D00810D93E0E7EA0D0081B1
:100290000D93E0E7EB0D00818894003C11F491FD93
:1002A0000FEF0C9392FB26F000270093670004C029
:1002B00000916000009367001FBE08951FB68F92E3
:1002C0009F92AF92BF920F93lF932F933F934F93Al
:1002D0005F93AF93BF93EF93FF9300270EBD0DBDC8
:1002E0000CBD02E009BF959A0CE00093680004B5CC
:1002F00015B591FB4EF12FE037E28894200B310BBE
:10030000F8F09B7F20916B0027FF0EC0402F512FEC
:100310002F778894420B504018F0042F152F09C0F6
:1003200088940027112705C08894020F2227121FE6
:1003 300038F0009365001093660071DF77D03EC0FF
:100340008894949A92603AC024ED33E08894200B0C
:10035000310B20F094989D7F9B7F30C02FE037E2D7
:100360008894200B310B08F19B7F949A9260209126
:100370006C0027FF0EC0402F512F2F778894420B1F
:10038000504018F0042F152F09C08894002711271A
:1003900005C08894020F2227121F38F000936500D1
:1003A000109366003CDF42D009C0889494600FE04F
:1003B00017E2009365001093660031DF9E7FFF9186
:1003C000EF91BF91AF915F914F913F912F911F910D
:1003D0000F91BF90AF909F908F901FBE18951FB642
:1003E0000F9300270EBD0DBD0CBD0093650000935B
:1003F000660002E009BF0CE000936800959A0A9538
:100400000EDF9E7F0CE0009368000F911FBE1895D1
:100410004F93AF93BF934FEFBB27AlE64D934D93FF
:100420004D934C93BF91AF914F91089591FB36F04E
:10043000009164000F770093640005C00091630091
:080440000F770093630008959B
:00000001FF
Схема устройства показана на рис. 1 Весь интервал измеряемого напряжения 0…99,99 В разбит на два участка — 0…9,999 и 10,00…99,99 В, которые переключаются автоматически Входное сопротивление на первом участке составляет 470 кОм, на втором — около 100 кОм, абсолютная погрешность измерения на первом участке составляет ±3 мВ. Напряжение питания вольтметра — 15…20 В, потребляемый ток — 60 мА. Период повторения измерений — 100 мс, максимальное время одного цикла преобразования при входном напряжении 9,999 В — 10 мс. При превышении измеряемым напряжением 99,99 В на индикаторе отображается число «9999», мигающее с частотой 2 Гц.
Измерительная часть устройства состоит из интегратора, собранного на элементах DA1, R3, R4, С2, VT1, делителя напряжения на элементах R2, R5, VT2, компаратора напряжения DA3 и работает следующим образом. В момент запуска преобразования с линии порта PD5 (вывод 9) микроконтроллера DD1 на затвор транзистора VT1 поступает низкий логический уровень и он закрывается. В тот же момент программа записывает число 0x02 в управляющий регистр TCCR1B микроконтроллера DD1, что разрешает работу счетчика TCNT1 от импульсов с тактовой частотой контроллера, деленной на восемь, что составляет 1 МГц.
Элементы DA1, R3, R4 образуют источник стабильного тока, от которого заряжается конденсатор С2. Компаратор DA3 сравнивает линейно нарастающее напряжение на этом конденсаторе с измеряемым (входным), поступающим на его неинвертирующий вход. Стабилитрон VD1 ограничивает напряжение на этом входе компаратора, защищая его от перегрузки.Как только нарастающее напряжение превысит измеряемое, на выходе компаратора DA3 установится низкий логический уровень. Спад сигнала на входе ISP (вывод 11) контроллера DD1 приведет к записи в регистр ICR1 содержимого счетного регистра TCNT1, запрос на прерывание по событию «захват» и вызов подпрограммы обработки прерывания. Если измеренное значение напряжения превысит 9,999 В, подачей высокого уровня на затвор транзистора VT2 с линии порта PD4 микроконтроллера DD1 будет включен резистивный делитель напряжения R2R5 Для исключения непрерывного переключения участков измерения на их границе программой предусмотрена зона гистерезиса шириной в 199 мВ.
На точность измерения напряжения влияют, главным образом, такие факторы, как нелинейность стабилизатора тока на стабилизаторе DA1, задержка переключения и напряжение смещения нуля компаратора DA3, сопротивление сток—исток открытого транзистора VT1, ТКЕ конденсатора С2. На втором участке на погрешность влияет точность сопротивлений резисторов R2 и R5. Меньшее влияние оказывают температурный и временной дрейфы частоты кварцевого резонатора ZQ1. Все они заметно ухудшают точность измерения в интервале от 0 до 100 мВ. Нестабильности кварцевого резонатора ZQ1, стабилизатора DA1 и ТКЕ конденсатора С2 носят случайный характер поэтому программной компенсации не поддаются. Но погрешности, вносимые компаратором и полевым транзистором VT1, систематические, поэтому их можно скомпенсировать программным путем Для этого после каждого цикла измерения программа прибавляет к полученному значению константу, вычисляемую в процессе налаживания.
В работе прибора возможна ситуация, при которой прерывание по «захвату» может не наступить. Например, если вход вольтметра соединен с общим проводом или измеряемое напряжение равно нулю, а смещение нуля компаратора DA3 таково, что на его выходе постоянно присутствует низкий логический уровень, то спада сигнала на входе ISP микроконтроллера DD1 не будет и возникнет прерывание по переполнению таймера TCNT1 вместо прерывания по событию «захват». В такой ситуации подпрограмма обработки прерывания по переполнению таймера TCNT1 присвоит измеренному значению нулевое значение.
Конденсатор С7 установлен для подавления выброса напряжения при переключении компаратора DA3, что приводит к ложному возникновению прерывания по событию «захват» В этот момент счетный регистр TCNT1 пуст и на индикатор выводится значение «0,000». Однако подобный эффект наблюдался у компараторов только одной фирмы-производителя, и, скорее всего, установка конденсатора С7 не потребуется.
Большинство деталей, за исключением индикаторов HG1, HG2, смонтированы на основной печатной плате из односторонне фольгированного стеклотекстолита толщиной 1,5 мм, чертеж которой показан на рис. 2, а вид смонтированной платы — на рис. 3 Светодиодные индикаторы монтируют на дополнительной монтажной плате и соединяют с основной изолированными проводами.
Применены постоянные резисторы С2-23, Р1 -4, подстроечный — проволочный многооборотный СП5-2. Резисторы R2, R5 необходимо подобрать с допуском не более 0,5 %, причем резистор R2 можно составить из двух, соединенных последовательно Кроме того, сопротивления резисторов R2 и R5 могут немного отличаться от указанных на схеме, главное, чтобы выполнялось соотношение R2 R5=9 Оксидные конденсаторы — импортные конденсатор С2 — металлопленочный на напряжение 100 В, также импортный, от его ТКЕ зависит температурная стабильность вольтметра, поэтому применение керамических конденсаторов недопустимо. Отличные результаты дает применение конденсаторов серий К73-16, К73-17, однако они имеют большие габариты, что потребует доработки печатной платы. Конденсаторы С9, С10 — КД-2, С1, С4, С6—С8 — керамические для поверхностного монтажа типоразмера 0805.
Микроконтроллер DD1 ATtiny2313-20РI можно заменить на AT90S2313 без каких-либо изменений в программе. При питании вольтметра напряжением, большим 15В. стабилизатор КР142ЕН5А необходимо заменить на L7805CV, который допускает работу при входном напряжении до 35 В. Кварцевый резонатор ZQ1 — РК374 или аналогичный импортный, его частота может лежать в диапазоне 7,5…8,5 МГц, точное значение 8 МГц не принципиально. Индикаторы HG1, HG2 — сдвоенные красного свечения с общим анодом, если применить аналогичные Е20362 зеленого свечения, необходимо уменьшить сопротивление резисторов R6—R13 до 100 Ом. Полевые транзисторы VT1, VT2 — любые n-канальные переключательные с изолированным затвором, рассчитанные на управляющие сигналы с ТТЛ уровнями и с сопротивлением канала открытого транзистора не более нескольких Ом. Транзисторы КТ3102А можно заменить на любые из этой серии либо заменить на транзисторы серии КТ503, подобрав экземпляры с коэффициентом передачи тока базы не менее 100. Стабилитрон VD1 — любой малогабаритный с напряжением стабилизации 12… 13 В и током утечки не более 10 мкА.
Налаживание вольтметра заключается в установке резистором R3 тока зарядки конденсатора С2. Напряжение питания вольтметра может быть в интервале 15…20 В и не стабилизированным, что не влияет на точность измерения во время налаживания и последующей эксплуатации. На вход от внешнего источника подают стабилизированное напряжение в интервале 9…9,8 В, контролируемое образцовым вольтметром В качестве такого вольтметра желательно использовать модели которые могут измерять напряжение до 10 В с точностью в 1 мВ. Резистором R3 уравнивают показания налаживаемого и образцового вольтметров. Затем напряжение на входе уменьшают, добиваясь индикации минимального измеряемого напряжения. Здесь возможны два варианта: при нулевом напряжении на входе налаживаемый вольтметр будет показывать 4…50 мВ или же он покажет «0,000» раньше, чем напряжение на входе уменьшится до нуля. По этим результатам вычисляют константу. И в первом и во втором случаях она равна разности показаний. Но в первом случае ее необходимо вычитать из показаний вольтметра, а во втором — прибавлять к ним.
Под константу в программе выделен 1 байт Старший разряд отводится под знак, поэтому максимальное число, на которое можно изменить показания вольтметра, равно 127. Если константу необходимо вычесть, в старший разряд байта записывают 1, если прибавить — 0. Предположим, вольтметр вместо нуля показывает 0,017 В. В двоичном коде число 17 выглядит как 00010001. Поскольку это число необходимо вычитать из показаний, в старший разряд запишем 1 и получим поправку 10010001 или 91 в шестнадцатеричной форме счисления. Эту константу следует записать в файл ATtiny2313.asm, а именно в строке 221 заменить значение 0x00 на 0x91
Для компенсации показаний вольтметра при работе с делителем, когда измеряемое напряжение лежит в интервале 10,00…99,99 В, исходную константу, в нашем примере 17, необходимо разделить на 10 и округлить до целого значения (до 2), т. е. до 00000010. Добавив знак в старший разряд, получим 10000010, т. е 82 в шестнадцатеричной форме исчисления. Эту константу записывают в файле ATtiny2313. asm, заменив в строке 223 число 0x00 на 0x82 После внесения изменений в файл ATtiny2313.asm его необходимо заново откомпилировать и получившимся файлом ATtiny2313.hex перепрограммировать микроконтроллер В завершение настройки, подавая напряжение от внешнего источника в интервале 9…9,8 В, повторной подстройкой резистором R3 добиваются показаний вольтметра, идентичных эталонному вольтметру.
При программировании микроконтроллера устанавливают его конфигурацию: SPMEN=1, DWEN=1, EESAVE=1, SPIEN=0, WDTON=1, BODLEVEL0…2=111, RSTDISBL=1, CKDIV8=1, CKOUT=1, SUT0,1 = 11. CKSEL0…3=1111, где 0 означает, что разряд запрограммирован, а 1 — нет.
Прилагаемые файлы: vmeter3.zip
С. БЕЛЯЕВ, г. Тамбов
«Радио» №2 2010г.
Похожие статьи:
USB программатор микроконтроллеров AVR — AVR910
Частотомер на микроконтроллере
Миниатюрный вольтметр на микроконтроллере
Лабораторный блок питания на микроконтроллере
Преобразователь USB-COM-LPT на микроконтроллере
Бегущие огни на микроконтроллере АТ89С4051
Часы с термометром и барометром на микроконтроллере ATmega8
Автомат световых эффектов на микроконтроллере
Универсальный таймер на PIC-контроллере
Музыкальный звонок на микроконтроллере
Post Views: 4 747
Вольтметр(амперметр)на микроконтроллере 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
Ну вот и все! Оценивайте, комментируйте, критикуйте!
ЦИФРОВОЙ ВОЛЬТМЕТР СЕТЕВОГО НАПРЯЖЕНИЯ НА МИКРОКОНТРОЛЛЕРЕ 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.
Двухдиапазонный цифровой вольтметр на микроконтроллере Atmega8
В это статье приводится пример простой схемы цифрового вольтметра способного производить измерения в двух диапазонах. Основа вольтметра – микроконтроллер Atmega8 фирмы ATMEL Corporation.
Технические показатели цифрового вольтметра
- Уровень измеряемого напряжения – 0…100 вольт.
- Число диапазонов — 2 (0…10 В, 10…100 В).
- Сопротивление входа — приблизительно 300 кОм.
- Автоматическое переключение между диапазонами.
Описание работы
Схема достаточно проста. Поскольку в схеме вольтметра применена динамическая индикация отпала необходимость в токоограничивающих резисторах в цепи индикатора BT-M51DRD.
В случае если возникнет необходимость поднять входное сопротивление вольтметра (хотя 300 кОм вполне достаточно), то для этого нужно будет заменить операционный усилитель LM358 на другой с входной частью на полевых транзисторах, к примеру, ОУ TL082. Так же будет необходимо пересчитать и делители напряжений на входе на резисторах R1, R4 и R2, R6. В качестве источника опорного напряжения применен управляемый стабилизатор TL431. Фильтр для АЦП микроконтроллера Atmega8 выполнен на L1C3.
В конструкции цифрового вольтметра применены SMD резисторы и конденсаторы размера 0805. Индикатор с общим анодом. Плата изготовлена по технологии ЛУТ на двухстороннем текстолите.
Работа микроконтроллера Atmega8 в данном устройстве организована от внутреннего 8 МГц генератора. В печатке не предусмотрен разъем для внутрисхемного программирования. Просто подпаиваем провода от AVR программатора к соответствующим контактам на плате. Для сигналов RESET и MOSI на плате подготовлены 2 контактные площадки. Для сигнальных линий MISO и SCK можно взять выводы 2 и 3 индикатора.
Фьюзы при программировании микроконтроллера выставляем следующим образом:
Порядок настройки
Первым делом путем подбора сопротивления резистора R23 выставляем образцовое опорное напряжение на ножке 21 (AREF) в районе 2,5…2,6 вольт. Далее подбираем сопротивления для каждого из диапазонов (первый – R17, второй – R16), чтобы отображаемое напряжение точно соответствовало фактическому. Уменьшение данных сопротивлений уменьшает показание на индикаторе. От подобранных номиналов зависит точность измерения цифрового вольтметра.
Скачать прошивку (886 bytes, скачано: 832)
Профессиональный цифровой осциллограф
Количество каналов: 1, размер экрана: 2,4 дюйма, разрешен…
Источник: radiokot.ru
Простой вольтметр на AVR на 50, 5 и 0.3В
Плата нашего измерительного прибора универсальна и в зависимости от установленных элементов может выполнять функции как вольтметра, так и амперметра с различными пределами измерений. В этой статье речь пойдет о том, как из нее сделать простой вольтметр на AVR с разными пределами измерения. В отдельной статье рассказано о том, как на основе той же самой платы можно сделать амперметр.
Схема измерительного прибора
Для того, чтобы схема была универсальна ко входу можно подключить шунт, делитель напряжения или операционный усилитель.
Схема измерительного прибора
Делитель напряжения R2, R3 позволяет измерять напряжения больше 5ти вольт. Для измерения малых напряжений входной сигнал пропускается через операционный усилитель DA2 с регулируемым коэффициентом усиления. Его коэффициент усиления задается резисторами R4, R5. Для измерения тока на входе прибора должен быть установлен шунт R1.
Основой схемы служит микроконтроллер Atmega8. После преобразования уровня сигнала он поступает на вход АЦП, встроенного в микроконтроллер. Микроконтроллер выводит полученное значение на трехразрядном сегментном индикаторе с общим анодом. Напряжение на аноды разрядов поступает через транзисторы. Резисторы в эмиттерах R9, R10, R11 задают яркость индикатора. Способ индикации — динамический.
Питание можно подавать напрямую от источника напряжения 5В, либо через стабилизатор. Обратите внимание, что минус питания и минус измерительного входа соединены друг с другом.
Печатная плата
Плата измерительного прибора
Плата односторонняя и содержит все элементы измерительного прибора. Резистор R1 (шунт амперметра) имеет несколько посадочных мест для корпусов разной мощности. Файл с платой, нарисованной в формате Sprint-Layout 5.0 можно скачать по ссылке.
Программа
При включении устройства в течении двух секунд на индикатор выводится приветствие «HI», после чего начинается работа прибора. В AVR-микроконтроллерах используется 10-ти разрядный АЦП. В нашем проекте мы используем только девять разрядов. Эта разрядность позволяет получить конечную приборную точность 1%. Для большей стабильности и плавности изменения показаний берется выборка из ста отсчетов и на дисплей выводится наибольший из них. Если входное напряжение превышает диапазон измеряемых значений на индикатор выводится сообщение: -0. Третий разряд не включается, если он не используется.
HEX-фал для каждой версии свой. Мы будем их прикладывать к каждой версии отдельно. Фьюз-биты всегда должны оставаться заводскими. Прошивка загружается через стандартный 6ти-пиновый разъем ISP-программирования.
Технические характеристики
- напряжение питания, 5В либо 7-12В
- потребляемый ток, не более 60мА
- частота обновления индикатора, 56Гц
- пределы измерения, 0. 5В, 5В, 50В
- входное сопротивление, не менее 10кОм
- точность, не менее, 10%
Вольтметр на 50В
Для сборки вольтметра с пределом измерения 50В нужно установить все элементы, кроме R1, R4, R5, DA2. Если вы не планируете использовать нестабилизированное питание, то можно не устанавливать также конденсатор C1 и стабилизатор DA1.
Плата вольтметра на 50В
После сборки плата с лицевой стороны выглядит так:
Вольтметр на 50В. Лицевая сторона
…и с обратной стороны:
Вольтметр на 50В. Обратная сторона
Элементы схемы на предел 50В:
- C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
- C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805
- DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
- DD1 — микроконтроллер Atmega8a-au, 1шт.
- J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
- HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
- R2 — подстроечный резистор CA6V на 2,5кОм, 1шт
- R3 — чип-резистор 0805 на 10кОм, 1шт.
- R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
- R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
- VT1-VT3 — транзисторы BC807-40, 3шт.
- Гребенка PLS-контактов
Прошивку для версии с пределом измерения на 50В можно скачать здесь. Фьюз-биты оставляем без изменения.
Если все правильно собрано, то работать должно примерно так:
На видео левый блок используется как источник питания, а правый в качестве источника измеряемого напряжения.
Вольтметр на 5В
На плату необходимо установить следующие элементы:
- C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
- C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805
- DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
- DD1 — микроконтроллер Atmega8a-au, 1шт.
- J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
- HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
- R2 — подстроечный резистор CA6V на 25кОм, 1шт
- R3 — чип-резистор 0805 на 1кОм, 1шт.
- R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
- R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
- VT1-VT3 — транзисторы BC807-40, 3шт.
- Гребенка PLS-контактов
Фактически отличаются только сопротивления резисторов в делителе напряжения R2, R3.
Прошивку для версии вольтметра на 5В можно скачать здесь. Фьюз-биты оставляем без изменения. Отличие этой прошивки от предыдущей только в положении разрядной точки.
Видео работы вольтметра на 5В:
Вольтметр на 300мВ
Для работы с пределом измерения от 0 до 300мВ потребуется дополнительный каскад на микросхеме LM358N. Принципиальная схема при этом принимает следующий вид:
Схема вольтметра на 300мВ
Резисторы R4, R5 задают коэффициент усиления усилителя. R1 необходим для того, чтобы в отсутствии входного сигнала вольтметр показывал 0В.
Элементы платы:
- C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
- C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805
- DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
- DA2 — операционный усилитель L358N в корпусе SO8, 1шт.
- DD1 — микроконтроллер Atmega8a-au, 1шт.
- J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
- HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
- R1 — чип-резистор 0805 на 10кОм, 1шт.
- R4 — чип-резистор 0805 на 1кОм, 1шт.
- R5 — подстроечный резистор CA6V на 25кОм, 1шт
- R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
- R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
- VT1-VT3 — транзисторы BC807-40, 3шт.
- Гребенка PLS-контактов
Версия прошивки для этого вольтметра не использует разрядную точку совсем. Если старшие разряды индикатора не используются, то они отключаются. В этой версии вольтметра переполнение показывается при достижении входного напряжения 300мВ. Скачать ее можно здесь. Фьюз-биты также необходимо оставить без изменения.
Видео работы вольтметра с пределом измерения 300мВ:
Предосторожности в работе и особенности эксплуатации
Вольтметр предназначен для встраивания в любительскую радиоаппаратуру и поэтому не имеет встроенных схем защиты. Вы можете его раз и навсегда встроить его в свой лабораторный блок питания или для контроля показаний какого-либо датчика. Он не предназначен для повседневного использования в качестве тестера, поэтому необходимо соблюдать предосторожности при работе с ним:
- Вольтметр рассчитан только для измерения постоянного напряжения
- У вольтметра нет встроенной защиты от смены полярности входного напряжения
- Измерения производятся относительно напряжения питания. Другими словами стабильность питающего напряжения определяет точность показаний вольметра.
- У вольтметра нет защиты по входу. Не стоит подавать на него напряжения больше предельного
- Вход вольметра не имеет гальванической развязки. Если вы питаете основную схему и предложенный вольтметр от одного и того же источника питания измерения можно производить только относительно общего провода. В случае, когда необходимо измерить разность потенциалов между двумя точками на которых есть напряжение, необходимо использовать для питания вольтметра отдельный источник питания с гальванической развязкой через трансформатор. И при этом обязательно подключать минус вольтметра к точке с меньшим напряжением!
- Если необходимо увеличить яркость индикатора, можно уменьшить сопротивление резисторов R9-R11. Однако не стоит ставить сопротивление меньше 20Ом
- Если вы планируете использовать вольтметр для индикации бортового напряжения в автомобиле вам потребует подключить только два провода: минус автомобиля к «GND» вольтметра, а плюсовой провод к выводам разъема «7-12V» и «+»
Если у вас будут какие-то пожелания относительно пределов измерения, количества включенных разрядов, положения разрядной точки и т. д., то я могу скомпилировать прошивку под ваши нужно. Вам достаточно обратиться ко мне в комментариях или через форму обратной связи на сайте. Если кто-то пропустил ссылку на плату, то вот она.
О том, как сделать на основе этой платы амперметр читайте в продолжении.
Мы будем очень рады, если вы поддержите наш ресурс и посетите магазин наших товаров shop.customelectronics.ru.
ATtiny13 / 13a / 25/45/85 Programming Shield – Arduino Project Hub
ATtiny13 / 13a / 25/45/85
Программирование ATtiny с использованием Arduino. Требуется минимальный опыт пайки.
НазначениеВ отличие от Arduino UNO, ATtiny не может принимать программы через USB. UNO использует ATmega16U2, вторичный MCU, для преобразования последовательного порта через USB в UART для программирования ATmega328. Мы воспользуемся преимуществами ATmega16U2 на UNO для программирования ATting13A.
Рекомендуются базовые знания электроники, включая умение пользоваться мультиметром или читать схемы.
Характеристики- Arduino UNO shield
- Разъем для простой установки и снятия
- Разъемы для тестирования
Подключения можно найти здесь или ниже.
- ATtiny pin 1 (PB5) <--> Arduino pin D10
- ATtiny pin 2 (PB3) <--> x
- ATtiny pin 3 (PB4) <--> x
- ATtiny pin 4 (GND) <--> Arduino GND
- ATtiny pin 5 (PB0) <--> Arduino pin D11
- ATtiny pin 6 (PB1) <--> Arduino pin D12
- ATtiny pin 7 (PB2) <--> Вывод Arduino D13
- ATtiny pin 8 (Vcc) <--> Arduino + 5V
Для дополнительной информации следуйте приведенной ниже схеме выводов.
Ниже представлена коллекция фотографий, на которых я продвигался по сборке щита.
Дремель или вращающийся инструмент быстро справляется с FR4 / перфорированными плитами. Наждачная бумага также эффективна для удаления заусенцев и закругления краев.
ПайкаРазъем DIP8 позволяет быстро подключать и отключать ATtiny. Строки женских заголовков необязательны. Его цель – иметь возможность немедленно проверить контакты.
Моя плата была односторонней, что заставило меня проявить творческий подход к пайке контактов, которые входят в Arduino UNO.
Если вы используете полосовую доску, обязательно вырежьте следы там, где должно заканчиваться соединение. С другой стороны, монтажные платы потребуют перемычек для соединения.
Добавьте электролитический конденсатор емкостью 10 мкФ между контактом сброса Arduino и землей. Складывание конденсатора уменьшает занимаемую им площадь. Подтвердите все соединения и обрывы мультиметром в режиме непрерывности.
* ДОПОЛНИТЕЛЬНО * Я установил светодиод с последовательным резистором на вывод 2, также известный как PB3 / D3.
Щит будет выглядеть примерно так, как показано на картинках ниже.
Код загрузки1. Arduino как ISP
- Подключите UNO, выберите правильный COM-порт и плату.
- Arduino IDE>
Файл
>Примеры
>ArduinoISP
>ArduinoISP
>Загрузить
2. Установка аппаратного пакета ATtiny
-
Файл
>Настройки
>Менеджер дополнительных плат URL
> Вставить:
https: // raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.json
-
OK
-
Инструменты
>Board
>Boards Manager
> Установить DIY ATtiny3. Сконфигурируйте настройки
- Убедитесь, что ваши настройки соответствуют изображению ниже. Я использовал ATtiny13A.
4. Код теста
- Загрузите эскиз “ATtiny Blink”, представленный в нижней части руководства, и загрузите его.
- Посмотрите, переключается ли светодиод каждую секунду.
Поздравляем! Щит готов. Если вы хотите распечатать корпус, используемый на UNO, вы можете найти его здесь (обратите внимание, что он был разработан для настоящих плат без нескольких рядов выводов заголовка). Удачной работы.
Аналоговые часы вольтметра »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 за то, что пригласил меня в качестве приглашенного писателя и за написание нескольких фантастических руководств, которые помогли мне начать работу.
Сэм Феллер
Неуклюжий инженерНравится:
Нравится Загрузка …
СвязанныеOLED USB измеритель напряжения и тока – ОБНОВЛЕНО!
Эти устройства можно купить за несколько евро, но я самодельщик и хотел попробовать заставить их работать с небольшим OLED-дисплеем, микроконтроллером ATtiny85 и несколькими пассивными компонентами.
Эти устройства можно купить за несколько евро, но я занимаюсь домашним хозяйством и хотел попробовать заставить их работать с небольшим OLED-дисплеем, микроконтроллером ATtiny85 и несколькими пассивными компонентами.
Благодаря этим библиотекам, TinySSD1306 и TinyWireM, для управления функциями отображения через интерфейс I2C и эффективной процедуры сглаживания, которые можно найти в сети, я не получил точного прибора, но результат мне показался интересным.
Основная идея состоит в том, чтобы считывать падение напряжения на низкоомном резисторе последовательно с нагрузкой на стороне земли, благодаря АЦП Attiny85, установленному как режим униполярного дифференциального преобразования, 20-кратное усиление, Vref 1.1В внутренний, для расчета тока через нагрузку.
С 0,1 Ом Rsense вы можете считывать максимальный ток около 500 мА с разрешением 10 мА до насыщения входа АЦП. Для более высоких токов АЦП настроен на унитарное усиление, своего рода автоматический выбор диапазона.
Максимальное показание может составлять 10 А, но необходимо учитывать рассеиваемую мощность Rsense и текущую емкость разъемов USB, поэтому я думаю, что 1 А – это достаточно тихо.
Для считывания напряжения АЦП устанавливается в режим однократного преобразования, а делитель входного напряжения устанавливается на уровень Vcc с вывода vccOut, который остается заземленным во время измерения тока.
Показания тока и напряжения происходят последовательно в контуре с задержкой, определяющей количество показаний, которое в основном зависит от процедуры отображения. Функция сглаживания помогает получить более стабильную визуализацию данных. Точность также зависит от фактических значений Vref и делителя напряжения, которые можно экспериментально изменить для улучшения.
ОБНОВЛЕНИЕ 13-02-2016
– Добавлен регулятор напряжения 3,3 В для изоляции источника питания микроконтроллера от шины USB Vcc, что улучшает стабильность внутреннего опорного напряжения и, следовательно, точность измерения.
– Добавлен МОП-транзистор для управления делителем напряжения и рассчитан его снова, чтобы получить полезный диапазон измерения от 4,00 до 6,00 вольт (прилагается снимок экрана, чтобы лучше объяснить работу).
– Добавлено измерение мгновенной мощности (ватт) и полного электрического заряда (мАч).
– Небольшие исправления кода.
Подробнее в комментариях к коду и в таблице данных Attiny85.
Код был написан с использованием Arduino IDE 1.6.6 плюс ATtiny Boards Manager и загружен через USBasp.
Прикреплю картинки, схемы, библиотеки, скетч и прошивку проекта.
С уважением, Anto
Программатор на основе 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.3.1 для Windows неправильно распознала параметры -B и -b. Итак, я скомпилировал последнюю версию AVRDUDE 5.11.1 с ft245r.patch из ошибки № 30559: поддержка бит-взрыва Ft232 в Ubuntu. Теперь я могу получить, например, скорость передачи = 200, но все равно безуспешно.
Edit 2: вольтметр проводов . Когда я запускаю AVRDUDE на низкой скорости, я контролирую 4 выхода (MOSI, MISO, SCK, RESET) с помощью вольтметра. Все они меняются, кроме провода MISO – вроде остается на высоком уровне. Наверное, у меня две битые фишки?
AK MODUL-BUS Computer GmbH
Willkommen bei AK MODUL-BUS jetzt aus Aachen Ihr Partner rund um die Elektronik:
– Platinenlayout, Bestückung, Prototypen und Serienfertigung
– Spezialbauteilevertrieb
– Interfacetechnik und Entwicklungssysteme
– HF-und RöhrentechnikViele neue Artikel im Shop
Wir haben in den letzten Monaten wieder einige interessante Bauteile und Geräte ins Programm aufgenommen:Im einzelnen:
1. ) Die abstimmbare MW-Rahmenantenne TECSUN AN-200,
die eine preiswerte Alternative zu einer grossen Rahmenantenne ist. Sie hat einen eingebauten Drehko und kann для индукции Kopplung (ohne galvanische Verbindung) или рукавиц beigelegtem Klinkenkabel и einen MW-Empfänger angekoppelt werden.
Die Antenne ist aus vielen Tests bekannt für eine Verbesserung der Empfangseigenschaften von MW-, Reise- und Weltempfängern einfach durch das daneben stellen!2.) Ein kleiner Ferritstab, eine kleine Ferritantennen für LW und eine für MW.
3.) Neben unserer HF-Steckboard-Platine haben wir nun auch einseitig und doppelseitig Kupfer-kaschiertes Epoxid-Basismaterial für HF-Experimente
4.) Versilberter Schaltdraht толщиной 0,5 мм, 0,8 мм и 1,0 мм Stärke zum Wickeln von HF-Luftspulen u.a. Verwendungen im HF-Bereich
5.) Ein hochwertiges bipolares EMI-DC-Filter für simrische Gleichspannungen bis zu +/- 50V, 2A Belastbarkeit.
Das Filter является обычным фильтром EMI-DC-Filter, созданным в соответствии с требованиями заказчика.
Es kann ebenfalls mit einem Weißblech-Abschirmgehäuse zusätzlich abgeschirmt werden.6.) Die hochwirksamen EMI-Netzfilter von AUTH, die wir aus positiven Kundenbewertungen zur Reduktion von HF-Störungen für netzbetriebene Geräte ins Programm genommen haben
7.) einige neue Bücher von Burkhard Kainka
8.) Das Lernpaket Mikrocontroller jetzt mit USB-Anschluss! das Begleitbuch von Burkhard Kainka и другие Bundle Lernpaket Mikrocontroller + Buch “Mikrocontroller-Praxis ATTINY 85”
9.) Der Bellebte und Bewährte Bauteiletester in einer preiswerteren Version mit zusätzlichen Testoptionen
10.) Eine Morsetaste mit integriertem Morsetrainer-Programm von Burkhard Kainka
11.) Wir haben einen stark verbesserten AM-Modular 2 zur Weiterverwendng von MW-Radios entwickelt. Все MW-Frequenzen nun для Taster im 9/10 kHz-Raster durchstimmbar und Quarzstabil, Eingangsempfindlichkeit nun 1Vss.
12:) Ein neuer 3-канальный генератор частот от 8 кГц . .. 150 МГц, einstellbar на USB-адаптер Seriell, Festfrequenzen abspeicherbar, микропрограммное обеспечение на загрузчике aufrüstbar, Windows Steuerprogram и т. Д…
Neu im Programm: Ersatzteile für KOSMOS Elektronik-Baukästen der X-Labor-Serie und Kosmotronik-System Wir haben uns einen kleinen Vorrat den Original-Bauteilen identityisch oder nahe kommenden Komponenten der berühmten KOSMOS Elektronik-Baukästen der 70er und 80er Jahre angelegt.
Die vorrätigen oder beschaffbaren Teile können Sie diesem PDF entnehmen.
Форма для отправки по факсу или электронной почте.Ein Röhren-Theremin von Burkhard Kainka на Kickstarter
Das Theremin war das erste elektronische Musikinstrument und feiert im nächsten Jahr seinen 100.Geburtstag. Aus diesem Anlass haben wir Burkhard Kainka gebeten, ein spielbares Theremin auf Röhrenbasis zu entwickeln.
Unser Ziel war, die Funktion des Theremins möglichst nah an der Originalschaltung zu realisieren und gleichzeitig ein optisch ansprechendes Gerät zu bauen, das sich auch in einer Vitrine oder auf einem Ehrenplatz iman Labor sehen lassen.
Dabei wurde wie bei allen unseren Röhren-Projekten darauf geachtet, daß keine gefährlichen Anodenspannungen verwendet werden (hier: 40V Gleichspannung) und man nur ein einziges 12V-Netzteil für das.Hier wird Allerdings ein (mitgeliefertes) Spezial-Netzteil mit Erdverbindung verwendet, da dies für die Funktion eines Original-Theremins zwingend notwendig ist.Die vierteilige Entwicklungsgeschichte des Röhren-Theremins kann hier nachgelesen werden:
Teil 1
Teil 2
Teil 3
Teil 4Die Kickstarter-Kampagne läuft bis zum 19. апреля 2019 und ist hier erreichbar (ebenfalls mit einem Video / Text auf Englisch)
Viele neue Artikel im Shop
Wir haben nach ausgiebigen Tests einige neue, für den Hobby-Elektroniker interessante Artikel in unseren Shop aufgenommen.
Die meisten davon gehören in den Bereich У каждого производителя должен быть один … und sind dort auch schon в плейлисте dergleichnamigen in unserem YouTube-Kanal veröffentlicht wordenIm einzelnen:
Ein geniales Mini Speicher-Oszilloskop
Ein stark verbesserter Mini XR-2206 Funktionsgenerator.
Ein preiswertes Lötkolben-Temperaturmessgerät.
Es wurden Sortimente von E24-Werte Metallfilm-Widerständen, Керамик- унд Электролит Конденсатор aufgenommen.
Eine Keramik- und Silikon-Lötunterlage
Ein Satz Mini-Klemmhaken Verbindungsleitungen
Eine Quarzfassung HC49U für Wechselquarze und ein EMI-Weissblechgehäuse в 2 Höhen.Обзор проекта: Аналоговые часы вольтметра AWK-105
Одна из наших любимых вещей – это наблюдать, как дизайн наших клиентов превращается в готовый продукт.Сэм, известный как «Неуклюжий инженер», создал прототип некоторых плат через CircuitHub для своей недавно запущенной кампании на Kickstarter.
Аналоговые часы вольтметра модели AWK-105 – это его взгляд на то, какими были бы настольные часы в мире, который не переполнен мигающими ЖК-экранами.
Характеристики часов:
- Двойные аналоговые счетчики – один «счетчик» для часов, другой для минут.
- Конструкция из листового металла с порошковым покрытием.
- Сильно тактильные переключатели-переключатели для установки и регулировки времени.
- Контрастное сочетание аналогового и цифрового – время отслеживается в цифровом виде микроконтроллером, но аналоговый сигнал выводится на иглы на счетчиках.
Нам особенно нравится вдохновение времен Второй мировой войны за часами:
«Внешний вид вольтметрических часов модели AWK-105 в значительной степени вдохновлен телеграфным манипулятором времен Второй мировой войны моего дедушки. Конструкция из листового металла и ручки инструментов были такими прочными По существу, он не оставил сомнений в прочности и качестве конструкции.Для меня такое старое аналоговое оборудование обладает функциональной красотой и эстетическим качеством, которые я действительно пытался передать с помощью своего дизайна часов ».
Что касается технологии внутри часов, то она начиналась как прототип Arduino. Позже она была модернизирована до специальная печатная плата, созданная на основе микроконтроллера ATtiny и оптимизированная для получения энергии от батареи в микроампер.
Сэм также немного поделился своим опытом использования CircuitHub:
«Использование CircuitHub для производства печатных плат было огромным подспорьем, поскольку услуга под ключ.Возможность работать в одном месте для выбора компонентов, определения альтернатив, создания герберов, исходных деталей, производства и сборки плат сильно сэкономила мне время, позволив мне сосредоточиться на деятельности по проектированию более высокого уровня ».В проекте уже больше, чем утроила цель финансирования всего за несколько дней. Поздравляю, Сэм!
AVR ATtiny USB Tutorial Part 1
Я хотел создать USB-устройство с использованием микроконтроллеров AVR, так как понял, что это возможно. Однако ни в проекте USBtiny, ни в более обширной библиотеке V-USB не было простого в использовании руководства.Поэтому я решил сделать такой.
Эта первая часть охватывает основы создания устройств с питанием от USB и служит введением для второй части, которая рассматривает простой пример использования библиотеки V-USB для реализации USB-связи с ATtiny2313 и обратно. Дополнительные части могут быть опубликованы позже, если у меня будет время и интерес.
Но давайте начнем. Вот что вам понадобится для этой первой части:
- Кабель USB и контактный разъем
- Маленькая макетная плата и несколько соединительных проводов Светодиод
- и резистор 330 Ом
- Низкое падение напряжения 3.Регулятор 3 В, такой как LD1086V33 или LE33CZ
Кабель
Первое, что нам нужно сделать, это отрезать USB-кабель так, чтобы тот конец, который идет в компьютер, остался, зачистить другой конец и припаять четыре провода в контактный разъем, чтобы можно было легко вставить кабель в макетную плату. USB содержит четыре провода, которые вы должны припаять в следующем порядке (примечание: не все кабели соответствуют этому, поэтому проверьте с помощью мультиметра!):
Штифт Цвет Функция 1 Красный VCC (+ 5 В) 2 Белый D- 3 Зеленый D + 4 Черный Земля (0 В) Здесь вы видите конечный результат.При зачистке провода будьте осторожны, чтобы не повредить провода, и убедитесь, что провода не соприкасаются друг с другом, чтобы кабель не закоротил компьютер или USB-концентратор!
Если вы хотите узнать больше о разъемах USB и электрических характеристиках, я настоятельно рекомендую USB in a NutShell от Beyond Logic и, конечно же, спецификацию USB 2.0. На данный момент достаточно понять, что шина USB может обеспечивать небольшой ток (максимум пару сотен миллиампер) примерно при 5В.
Тест простой макетной платы
А теперь посмотрим, удалось ли нам реализовать наш паяльный проект. Я рекомендую вам сначала подключить кабель к USB-концентратору и использовать мультиметр, чтобы измерить, действительно ли у вас есть 5 В между VCC (красный) и GND (черный). Сам получил 5.18V. Затем подключите контактный разъем к макетной плате и используйте перемычки для передачи VCC и GND на шины питания, а затем подключите светодиод последовательно с резистором, чтобы увидеть, загорится ли он!
Поздравляем! Если все, что вам нужно, это питание от USB, теперь вы можете приступить к созданию любой цепи 5 В, пока потребляемый ток остается довольно небольшим.Если светодиод не горит, убедитесь, что вы не ошиблись с проводами, пайкой или неправильной вставкой светодиода. 🙂
Подготовка к USB-соединению – переход на 3,3 В
В то время как питание USB составляет 5 В, для линий передачи данных требуется 3,3. Некоторые компьютеры допускают логику 5 В, но не все. Для игры по книге у вас есть три варианта:
- Ограничьте напряжение, обеспечиваемое USB, до 3,3 В
- Питание схемы от внешнего источника от 3,3 В
- Используйте резисторы, диоды или стабилитроны для преобразования логики 5 В в 3.3В
Здесь мы выберем первый вариант. Второе может быть достигнуто с помощью вашего любимого метода, такого как батарея 9 В и регулятор, зарядное устройство для сотового телефона с подходящей настройкой напряжения или 3 AA и один или два защитных диода, которые снижают напряжение. Что касается третьего, вы можете найти множество статей в Интернете, набрав «zener diode usb» (Обновление: вы также можете взглянуть на «Часть 6» моего руководства, в которой это рассматривается). V-USB wiki имеет хороший обзор опций:
http: // vusb.wikidot.com/hardware
В этом руководстве я использую LD1086V33. Из таблицы мы видим, что контакт 1 регулятора является заземлением, контакт 2 – выходом, а контакт 3 – входом. Кроме того, между землей и выходом, а также между землей и входом указаны конденсаторы 10 мкФ.
Здесь я подключил заземление регулятора и входные контакты к шине питания, питающей 5 В, а выходной контакт – к светодиоду и резистору.
Хотя эта схема, скорее всего, будет работать, любые небольшие сбои в потребляемой мощности или питании требуют компенсации регулятора, и это может привести к постоянным колебаниям напряжения.Поэтому мы добавляем конденсаторы 10 мкФ между 5 В и землей (добавлены здесь к шине питания) и 3,3 В и землей (добавлены перед регулятором). Убедитесь, что электролитические конденсаторы подключаются правильно (минусовая сторона отмечена). И вуаля!
Теперь мы готовы запитать нашу схему AVR или любой другой проект, используя хорошее напряжение 3,3 В. Используйте мультиметр, чтобы проверить, что напряжение между землей и входом регулятора по-прежнему составляет около 5 В, а выходное напряжение регулятора и земля – 3,3 (у меня хороший 3.