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

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

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

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

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




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

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

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

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

4+

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

  1. Привет, Eddy!

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

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

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

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

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

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

          0
          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 настоящая структура в раме того-же типа что в епроме, один из номеров телефона которой копируется в епром.

            0
          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 от меня:
            Немного по извращаемся, обманем компилятор и радуемся 🙂

            0
      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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      0
  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-мя неизвестными, это довольно не простая задачка для легкоповторяемой конструкции.
    Если с двумя неизвестными (смещение и ОУ) поиграться можно, то верхнее и нижнее напряжение входа АЦП может озвучить только автор.Ну хотя бы верхнее, в обратной посчитаем.
    Эдуард не сочтите за труд, уделите некоторое время для утрясания и закрытия этого вопроса, не только для меня, но и последующих повторятелей.

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

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

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

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

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

    0

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