Главная arrow Программирование arrow AVR arrow AVR-USB-MEGA16: замена GC7137AD (ICL7137) на ATmega32 и OP291 Tuesday, October 03 2023  
ГлавнаяКонтактыАдминистрированиеПрограммированиеСсылки
UK-flag-ico.png English Version
GERMAN-flag-ico.png Die deutsche Version
map.gif карта сайта
нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Поделиться:

AVR-USB-MEGA16: замена GC7137AD (ICL7137) на ATmega32 и OP291 Версия для печати
Написал microsin   
09.05.2010

Один микроконтроллер ATmega32 и сдвоенный операционный усилитель заменяет две дефицитные микросхемы GC7137AD (урезанный аналог микросхемы-мультиметра ICL7137). Другими словами, на микроконтроллере ATmega32 собран цифровой трехразрядный вольметр и амперметр, который можно использовать для контроля параметров лабораторных источников тока.

Недавно мне написали про неудачную переделку блока питания DAZHENG PS-1502DD. Парень неправильно запитал блок индикации YIZHAN-3000BTB (напряжение питания взял без развязки), и у него погорели микросхемы GC7137AD. Этот случай подсказал мне сделать программу для ATmega32, которая заменяла бы весь блок индикации YIZHAN-3000BTB. В этой статье описывается, как работает этот новый блок индикации, и чем он отличается от старого.

[Блок индикации YIZHAN-3000BTB]

Полная пинципиальная схема блока индикации YIZHAN-3000BTB есть в статье "Китайский лабораторный источник питания DAZHENG PS-1502DD". Здесь я привожу только краткую структурную схему этого узла, чтобы было проще понять, как он работает.

YIZHAN-3000BTB-diagram-original.png

Постоянное стабилизированное напряжение питания 5 вольт этого блока индикации должно иметь обязательную развязку от всей остальной схемы блока питания (от проводов КРАСНЫЙ, ЧЕРНЫЙ и СИНИЙ, которыми блок индикации соединен со силовым стабилизатором напряжения). Это достигается применением отдельной обмотки силового трансформатора и отдельного выпрямителя со стабилизатором.

[Блок индикации на ATmega32 и OP291]

Ниже приведена новая схема блока индикации и его принципиальная схема. Блок индикации был собран на макетной плате AVR-USB-MEGA16, поэтому конструкция получилсь очень простая. Несмотря на то, что точность АЦП ATmega32 всего лишь 10 бит, блок индикации благодаря интегрированию нескольких результатов дает точность примерно 12 бит. Т. е. точность измерения превышает величину единицы младшего разряда отображаемых цифр. Коэффициенты усиления буферных каскадов каналов тока и напряжения (постренные на операционных усилителях усилители постонного тока) грубо подобраны таким образом, что постоянное выходное напряжение на входе ADC (порты PA1 и PA3 микроконтроллера) не превышает уровень опорного напряжения ADC (используется внутренний источник опорного напряжения 2.56 вольт, встроенный в микроконтролллер ATmega32).

YIZHAN-3000BTB-diagram-new.png YIZHAN-3000BTB-sch-new.png

Основное отличие от YIZHAN-3000BTB в том, что в качестве датчика тока используется резистор 0.1 Ом, подключенный по минусовому проводу силового стабилизатора. Второе отличие - питание блока индикации на ATmega16 (5 вольт) не требует развязки от силового стабилизатора, оно имеет с ним общий минусовой провод. Третье отличие - для калибровки канала тока и напряжения отсутствуют подстроечные резисторы - теперь калибровка производится с помощью управляющей консоли через USB (в программе ATmega32 зашита подсистема CDC USB, реализующая виртуальный COM-порт). Четвертое отличие - запятые на индикаторах плавающие, их положение зависит от уровня измеряемого тока и напряжения.

VA-meter-IMG_0750.JPG VA-meter-IMG_0755.JPG VA-meter-IMG_0749.JPG VA-meter-IMG_0758.JPG VA-meter-IMG_0762.JPG VA-meter-IMG_0763.JPG VA-meter-IMG_0776.JPG

[Блок индикации на ATmega32 и OP482]

YIZHAN-3000BTB-sch-op482-new.png

Это вариант схемы с буферным усилителем на OP482. Отличается от варианта с OP291 незначительным усложнением схемы - добавился генератор отрицательного напряжения питания для OP482. Зато этот вариант ПОЛНОСТЬЮ эквивалентен по схеме подключения оригинальному индикатору YIZHAN-3000BTB, и запитывается точно так же. Внимание! Источник питания +5 В индикатора на OP482 должен иметь развязку от всех остальных цепей лабораторного блока питания, в отличие от схемы на OP291. Т. е. "земля" или общий провод схемы индикатора должен соединяться исключительно с выходной клеммой "+" схемы блока питания DAZHENG PS-1502DD (точно так же, как и в случае индикатора YIZHAN-3000BTB на микросхемах GC7137AD).

VA-meter-OP482-IMG_0785.JPG

[Конфигурирование каналов тока и напряжения]

Блок индикации на ATmega32 конфигурируется простой консолью, которая подключается к виртуальному COM-порту, сконфигурированные параметры записываются в EEPROM ATmega32 и сохраняются при выключении питания. Когда Вы подключаете блок индикации к компьютеру через разъем miniUSB (он установлен на макетной плате AVR-USB-MEGA16), то в компьютере появляется новый COM-порт. Если подключиться к нему обычной консолью (SecureCRT, HyperTerminal, TerraTerm и проч.), то становится доступной командная строка, которой конфигурируется устройство. Подсказка выводится при вводе символа ?, информация о настройках - при вводе I<ENTER>. Собственно нужно сконфигурировать только два параметра - коэффициенты пересчета тока KI и напряжения KU. Они вводятся в текстовом формате, в виде числа с плавающей точкой.

VA-meter-config.png

[Ссылки]

1. Проект (исходники и прошивка) для AVRStudio блока индикации на ATmega32.
2. Китайский лабораторный источник питания DAZHENG PS-1502DD.
3. Макетная плата AVR-USB-MEGA16.
4. ATmega16 (32): аналогово-цифровой преобразователь (ADC).

Последнее обновление ( 15.05.2010 )
 

Комментарии  

  1. #6 Nikola
    2014-07-2920:22:21 Разбирал YaXun 1502DD, блок индикации сделан на s3f9454bzz-dk94 (DIP-20); на него-же повешена защита. Защиту переделал на встроенную в микросхему, вольтметр до 27V работает без подстройки, в амперметре заменил датчик тока на 0.47 ом с подстройкой.
  2. #5 id-rad@rambler.ru
    2014-03-1213:20:59 Какие FUSE у ATmega32? Фото платы с обратной стороны есть?
    Скорость терминала какая?

    microsin: фьюзы те же самые, что и по умолчанию у макетной платы AVR-USB-MEGA16 (читайте соответствующую статью про неё). Фотография обратной стороны есть, она опубликована как здесь, так и в статье про AVR-USB-MEGA16. Скорость терминала для виртуального COM-порта может быть любой, это значения не имеет. Можете поставить 115200 или любую другую скорость, все равно консоль будет работать.
  3. #4 FDoich
    2011-04-1715:58:34 Интересный проект. Так можно использовать в обоих вариантах Atmega16?

    microsin: да, конечно, ничего не мешает.
  4. #3 OLEG
    2010-09-1601:03:53 У меня БП BAKKU BK-1502D+
    Дополнительно в нем есть индикатор RF-уровня, остальные параметры ничем не отличаются. Блок индикации собран на каком-то китайском контроллере (даже намёков на обозначение нет на корпусе), но RF на 7 "делений" он тоже обслуживает.

    Кто такие разбирал? Что за контроллер?
  5. #2 Виталий
    2010-05-2923:41:56 А как расположить операционники, если земля ШИМится, и надо замерять напряжение?

    microsin: без принципиальной схемы что-либо посоветовать невозможно.
  6. #1 Виталий
    2010-05-0908:28:57 Так же напряжение будет врать на 0.1*I Вольт , соответственно если ток 10А, то на индикаторе будет 5В, а на выходе 4В… или я не прав

    microsin: Вы правы, только максимальный ток будет не 10 А, а 2 А, поэтому ошибка составит 0.2 вольта. Причем эту ошибку легко исправить программно (пока это не реализовано) - ATmega32 может просто добавлять падение напряжения на датчике тока 0.1 Ом к показанию вольтметра. Кстати, сопротивление датчика тока при желании можно еще уменьшить, скорректировав коэффициент усиления на операционном усилителе OP291.

    От этого недостатка полностью свободна схема индикатора на ATmega32 с применением OP482 - подключение точно такое же, как и у "родного" индикатора.

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

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:

Защитный код
Обновить

< Пред.   След. >

Top of Page
 
microsin © 2023