Амперметр на микроконтроллере: Простой амперметр на AVR на 3 и 0.3А

Содержание

Простой амперметр на AVR на 3 и 0.3А

Это продолжение статьи об универсальном измерительном приборе на микроконтроллере. В ней речь пойдет о том, как на нашей универсальной плате сделать простой амперметр с пределом либо на 3А, либо на 300мА.

Схема

Схема и плата разработанного прибора универсальна. Для сборки амперметра необходимо установить на плату измерительный шунт и операционный усилитель. При этом схема будет выглядеть так:

Схема амперметра на AVR

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

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

Проект платы в формате Sprint-Layout 5.0 можно скачать по ссылке.

Амперметр на 3А

Для сборки версии с пределом измерения от 0 до 3А вам потребуется установить на плату:

  1. C2 — танталовый конденсатор, 22мкФ, 16В T491C226K016AT, 1шт.
  2. C1,C3,C4 — конденсаторы на 0,1мкФ в корпусе 0805, 3шт.
  3. DA1 — стабилизатор L7805 в корпусе D2PAK, 1шт.
  4. DA2 — операционный усилитель L358N в корпусе SO8, 1шт.
  5. DD1 — микроконтроллер Atmega8a-au, 1шт.
  6. J1 — чип-резистор 1206 с сопротивлением 0 Ом, 1шт. (перемычка)
  7. HL1 — сегментный индикатор BA56-12YWA, 1шт. (желательно устанавливать через колодку)
  8. R1 — резистор с сопротивлением 0,1 Ом мощностью 1Вт, 1шт.
  9. R4 — чип-резистор 0805 на 1кОм, 1шт.
  10. R5 — подстроечный резистор CA6V на 25кОм, 1шт
  11. R6-R8, R12 — чип-резисторы 0805 на 1кОм, 4шт.
  12. R9-R11 — чип-резисторы 0805 на 56Ом, 3шт. (можно взять с меньшим сопротивлением для увеличения яркости)
  13. VT1-VT3 — транзисторы BC807-40, 3шт.
  14. Гребенка PLS-контактов

При токе через шунт R1 3А, падение напряжения на нем составит 0,3В. Резисторами R4, R5 задается коэффициент усиления этого сигнала по напряжению примерно в 10 раз. Усиленное напряжение поступает на АЦП микроконтроллера. На шунте при этом будет выделяться мощность 0,9Вт, что близко к максимально допустимой мощности. Если вы планируете часто его использовать на пределе измерения, то поставьте резистор R1 с большей мощностью.

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

Амперметр на МК с лицевой стороны

Амперметр на МК с обратной стороны

Прошивку амперметра можно скачать здесь. Фьюз-биты без изменения.
На видео подробно показан процесс работы амперметра. К сожалению, у нас не было источника тока на 3А, поэтому нельзя было показать, что при токе больше 3А вольтметр выводит сообщение о переполнении.

Амперметр на 300мА

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

Предосторожности

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

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

UPD:

Для того чтобы сделать версию на 50А необходимо установить элементы как в 3х-амперной версии, кроме резистора R1. Его сопротивление нужно уменьшить до 0,01Ом. Прошивку можно скачать здесь.

Мы будем очень рады, если вы поддержите наш ресурс и посетите магазин наших товаров shop.customelectronics.ru.

Амперметр

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

PowerScope — измеритель напряжения, тока и мощности на MSP430

PowerScope — это измеритель, предназначенный для использования на макетной плате, для помощи в разработке устройств с батарейным питанием. Он обеспечивает отдельный мониторинг источника питания, что позволяет быстро увидеть эффект замыкания/программного изменения энергопотребления в процессе разработки. Это освобождает ваш вольтметр для общей диагностики. Построен на микроконтроллере MSP430G2402.

Автор: alecs

2 0
[0]

Цифровой ампервольтметр с гальванической развязкой каналов измерения

Применение микроконтроллера с многоканальным АЦП упрощает задачу измерения тока и напряжения для последующего вывода на индикатор лабораторного блока питания.Однако, при несомненном достоинстве таких схем – их простоте и дешевизне – есть у них и существенный недостаток – наличие общего «минуса» у каналов АЦП не позволяет проводить независимые измерения тока и напряжения, т.е. подключаться к источникам питания, не имеющим общей точки для измерения

Автор: Kampfkatze

24 5
[1]
Похожие статьи: 2012 г.

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

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

Автор: none

2 0
[0]

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

Применение микроконтроллера со встроенным АЦП в измерительных устройствах позволяет максимально упростить и удешевить их конструкцию. Однако, есть у таких МК и существенный недостаток — наиболее распространённые 10-тиразрядные АЦП не в состоянии обеспечить высокую разрешающую способность при широком диапазоне измеряемой величины. Предлагаемая конструкция решает эту проблему, используя метод преобразования напряжение – частота.

Автор: Kampfkatze

22 0
[0]
Похожие статьи:

Ампервольтметр на PIC12F675

Ампервольтметр предназначен для измерения тока 0-9,99А и напряжения 0-100В с разрешением 0,01А и 0,1В соответственно. Применен микроконтроллер PIC.

Автор: 4uvak

93 4.3
[5]

Встраиваемый ампер-вольтметр на PIC12F675 и LED-индикаторах

Несложный и очень недорогой встраиваемый прибор для измерения выходного напряжения и тока различных блоков питания. Собран на PIC12F675, двух регистрах 74HC595, ОУ LM358N и двух 3-х или 4-х разрядных LED индикаторах. Размер печатной платы 57 на 62 мм.

Автор: diogen_b

95 4.8
[5]
Похожие статьи:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сигнал

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вольтметр-амперметр переменного тока с вычислением мощности на PIC16F690 [Обновлено]

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

При ремонтных работах или при проверке и испытаниях новых устройств часто требуется подавать напряжение от ЛАТР’а, при этом необходимо контролировать напряжение и ток. Для этих целей был разработан и собран вольтметр-амперметр на микроконтроллере с LCD индикатором. Поскольку, напряжение и ток измеряются, то легко вычисляется и полная мощность. В результате получился весьма компактный измеритель.
Технические характеристики
1. Пределы изменения измеряемого напряжения 0 – 255 Вольт, дискретность 0,5 вольта. Показания отображаются с шагом 1вольт.
2. Пределы изменения измеряемого тока 0 – 10 Ампер, дискретность 20 ма. Показания отображаются с шагом 10 ма.
3. Полная мощность вычисляется, как произведение величины тока на напряжение и отображается только целочисленное значение в Вольт-амперах.

Содержание / Contents

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.
В схеме применено прямое измерение переменного напряжения и тока микроконтроллером.
Измеряемое напряжение через делитель R7, R9, R12 и C12 поступает на вход микроконтроллера через конденсатор C10. Конденсатор C12 совместно с делителем входного напряжения образует интегрирующую цепь, которая препятствует проникновению импульсных помех.

Измеряемый ток протекает по шунту R1, напряжение, снимаемое с него, усиливается операционным усилителем и через цепочку R8 и C8 поступает на вход микроконтроллера. Первый каскад на OP1 представляет собой инвертирующий усилитель с интегрирующим конденсатором C3 в цепи обратной связи. В связи с тем, что размах напряжения, снимаемого с OP1 должен быть около 5 Вольт, на микросхему усилителя поступает повышенное питание (9-15 Вольт). Второй каскад на OP2 включен повторителем и особенностей не имеет. Конденсатор C3 служит для уменьшения помех при работе АЦП микроконтроллера.

На измерительные входы RA0 и RA1 поступает постоянное стабилизированное смещение 2,5 вольта через резисторы R11 и R13. Это напряжение позволяет правильно измерять положительный и отрицательный полупериоды входных напряжений.
К микроконтроллеру PIC16F690 подключен LCD дисплей, с отображением 2-х строк по 16 символов. Резистор R14 служит для установки оптимальной контрастности дисплея. Резистор R15 определяет ток подсветки дисплея.
Питание прибора осуществляется от отдельного трансформатора на 9 – 12 Вольт. Стабилизатор питания +5 Вольт собран на микросхеме 78L05 и особенностей не имеет.

Программа написана на языке СИ (mikroC PRO for PIC), разбита на блоки и снабжена комментариями. В программе применено прямое измерение переменного напряжения микроконтроллером, что позволило упростить схему. Микропроцессор применен PIC16F690 с довольно большим объемом памяти, что позволило применить LCD дисплей и написать программу на языке высокого уровня без особых ухищрений. Тактовая частота внутреннего генератора выбрана 8 МГц.

Блок программы izm_U измеряет величины напряжения и тока. В версии V3 – применено прямое измерение напряжения и тока без привязки к фазе, что позволило получить правильные показания напряжения и тока при реактивной нагрузке.
Блок программы display — вывод текстовой информации на LCD дисплей.

Блок программы CustomChar – формирование символов русского алфавита, позволяет выводить на экран символы русского алфавита для нерусифицированных индикаторов.
В основном блоке main выполняется преобразование результатов измерений в текстовую форму для последующего вывода на дисплей.

Все детали установлены на печатной плате. Дисплей вставляется в разъемы платы и крепится винтами к стойкам длиной 12 мм. В связи небольшим расстоянием между платами конденсаторы применены небольшой высоты C4, C5 на 16 Вольт, остальные на 6,3 или 10 Вольт. Измерительный резистор R7 должен быть высоковольтным. Я установил резистор типа МЛТ1. Шунт взят от неисправного мультиметра. В связи с тем, что различные типы дисплеев могут иметь различное подключение питания (ножки 1 и 2), то на печатной плате питание на ножки дисплея 1 и 2 поступает через перемычки. Их надо коммутировать правильно, в соответствии с применяемым дисплеем. Наличие русского алфавита в дисплее необязательно, так как он формируется программно. Микроконтроллер устанавливается в цанговую панельку.

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.
Я запитал прибор от телефонного адаптера. В связи с тем, что на плате есть свой мост Br1, полярность подключения не имеет значения. Важно, чтобы на конденсаторе C4 было напряжение в пределах 10 – 15 Вольт.

Схема подключения могут быть и другими. Например, на вход подать 6,3 вольта, а к входу подключить накал радиоламп для измерения тока накала и т.п.Необходимо проверить монтаж платы и включить устройство. На время настройки для подключения дисплея я сделал кабель — переходник длиной 10 – 15 см.

1. Вращая резистор R14, выставляем оптимальную контрастность дисплея. На индикаторе должны отобразиться нулевые значения напряжения, тока и мощности.
2. После этого на вход подают напряжение (можно сетевое 220 Вольт), которое измеряется контрольным вольтметром, при этом на индикаторе должно отобразиться значение напряжения. Вращая резистор R12, устанавливаем показания напряжения на дисплее равным напряжению, поданному на вход. Возможно, потребуется изменить в некоторых пределах резистор R9.
3. Для настройки правильных показаний амперметра подключаем какую-либо нагрузку (можно лампу накаливания на 100 – 200 ватт) через контрольный амперметр. После этого на вход подают напряжение, при этом на индикаторе должны отобразиться значения напряжения и тока. Вращая резистор R6, устанавливаем показания тока на дисплее равными току на контрольном амперметре. В связи с тем, что шунт может иметь сопротивление, несколько другого номинала возможно, потребуется изменить в некоторых пределах значение резистора R5.
После проведения настройки дисплей можно включить без кабеля — переходника и прикрепить к плате.При первых включениях без подключения нагрузки прибор показывал ток 10 – 30 ма. Оказалось, что конденсаторы давали некоторую утечку. После 5-10 минут работы ток падал до нуля. В дальнейшем конденсаторы «отформовались» и дефект исчез. a) Мне прибор оказался очень полезен при проверке и испытаниях новых устройств.
b) Прибор легко меряет мощности, потребляемые различной бытовой техникой (лампа накаливания, экономичная лампа, фен, утюг, электропаяльник на 36 Вольт, автомобильные лампы и т.д.), а также компьютера и принтера.
c) Очень легко измеряются ток холостого хода трансформатора (оказалось, что он не всегда равен ожидаемому!).1. Идея прибора взята из описания “Суперпростой амперметр и вольтметр на супердоступных деталях”, автор Eddy71.
2. Даташиты на деталиСхема, печатная плата и программа с прошивкой
🎁Shema-VAvar.zip  12.09 Kb ⇣ 471
🎁Plata-VAvar.zip  18.04 Kb ⇣ 492
🎁Soft_VAar_V2.zip  6.41 Kb ⇣ 511

Прошивка v2 с расширенным диапазоном измерений (28-12-2013)
Расширены пределы допустимых значений напряжения до 511V и тока до 20,46А
🎁Proshivka-v2-511V-2046A.7z  5.49 Kb ⇣ 250

Прошивка v3 с расширенным диапазоном измерений (15-02-2014)
Расширены пределы допустимых значений напряжения до 255V и тока до 51А
🎁255V-51A-datagor.ru.7z  5.59 Kb ⇣ 202

Иван Внуковский, г. Днепропетровск

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.

 

22.10.16 изменил Datagor. Добавлена прошивка с расширенным диапазоном измерения

Вольтметр и амперметр на микроконтроллере для лабораторного блока питания — Устройства — Каталог статей

Для работы нужно было сделать лабораторный источник питания, а как же без него?  БП нужен был срочно и поэтому не стал заморачиваться с регулировкой напряжения ШИМом и обошелся обычным «дедовским» методом — регулировкой переменным резистором. Схема этого несложного устройства представляет собой измеритель выходного напряжения и тока нагрузки БП, и служит для отображения этих параметров на светодиодном индикаторе.

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

Органы управления — это кнопка переключения режимов индикации ток/напряжение и ручка переменного резистора для регулировки напряжения. Принцип работы основан на измерении напряжения на делителе напряжения и шунте встроенным в микроконтроллер АЦП. Напряжение рассчитывается из коэффициента деления напряжения на делителе, а ток по падению напряжения на шунтирующем резисторе.

ОСНОВНЫЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ УСТРОЙСТВА:

Измерение тока с точностью ……………………………..100мА
Измерение напряжения (до 10В) с точностью…………..0.1В
Измерение напряжения (выше 10В) с точностью………….1В
Величина входного напряжения (максимальная)………….30В
Величина входного напряжения (минимальная)……………7В
Пределы регулировки напряжения…………………….1.3В-30В
Максимальный ток нагрузки (LM317)………………………..1.5А

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

Печатную плату цифровой части устройства я сделал на макетке размерами 35х55мм. Токонесущие проводники желательно выбрать потолще, желательно сечением не менее 0.7мм, во избежании их оплавления или нагрева при коротком замыкании. Стабилизатор напряжения LM317 тоже нужно обязательно установить на мощный радиатор через теплопроводную пасту, так как стабилизатор, при большом токе сильно греется. Еще обратите внимание, что максимальное входное напряжение устройства ограничивается делителем напряжения на входе АЦП (не более 5 вольт) и максимально допустимым напряжением стабилизатора (30В для LM317), так что напряжение выходящее с трансформатора не должно превышать допустимое, иначе можно легко спалить LM-ку, а может даже и трансформатор 🙂

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

Микроконтроллер в этой конструкции тактируется от внутреннего RC-генератора, работающего на частоте 1МГц. Так что дополнительного кварцевого резонатора не понадобится. Обратите внимание, что fuse-биты микроконтроллера изменять не нужно (если микроконтроллер новый) здесь используются те что заранее установлены заводом изготовителем.

Ссылки к статье:

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

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


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

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

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

Схема

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

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

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

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

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

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

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

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

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

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

Прошивка

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

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

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

Подключение

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

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

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

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

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

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

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

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

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

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

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

J2 – +12V

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

J3 – +35V

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

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

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

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

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

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

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

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

Амперметр 100 мА с использованием микроконтроллера AVR

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

Цифровой амперметр с использованием микроконтроллера AVR

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

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

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

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

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

Программное обеспечение: Atmel studio 6.1, прогисп или флеш магия.

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

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

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

В ATMEGA8 мы можем подать аналоговый вход на любой из ЧЕТЫРЕХ каналов PORTC, не имеет значения, какой канал мы выберем, поскольку все они одинаковы.10 = 5 мВ. Таким образом, для каждого приращения на 5 мВ на входе у нас будет приращение на единицу на цифровом выходе.

Подробнее: Амперметр 100 мА с использованием микроконтроллера AVR

IC Clock

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

Это обряд посвящения хакеров в создание часов из предметов, которые традиционно не являются часами. Будь то мигающие светодиоды или сервоприводы для перемещения стрелок, мы все создали свои собственные способы узнать , когда он есть в настоящее время. [SIrawit] использует новый подход к этому, используя амперметры для определения времени.

Часы построены в основном с использованием микросхем CMOS. CD4060 генерирует тактовый сигнал с частотой 1 Гц, который затем передается на параллельные счетчики для отслеживания часов, минут и секунд. [SIrawit] решил оставить амперметры в рабочем состоянии, а не заменить их внутренние части и оставить только стрелку и циферблат. Чтобы преобразовать цифровой сигнал в переменный ток, он использовал серию полевых МОП-транзисторов, подключенных параллельно к нижней стороне амперметров, с токоограничивающими резисторами разных размеров.При правильном выборе размеров этих резисторов точное движение стрелки может быть достигнуто путем включения или выключения полевых МОП-транзисторов. Вы можете увидеть схемы и узнать больше о том, как это достигается на странице проекта GitHub (на момент написания самые последние коммиты находятся в ветке «pcb»).

В дополнение к заказной печатной плате, которая содержит всю электронику, печатные платы также помогают составить корпус. В то время как основная часть корпуса сделана из перепрофилированной распределительной коробки, [SIrawit] изготовила печатную плату на алюминиевой подложке для передней панели.Хотя плата не имеет фактических следов или электрического значения, это обеспечивает дешевый и простой способ получить точно вырезанный кусок алюминия для ваших проектов с остро выглядящей белой маской для пайки.

Нам нравится видеть классные и уникальные способы определения времени, такие как использование Nixie Tubes для отображения времени в двоичном формате!

[через r/electronics]

Универсальные панельные счетчики

OMM 323UNI

3½-разрядный программируемый дисплей/универсальный панельный измерительный прибор

Измерители серии OMM 323UNI представляют собой экономичные программируемые панельные измерители с 3½ разрядами, предназначенные для основных применений.OMM 323UNI построен на базе однокристального микроконтроллера с аналого-цифровым преобразователем. Этот прибор может быть сконфигурирован для восьми различных входных параметров, которые легко доступны в меню прибора. Измеритель разработан для обеспечения высокой точности, стабильности и простоты управления. Выберите красный или зеленый светодиодный дисплей.

• 5 лет гарантии
• Отображение данных
• Цифровые фильтры, линеаризация
• 1/32 DIN
• Нажмите, чтобы узнать цену OMM 323UNI
 

 

• Многофункциональный вход: AC, DC, Process Monitor, RTD, T/C, DU, Ni и сопротивление
• Вольтметр и амперметр постоянного тока, омметр, T/C и термометр RTD
• Блок индикации для линейных потенциометров


Технический паспорт

Дисплей

Диапазоны

Точность

Мощность

Выходы

Размер

±1999
9.1 мм
красный или зеленый

±90/±180 мА
±30/±60 мВ
±1/±20/±40/±80 В
±20 мА/4 до 20 мА
±2/±5/±10 В
0 до 100/300 Ом
от 0 до 3/24/30 кОм
Pt 50/100/1000
Cu 50/100
Ni 1000/10000
J/K/T/E/B/S/R/N/L
Линейная потенциометр

±0,15 %
(от диапазона)

от 10 до 30 В пост. тока/24 В перем. тока
от 10 до 30 В пост. тока/24 В перем. тока, изолированный

 

1/32 DIN
безель: 48 x 24 мм
вырез: 45 x 22.5 мм

 

ОМЛ 343UNI

3½-разрядный универсальный программируемый дисплей/индикатор

Модель OML 343UNI представляет собой простой и экономичный универсальный программируемый панельный счетчик с 3½ разрядами. Основанный на однокристальном микроконтроллере с аналого-цифровым преобразователем, этот прибор может быть сконфигурирован для восьми различных входных параметров, которые легко доступны в меню прибора.OML 343UNI разработан для обеспечения высокой точности, стабильности и простоты управления.

• 5 лет гарантии
• Размер 1/8 DIN
• Реле (опция)
• Нажмите, чтобы узнать цену OML 343UNI

• Многофункциональный вход: AC, DC, Process Monitor, RTD, T/C, DU, Ni и сопротивление
• DC вольтметр и амперметр, омметр, T/C и термометр RTD
• Цифровые фильтры, линеаризация


Технический паспорт

Дисплей

Диапазоны

Точность

Мощность

Выходы

Размер

±1999
14 мм
красный или зеленый

±90/±180 мА
±30/±60 мВ
±1/±20/±40/±80 В
±20 мА/от 4 до 20 мА
±2/±5/±10 В
от 0 до 100/300 Ом
от 0 до 3/24/30 кОм
Pt 50/100/1 000
Cu 50/Cu 100
Ni 1 000/Ni 10 000
J/K/T/E/B/S/R/N/ L
Линейный потенциометр

±0.15 %
(от диапазона)

от 10 до 30 В постоянного тока/24 В переменного тока

1x реле

1/8 DIN
рамка: 96 x 48 мм
вырез: 92 x 45 мм

 

ОММ 350UNI

6-разрядный программируемый дисплей/универсальный панельный счетчик

Модель OMM 350UNI представляет собой небольшой панельный измерительный прибор с 6 разрядами и универсальными входами.Прибор основан на однокристальном микроконтроллере с точным аналого-цифровым преобразователем, что обеспечивает высокую точность, стабильность и простоту программирования.

• 5-летняя гарантия
• Цифровые фильтры, линеаризация
• Реле (опция)
• Нажмите, чтобы узнать цену OMM 350UNI

• Многофункциональный вход: DC, Process Monitor, RTD, T/C, DU
• Вольтметр постоянного тока и амперметр, омметр, T/C и термометр RTD
• Блок индикации для линейных потенциометров


Технический паспорт

Дисплей

Диапазоны

Точность

Мощность

Выходы

Размер

±1999
9.1 мм
красный или зеленый

±90/±180 мА
±30/±60 мВ
±1/±20/±40/±80 В
±20 мА/4 до 20 мА
±2/±5/±10 В
0 до 100/300 Ом
от 0 до 3/24/30 кОм
Pt 50/100/1000
Cu 50/100
Ni 1000/10000
J/K/T/E/B/S/R/N/L
Линейная потенциометр

±0,2 %
(от диапазона)

10–30 В пост. тока/24 В перем. тока, изолированный

2x реле

рамка: 72 x 24 мм
вырез: 68 x 21.5 мм

 

ОМ 352УНИ

3½- или 4-разрядный программируемый дисплей/универсальный панельный счетчик

Серия OM 352UNI представляет собой экономичные программируемые универсальные панельные счетчики, доступные в 3½- и 4-разрядных моделях. Он основан на однокристальном микроконтроллере с аналого-цифровым преобразователем, который обеспечивает хорошую точность, стабильность и простоту программирования.OM 352UNI может быть сконфигурирован для 8 различных типов входных сигналов. Он доступен с 14-мм или 20-мм дисплеем, который является 3-цветным, и его цвет может меняться при достижении запрограммированного пользователем значения. Вариант возбуждения.

• 5 лет гарантии
• Версия с 3-цветным дисплеем
• Реле, вывод данных, аналоговый выход (опции)
• Нажмите, чтобы узнать цену OM 352UNI

• Многофункциональный вход: AC, DC, Process Monitor, RTD, T/C, DU, Ni и сопротивление
• Вольтметр постоянного тока и амперметр, омметр, T/C и термометр RTD
• Дисплей для линейных потенциометров


Технический паспорт

Дисплей

Диапазоны

Точность

Мощность

Выходы

Размер

3½-разрядная модель:
±1999
14 мм
красный или зеленый

4-значная модель:
20 мм
красный/зеленый/
оранжевый

±20/±60/±1000 мВ
от 0 до 20/4 до 20 мА
от 0 до 2/5/10 В
от 0 до 300 Ом/1.5/3/30 кОм
Pt 50/100/500/1000
Cu 50/100
Ni 1000/10000
J/K/T/E/B/S/R/N/L
Линейный потенциометр

±0,2 %
(от диапазона)

от 10 до 30 В переменного/постоянного тока
от 80 до 250 В переменного/постоянного тока

2 реле
от 0 до 5 мА
от 0/4 до 20 мА
от 0 до 2/5/10 В
RS 232/485

1/8 DIN
рамка: 96 x 48 мм
вырез: 92 x 45 мм

 

ОМ 402УНИ

4- или 6-разрядный программируемый дисплей/универсальный панельный счетчик

Модель OM 402UNI Серия универсальных программируемых панельных приборов доступна в 4- и 6-разрядных моделях.Основанный на однокристальном микроконтроллере с быстрым 24-битным аналого-цифровым преобразователем, он может быть сконфигурирован для 8 различных типов входных сигналов, которые легко устанавливаются в меню прибора.

• 5 лет гарантии
• Версия с 3-цветным дисплеем
• Реле, вывод данных, аналоговый выход (опции)
• Размер 1/8 DIN
• Нажмите, чтобы узнать цену OM 402UNI

• Многофункциональный вход: DC, Process Monitor, RTD, T/C, DU, Ni, CU и сопротивление
• DC вольтметр и амперметр, омметр, T/C и RTD термометр
• Дисплей для линейных потенциометров
• Опция возбуждения


Технический паспорт

Дисплей

Диапазоны

Точность

Мощность

Выходы

Размер

4-значная модель:
от -999 до 9999
20 мм
красный/зеленый/
оранжевый

6-значная модель:
-99999 до
999999
14 мм
красный или зеленый

±60/±150/±300/±1200 мВ
от 0 до 5/20 мА/от 4 до 20 мА
±2/±5/±10/±40 В
от 0 до 100 Ом/1/10/100 кОм
Pt 50/100/500/1 000
Cu 50/Cu 100
Ni 1 000/Ni 10 000
J/K/T/E/B/S/R/N/L
Линейный потенциометр
Опция A
± 0.1/±0,25/±0,5/±2/±5 A
±100/±250/±500 В
Опция B
(расширение на 3 входа PM)
3x 0 до 5/20/4 до 20 мА
±2/±5/±10/±40 В

±0,1 %
(от диапазона)

от 10 до 30 В переменного/постоянного тока
от 80 до 250 В переменного/постоянного тока

от 5 до 24 В постоянного тока
4 реле
от 0 до 5 мА
от 0/4 до 20 мА
от 0 до 2/5/10 В
RS 232/485
MODBUS,
PROFIBUS
RTC, FAST

1/8 DIN
рамка: 96 x 48 мм
вырез: 92 x 45 мм

 

 

Взлом дешевого амперметра/вольтметра для обеспечения интерфейса Bluetooth с ПК

Я люблю анализировать данные, поэтому каждый раз, когда я работаю с устройством, которое измеряет что-то, я обычно хочу сохранить его выходные данные. Недавно мне понравились дешевые вольтметры и амперметры для панельного монтажа на eBay, и я подумал, что было бы неплохо взломать один из них, чтобы обеспечить возможность регистрации на ПК. После того, как я купил несколько таких устройств на eBay по цене около 8 долларов каждое, я понял, что они не выводят данные измерений ни на один из выводов (не то, чтобы я действительно ожидал), поэтому я запрограммировал микроконтроллер для наблюдения за линиями. мультиплексированного 7-сегментного дисплея и выяснить, что отображается на экране (странный метод, который я делал один или два раза раньше), а затем отправить его значение на компьютер, используя возможности UART микроконтроллера.Вместо того, чтобы подключаться к традиционному последовательному порту (используя преобразователь уровня MAX232 или даже последовательный USB-адаптер уровня TTL), я решил сделать его беспроводным! Мне удалось использовать последовательный Bluetooth-адаптер HC-06, который можно найти на eBay примерно за 3 доллара. Хотя ранее я использовал специальное программное обеспечение для взлома выходного сигнала мультиметра TENMA, чтобы позволить мне регистрировать напряжение или ток, отображаемые на мультиметре, , теперь я могу измерять ток и напряжение одновременно (беспроводным способом не меньше), и это далеко менее дорогой вариант, чем использование мультиметра для этой задачи! Результат довольно крут, поэтому я сделал фотографии и делюсь журналом сборки со всем миром.

Видео подводит итоги проекта, и остальная часть этой страницы подробно описывает журнал сборки. Весь код, используемый для программирования микроконтроллера (AVR-GCC), интерфейса устройства с последовательным адаптером Bluetooth и построения графика данных (Python), доступен как часть проекта GitHub.

Вот как выглядит один из этих модулей и как он предназначен для использования. Один из разъемов имеет 3 провода (черный = заземление, красный = питание для работы дисплея (до 30 В) и желтый = провод датчика напряжения).Другой разъем толще и представляет собой цепь датчика тока. Черный провод по существу закорочен на землю, поэтому, к сожалению, его можно использовать только для измерения тока на стороне низкого напряжения.

Сторона дисплея указывает, какая это модель. Учтите, что если вы хотите купить счетчики для панельного монтажа, внимательно ознакомьтесь с их текущим диапазоном измерения. Большинство из них измеряют десятки ампер с разрешением 0,1 А. Есть несколько, которые измеряют только <1 А, но до 0.разрешение 1 мА. Это то, что я предпочитаю, так как я редко создаю оборудование, которое потребляет больше 1 А.

На обратной стороне вы можете увидеть все важные компоненты. Справа есть большой токовый шунтирующий резистор, шарики припоя там, где подходят сквозные 4-символьные 7-сегментные дисплеи, а микроконтроллер, встроенный в это устройство, представляет собой 8-битный микроконтроллер STM8S003. Этот чип имеет встроенные UART, SPI и I2C, поэтому технически возможно иметь выходное напряжение и ток чипа в цифровом виде без необходимости в чипе «человек посередине», который я создаю для этого проекта.Тем не менее, мне не хочется перепроектировать аппаратное и программное обеспечение, которое измеряет напряжение и ток (что само по себе является искусством), а также выяснять, как управлять дисплеем, поэтому я рад продолжить разработку своего устройства. как запланировано! Я проверил все контакты, чтобы быть уверенным, и ничто не выглядело так, как будто он выводит данные, которые я мог бы перехватить. Это было бы слишком просто!

Я вытащил устройство из пластиковой рамки , чтобы облегчить доступ к контактам.

Затем я припаял коннекторы, чтобы помочь с реверс-инжинирингом сигналов. Обратите внимание, что это было частью моего этапа исследования, и что эти штыревые контакты не были нужны для конечного продукта. У меня есть несколько модулей амперметра / вольтметра для монтажа на панель, поэтому я оставил этот постоянно «закрепленным», чтобы я мог получить доступ к контактам, если мне нужно. Быстрая проверка тестером непрерывности подтвердила, что каждый сегмент каждого символа (обоих дисплеев) непрерывен (соединен вместе).

Эти разъемы упростили подключение моего 16-канального логического анализатора. Я использую логический анализатор, совместимый с Saleae, другого производителя. Их программное обеспечение с открытым исходным кодом очень простое и удобное в использовании. Saleae продает свои официальные логические анализаторы (которые хорошо сделаны и поддерживаются компанией) на своем веб-сайте, но они дорогие (хотя, вероятно, они того стоят). Я купил на eBay поддельный логический анализатор (40 долларов), который на компьютере «выглядит» как устройство Saleae и работает с тем же программным обеспечением с открытым исходным кодом.Если бы я действительно серьезно относился к созданию профессиональных продуктов, я бы, конечно, инвестировал в официальный продукт Saleae. На данный момент это хороший вариант для меня и моих потребностей на уровне хобби. 8-канальная версия стоит всего 10 долларов на eBay и 149 долларов на Saleae.

Соединения просты. Я начал прощупывать только один дисплей. Самое время упомянуть, что понимание мультиплексирования дисплея имеет решающее значение для понимания того, как я читаю этот дисплей! Если вы не знаете, что такое мультиплексный дисплей, прочитайте эту тему, а затем вернитесь сюда.Это важная концепция. Пока вы этим занимаетесь, знаете ли вы, что такое чарлиплексинг?

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

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

Вот что я придумал! Это не так уж и сложно: 16 контактов управляют всеми сигналами. Микроконтроллер поднимает все линии на «высокий уровень» только до одного символа за раз, затем выборочно заземляет сегменты (AH), чтобы пропускать ток только через светодиоды, которые должны гореть.Символы — это числа, а сегменты — это буквы. Обратите внимание, что «A» верхнего дисплея (напряжение) соединена с «A» второго дисплея (ток), поэтому обе строки из 4 символов составляют 8 символов с точки зрения логики. Транзистор на самом деле не дискретный транзистор, это, вероятно, ток потребления микроконтроллера. Я использовал эту диаграмму для осмысления направленности сигналов. Место выборки букв — , высокое , когда буква освещена, и место выборки сегмента — , низкое , когда этот сегмент освещен (место выборки сегмента — база воображаемого транзистора).

Зная это, я могу намеренно исследовать несколько сегментов одного символа. Вот выходные данные логического анализатора, проверяющего второй символ (вверху) и два репрезентативных сегмента этого символа (внизу). Вы можете видеть, как сегменты сходят с ума (перелистывая вверх и вниз), когда другие сегменты подсвечиваются (не показаны). Если вы внимательно посмотрите на синие аннотации, то увидите, что каждый символ подсвечивается примерно на 1 мс и повторяется каждые 13 мс.

Теперь пришло время сделать мой аппарат! Я начал с нового панельного измерителя и пустой коробки проекта. К этому моменту я перепроектировал устройство и пришел к выводу, что для чтения потребуется 16 входов микроконтроллера. Я выбрал ATMega328, который идеально подходил для этой работы (много операций ввода-вывода), хотя я мог бы использовать гораздо менее мощный микроконтроллер, если бы хотел подключить расширитель ввода-вывода. Возможно, 16-битный модуль расширения ввода-вывода MCP23017 идеально подходит для этой работы! Во всяком случае, я просверлил несколько круглых отверстий сзади с помощью ступенчатого сверла и вырезал большое квадратное отверстие спереди с помощью кусачек, чтобы все хорошо защелкнулось.

Я припаял провода для перехвата сигнала при выходе из микроконтроллера устройства на светодиодный дисплей.

Затем я припаял провода прямо к своему микроконтроллеру. У меня также есть дополнительный заголовок для программирования (виден внизу), который я смог удалить, когда программное обеспечение было завершено. Красный зажим зажимает вывод последовательного Tx микроконтроллера и захватывает вывод в последовательный USB-адаптер.Первоначально я отлаживал эту схему, используя встроенный в микроконтроллер RC-генератор (1 МГц) со скоростью передачи 600 бод. Позже я понял, что модуль последовательного Bluetooth требует 9600 бод. Хотя я мог взломать это с помощью внутренних часов RC, он был очень нестабильным, и продолжали появляться мусорные символы. К счастью, я спроектировал с учетом возможности использования внешнего кристалла (выводы 9 и 10 не использовались), поэтому позже было легко установить кристалл на 11,0592 МГц, чтобы обеспечить стабильную передачу на скорости 9600 бод.

Теперь вы можете видеть регулятор мощности (LM7805), обеспечивающий питание MCU и беспроводного модуля bluetooth. Вот техническое описание HC-06 (похожее на HC-05) и еще одна веб-страница, демонстрирующая, как использовать коммутационную плату. Кроме того, я добавил переключатель на задней панели, который переключает провод датчика напряжения между источником питания и разъемом датчика, который находится на задней части коробки проекта (красный пластиковый банановый разъем).

Bluetooth-адаптер ожидает 3.Сигналы 3 В, , поэтому я добавил быстрый и простой шунтирующий стабилизатор на стабилитроне. Я мог бы добиться этого, запустив MCU на 3,3 В (хотя у меня не было регуляторов на 3,3 В, и даже в этом случае модуль требует> 3,6 В для питания беспроводного передатчика) или, возможно, делителя напряжения на выходе. Если подумать, почему я использовал стабилитрон ($!) вместо резистора? Может быть, мой мозг застрял, думая о стандартах протокола USB.

Так как чип был нестабилен, передавая 9600 бод, я подтянул его с помощью 11.Кристалл 0592 МГц. Преимущество того, что вся ваша трасса выглядит схематично, заключается в том, что подобные бодж-работы идеально сочетаются и неузнаваемы!

Быстрое перепрограммирование , чтобы установить предохранители AVR для переключения с внутренних часов на внешний полноповоротный кристалл, было легко благодаря гнездовому разъему, который мне удалось вытащить. Я только недавно начал припаивать такие разъемы с ленточным кабелем, но это моя новая любимая вещь! Это делает программирование таким простым.

Я упаковал все это в , затем добавил горячий клей вокруг основных компонентов (не показано).Опять же, если бы это был серийный продукт, я бы разработал оборудование совсем по-другому. Так как это разовая работа, я доволен ею именно такой, какая она есть! Он работает, выдерживает удары и тряску, так что мне этого достаточно.

Я протестировал большое электрооборудование, которое собираю в другом конце комнаты. Это устройство имеет собственный регулируемый источник питания 13,8 В (и собственную полку!), поэтому беспроводная связь просто фантастическая. Я просто уронил это устройство между блоком питания и тестируемым устройством.Вместо того, чтобы записывать напряжение источника питания (которое всегда было бы скучным 13,8 В), я решил записать интересную точку измерения напряжения: точку сразу после регулятора напряжения LM7809. Я ожидал, что это напряжение будет сильно колебаться, так как потребление тока было высоким, и мне было очень интересно узнать напряжение этой контрольной точки по отношению к потреблению тока. Хотя ранее я использовал специальное программное обеспечение для взлома выходного сигнала мультиметра TENMA, чтобы позволить мне регистрировать напряжение или ток этой точной схемы, теперь я могу измерять и то, и другое одновременно! Кроме того, это гораздо менее дорогой вариант, чем использование мультиметра для выполнения этой задачи.

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

Быстрый скрипт Python позволяет мне построить график зависимости напряжения/тока от времени. (Короткий) код для этого находится на странице GitHub и демонстрируется в видео на YouTube.

Вот некоторые данные , которые показывают взаимосвязь между напряжением (красная кривая), измеряемым сразу после регулятора напряжения LM7809, и общим током, потребляемым системой (синяя кривая).Эти данные записывались в режиме реального времени по беспроводной связи через всю комнату! Это именно то интересное чтение, которое я надеялся увидеть.

Теперь, когда все собрано, я очень доволен результатом! Это маленькое устройство может использоваться в качестве простого дисплея напряжения/тока (что само по себе удобно), но имеет дополнительное преимущество, заключающееся в том, что оно постоянно доступно в качестве устройства Bluetooth. Если я когда-нибудь захочу провести эксперимент по регистрации/графике данных, я просто подключаюсь к нему по беспроводной сети и начинаю записывать данные.Эта сборка была одноразовым устройством и представляет собой настоящий хак (с точки зрения кодирования и конструкции). Если бы я был заинтересован в создании продукта на основе этой конструкции, конструкция значительно выиграла бы от компонентов для поверхностного монтажа и печатной платы и, возможно, не потребовала бы суперклея. Что бы это ни было, я доволен тем, как оно получилось, рад видеть его как Bluetooth-устройство, к которому я могу подключиться, когда захочу, и я никому не скажу, что внутри есть суперклей, если вы этого не сделаете.

Код, используемый для этого проекта, доступен на GitHub

.
Схема цифрового вольтметра

и проект с использованием микроконтроллера PIC

В этой статье мы придумали новый проект микроконтроллера PIC.Наш автор Mithun создал схему цифрового вольтметра, используя PIC16F73A и мультиплексированные 7-сегментные дисплеи. Схема хорошо объяснена диаграммами, а исходный код (написанный на языке Embedded C) доступен для скачивания. Если у вас есть какие-либо сомнения при реализации этого проекта, пожалуйста, не стесняйтесь спрашивать в комментариях.

Примечание: — Вы также можете прочитать наш цифровой вольтметр , используя 8051 , созданный некоторое время назад. В этой схеме мы создали вольтметр, используя AT89S51.Кроме того, вы узнаете о сопряжении 7-сегментных дисплеев и АЦП с микроконтроллером 8051.

Как работает мультиплексированный семисегментный дисплей ?

Прежде всего, нам нужно понять, как работает мультиплексированный 7-сегментный дисплей. Когда 4-сегментные дисплеи соединены как один сегмент, шина данных всех сегментов подключается параллельно, а контакт включения отличается для всех сегментов. Таким образом мы контролируем отдельные сегменты. Давайте посмотрим на изображение ниже:


Здесь данные отправляются по линиям «a, b, c, d, e, f, g», а «s1, s2, s3, s4» — это линии включения.Когда данные отправляются через шину данных и на s1 устанавливается высокий уровень, данные будут отображаться в первом сегменте. Точно так же, когда s2 становится высоким, данные будут отображаться во втором сегменте. Вот как работает мультиплексированный семисегментный дисплей. Но теперь вопрос в том, как мы можем показать разные данные в этих 4 сегментах одновременно? Помните, человеческий глаз не может найти разницу в течение 10 мс. Надеюсь, вы уже знаете о стойкости зрения . Если мы сможем изменить данные с соответствующими контактами включения всех этих 4 сегментов в течение 10 мс, наши глаза увидят набор из 4 цифр в этом сегменте.Другими словами, мы сделаем следующее в течение 10 мс, чтобы отобразить 1234. Подайте на шину данных 1 и установите S1 в высокий уровень. Подайте на шину данных 2, установите S1 в низкий уровень и установите S2 в высокий. Подайте на шину данных 3, установите S2 в низкий уровень и установите S3 в высокий. Подайте на шину данных 4, установите S3 в низкий уровень и установите S4 в высокий. Все это должно произойти за 10 мс. Наконец, процесс повторяется, чтобы изображение оставалось стабильным.

Давайте сделаем программу:

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

Настройка прерывания таймера приведена ниже.

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

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

Окончательный набор инициализации для канала АЦП внутри PIC, как указано ниже.

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

Вы понимаете, что здесь происходит? В первой строке мы инициализируем канал 0 АЦП для приема входного аналогового сигнала. Вторая строка — взять сигнал, преобразовать и сохранить его в регистре adc. Третья строка кода, tlong = (float)adc_rd0*1.9607843, на самом деле является преобразованием выходного сигнала АЦП в милливольты.Коэффициент умножения 1,9607843 получается из уравнения (5/255)X100; где 5= VDD, 255 для 8 бит и 100 для уменьшения дробной ошибки.

В сегменте кода, который вы видите, преобразованное значение в милливольтах сохраняется в переменной «число». Итак, что такое «число» здесь? Чтобы узнать, что такое «число», нам нужно посмотреть, что делает подпрограмма display().

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

Краткое изложение проекта

Я предпочитаю, чтобы вы сейчас подробно посмотрели принципиальную схему. Микроконтроллер получает аналоговый сигнал через вывод AN0 микросхемы PIC16F73. Встроенный АЦП PIC16F73 преобразует аналоговый вход в его цифровое значение.К этим цифровым данным применяется дробное преобразование с использованием уравнения, и данные преобразуются в милливольты. Каждая цифра извлекается одна за другой с помощью подпрограммы void display(). Извлеченная цифра сопоставляется, и соответствующий шаблон из семи сегментов извлекается из LUT, записанного внутри подпрограммы маски. Затем данные из LUT передаются на шину данных мультиплексированного 7-сегментного дисплея с помощью контактов с 21 по 28 PIC16F73. Контакты включения подключены к микроконтроллеру через контакты 11, 12, 13 и 14.Наконец, разные данные отправляются на разные сегментные дисплеи путем поочередного переключения контактов включения в течение 10 мс. Таким образом, наши глаза видят только 4-значное число. Итак, вот наш полный проект.

Исходный код

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

Цифровой вольтметр — проект [Исходный код]

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

Международный журнал научных и технологических исследований

ДОБРО ПОЖАЛОВАТЬ В IJSTR (ISSN 2277-8616)  — 

International Journal of Scientific & Technology Research — это международный журнал с открытым доступом, посвященный различным областям науки, техники и технологий, в котором особое внимание уделяется новым исследованиям, разработкам и их применению.

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

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

IJSTR является частью экологически чистого сообщества и предпочитает режим электронной публикации как онлайновый «ЗЕЛЕНЫЙ журнал».

 

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


IJSTR приветствует ученых, которые заинтересованы в работе в качестве рецензентов-добровольцев. Рецензенты должны проявить интерес, отправив нам свои полные биографические данные. Рецензенты определяют качество материалов.Поскольку ожидается, что они будут экспертами в своих областях, они должны прокомментировать значимость рецензируемой рукописи и то, способствует ли исследование знаниям и продвижению как теории, так и практики в этой области. Заинтересованным рецензентам предлагается отправить свое резюме и краткое изложение конкретных знаний и интересов по адресу [email protected]

.

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


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

(PDF) Встроенный цифровой амперметр Bluetooth с регистрацией данных в приложении для Android 18, № 3, июнь 2020 г.: 1400 — 1407

для сбора данных требуется провод и компьютер на расстоянии 7 метров от устройств,

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

тестируемых светодиодных светильников. В амперметре также имеется система оповещения для индикации тока «годен/не годен»

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

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

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

БЛАГОДАРНОСТИ

Авторы выражают благодарность за финансовую поддержку «Insentif Kecemerlangan Penyelidikan dan

Inovasi 2018», Vot. № h478 присужден Universiti Tun Hussein Onn Malaysia.

ССЫЛКИ

[1] Маккейб, Б., «Краткая история четвертой промышленной революции», получено 13 мая 2018 г. с

http://www.ioti.com/industrial-iot/short-historyfourth -Индустриальная революция.

[2] Альберт М., «7 вещей, которые нужно знать об Интернете вещей и промышленности 4.0», получено 13 мая 2018 г., с

https://www.mmsonline.com/articles/7-things-to-know-about-the-internet. -вещи-и-промышленность-40.

[3] Сингх, С., «Демистификация индустрии 4.0 и промышленного интернета вещей», получено 13 мая 2018 г. с

https://yourstory.com/2017/07/demystifying-industry-industrial-internet. -вещей.

[4] «Промышленный Интернет вещей (IIoT): бизнес-справочник по промышленному Интернету вещей».(н.д.). Получено 13 мая 2018 г.,

, с https://www.i-scoop.eu/internet-of-thingsguide/industrial-internet-things-iiot-saving-costs-innovation.

[5] Алсибай, М. Х., Сианг, Х. М., «Умная система мониторинга водителей с использованием приложения для Android и встроенной системы»,

В материалах 5-й Международной конференции IEEE по системам управления, вычислениям и технике

(ICCSCE 2015) , ноябрь 2015 г., стр. 242–247.

[6] Се, Бенджамин X., Шабир И., Абельсон Х., «Измерение удобства использования и возможностей App Inventor для создания мобильных приложений

», Материалы конференции ACM SIGPLAN 2015 г. по системам, программированию, языкам

и приложениям: программное обеспечение для человечества (SPLASH) , 1-9.

[7] Франклин Т., Дэвид В., Пол В., «Проектирование функций именования в App Inventor 2», Симпозиум IEEE 2014 г. по визуальным языкам

и ориентированным на человека вычислениям, 1-6.

[8] Митлонер, Дж., «Характеристики файлов CSV с открытыми данными», 2016 г. 2-я Международная конференция по открытым и большим данным

(OBD), Вена, 2016 г., стр. 72-79.

[9] Сун, В.Т.; Лин, Дж. С., «Проектирование и реализация интеллектуальной системы светодиодного освещения с использованием самоадаптирующегося взвешенного алгоритма объединения данных

», Sensors 2013, 13, 16915-16939.

[10] Saha, PB, et al., «Компактный микрополосковый полосовой фильтр с параллельной связью и центральной частотой 2,4 ГГц

, подходящий для Bluetooth и GPS-связи», 2-я Международная конференция по обработке сигналов, 2015 г. и

Integrated Networks ( СПИН), Нойда, 2015, 650-654.

[11] Дермаван, К., и Сугиура, А., «Беспроводной IP-телефон с использованием Bluetooth для приложений ITS», 2003 IEEE Topical

Conference on Wireless Communication Technology, Гонолулу, Гавайи, США, 2003, стр. 204- 205.

[12] Шин, М., Парк и др., «Цифровой модуль основной полосы частот для беспроводной связи Bluetooth», 2002 г. IEEE

Международный симпозиум по схемам и системам. Proceedings (Cat. No.02Ch47353), Phoenix-Scottsdale, AZ,

USA, 2002, V-V.

[13] Preetha, KG, «Новое решение для связи Bluetooth на короткие расстояния», International Journal on AdHoc

Networking Systems (IJANS), Vol. 1, № 2, 2011, 13-22.

[14] Бхадра Б., Видж В.С. и Стивенс К.С., «Конструкция UART с низким энергопотреблением, основанная на асинхронных технологиях», 2013 г.

56-й Международный симпозиум IEEE по схемам и системам Среднего Запада (MWSCAS), Колумбус, Огайо, 2013 г., стр. 21. -24.

[15] Пратибха С., Дипеш С., Сону Аграва, «Современное исследование беспроводной связи Bluetooth», Международный компьютерный журнал

Наука, инженерия и информационные технологии (IJCSEIT), Vol.1, №3, 2011, 55-63.

[16] Мухаммед Риджа, У.Л., Мошарани С., Амутаприя С., Муфтас МММ, Маликберди Хезретов и Дишан

Дхаммеаратчи, «Анализ и решение безопасности Bluetooth», Международный научно-исследовательский журнал

Публикации, том 6, Выпуск 4, 2016, 333-338.

[17] Натек Б.Н. и Мохаммед Т., «Угрозы безопасности Bluetooth и решения: обзор», Международный журнал

Distributed and Parallel Systems (IJDPS), Vol.3, №1, 2012, 127-148.

[18] Правин Б., «Bluetooth: технология для беспроводных приложений малого радиуса действия, отраслевой отчет», IEEE Internet Computing,

, стр. 96-103.

[19] Шон Х., «Последовательная связь. Переменный ток (AC) и постоянный ток (DC)», SparkFun,

, Learn.sparkfun.com/tutorials/serialcommunication/rules-of-serial. 2019.

[20] David, N, A, FN, Ebuka , FO, Nzenweaku, SA «Проектирование беспроводной связи на основе Arduino», Международный журнал

Science Engineering.Исследования, 7, 2016, стр. 466-469.

[21] Лю Х., Ван Д., Ван Д. Ф. и Ван Д.

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

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