Тёмный

Многоканальный Вольтамперметр на Arduino своими руками. Часть 1: Вольтметр 

E and V - DIY
Подписаться 7 тыс.
Просмотров 17 тыс.
50% 1

В этом видео я покажу свой вариант исполнения Вольтметра на Arduino и расскажу, как можно повысить точность показаний
Ссылка на архив проекта (скетч, схема, библиотека, файл Excel для калибровки):
drive.google.c...

Опубликовано:

 

11 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 71   
@andrurachek677
@andrurachek677 3 года назад
Проделанная работа и видео с пояснениями просто золото. Чётко ясно, без лишнего шума и пыли. Спасибо, буду повторять ваш вольтметр, а затем попробую увеличить, коммутацией аналоговыми ключами, количество каналов и если хватит задора и времени... Пока стоп, сделать бы сперва это.
@eandv-diy1631
@eandv-diy1631 3 года назад
Спасибо! Рад, что пригодилось!
@dred77780
@dred77780 4 года назад
То что мне нужно. Как хорошо что я вас нашел) Сейчас сам столкнулся с АЦП, и правда- мало инфы в сети про необходимость калибровки. И внутренний источник плавает как гумно в проруби. Оказалось что АЦП не так прост как его рисуют. Вообщем огромное спасибо за видео! Лайк!!! Подписка!
@---ns9sj
@---ns9sj 3 года назад
Ничего сложного там нет. Все можно решить
@cygwin255
@cygwin255 4 года назад
Привет, спасибо за видео. 13:00 почитай про интерполяцию (формулой ньютона или многочленом лагранджа), так ты сможешь сильно повысить точность вольтметра, на худой конец можно линейно интерполировать, а то у тебя в текущей реализации будет скачек на границе точек измерения. В электронике я не силён, но, насколько мне известно, вольтметр должен обладать как можно большим сопротивлением между щупами, так что возможно тут стоило бы применять схемы на операционных усилителях, компараторах ну и всего такого, а то схема с делителем будет сильно влиять на измеряемую схему.
@dok120
@dok120 7 дней назад
спасибо большое уважаемый
@dmitriyvakulenko8384
@dmitriyvakulenko8384 2 года назад
Четкое видео. Пролил свет на мою темную голову. КрасаУчик👍
@eandv-diy1631
@eandv-diy1631 2 года назад
Спасибо, рад, что пригодилось!
@user-gw1pj7fh7q
@user-gw1pj7fh7q 5 месяцев назад
Все так и есть автор однозначно прав только подстовляя опредиленные значения можно добится точных покозаний особенно косается на низких приделах измерения
@KanalSamodelok
@KanalSamodelok 4 года назад
Крутое видео с меня огромный лайк 👍👍👍
@openFrimeTv
@openFrimeTv 4 года назад
отличный материал, и очень подробно все описано)
@criterrors
@criterrors Год назад
хм. я делал вольтметр, применяя внутреннее опорное напряжение ардуины с делителем для измерения напряжения до 12.5 вольт, подгоняя коэффициент к значению измеренному мультиметром на одном напряжении, и весь диапазон измеряемых напряжений сразу был абсолютно линейным и совпадал с мультиметром до сотой доли. От постоянных скачков напряжения +/- 0.05 поборолся простейшим способом: проходил циклом в 100 итераций измерения с аналогового входа и получал арифметическое среднее, результат получился просто идеальный, скачки стали +/-0.01 вольт раз в несколько секунд.
@ЕвгенийВасенин-м7т
@ЕвгенийВасенин-м7т 8 месяцев назад
Читайте даташит,там написано,что выходное сопротивление источника должно быть не выше 10ком. А вы резисторы по 300ком изначально ставили. Можно,но тогда нужен буферный усилитель. И АЦП Меги врёт в 2х младших разрядах,поэтому,как вы не изгаляйтесь,точных измерений вы не получите с ней без внешнего ацп
@edgarelectro4178
@edgarelectro4178 8 месяцев назад
Да вы правильно это так
@fewlins7309
@fewlins7309 4 года назад
Видео хорошего качества, продолжай в том же духе 👍
@---ns9sj
@---ns9sj 3 года назад
Прикольно. В экселе можно было вывести график функций на основе замеренного напряжения вольтметром и значений ацп. Например, линейный y= a*x+b. Где x- ацп, а и б аргументы уравнения. y - напряжение. если график зависимости не на всем протяжении имеет линейный вид то можно его разделить на линейную и логарифмическую часть, где переход расчета будет осуществляться по пороговому значению ацп. Жаль графика зависимости не привел. Есть еще несколько "хитрых" манипуляций... Если заинтересует пиши
@eandv-diy1631
@eandv-diy1631 3 года назад
Приветствую! Вариант с графиком пробовал. Думал даже уравнение в код подставить. Зависимость в графике нелинейная получилась, подходящее уравнение подобрать мне не удалось. Пришел к выводу, что проще 5-10 интервалов вручную прописать.
@---ns9sj
@---ns9sj 3 года назад
@@eandv-diy1631 таким способом плюс использование наборов фильтров. Получилось добиться от термистора чувствительности и стабильности на уровне дс18б20
@---ns9sj
@---ns9sj 3 года назад
@@eandv-diy1631 drive.google.com/file/d/1p3kYzzNtW-b0YJu65PVUB8N5ARi4yb5p/view?usp=drivesdk
@eandv-diy1631
@eandv-diy1631 3 года назад
@@---ns9sj Спасибо, ознакомлюсь!
@ruslansanzharov5825
@ruslansanzharov5825 Месяц назад
Со средним можно было сделать проще: double avg = 0; for (int i = 0; i < 50; i++) { avg += measurement_code_here; } avg /= 50; занимает меньше памяти и является более оптимальным
@user-vy3mb5sr9u
@user-vy3mb5sr9u 4 года назад
Очень позновательно и качественно, жду с нетерпением изысканий по измерению тока.
@esherbinin
@esherbinin 4 месяца назад
Прикольно, примерно то же самое делал код да же похожий. Только одно но. Надо было 5 устройств так вот у пяти ардуинок чутка разные коэфиценты пришлось подюирать. То чувство что нашел кривой костыль. Потом с ИНКОЙ заморочился, там вроде всё нормально.
@anatoliytitarenko7050
@anatoliytitarenko7050 4 года назад
Разумный подход. Молодец.
@eandv-diy1631
@eandv-diy1631 4 года назад
Спасибо!
@dok120
@dok120 4 месяца назад
👍👍👍
@kosmos8460
@kosmos8460 4 года назад
Классное видео👍 сейчас тоже голову ламаю с лаболаторником на Ардуино,с этими погрешностями по напряжение особенно в обратной связи я правдо это делаю в flproge хотя там и есть блоки моштабирования,деления итд.но тоже геморрой уже неделю мучаюсь.спасибо за паучающее о
@eandv-diy1631
@eandv-diy1631 4 года назад
Калибровка в коде практически всегда нужна вне зависимости от решения используемого (делитель/внешний АЦП/модули). Решил своим опытом поделиться.
@kosmos8460
@kosmos8460 4 года назад
@@eandv-diy1631 спасибо паучительные видео особенно про aref да разных пределах измерения есть погрешности по напряжению,с амперметром почему-то по проще
@alexandernikolaev6838
@alexandernikolaev6838 2 года назад
Я уже написал в теме Касьяна: Нелинейность без проблем убирается корректировкой многочленом, полученным при помощи параболической регресии (например). Сравнивается с эталонным вольтметром, снимается несколько пар точек (я делал 10 пар), загоняется в программу, получаем коэффициенты корректирующего квадратного трехчлена. Есть даже онлайн сервис для этого дела. Я таким образом получил все верные 4 знака, то есть все показания Arduino 100% совпадают с показаниями цифрового вольтметра. И не требуется никаких if-ов, никакой кропотливой ручной подгонки, все делается чисто механически.
@eandv-diy1631
@eandv-diy1631 2 года назад
У большинства людей, которые из математики в повседневной жизни используют только сложение, вычитание умножение и деление (как например я) после фразы "корректировкой многочленом, полученным при помощи параболической регрессии" мозг взрывается моментально. Лично мне проще 10 строчек с If-ами написать, чем во всём этом разбираться. Возможно всё это конечно от моей лени и нежелания развиваться и копать глубоко, но скорее всего я не один такой.
@edgarelectro4178
@edgarelectro4178 8 месяцев назад
А можно ссылка вашего скетча
@gasko2762
@gasko2762 2 года назад
Ďakujem bolo to pre mňa úžitočné
@Yupitrer
@Yupitrer 2 года назад
Когда то через это все прошел уже. Была проблема в том что напряжение изменяется не линейно пришлось еще и в коде прописывать калибровку
@ale44979010
@ale44979010 2 года назад
Классное видео, я шёл примерно по тому же пути, и столкнулся с ещё одним нюансом, это влияние внешней температуры на изменение параметров резисторов делителя и т.д., и при большом разбросе температуры окружающей среды это влияние может быть довольно ощутимо, например производить измерения зимой на улице или летом или в помещении. А у вас как в этом отношении?
@eandv-diy1631
@eandv-diy1631 2 года назад
на температуру не проверял
@eugenyro9114
@eugenyro9114 7 месяцев назад
А почему массив состоит из 50 элементов, а для среднего делим на 49???
@user-es1os8jm1t
@user-es1os8jm1t 4 года назад
Здоровья тебе чел) помог сильно.
@СергейДобрынин-т1й
А зачем такая сложность с подбором расчетных номиналов резисторов и разбивание на диапазоны ваши данные Vправильное и Value для расширенной выборки можно хорошо аппроксимировать уравнением Y=k*x+b V=0.052*Value+0.129 имеет среднее отклонение 0,0059 а максимальное 0,047 Делается это в том же Excel через построение графика с последующим построением линии тренда
@eandv-diy1631
@eandv-diy1631 3 года назад
Математика ещё со школы была всегда против меня) А если серьезно, этим путем тоже пробовал идти, адекватное уравнение не смог подобрать, наиболее близкое только где-то на 60% совпадало с линией тренда. Разбить на 8-10 диапазонов в коде и подставлять нужные значения оказалось гораздо проще для меня.
@user-ul3vg5mz3t
@user-ul3vg5mz3t 4 года назад
В данной тематике не лишним упомянуть про ina 219.
@user-ul3vg5mz3t
@user-ul3vg5mz3t 4 года назад
@@eandv-diy1631 я баловался с ним, весьма любопытно, достаточно точно. Цена вопроса 80 ,руб. Измеряет как вольты, так и амперы, правда не более 3х ампер. В интернете полно статей как измерить ток более 3 ампер на данном модуле. Рекомендую Вам! С Вашим подходом к делу на данном модуле можно получить весьма точный прибор!!!
@ВячеславДуханин-т6е
Спасибо! А что если нужно собрать ардуино с 30ю вольтметрами? Это реально? Можно ли использовать цифровые каналы ардуино? Есть ли в природе аналого-цифровые преобразователи? Какой процессор для ардуино можно использовать если нужно иметь 30 аналоговых входов?
@eandv-diy1631
@eandv-diy1631 2 года назад
Есть модули расширители количества портов, работают через I2c. Для цифровых точно есть, на счет аналоговых, нужно смотреть. На счет 30 вольтметров есть сомнения по скорости обработки данных. Если применять всякие усреднения цифровые калибровки, показанные в видео, то на 30 вольтметрах тормозить будет дико.
@user-zf5rn9yz8b
@user-zf5rn9yz8b 4 года назад
толково
@kostyanskiy5335
@kostyanskiy5335 4 года назад
годно
@eandv-diy1631
@eandv-diy1631 4 года назад
Благодарю!
@TheBitProgress
@TheBitProgress 2 года назад
А чего не сделать clamp или map между диапазонами. А лучше в том же экселе график построить и посмотреть.
@eandv-diy1631
@eandv-diy1631 2 года назад
Как вариант
@GamerDolphin
@GamerDolphin 3 года назад
а можно такой вольтметр сделать на 14 каналов?Ампермеметр не нужен
@eandv-diy1631
@eandv-diy1631 3 года назад
В Ардуино Нано 8 Аналоговых портов, поэтому по такой схеме максимум 8 каналов. На Ардуина Мега 15 таких портов. Но при большом числе каналов скорее всего код будет тормозить, если данное решение использовать. При 5 каналах уже задержки есть. Я бы думал в сторону другого решения, например внешние модули АЦП подключаемые через I to C, либо внешние модули серии INA
@GamerDolphin
@GamerDolphin 3 года назад
@@eandv-diy1631 а можно сделать так, чтоб ардуина последовательно измерила все 14 каналов и выдала информацию в текстовый файл или по bluetooth на телефон ?
@eandv-diy1631
@eandv-diy1631 3 года назад
@@GamerDolphin она и так все порты измеряет последовательно, только очень быстро. По блютус передавать может, для этого нужен отдельный модуль. Насчет текстового файла не в курсе
@Mark_Familiy_Titan
@Mark_Familiy_Titan 3 года назад
человек костыль. попробуй использовать епром и отправку через порт точных данных с мультиметра. у тебя достаточно мощный камень а ты какую дич в Эксель делаешь. смотри шире на проект
@eandv-diy1631
@eandv-diy1631 3 года назад
Мне для моего проекта нужен был 3х канальный вольтметр измеряющий напряжение до 20В. Зачем мне что-то передавать с мультиметра? У меня нет 3х лишних мультиметров. Мультиметр у меня для других целей.
@Mark_Familiy_Titan
@Mark_Familiy_Titan 3 года назад
@@eandv-diy1631 ты можешь передать через компор коофециенты которые бы выравнивали значение в определенных диапазонах. опираясь на реальный мульти метор, затем мк вложил их в епром и ты получаешь очень гибкую систему, в любое время скорректировать кофи. если что-то со временем по плывет. а сейчас что бы сделать корректировки надо танцевать с таблицами и снова заливать прошивку.
@eandv-diy1631
@eandv-diy1631 3 года назад
@@Mark_Familiy_Titan Не знаю... уже год прошёл как всё собрал, один раз настроил и ничего не плывёт, всё нормально работает. Может где-то и имеет смысл постоянная синхронизация, но тут явно не тот случай.
@VaKula-ShmyrdjakNePrinjal
@VaKula-ShmyrdjakNePrinjal 11 месяцев назад
мля., а че так сложно? у тебя же есть микроконтролер!!! и пофиг вообще какие там резисторы.... берем показания с пина и преобразовуем в напряжение напрямую, одной формулой и фсе!!!
@pswru
@pswru 4 года назад
Все каменты к видосу не читал и Си лишь читаю со словарём, но: 0. "Библиотеки" - это просто и быстро, но НЕ спортивно, НЕ обучательно ибо НЕ понятно как оно работает = "танцы с бубном" как метод пытаться устранить недостатки псевдослучайного подёргивания органов управления конструёвиной (превращение программиста в эникейщика). Результат - НЕ воспроизводим весьма часто, ибо причинно-следственные связи при таком методе устранения неполадок НЕ нарабатываются, модель реальности НЕ совершенствуется.. 1. Какого хрена на 8 бит мелкопроце используется float вместо Int32 например ? Или фиксированная точка не поддерживается адуриной ? 2. В любом случае (даже если тип данных float) полезно вначале всё умножать, а потом 1 раз делить. Первичные преобразования дробей тем более полезны (там в коде мне показалось что в знаменателе дроби есть дробь, при упрощении её знаменатель должен переехать в числитель). Разрывность показометра (грануляция) при таком порядке вычислений станет наименьшей (50/1024 вольта). Хотя согласен - на видосе ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ObCJVW7M84c.html грануляция и так близка к 50/1024 = 0,0488 вольта. Младший разряд АЦП всегда будет плясать. 3. Про использование питания как ИОН - странно что это вызвало вопросы. Кроме метода использовать ИОН меньше напруги питания (увеличивает шумы) - чисто теоретически можно делать в 2 этапа (злоупотребить простотой написания мат формул на Си ) - используя внутренний ИОН измерить напругу питания, потом исходя из его значения измерить искомую величину, используя питание как ИОН. В любом случае в коде на экране НЕ хвататет компенсатора погрешности резисторов делителя и выходное сопротивление резистора слишком велико (рекомендация для АЦП в микрочипе ~1 КОм максимум сопротивление источника сигнала) 4. Про оверсэмплинг - ну, почему бы его не сделать ? Или библиотека не позволяет, а самому лень - ибо изначально при использовании библиотеки было сэкономлено время на изучении АЦП как такового ? Прощу прощения, но дальше 5:13 стало не интересно глядеть. Там есть работа над ошибками ?
@eandv-diy1631
@eandv-diy1631 4 года назад
Приветствую! По поводу библиотек: используются только библиотеки для управления дисплеем, других нет. Вы мне их предлагаете заново с нуля написать? Смысл? И после фразы: "Прощу прощения, но дальше 5:13 стало не интересно глядеть" - лично у меня пропало желание в какую-либо дискуссию с Вами вступать, если Вы посмотрели только 1/3 видео и уже пишете гневный комментарий.
@pswru
@pswru 4 года назад
@@eandv-diy1631 Неужели гневный ? Я просто поглядел 5 минут и спросил - есть ли смысл глядеть ещё 10 ? Про библиотеки - не только ЛЦД, но и арифметика с плавающей точкой - они чужие. Смысл их писать ? Для быстрой самоделки "сделал и забыл" - его реально нет. Для самообразования - он возможно и есть. Для любых применений на грани производиловки мелкопроца - он есть однозначно. А желание дискутировать - оно преходяще, согласен. Не с каждым интересно. И да, читать/писать лично меня научили существенно быстрее чем глядеть видос. Так что печатный текст для лично меня - меньшая трата времени и лучшее осмысление.
@MrTeStO-gc4tl
@MrTeStO-gc4tl 4 года назад
@@pswru есть смысл подтянуть русский (от слова камменты глаза на лоб полезли) и досмотреть видос
@MrTeStO-gc4tl
@MrTeStO-gc4tl 4 года назад
Люди сюда пришли не си++ учить, а чекнуть как выглядит вольт-амперметр на ардуинке
@eandv-diy1631
@eandv-diy1631 4 года назад
@@MrTeStO-gc4tl Если только чекнуть, то можно вообще смотреть с 13:20 )
Далее
To mahh too🫰🍅 #abirzkitchen #tomato
01:00
Просмотров 3,4 млн
БЕЛКА РОЖАЕТ?#cat
00:28
Просмотров 132 тыс.
Правильный вольтметр на Arduino
2:59