Вольтметр и амперметр повышенной точности

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (20 оценок, среднее: 5,00 из 5)
Загрузка...

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

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

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




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

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

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

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

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

  1. Привет, Eddy!

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

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

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

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

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

      1. 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)причина » У меня нет такого количества свободного времени, чтобы заниматься преподаванием основ программирования. Увы.»
        Тут мне возразить совсем нечего, в рыночной экономике все участники загружены по максимуму, а кто нет, тот проиграл в конкуренцию.
        Публикация исходников вызовет и дилетантские вопросы и не всегда полезные Вам дискусии, с потерей времени.
        Надеюсь однако, что наша беседа была Вам полезна.

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

          1. При таком извращении у вас такие приемущества:

            1) Есть выбор, какие структуры копировать в RAM целиком сразу при загрузке, а какие по-элементно и по необходимости.
            например массив текстовых сообщений нет смысла загружать в раму весь сразу если они используются по одному. Это экономит раму.

            2) Простота доступа к элементам структур в EEPROM. Не нужно думать об адресах хранения элементов структур.
            В редакторе кода работают подсветка синтаксиса, и выбор элементов структур, что уменьшает вероятность ошибок да и просто удобно.

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

            Вот рабочий пример этого извращения, где адрес обновляемого элемента в епроме передаётся в функцию как простой указатель, экономии рамы тут нет.
            Прототип функции // void SaveStructEEPROM(void * vp_target_EEPROM, void * vp_source, size_t size, bool NullTerminator);

            применение
            SaveStructEEPROM(
            EEPROM->sGSM.AdminPhoneNums[Menu_0_ActiveItem], //void * vp_target_EEPROM
            sGSM.AdminPhoneNums[Menu_0_ActiveItem], //void * vp_source
            sizeof(EEPROM->sGSM.AdminPhoneNums[Menu_0_ActiveItem]), //size_t size
            NULL_TERMINATOR_ON //bool NullTerminator
            );
            EEPROM-> это указатель на структуру в епроме объявленный как указатель на раму. т.к. указатели на епром разработчиками пока не предусмотрены
            Первый sGSM это структура являющаяся элементом структуры EEPROM
            AdminPhoneNums двумерный массив с номерами телефонов, элемент структуры sGSM
            Второй sGSM настоящая структура в раме того-же типа что в епроме, один из номеров телефона которой копируется в епром.

          1. Я в общем под PIC решение изобретал, на AVR опыта почти нет. Но за ссылочку спасибо, интересно было увидеть в нём свой «велосипед» 🙂
            Прототипы почти одинаковые, вот от AVR:
            void eeprom_read_block (void *pointer_ram, const void *pointer_eeprom, size_t n);
            Вот указатель на константу в EEPROM const void *pointer_eeprom
            объявлен похоже как указатель на константу якобы во Flash памяти программ.
            Но как они задали адрес при объявлении, оказалось через спец макросс смысл которого я понял не сразу. Вот он с применением:
            #define EEMEM __attribute__((section(«.eeprom»)))
            uint8_t EEMEM NonVolatileString[10];
            И тут засада. Оказывается компилятор под AVR умеет сам распределять епром при указании соответствующей секции в объявлении. т.е. массив и указатель объявлены прямо на EEPROM без всяких извращений.
            Но компилятор под PIC XC8 никаких секций не знает, с ним-то что делать?
            Вариант 1 от разработчиков:
            Смириться стем, что никаких удобных eeprom_update_block у вас нет и не будет.
            Вариант 2 от меня:
            Немного по извращаемся, обманем компилятор и радуемся 🙂

      1. Тоже игрался с блоком http://vrtp.ru/index.php?showtopic=25750&hl=lm2576 Так толком настроить и не удалось. Теперь уже несколько раз использовал : https://ru.aliexpress.com/item/1-LM2596-DC-DC/32861614421.html?spm=a2g0s.9042311.0.0.24d233edqC3IDf или https://ru.aliexpress.com/item/5A-CC/32855809021.html?spm=a2g0s.9042311.0.0.24d233edqC3IDf и без мороки, только резисторы меняю на переменники многооборотные, или типа СП5-35

        1. У меня заработало сразу и нормально. Но уровень помех просто жуткий — при нагрузке в 1А до 500мВ выходит. Дальше планирую много проектов с металлоискателями, а там чистота питания очень важна. Буду доделывать БП от Koyodza PSA205, хоть он и пугающе сложный.

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

        1. А при чём тут пик?
          Калибровка ловит напряжение смещения нуля ОУ, а оно не нормировано и от экземпляра к экземпляру может находиться в пределах от -4 до +4мВ, а умноженное на КУ усилителя шунта, будет гулять в очень широких пределах. 🙂

          1. А на LED-экран посмотреть и подумать, что там циферки означают? 🙂

  4. Здравствуйте.
    Эдуард подскажите , как подобрать такой шунт(0.01) , готовых не встречал , какой использовали Вы , какая «технология изготовления»
    Спасибо.

    1. Есть и намного меньше (но тогда с проводами вообще беда из-за падения тока).
      Я взял готовый — стоят они не дорого
      https://ru.aliexpress.com/i/32826742429.html?spm=a2g0v.12057483.0.0.310a2e26AsSddw

      Но можно и в «подножном хламе» дернуть — в старых телефонах, в ноутбуках, на материнских и видеокартах встречаются.

      Выглядит вот так:
      https://photos.app.goo.gl/BVwmvKnnpkZwnT1z6

  5. Здравствуйте, есть потребность в данном изделии, могу я купить комплект печатных плат под SSOP корпус проца, или готовое изделие? Какое время отображения ? Заменил уже третий китайский 4 разрядный 3А авометр на своём БП. У всех летит 3 вольтовый стаб, хотя питание 12в., по питанию 300 Ом. Стоит под индикатором, заменить тяжело.

  6. Жаль, п.плата, впрочем как и девайс, просто на 5. Китайцы в таком же приборе используют ещё и регистр. Простите а типоразмер шунта 2512 ? Буду лучше изучать 6 лай.
    С Уважением Константин.

    1. Честно говоря, не знаю как размер зовется. Дёрнул его из дохлого аккумулятора ноутбука. Раза в два больше чем 1206. Сейчас всё заклеено внутри корпуса БП и разламывать не хочется.

  7. Привет, Eddy! Спасибо за новую разработку. Есть небольшое пожелание: можно программно расширить диапазон измеряемых токов до 5А . Буду очень признателен.

  8. Здравствуйте Эдуард.
    Есть простая схемка на контроллере, нужно сделать управление двигателем, переворот яиц в инкубаторе.
    Эта схема от инкубатора Блиц который очень популярен, вы сможете написать программу управления ?
    Если что я схему и данные скину вам. ?

    1. Доброго дня
      Да, это я умею.
      Но есть одна проблемка — отсутствие времени. От слова совсем. Приходится выживать и пока не запустился с самоокупаемостью, работы очень много, а отдача — слёзы. Поэтому пока не берусь отвлечённые вещи делать. Не успеваю. Извините.

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

      http://smartelectronix.biz/publ/trjokhkanalnyj_ciklicheskij_sutochnyj_tajmer/1-1-0-78

      1. Я сам не очень в этом разбираюсь, на всякий случай дам ссылку на схему
        https://cloud.mail.ru/public/D7G7/ovLZM51RF вот такое устройство, но как сделано непонятно или по времени работает или удобнее по превышению тока. Моторчик так устроен там когда упирается повышается ток это контроллер понимает и делает реверс.
        Может рассмотрите будет время это же вам и статья на сайт новая.. Могу и оплатить немного конечно 200-300р если устроит ?

        1. У меня примерно до лета уже всё время забито. Ежемесячные мои затраты на съёмную квартиру, в которой я и работаю, в пересчёте на рубли примерно 20 000. Поэтому отдыхать за 200р я пока себе позволить не могу..

  9. А можно индикацию тока сделать с учетом направления (знаком) (заряд — разряд)?
    Сколько искал у китайцев такого девайса — не нашел. Только меряют ампер-часы или ватт-часы, заряд-разряд не меряют.
    Работая с аккумуляторами в бесперебойниках такая задача постояно возникает. Сейчас я ее решил включив два китайских авометра, но пефекционизм замучал. Правда и диапазон токов нужно увеличивать на порядок -20А…+20А.

  10. Понятно , что 358 полно везде , и они дёшевы , также есть возможность применить возможности контроллера . Возможно , всё-таки , стоит применять компоненты более современные ? В курсе про ваше стремление к аскетичности устройств , но всё-таки . Имхо .

  11. Eddy приветствую Вас.Скачал архив к вольтамперметру но там всего одна плата ,а указано 3.Это у меня сбой или проблема с архивом?Спасибо.

      1. Здравствуйте, Эдуард! Посмотрел напряжения — все норм. Поменял ОУ — без изменений. На + входе ОУ примерно 33мВ (делитель 10к/180Е). На выходе 2,7В. (0,033Вх83~2,7В). Сообщение то же:»ErrA». Прошился пик вроде норм. (Verify OK). Плату индикации изменил под 4-х значные LED, топология максимально приближена к Вашей. Плата контроллера — Ваша. Можете ли, что-нибудь подсказать для решения этой проблемы?

        1. Нет, прошился пик с ошибкой — верификацию делать не надо, он после правильной прошивки нулями читаться должен.
          А калиброваться он не может нулём тока, если вместо нуля выходит 2,7в. Косяки с разводкой где-то.

        2. Только что обнаружил, что не правильно посчитал. (Не знаю, как удалить предыдущую запись) На входе 0,058В. На вых. должно быть 4,86В , а реально есть 2,7. Буду искать причину.

  12. Эдуард, подскажите пожалуйста на сколько плохо светят зеленые индикаторы.
    Просто хотелось разделить по цвету напряжение и ток, но найти смог только
    зеленые и красные индикаторы.

  13. Доброго времени, Эдуард.
    Подскажите пожалуйста, возможно ли перевести девайс с LED на LCD?
    По случаю обзавелся «двумя ведрами» 2×16 на SED1278 (аналог HD44780).
    Может быть не эту, а предыдущую конструкцию.

    1. Конечно возможно!
      Это примерно как изготовить вместо мороженого из молока котлету из мяса. Тоже будет вкусно. Но малость не то. 🙂

      Вот, уже готовая конструкция:
      http://cxem.net/izmer/izmer143.php
      Или вот еще:
      http://www.kondratev-v.ru/izmereniya/voltmetr-i-ampermetr-na-pic16f676.html

      (вообще вариантов готовых уже масса в сети есть)

  14. Раз уж концепция конструкции определена, не следует требовать от автора переделки.
    Мой косяк.
    Извините.

    PS
    Хочешь переделать готовое — сделай свое.

          1. Рука-лицо. Мне приглючилось что это резистор на 10 мегаом

  15. Здравствуйте Эдуард.
    Интересный прибор.Думаю применить в MBus тестере.Индикатор АЛС318.
    Только в линии 42в,400мА мах.Ток понятно(замена шунта)
    Вольты ?Хотя можно сместить шкалу на -2в.И держать в голове.
    Жду PIC.
    Спасибо!

      1. Спасибо!
        Напряжение максимальное по стандарту.
        В моем случае возьму MBus master с выходом 36 вольт.
        В принципе можно использовать и стрелочный амперметр.
        Вольтметр используется как примерно +/-.Цель применения : примерно посчитать количество slave приборов в шлейфе и распределить по MBus master.
        А циферки нужны чтобы показать монтажнику и отправить переделывать.
        Когда сам делаю монтаж и подключение счётчиков проблем не возникает.

  16. Здравствуйте……….вопрос по схеме.Сопротивление 10к? в делителе 10к/100Е? При таком делении 3.3в на входе ОУ уже 33мВ, коєф.силения ОУ где-то 84 без подключения нагрузки на выходе ОУ уже будет 2.7 вольта……а это почти питание контролера и он выдает ошибку ErrA, что логично. я увеличил 10К до 75К……получил на входе ОУ 4мВ ошибка исчезла…….стал измерять, но жутко врет………поигрался ООС на 15К, понижал коф. ОУ……получается близко к правде…но линейность? а вольтметр работает отлично, в пределах 2мВ и хорошая линейность…..или я чего-то не понимаю10К ?……………..коэфОУ?

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

  17. ……….шутн тот же, SMD 0.01, комплектующие тоже………..топология отличается..делалося под корпус компьютерного БП..я так понял делитель делался чтобы компенсировать начальное смещение ОУ, а потом при колибровке програмно его обнулить……., но при такомм делителе 33мВ будет на любом железе, а это предел измерения, потому и выдает ошибкуErrA…….при 10к я уменшал коэф. ОУ ошибка исчезала……но показывает 3600мВ почти предел измерения? и если это обнулить………то на измерение остается 400мВ мы на дисплее видим обрезанные даные, падение на шунте, то что выше смещения, а контролер видит все и 33 мВ его просто «переполняют»…я понимаю правильно?

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

  18. Снова вернулся к вашему проекту, буду надоедать, при повторении все мы сталкиваемся с одним бермудским треугольником, это усилитель тока.
    При первом включении почти у всех вылазит ошибка ErrA, индикатор напряжения не горит,значит это, что все рабочее,процессор работает, чтобы увидеть правильность работы нужно замкнуть выход ОУ на землю и подключить питание,и мы увидим рабочий АV.
    Только вот с током у нас засада, о которой пишут все, перемудрил автор,или недообъяснил.
    При данных номиналах схемы,смещение на входе ОУ 0,033В КУ усилителя 84
    0,033*84=2,772В это напряжение на выходе ОУ приходящее на АЦП процессора, которое при калибровке при включении считается НУЛЕМ.
    Максимум показаний тока (предел тока) 4А,при шунте 0,01Ом это 4*0,01=0,04В , прибавим к смещению 0,033=0,073В при КУ 84 верхний предел поступающий на АЦП 0,073*84=6,132В что довольно много для процессора, да в принципе и не может быть при питании 5В ОУ.
    Вот тут и начинаются бермуды, с чем играть, со смещением, с КУ и какое напряжение входа на АЦП заложено автором для нижнего(0А) и верхнего (4А)предела тока, задача с 3-мя неизвестными, это довольно не простая задачка для легкоповторяемой конструкции.
    Если с двумя неизвестными (смещение и ОУ) поиграться можно, то верхнее и нижнее напряжение входа АЦП может озвучить только автор.Ну хотя бы верхнее, в обратной посчитаем.
    Эдуард не сочтите за труд, уделите некоторое время для утрясания и закрытия этого вопроса, не только для меня, но и последующих повторятелей.

    1. Попробуйте сменить в резистивном делителе 10к/100ом измените 10к на 100к, тогда на входе оу будет входное напряжение от 3мв до 43мв. Откалибруйте с новым значением условного нуля тока, после подайте 1 ампер ток через амперметр и рассчитайте коэффициент усиления оу по разности показаниям. После опять откалибруйте. Так экспериментируя добейтесь правильной работы амперметра.

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

    1. Может быть напряжение смещения не нужно рассчитывать оно запоминается при калибровке, минимально измерять ток начинает именно с запомненного значения а максимальный ток покажет при 3.3 вольта на входе ацп. Если применена математика при расчетах простым делителем напряжения вы все не увидите, нужно калибровать начальным условным нулем не превышающим уровень Err.A.

      1. Ну походу осилил я его, до 2-х А даже линейность ничего.
        Только в делителе поставил 100ком вместо 10ком, а в плече обратной связи подстроечник.
        При номиналах что на схеме, на 358м работать не будет, может у автора не 358.

  20. Здравствуйте. У меня получилось запустить амперметр изменив резистор 180 ом с 6 ноги на землю. Поставил подстроечник и покрутил, получилось 2,12 к. Но поменял шунт с 0,01 на 0,1 ом, т.к. показания уменьшились в 10 раз, а с 0,1 ом стало как надо. И линейность хорошая.
    Остальные детали,как на схеме, только индикаторы на 4 разряда.

  21. Всем доброго!
    Кто наладил прибор, подскажите пожалуйста методику настройки. Из большинства комментариев понятно, что сначала нужно заменить резистор 10 кОм в делителе 100 Ом/10 кОм на какой-то номинал побольше. Опытным путем подобрал на своей плате — получилось 68 кОм. После чего прибор заработал, но ток показывает неверно, кроме того, скачут цифры в 2-х младших разрядах (без нагрузки). Далее нужно подобрать резисторы на ОУ (15 кОм и 180 Ом). Подскажите, каким образом их подбирать для сохранения рабочего диапазона и линейности измерения. Шунт использован 0,010 Ом

    1. В наладке, правильно собранный прибор, не нуждается. Калибровку я выше описал под схемой.
      Цифры скачут из-за больших пульсаций по питанию/земле или из-за некорректного подключения линий питания и земли прибора, в итоге он измеряет не только ток нагрузки, но и свой ток потребления.
      Поэтому «абы как» тут вариант не прокатывает. Тут надо посидеть и вдумчиво посмотреть, по какому пути ток бегать будет и где он создаст падение..

  22. Прибор настроил. На авторских номиналах, за исключением резистора 10 кОм в делителе — его заменил на 100 кОм. Кроме того, добавил конденсаторы по 1 мкФ параллельно шунту и по питанию ОУ. В цепи обратной связи подобрал номинал резистора — включил параллельно резистору 15 кОм дополнительный на 91 кОм. И тщательная промывка платы! После чего прибор показывает ток до 3.5 А с точностью 1% (сравнивал с тестером).

    1. 5в у меня в БП питает зарядку и USB-хаб, довольно грязное, я из него делаю чистое 3,3в, потому как с повышением разрядности измерения, шумы начинают серьёзно влиять на точность измерений.

  23. То есть, если я буду питать авометр от стабилизатора 7805 все будет нормально? Пересчитывать делители по напряжению и току нужно, если я буду использовать 5 вольт?

  24. Для Barakuda12. В проектах Eddy71 в большинстве своем использует индикаторы 0,36″, у меня как и у вас в наличии только 0,56″ , 1,5″ и 2,3″. В супер простом вольтметре на PIC16F676 вместо Е30361 использовал Е30561 — работает великолепно.

  25. Чёт по мучал схемку, нихрена не смог настроить.. На значениях ниже вольта вообще дико врать начинает и это нелинейно увеличивается ближе к нулю. С током та же шляпа.. нелинейно как то мерит. На двух разных мк по мучал и забросил в итоге. Причину нелинейности измерения так и не выяснил.. Если с током списывается на нелинейность оу на малых значениях, то измерение напряжения — это пара резисторов и мк — тут уже несчего вытягивать.. хотя и то, как на токе, даже вольтдобавку на вход пытался подобрать ~500-600 кОм, потом надоело забросил.

    1. Я уже писал не раз — тут всё просто как три копейки: так как чувствительность схемы в разЫ выше, чем у большинства простых показометров, то схема намного чувствительней к методу соединения проводов и падению токов на дорожках. Тут надо очень хорошо подумать над тем, как пойдет ток и куда что приложится. Прибор тоже потребляет энергию и его токи вполне могут бегать не там, где хочется, если не вспомнить законы дядюшки Ома и правила Кирхгофа..
      Так что голова и знания — ключ к победе над проблемой 🙂

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

    1. Верхний там вольты (до 99,9), нижний амперы (прошивки для 9,99 или 99,9) поэтому оставляете нижний экран по схеме, операционник убираете, а входной сигнал подаете туда, куда с операционника подавался. Делитель на резисторах подбираете так, чтобы сигнал укладывался в 0-4,9в и всё.

  27. То ли я рукожоп, то ли в схеме ошибка, с указными номиналами ошибка Err.A как у всех кто повторил, плату разводил сам, доигрался с подбором резисторов до того что сжег пик, Eddy пересмотри свою плату пожалуйста и уточни номиналы, ОУ менял 3 раза разных производителей надеялся что брак попадался. шунт 0,01 Ом (константан) Обидно платки с китая заказал а он гад не работает.

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

      1. Нет не активным (спиртоканифоль), я может и не бог в электронике но не идиот))), плату отмыл сразу после пайки изопропилом. Подбирая резисторы добился того что проходит калибровка, смещение получилось 0,22 вольта, но ток показывало очень нелинейно до 200 мА +- точно дальше до ампера с погрешностью процентов 20, и больше 1,5 ампера вообще не росло. до резистора 10К на входе RB5 напряжение с ОУ растет а после него до двух вольт доходит и все, дальше не поднимается.

    1. Вот так и получается «ваша схема не работает! (я тут чуток изменил)..»
      🙂
      Угадать влияние внесённых изменений дистанционно затрудняюсь, но могу предположить, что ток Вашего «усиленного» индикатора протекает через шунт или цепи питания ОУ, смещая входной уровень. В итоге «окно» валидных напряжений уходит за пределы возможной обработки.

        1. Дело не в самих ключах, а в падении напряжения при протекании тока по проводникам платы. Это падение прикладывается ко входам операционного усилителя и вместо сигнала с шунта (а там всего 10мВ при токе 1А) получается непредсказуемые процессы.
          Поанализируйте, как течет ток и на каких дорожках что падает. Дорожки тоже работают как шунты.

  28. «Резистор, подключенный к выводу 4 микроконтроллера, определяет тип используемого экрана — с общим анодом или общим катодом.» — поясните, для каких индикаторов с ставить резистор 10к на землю, а для каких нет. Стоят 4-х разрядные 0,36″ с ОК, горят все сегменты (и точки), с едва уловимым мерцанием вначале включения, что с резистором, что без. Понимаю, что при правильном монтаже, такого быть не может, (либо сопли, либо не пропай). Но плата прозвонена и промыта (и под корпусами МС), контроллер второй раз прошит с успешной верификацией.
    Почитал про критичность изменения топологи ПП. Плата изменена, но не критично, только резисторы делителя в пространственной ориентации вокруг своей оси, ну и плата индикации под 4-разрядные светильники и подключена через разъемное соединение PBS-PLS.
    В принципе, вопрос только в первом предложении, остальное — мысли в слух, буду разбираться.
    Если перевести на 5 вольтовое питание, выигрыш какой-то от этого будет, с перерасчетом делителя?
    P.S. Собирал «Простейший на 676», понравилась точность и линейность измерений. Завелся с первого включения. Спасибо за схему.
    Вопрос на общую тему ( контроллеры только осваиваю), не все PICи имеют калибровочную константу?
    Спасибо.

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

  29. С горящими сегментами разобрался. Контроллер работает на индикатор с ОА, хоть с резистором, хоть без ( по разрядным выходам контроллера положительные импульсы). Попробую перешить…

  30. При значениях 10к/10к в делителе, контроллер работал на ОА. При значениях 10к/4к7 контроллер заработал на ОК. Может разброс параметров резисторов сыграл такую шутку…

  31. Настроил, все работает. Пришлось подкорректировать Ку под свой шунт. Если критика приветствуется, думаю, шунт нужно устанавливать в самой плате вольт-амперметра (как в китайских), с правильной топологией, а потом браться за настройку. Если не прав, поправьте. Eddy, спасибо за Вашу работу. Удачи.

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

  32. Eddy, доброго времени суток! Понравился мне этот приборчик и решил я его собрать. Для начала взял все компоненты в DIP и набросал на макетной плате (под пайку). Получив ошибку ErrA, полез читать обсуждение и найдя инфу о том, что важно соблюдать топологию, я радостно побежал в магаз, где затарился SMD компонентами, включая 1% резисторы 0603, чтоб уже наверняка.
    ЛУТом сделал платы абсолютно ничего не меняя в разводке. Спаял, прошил PIC, и… да… как и все опять получил ошибку ErrA (((
    Понятно, что я и с первой конструкцией, поигравшись с делителями, кое-как заставил амперметр работать и в SMD варианте мне тоже это предстоит. Но, блин, надо же разобраться в чем проблема, если конструкция повторена максимально точно, плата сделана наиаккуратнейшим образом и тщательно отмыта средством FLUX OFF??? Индикаторы правильного размера 0,36 с ОА. (Ссылку на фото-альбом с моим устройством на GooglePhoto прилагаю…) В чем может быть дело?
    https://photos.app.goo.gl/KD9DLnC2sZsDsfWT8

    1. Причин масса. Например, флюс — активный не смывается полностью даже FLUX OFF. Шунт. От него пляшет вся математика амперметра. Смещение нуля у LM358 (а оно гуляет как от производителя так и разброс в пределах партии ощутимый). Стабилизатор напряжения имеет разброс выходного напряжения. Провода. На тонких проводах падение тока становится сопоставимым с падением на шунте..
      Так что раз оно уже запоказывало, то дальше можно спокойно донастроить 🙂

      1. Флюс нейтральный безотмывочный, шунт, вроде в точности как у Вас 0,01ом, (маркировка R010).
        …В общем-то я Вашу мысль понял, буду донастраивать :)…

  33. Здравствуйте.В схеме вместо четырех двухразрядных 7-сегментных индикаторов можно применить два четырехразрядных 7-сегментных индикатора или для этого обязательно нужна другая прошивка ?
    P.S у меня на старом ЛБП PS-1502DD применен ваш более старый вариант авометра на PIC16F690 на двух трехразрядных 7-сегментных индикаторах,вот решил обновится на более информативный вариант.

      1. «подкорректировать для своих индикаторов.»

        да,сейчас еще раз посмотрел на схему и понял что прошивка другая ненужна.Просто раньше немного сбило с толку по два раза обозначение An1 и An2 на каждом из индикаторов (напряжения и тока) в схеме.
        У вас на схеме неиспользуемый операционный усилитель своим входом посажен на «землю»,не будет лучше его вход соединить с входом второго используемого усилителя (3 вывод микросхемы соединить с 5-м) ?

  34. У кого получается ErrA, на печатной плате ошибка.
    Резистор 10к , который по схеме идет с 3.3V на 5 ногу LM358 надо убрать.
    Во первых он разведен на печатной плате до входа стабилизатора напряжения.
    Во вторых его надо разводить или на прямой или на инвертирующий вход LM358/
    В зависимости от того, какой попался ОУ, куда ноль смещен.
    Я просто убрал резистор и ErrA пропал.

      1. Так может у вас этот резистор вообще не установлен. Я его убрал и все сразу заработало. Было на выходе ОУ 4 вольта, стало 0,19. Попробую подобрать резистор , что бы ближе к 0 выход был.

  35. Здравствуйте ! Смотрю на Ютюбе ролики про ремонт сварочных инверторов и люди часто задают вопрос : что можно сделать , чтобы встроенный «амперметр-показометр» показывал реальный сварочный ток ? На самом деле он показывает «в попугаях»… В большинстве аппаратов регулятор тока снимает напряжение от стабилизатора или источника опорного напряжения 0-5 вольт. Я вот думаю, если ваш суперпростой вольтметр http://eddy71.ucoz.net/load/proshivki_i_plata_prostejshego_voltmetra_na_pic16f676_smd/1-1-0-110 приколхозить и сменить прошивку, чтобы он показывал до 250 ( 300) единиц, многим было бы полезно ! К примеру, лично у меня имеются «Ресанта 250а» и «FUBAG IN160» . Можно было бы подраться к регулятору, а подстроечником при 5 вольтах выставить реальные показания в Амперах. Сможете ? Спасибо !

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

      1. Ну, эталонной точности не требуется. Есть аппараты с заявленной силой скажем, в 220 ампер, по факту можно выжать 160 а , а индикатор показывает 250 ! В» попугаях»

        1. человек который умеет варить-никогда не будет смотреть на показометр, он чуствует дугу и настраивает ток под конкретный металл. Хочеться видить правильный ток есть ПАТОН там что написано то и выдает.

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

  36. Вітаю. Потрібен амперметр для тиристорного зарядного пристрою ресурс-1. Планую міряти токи на рівні 20 А. Чи підійде амперметр з старого сайту http://eddy71.ucoz.net/publ/ochen_prostoj_ampervoltmetr_na_pic16f690/1-1-0-2? Цифри скакать не будуть? Чи підійде в якості підсилювача шунта MCP6022? Який орієнтовно потрібен шунт? Дякую.

    1. Доброго дня
      Відвето кажучі, беруть мене великі сумніви що буде щось схоже на правду казати.
      Наскільки я розумію, фора струму у тиристорного регулятора не дуже схожа на постійний струм, для якого я розробляв вимірювач.

  37. Зрозуміло що струм там пульсуючий, але для зарядного великої точності на мою думку й не потрібно. Пробував стрілочник на малих токах, навантаження дві стародавні автомобільні лампи на 12 В по 1,8 А кожна покази не змінюються і в допустимих межах збігаються з показами мультиметра. Але з стрілочником було лінь заморочуватись з підбором шунта аби міряти токи під 20 А. Вирішив попробувати прилад на мк. В мене лежав без діла авометр виготовлений по матеріалам сайту «Лабораторія Практичної Електроніки» але покази в нього постійно скачуть не призначений такий струм.

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