Graude-msk.ru

Ремонт бытовой техники
9 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Замена аналоговой регулировки на цифровую в лабораторном блоке питания HY3005D

Замена аналоговой регулировки на цифровую в лабораторном блоке питания HY3005D

Несколько лет назад приобрел блок питания Mastech HY3005D. Не так давно возникли проблемы с регулировкой напряжения — истерлось графитовое покрытие реостатов и выставить необходимое напряжение стало сложной задачей. Подходящих реостатов не нашлось, и я решил не покупать аналогичные, а изменить способ регулировки.
Уровень выходного напряжения и тока задается опорным напряжением, подаваемым на операционные усилители. Таким образом можно полностью избавиться от потенциометров заменив их на ЦАП способный выдавать напряжение в нужном диапазоне.
В каталоге microchip я не смог подобрать подходящего микроконтроллера, имеющего два ЦАП на борту, а внешние ЦАП имеют не малый ценник и слишком много лишнего функционала. Поэтому приобрел сдвиговые регистры 74HC595 и резисторы для матрицы R2R. Микроконтроллер PIC16F1829 уже был в наличии.
Для возможности вернуться к первоначальной схеме все изменения сведены к минимуму — замене блока регулировки выполненного на отдельной плате.

Описание работы

В основе схемы лежит микроконтроллер PIC16F1829 работающий на частоте 32МГц. Тактовая частоста задается встроенным тактовым генератором, согласно даташиту он не слишком точный, но для данной схемы — это не критично. Плюсом данного МК является наличие подтягивающих резисторов на всех цифровых входах и два MSSP модуля реализующих SPI. Все 18 логических вывода микроконтроллера использованы.
На четырех сдвиговых регистрах 74HC595 и R2R матрицах реализованы два ЦАП по 16 бит. К плюсам данного регистра можно отнести наличие раздельного сдвигового регистра и регистра хранения. Это позволяет записывать данные в регистр, не сбивая текущие выходные значения. Матрица R2R собрана на резисторах с погрешностью 1%. Стоит заметить, что выборочные замеры показали погрешность не более 10 Ом. Изначально планировалось использовать 3 регистра, но при разводке платы мне показалось это не удачным решением, к тому же требовалось складывать полубайты.
Встроенные в МК подтягивающие резисторы активированы на всех входах и позволяют упростить схему. Все выходы с энкодеров подключены напрямую к выводам МК, всего 4 энкодера у каждого по два вывода для самого датчика поворота и один для встроенной кнопки. Итого 12 выводов МК используется для обработки входных данных. Дребезг контактов сглаживается емкостью 100нФ. После изменения значений 16-битных буферов тока и напряжения в соответствии с входными данными от энкодеров значения передаются в сдвиговые регистры 74HC595 по SPI. Для сокращения времени передачи данных используется два SPI-модуля что позволяет передавать данные одновременно для тока и напряжения. После того как данные переданы на регистр подается команда переноса данных из сдвигового буфера в буфер хранения. Выходы регистра подключены к матрице R2R выполняющую роль делителя для ЦАП. Выходное напряжение с матрицы передается на входы операционных усилителей.
Кнопки, встроенные в энкодеры, устанавливают значения на минимум (кнопка энкодера плавной регулировки) или максимум (кнопка энкодера грубой регулировки), соответственно, для тока или напряжения.

Читайте так же:
Как ibooks синхронизировать с другими устройствами

Схема

В интернете не нашел схему, полностью совпадающую с моей, поэтому взял по первой ссылке. Внес исправления по выявленным несоответствиям и затем добавил свои изменения. Схему блока регулировки чертил в TinyCAD — скачать файл HY3005D-regulator.dsn.

Итоговая схема после доработки

Выносной блок с регулировкой (выделен красным) вынес в отдельную схему.

К разъему J3 подключается цифровой вольтметр с дисплеем на лицевой панели (его нет на схемах).

Использованные компоненты

  • U1: микроконтроллер PIC16F1829I/ML (QFN)
  • U2 — U5: сдвиговый регистр 74HC595BQ (DHVQFN16 или SOT-763)
  • U6: линейный регулятор напряжения AMS1117 на 5В (SOT-223)
  • RE1 — RE4: механический накапливающий датчик угла поворота EC11
  • R1, R2 и матрицы R2R: резисторы 1 и 2 кОм (SMD 0402)
  • C1 — C12, C14-C17: керамические конденсаторы GRM21BR71E104KA01L 100нФ (SMD 0805)
  • C13: танталовый конденсатор 22мкФ 16В (тив B)
  • D1, D2: светодиоды индикации напряжения/тока на лицевой панели

Плата

Плату разводил в Sprint Layout 6 — скачать файл HY3005D-regulator.lay6. К сожалению, оригинал, на котором я сделал свой вариант, не сохранился, в формате lay6 уже с исправлениями, выявленными в ходе сборки:

  1. В разрыв подключения энкодера плавной регулировки тока добавил перемычки рядом с интерфейсом для прошивки, т.к. емкости, фильтрующие дребезг контактов, не позволяли прошивать контроллер
  2. Добавил недостающие перемычки для земли между сторонами
  3. Переместил стабилизирующую сборку на 5В на другую сторону для уменьшения сквозных перемычек
  4. Добавлены сглаживающие конденсаторы на линии питания (обсуждение)


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

Читайте так же:
Как отрегулировать завесы на пластиковых окнах



В качестве перемычек использованы три резистора номиналом 0 Ом в корпусе SMD 0805.

В левой части сам блок питания. В правой — лицевая панель лицом в низ. Зеленый провод из левого верхнего угла в правый нижний — дополнительное питание 12В.

Как видно, изменения минимальны, все старые разъемы остались без изменений. Пришлось добавить отдельно питание, т.к. единственное напряжение, приходящее на плату регулировки 2.5В для родного делителя не подходит. Если на основной плате блока питания убрать стабилитрон на 2.5В (V5A) и поставить перемычку в место резистора (R1A), можно обойтись и без дополнительного подведения 12В питания.

Прошивка

Код на Си для компилятора XC8. Прошивал оригинальным PICkit 3.

Для минимальных значений VoltageMin и CurrentMin выставлена 1, т.к. при 0 в буфере регулировка перестает работать, пока не понял где проблема. Рейты *Rate* подбирал кратные и наиболее удобные на мой взгляд. Для метода SendData не делал передачу переменных в качестве параметров для экономии машинных команд и памяти. Режим прошивки с низким напряжением (LVP) должен быть выключен, иначе RA3 не будет работать как цифровой вход. Прерывания не используются, метод tc_int присутствует в коде для того чтобы компилятор поместил основной блок в начало ППЗУ.
Для прошивки достаточно снять перемычки, подключить PICkit 3 (или другой программатор) и выполнить прошивку. В первой версии не было перемычек на CLK и DAT, поэтому мне пришлось выпаять сглаживающие конденсаторы, прошить и потом впаять их обратно.
UPD: После установки дополнительных емкостей на линии питания проблема с выходом из нулевого положения счетчика исчезла. Так же пришлось поменять направление вращения. Судя по всему, шум от выпрямителя AMS1117 мешал корректно распознавать состояние энкодеров. Дополнительно добавил установку стартовых значений, теперь напряжение по умолчанию выставляется на 5 вольт (ток по-прежнему на максимум). Перед первой отправкой данных в регистры вставлена задержка в 50мс (значение задержки взял с большим запасом) для ожидания инициализации модулей SPI.

Читайте так же:
Как регулировать напряжение с помощью тиристора

Характеристики выходного напряжения


Расчетные значения напряжений получены по формуле (U*D)/(2^K), где
U — напряжение на выходе регистра с учетом делителей в основной схеме (для ЦАП тока — 4950мВ, для ЦАП напряжения — 3550мВ);
D — десятичное значение счетчика ЦАП;
K — разрядность ЦАП (16 бит)

Спехро Пефхани

схематический

  • Низкая чувствительность к допустимым отклонениям и температуре (вы можете использовать прецизионные резисторы для R2 / R3)
  • Довольно линейный и почти постоянный диапазон точной регулировки в мВ
  • Довольно постоянный (+/- 0,5%) и предсказуемый выходной импеданс (минимум 9,09K, максимум 9,195)
  • Низкая чувствительность к CRV (изменение контактного сопротивления) горшков (1% CRV в R1 приводит к изменению 0,05%).

Эта схема потребляет 20 мА или около того от шины 5 В. Если это проблема, вы можете увеличить R4 10: 1, увеличить R4 и R1 еще на 10: 1 за счет снижения производительности или масштабировать все значение за счет выходного сопротивления.

Ваша цепь # 1 имеет выходное сопротивление от 0 до 27,5 кОм, в зависимости от настроек банка.

Точные и грубые только уносят вас, вы могли бы также рассмотреть переключаемый делитель напряжения для «грубой» регулировки. Ожидать, что «грубая» настройка останется стабильной в пределах 0,2%, может быть слишком много, если только это не очень хороший потенциометр.

Обратите внимание, что ваш токопроводящий пластиковый горшок вообще не определяет температурный коэффициент — это потому, что токопроводящие пластиковые горшки, как правило, ужасны — может быть, +/- 1000ppm / ° C, как правило, поэтому их использование в качестве реостата, а не делителя напряжения не так уж и велико. идея. Вы можете уменьшить это соотношение на 5: 1, но это все еще довольно плохо. Схема, которую я представил, обычно была бы примерно в 5 раз лучше с подходящими резисторами для R2 / R3, потому что штыри используются исключительно в качестве делителей напряжения.

Читайте так же:
Адаптер 12 вольт с регулировкой напряжения

Отредактируйте: в качестве хорошего приближения для R4 << R3 и R1 << R2 (вы можете сделать точную математику в Matlab, принимая во внимание сопротивления пота, если хотите), выходное напряжение:

В O U T = 5,0 ( α ⋅ 9,09 К 10 К + β .09 9,09 К 100 К ) В О U T знак равно 5.0 ( α ⋅ 9,09 К 10 К + β ⋅ 9,09 К 100 К )

Где 0 ≤ α ≤ 1 ≤ α ≤ 1 это позиция R1 и 0 ≤ β ≤ 1 ≤ β ≤ 1 это позиция R4

Таким образом, диапазон R1 составляет 4,545В, а диапазон R4 составляет 0,4545В. Если вы центрируете оба банка, вы получаете 2.500V. Если вы можете установить R4 на 1% от полной шкалы (разумно), это разрешение 4,5 мВ.

tgun926

Джордж Херольд

tgun926

Джордж Херольд

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector