Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Микроконтроллеры и Технологии – Источник питания на ATmega8

Дата публикации: .

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

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

Этот цифровой источник питания постоянного тока был очень успешным продуктом, и  сейчас доступна его третья версия. Он по-прежнему основан на той же идее, что и первый вариант, но поставляется с рядом хороших улучшений.

Введение

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

– На дисплее отображаются текущие измеренные значения напряжения и тока.


– На дисплее отображается предварительно заданные пределы напряжения и тока.
– Используются только стандартные компоненты(без специальных чипов).
– Требуется напряжения питания одной полярности(нет отдельного отрицательного напряжение питания для операционных усилителей или управляющей логики)
– Вы можете управлять блоком питания с компьютера.  Вы можете считать ток и напряжение, и Вы можете установить их простыми командами.  Это очень полезно для автоматизированного тестирования.
– Небольшая клавиатура  для непосредственного ввода желаемого напряжения и максимального  тока.
– Это действительно небольшой, но мощный источник питания.

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

  Это уменьшает общую сложность для вас, так как программное обеспечение может быть просто загружено.

Основные электрические идеи проекта

Давайте начнем с простейшего стабилизированного блока питания.  Он состоит из 2-х основных частей: транзистора и стабилитрона, который создает опорное напряжение.

Выходное напряжение этой схемы будет составлять Uref минус 0,7 Вольт, которые падают между В и Е на транзисторе.  Стабилитрон и резистор создают опорное напряжение, которое является стабильным, даже если на входе есть скачки напряжения.  Транзистор необходим для коммутации больших токов, которые стабилитрон и резистор не могут обеспечить.  В такой роли транзистор только усиливает ток.  Чтобы расчитать ток на резисторе и стабилитроне нужно выходной ток  поделить на HFE транзистора (HFE число, которое можно найти в таблице с характеристиками транзистора).

Какие проблемы в этой схеме?

– Транзистор сгорит, когда будет короткое замыкание на выходе.
– Она обеспечивает только фиксированное выходное напряжение.

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

Для преодоления этих проблем необходимо использовать «интеллект», который будет регулировать ток на выходе и менять опорное напряжения.  Вот и все (… и это делает схему намного сложнее).

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

В настоящее время все эти операции можно быстро выполнить с помощью микроконтроллера.  Вся прелесть в том, что вы получите в качестве бесплатного дополнения вольтметр и амперметр. Во всяком случае микроконтроллер должен знать  выходные параметры тока и напряжения.   Вам просто нужно отобразить их. Что нам нужно от микроконтроллера:

– АЦП(аналого-цифровой преобразователь) для измерения напряжения и тока.
– ЦАП(цифро-аналоговый преобразователь) для управления транзистором (регулировка опорного напряжения).

Проблема в том, ЦАП должен быть очень быстрым.  Если будет обнаружено короткое замыкание на выходе, то мы должны немедленно уменьшить напряжение на базе транзистора в противном случае он сгорит.  Быстрота реакции должна быть в пределах  миллисекунд (так быстро, как операционный усилитель).

ATmega8 имеет АЦП, который является достаточно быстрым, и на первый взгляд он не имеет ЦАП.  Можно использовать широтно-импульсную модуляцию (ШИМ) и аналоговый фильтр нижних частот, чтобы получить ЦАП, но ШИМ сам по себе слишком медленный в программном отношении для реализации защиты от короткого замыкания.  Как построить быстрый ЦАП?

R-2R матрица

Есть много способов для создания цифро-аналоговых преобразователей, но он должен быть быстрым и простым, который будет легко взаимодействовать с нашим микроконтроллером. Существует схемы преобразователя, известного как “R-2R матрица”.  Он состоит только из резисторов и переключателей. Используются два типа номинала резисторов. Один со значением R и один с удвоенным значением R.

Выше показана схема 3 битного R2R – ЦАП. С помощью логического управления происходит переключение между GND и Vcc.  Логическая единица соединяет переключатель с Vcc, а логический ноль с GND.  Что делает эта схема? Она регулирует напряжение с шагом Vcc / 8. Общее выходное напряжение равно:

Uout = Z * (Vcc / (Zmax +1), где Z разрадность ЦАП (0-7), в данном случае 3-битный.

Внутреннее сопротивление цепи, как видно, будет равно R.

Вместо использования отдельного переключателя можно подключить R-2R матрицу к линиям порта микроконтроллера.

Создание сигнала постоянного тока разного уровня с помощью ШИМ(широтно-импульсная модуляция)

Широтно-импульсная модуляция является методом, когда генерируют импульсы и пропускают их через фильтр нижних частот с частотой среза значительно ниже, чем частота импульсов.   В результате сигнал постоянного тока и напряжения зависит от ширины этих импульсов.

В Atmega8 присутствует аппаратный 16-битных ШИМ. То есть теоретически можно иметь 16-битный ЦАП с помощью небольшого количества компонентов. Чтобы получить реальный сигнал постоянного тока из ШИМ-сигнала надо его отфильтровать, это может быть проблемой при высоких разрешениях. Чем больше надо точности, тем ниже должна быть частота ШИМ-сигнала. Это означает, что нужны конденсаторы большой емкости, а время отклика получается очень медленным. Первая и вторая версии цифрового источника питания постоянного тока были построены на 10 битной R2R матрице. То есть максимальное выходное напряжение может быть установлено за 1024 шага. Если использовать ATmega8 с тактовым генератором частотой 8 МГц и 10 битный ШИМ, то импульсы ШИМ сигнала будут иметь частоту 8MHz/1024 = 7.8KHz. Чтобы получить наиболее хороший сигнал постоянного тока нужно отфильтровать его фильтром второго порядка от 700 Гц или меньше.

Можно представить, что произойдет, если использовать 16-битный ШИМ.  8MHz/65536 = 122Hz.  Ниже 12Hz, то что нужно.

Объединение R2R-матрицы и ШИМ

Можно совместно использовать ШИМ и R2R-матрицу.  В этом проекте мы будем использовать 7-битную R2R-матрицу в сочетании с 5-битным ШИМ-сигналом.  С тактовой частотой контроллера 8 МГц  и 5-битным разрешением мы получим сигнал 250 кГц.  Частота 250 кГц может быть преобразована в сигнал постоянного тока с помощью небольшого числа конденсаторов.

В оригинальной версии цифрового источника питания постоянного тока был использован 10-битный ЦАП на основе R2R-матрице.  В новом дизайне мы используем R2R-матрицу и ШИМ с общим разрешением 12 бит.

Передискретизация

За счет некоторого времени обработки можно увеличить разрешение аналого-цифровой преобразователь (АЦП).  Это называется передискретизацией.  Четверная передискретизация дает результат в двойном разрешении.

  То есть: 4 последовательных образцов могут быть использованы для получения в два раза больше шагов на АЦП.  Теория, лежащая передискретизации объясняется в PDF документ, который вы можете найти в конце этой статьи.  Мы используем передискретизации для напряжения контура управления.  На текущий контур управления мы используем исходное разрешение АЦП как быстрое время отклика здесь более важным, чем разрешение.

Подробное описание проекта

Несколько технических деталей, по-прежнему отсутствуют:

– ЦАП (цифро-аналоговый преобразователь) не может управлять силовым транзистором
– Микроконтроллер работает от 5V, это означает что максимальный выход ЦАП равен 5V, а максимальное выходное напряжение на силовом транзисторе будет 5 – 0.7 = 4.3V.

Чтобы исправить это, мы должны добавить усилители тока и напряжения.

Добавление усилительного каскада на ЦАП

При добавлении усилителя мы должны иметь в виду, что он должен работать с большими сигналами.   Большинство конструкций усилителей (например, для аудио) делается в предположении, что сигналы будут малы по сравнению с напряжением питания.  Так что забудьте все классические книги о расчете усилителя для силового транзистора.

Мы могли бы использовать операционные усилители, но те потребуют дополнительного положительного и отрицательного напряжения питания, которые мы хотим избежать.

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

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

Начнем с силового транзистора. Мы используем BD245 (Q1). В соответствии с характеристиками транзистор имеет HFE = 20 на 3А.  Поэтому он будет потреблять около 150 мА на базе.  Чтобы усилить управляющий ток мы используем связку известную как “Дарлингтон-транзистор”.  Для этого используем транзистор средней мощности.

Как правило, значение HFE должно быть 50-100.  Это позволит уменьшить  необходимый ток до 3 мА (150 мА / 50). Ток 3mA является сигналом поступающим с маломощных транзисторов, таких как BC547/BC557. Транзисторы с таким выходным током очень хорошо подходят для построения усилителя напряжения.

Чтобы получить на выходе 30В мы должны усиливать 5В идущие с ЦАП с коэффициентом 6.  Для этого мы объединяем PNP и NPN транзисторы, как показано выше.  Напряжение коэффициента усиления этой схемы вычисляется:

Vampl = (R6 + R7) / R7

Блок питания может быть доступен в 2-х версиях: с максимальным выходым напряжением 30 и 22В. Сочетание 1K и 6.8K дает коэффициент 7,8, который хорош для версии 30В, но возможно будут некоторые потери на более высоких токах (наша формула является линейной, но в реальности нет).  Для 22В версии мы используем 1K и 4.7K.

Внутреннее сопротивление цепи, как показано на базе BC547 будет:

Rin = hfe1 * S1 * R7 * R5 = 100 * 50 * 1К * 47K = 235 МОм

– HFE примерно от 100 до 200 для BC547 транзистор
– S является наклон кривой усиления транзистора и около 50 [единица = 1/Ohm]

Это более чем достаточно высокой для подключения к нашему ЦАП, который имеет внутреннее сопротивление 5кОм.

Внутреннее эквивалентное сопротивление выхода:

Rout = (R6 + R7) / (S1 + S2 * R5 * R7) = около 2Ом

Достаточно низкое, чтобы использовать транзистор Q2.

R5 связывает базу BC557 с эмиттером, что означает “выключено” для транзистора до ЦАП и BC547 придумать.  R7 и R6 связать основе Q2 сначала к земле, которая отключает выходной каскад Дарлингтона вниз.

Другими словами, каждый компонент в этом усилительном каскаде изначально выключен. Это означает, что мы не получим от транзисторов никаких входных и выходных колебаний при включении или выключении питания. Это очень важный момент. Я видел дорогие промышленные источники питания в которых бывают скачки напряжения при выключении. Такие источники, безусловно, следует избегать, поскольку они могут легко убить чувствительные устройства.

Пределы

Из предыдущего опыта я знаю, что некоторые радиолюбители хотели бы “настроить” устройство под себя. 2 * 0,75 <= 6Вт).  Для больших токов используйте резисторы соответствующей мощности.

Источники питания

Вы можете использовать трансформатор, выпрямитель и конденсаторы большой емкости или можете использовать адаптер для ноутбука  32/24В.  Я пошел по второму варианту, т.к. адаптеры иногда продаются очень дешево (по акции), а некоторые из них обеспечивают 70Вт при 24В или даже 32В постоянного напряжения.

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

Для версии 22В 2.5A нужно: 3A 18В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (18 * 1,4 = 25В)
Для версии 30В 2A нужно: 2.5A 24В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (24 * 1,4 = 33.6В)

Не повредит если использовать более мощный по току трансформатор. Выпрямительный мост из 4 диодов с низким падением напряжения (например, BYV29-500) дает намного лучшие характеристики.

Проверьте ваше устройство на случай плохой изоляции. Убедитесь, что будет не возможно прикоснуться к любой части устройства, где может быть напряжение 110/230 В. Соединить все металлические части корпуса на землю (не GND схемы).

Трансформаторы и адаптеры питания для ноутбуков

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


Другие напряжение и ток

Есть два варианта 22В 2.5A и 30В 2A.  Если вы хотите изменить пределы выходного напряжения или тока(только уменьшить) , то просто измените файл hardware_settings. h.

Пример: Чтобы построить 18В 2.5A версию вы просто меняете  в файле hardware_settings.h максимальное выходное напряжение 18В. Вы можете использовать 20В 2.5A источник питания.

Пример: Чтобы построить 18В 1.5A версию вы просто меняете в файле hardware_settings.h максимальное выходное напряжение до 18В и макс.  ток 1.5A. Вы можете использовать 20В 1.5A источник питания.

Тестирование

Последний элемент установленный на плату должен быть микроконтроллер. Перед тем, как установить его я рекомендовал бы сделать некоторые основные тесты оборудования:

Test1: Подключить небольшое напряжение (достаточно 10В) к входным клеммам платы и убедитесь, что регулятор напряжения выдает ровно 5В постоянного напряжения.

Test2: Измерьте выходное напряжение. Оно должно быть 0В (или близкое к нулю, например, 0,15, и оно будет стремиться к нулю, если вы подключите вместо нагрузки резисторы на 2кОм или 5кОм.)

Test3: Установить микроконтроллер на плату и загрузить программное обеспечение LCD-тест, выполнив команды в директории распакованного пакета tar. gz digitaldcpower.

сделать test_lcd.hex
сделать load_test_lcd

Вы должны увидеть на дисплее надпись: “LCD works”.

Теперь вы можете загрузить рабочее программное обеспечение.

Некоторые слова предупреждения для дальнейшего тестирования с рабочим программным обеспечением: Будьте осторожны с короткими замыканиями, пока вы не испытали функцию ограничения. Безопасным способом проверить ограничение тока является использование резисторов с малым сопротивлением(единицы Ом), например, автомобильные лампочки.

Установите низкое ограничение тока, например, 30мА при 10В.  Вы должны увидеть что напряжение уменьшится сразу почти до нуля, как только вы подключите лампочку на выходе. Существует неисправность в цепи, если напряжение не понижается.  С помощью автомобильной лампы можно защитить цепь питания, даже если есть неисправность, поскольку она не делает короткого замыкания.

Программное обеспечение

Этот раздел даст вам понимание того, как работает программа, и как вы можете использовать знания, чтобы сделать некоторые изменения в ней.   Однако следует помнить, что защита от короткого замыкания сделана программным способом. Если вы сделали где-то ошибку, то защита может не сработать. Если у вас произойдет короткое замыкание на выходе, то ваше устройство окажется в облаке дыма.  Чтобы избежать этого, вы должны использовать 12В автомобильную лампу (см. выше) для проверки защиты от короткого замыкания.

Теперь немного о структуре программы. При первом взгляде на основную программу (файл main.c, скачать в конце этой статьи), вы увидите, что есть только несколько строк кода инициализации, которые выполняются при включении питания, а затем программа входит в бесконечный цикл.

Действительно, в этой программе есть два бесконечных цикла. Одним из них является основной цикл (“while(1){ …}” в файле main.c), а другой представляет собой периодическое прерывание от аналогового цифрового преобразователя (функция “ISR(ADC_vect){…}” в файле analog.c).  После инициализации прерывание выполняется каждые 104мкс.   Все остальные функции и код выполняются в контексте одного из этих циклов.

Прерывание может остановить выполнение задачи основного цикла в любое время.  Затем оно будет обрабатываться, не отвлекаясь на другие задачи, а дальше выполнение задачи снова продолжится в главном цикле на месте, где она была прервана. Из этого следует два вывода:

1. Код прерывания не должен быть слишком длинным, так как он должен завершиться до следующего прерывания. Потому что здесь важно количество инструкций в машинный коде.  Математическая формула, которая может быть записана в виде одной строки CИ-кода может использовать до сотни строк машинного кода.

2. Переменные, которые используются в функции прерывания и в коде главного цикла могут внезапно измениться в середине исполнения.

Все это означает, что такие сложные вещи, как обновление дисплея, проверка кнопок, преобразование тока и напряжения  должны быть сделано в теле главного цикла. В прерываниях мы выполняем задачи критические по времени: измерение тока и напряжения, защита от перегрузки и настройка ЦАП. Чтобы избежать сложных математических расчетов в прерываниях они выполняются в единицах ЦАП. То есть в тех же единицах что и АЦП(целые значения от 0 … 1023 для тока и 0 .. 2047 для напряжения).

Это основная идея программы.  Я также коротко объясню про файлы которые вы найдете в архиве(при условии, что вы знакомы с CИ).

main.c – этот файл содержит основную программу.  Все инициализации производятся здесь.  Основной цикл также реализуется здесь.
analog.c – аналого-цифровой преобразователь, все что работает в контексте прерывания задачи может быть найдено здесь.
dac.c – цифро-аналоговый преобразователь.  Инициализируется из ddcp.c, но использованы только с analog.c
kbd.c – программа обработки данных с клавиатуры
lcd.c – драйвер ЖК-дисплея.  Это специальная версия, в которой не понадобится RW контакт дисплея.

Загрузка и использование программного обеспечения

Для загрузки программного обеспечения в микроконтроллер вам нужен программатор, такой как avrusb500.   Вы можете скачать zip архивы программного обеспечения в конце статьи.

Отредактируйте файл hardware_settings.h и настройте его в соответствии с вашим оборудованием.  Здесь вы также можете сделать калибровку вольтметра и амперметра.  Файл хорошо прокомментирован.

Подключите кабель к программатору и к вашему устройству. Затем установите биты конфигурации на работу микроконтроллера от внутреннего генератора частотой 8МГц. Программа предназначена для этой частоты.

Кнопки

Блок питания имеет 4 кнопки для местного управления напряжением и макс.  током, 5-я кнопка служит для сохранения настроек в памяти EEPROM, чтобы в следующий раз при включении блока были эти же настройки напряжения и тока.

U+ увеличивает напряжение и U – уменьшает. Когда вы держите кнопку, то через некоторое время  показания будут “бежать” быстрее, чтобы легко изменить напряжение в больших пределах. Кнопки I + и I – работают так же.

Дисплей

Индикация дисплея выглядит следующим образом:

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

Некоторые фотографии устройства

Вот некоторые фотографии источника питания который я собирал.

Он очень маленький, но с более широкими возможностями и более мощными, чем многие другие источники питания:

Старые алюминиевые радиаторы от процессоров Pentium хорошо подойдут для охлаждения силовых элементов:

Размещение платы и адаптера внутри корпуса:

Внешний вид устройства:

Вариант двухканального блока питания. Прислал Boogyman:

Источник: tuxgraphics

Обсуждение статьи на форуме.

Скачать архив(Разные версии прошивок, схемы, описание)

Источники питания на микроконтроллерах

Инвертор для однофазного асинхронного электродвигателя (PIC16F73, asm) 29-08-2010
Инвертор предназначен для управления скоростью и направлением вращения выходного вала однофазных асинхронных электродвигателей типа. ..
Просмотров: 6338

Зарядное устройство для NiMh и NiCd аккумуляторов AA AAA (ATmega8, C) 29-08-2010
Зарядное устройство предназначено для зарядки NiMh и NiCd аккумуляторов (АА AAA) методом быстрого заряда. В принципе сейчас много микросхем…
Просмотров: 6991

Повышающий преобразователь с PID регулятором (ATmega8) 01-04-2010
ПИД регулятор или пропорционально-интегрально-дифференциальный  регулятор – это самый совершенный из существующих типов…
Просмотров: 4980

Блок питания 3-20В, 0.1-10А (ATmega8, C) 12-01-2010
Без чего не может обойтись не один радиолюбитель? Правильно – без ХОРОШЕГО блока питания, а ещё лучше ХОРОШЕГО ДВУХКАНАЛЬНОГО блока…
Просмотров: 25545

Устройство защиты от опасных напряжений (трёхфазное) SOKOL UZP-3F (ATmega8) 08-06-2009
Часто причиной выхода из строя дорогостоящего оборудования, в первую очередь промышленного, является отклонение сетевого напряжения…
Просмотров: 3552

Устройство защиты от опасных напряжений в электросети SOKOL UZP-1F (ATmega8) 08-05-2009
Основные возможности устройства: Изменение и индикация на двустрочном ЖК-дисплее действующего значения напряжения в диапазоне…
Просмотров: 2746

Вольтметр и амперметр на микроконтроллере для лабораторного блока питания (ATmega8) 09-08-2008
Не так давно я задался целью сделать себе для работы лабораторный источник питания. Долго думал как реализовать с помощью ШИМ и мощных…
Просмотров: 16064

Блок питания с микроконтроллерным управлением (PIC16F628A, asm) 24-05-2008
Состоит из блока индикации и управления, измерительной части и блока защиты от КЗ. Блок индикации и управления. Индикатор – ЖКИ…
Просмотров: 11121

Моддинг блока питания (ATmega8) 25-04-2008
Наверняка нет радиолюбителя, который бы не делал для собственных нужд лабораторный блок питания (БП). Сложность таких устройств может…
Просмотров: 5814

Стенд для тестирования ATX блоков питания, методом снятия кросс-нагрузочных характеристик (PIC16F84A, asm) 19-04-2008
Цель проекта – разработка аппаратной части и программного обеспечения стенда для автоматического тестирования АТХ блоков питания…
Просмотров: 6309

Два микроконтроллерных регулятора мощности (AT89C2051, asm) 30-01-2008
Рис. 1 Для управления инерционной нагрузкой часто применяются тиристорные регуляторы мощности, работающие по принципу подачи на…
Просмотров: 3878

Зарядное устройство на PIC микроконтроллере (PIC12F675) 24-01-2008
Данное зарядное устройство (ЗУ) автоматизирует процесс зарядки аккумуляторов. Если аккумулятор не разряжен до напряжения 1 В, оно…
Просмотров: 7329

Повышающий преобразователь напряжения на AVR (AT90S2313, asm) 15-01-2008
История создания этого девайса такова: некий господин N, экстремал в годах и большой любитель сплава по горным рекам, утопил в одном из…
Просмотров: 3747

Регулируемый биполярный блок питания на микроконтроллере 0…15 В (PIC16F84A) 08-12-2007
Предлагаю вашему вниманию биполярный блок питания для повседневных нужд радиолюбителей, который имеет регулировку выходного…
Просмотров: 5892

Зарядное устройство для малогабаритных аккумуляторов (AT89C2051, MCP3208, asm) 08-12-2007
Зарядное устройство предназначено для зарядки любых малогабаритных аккумуляторов емкостью до 2А*Ч. Ток выдаваемый зарядным…
Просмотров: 3728

ВОЛЬТАМПЕРМЕТР НА МИКРОКОНТРОЛЛЕРЕ В ЛАБОРАТОРНЫЙ БП

ВОЛЬТАМПЕРМЕТР НА МИКРОКОНТРОЛЛЕРЕ В ЛАБОРАТОРНЫЙ БП

      В наш век прогресса у любого радиолюбителя самый главный прибор при наладке устройств это лабораторный блок питания (БП). БП может быть как самодельный, так и заводского исполнения. Отличаются по сложности, может быть собран всего на одном линейном регуляторе напряжения, например LM317T, может быть собран на операционных усилителях, на транзисторах. БП может иметь защиту от КЗ, или наоборот, регулируемое ограничение выходного тока. А более совершенные БП имеют переключение режима «Защита от КЗ/Ограничение выходного тока». Но почти все БП оборудованы в лучшем случае стрелочным вольтметром. Цифровой вольтметр сложен в изготовлении и настройке, и чаще всего требует применения специализированных микросхем АЦП, например, КР572ПВ2А. 

     Но вся сложность заключается не в изготовлении платы, а в необходимости применения двухполярного питания +5 В, -5 В для питания указанной микросхемы. Для этого нужен отдельный маломощный БП или отдельные обмотки трансформатора. Таким образом, данные АЦП не очень зарекомендовали себя в радиолюбительской практике. Что же происходит? На дворе XXI-й век, а дизайна любительских БП не коснулся прогресс? Необходимо исправить эту ситуацию! Задумавшись над этим, я пришел к выводу, что надо сделать собственное устройство индикации параметров БП на микроконтроллере. В связи с этим и была разработан модуль – цифровой вольтамперметр. Который и будет рассмотрен далее более подробно. Данная разработка предложена вам для повторения и возможной доработки, так как она выполнена в пилотном варианте и требует доработок..(Планировалась функция вычисления потребляемой мощности и отображение на индикаторе, но до этого не дошли лапы, а при испытании обнаружены баги при измерении тока.) Но даже в таком варианте данная схема вполне работоспособна и может быть предложена для повторения даже начинающим радиолюбителям. Основной упор делался на то, чтобы сохранить минимальную сложность, чтобы не оставить за бортом начинающих радиолюбителей. Вот что у меня получилось.

     Схема и рисунок печатной платы представлены далее.

     Устройство обеспечивает следующие параметры и функции:

  • 1. Измерение и индикация выходного напряжения блока питания в диапазоне от 0 до 100 В, с дискретностью 0,01 В
  • 2. Измерение и индикация выходного тока нагрузки блока питания в диапазоне от 0 до 10 А с дискретностью 10 мА
  • 3. Погрешность измерения — не хуже ±0,01 В (напряжение) или ±10 мА (ток)
  • 4. Переключение между режимами измерения напряжение/ток осуществляется с помощью кнопки с фиксацией в нажатом положении.
  • 5. Вывод результатов измерения на большой четырехразрядный индикатор. При этом три разряда используются для отображения значения измеряемой величины, а четвертый – для индикации текущего режима измерения.
  • 6. Особенность моего вольтамперметра – автоматический выбор предела измерения. Смысл в том, что напряжения 0-10 В отображаются с точностью 0,01 В, а напряжения 10-100 В с точностью 0,1 В.
  • 7. Реально делитель напряжения рассчитан с запасом, если измеряемое напряжение увеличивается больше 110 В (ну может кому-то надо меньше, можно исправить это в прошивке), на индикаторе отображаются символы перегрузки – O.L (Over Load). Аналогично сделано и с амперметром, при превышении измеряемого тока больше 11 А вольтамперметр переходит в режим индикации перегрузки.

   Вольтметр осуществляет измерение и индикацию только положительных значений тока и напряжения, причем для измерения тока используется шунт в цепи «минуса». Устройство выполнено на микроконтроллере DD1 (МК) ATMega8-16PU.

 Технические параметры ATMEGA8-16PU:

  • Ядро AVR
  • Разрядность 8
  • Тактовая частота, МГц 16
  • Объем ROM-памяти 8K
  • Объем RAM-памяти 1K
  • Внутренний АЦП, кол-во каналов 23
  • Внутренний ЦАП, кол-во каналов 23
  • Таймер 3 канала
  • Напряжение питания, В 4.5…5.5
  • Температурный диапазон, C 40…+85
  • Тип корпуса DIP28

     Количество дополнительных элементов схемы — минимально. (Более полные данные на МК можно узнать из даташита на него). Резисторы на схеме — типа МЛТ-0,125 или импортные аналоги, электролитический конденсатор типа К50-35 или аналогичный, напряжением не менее 6,3 В, емкость его может отличаться в большую сторону. Конденсатор 0,1 мкФ — керамический импортный. Вместо DA1 7805 можно применить любые аналоги. Максимальное напряжение питания устройства определяется максимальным допустимым входным напряжением этой микросхемы. О типе индикаторов сказано далее. При переработке печатной платы возможно применение иных типов компонентов, в том числе SMD.

     Резистор R… импортный керамический, сопротивление 0,1 Ом 5 Вт, возможно применение более мощных резисторов, если габариты печатки позволяют установить. Также нужно изучить схему стабилизации тока БП, возможно там уже есть токоизмерительный резистор на 0,1 Ом в минусовой шине. Можно будет использовать по возможности этот резистор. Для питания устройства может использоваться либо отдельный стабилизированный источник питания +5 В (тогда микросхема стабилизатора питания DA1 не нужна), либо нестабилизированный источник +7…30 В (с обязательным использованием DA1). Потребляемый устройством ток не превышает 80 мА. Следует обращать внимание на то, что стабильность питающего напряжения косвенно влияет на точность измерения тока и напряжения. Индикация — обычная динамическая, в определенный момент времени светится только один разряд, но из-за инерционности нашего зрения мы видим светящимися все четыре индикатора и воспринимаем как нормальное число.

     Использовал один токоограничительный резистор на один индикатор и отказался от необходимости дополнительных транзисторных ключей, т. к. максимальный ток порта МК в данной схеме не превышает допустимые 40 мА. Путем изменения программы можно реализовать возможность использования индикаторов как с общим анодом, так и с общим катодом. Тип индикаторов может быть любым — как отечественным, так и импортным. В моем варианте применены двухразрядные индикаторы VQE-23 зеленого свечения с высотой цифры 12 мм (это древние, мало-яркие индикаторы, найденные в старых запасах). Здесь приведу его технические данные для справки;

  • Индикатор VQE23, 20x25mm, ОК, зеленый
  • Двухразрядный 7-сегментный индикатор.
  • Тип Общий катод
  • Цвет зеленый (565nm)
  • Яркость 460-1560uCd
  • Десятичные точки 2
  • Номинальный ток сегмента 20mA

     Ниже указано расположение выводов и габаритный чертеж индикатора:

 

  • 1. Анод h2
  • 2. Анод G1
  • 3. Анод A1
  • 4. Анод F1
  • 5. Анод B1
  • 6. Анод B2
  • 7. Анод F2
  • 8. Анод A2
  • 9. Анод G2
  • 10. Анод h3
  • 11. Анод C2
  • 12. Анод E2
  • 13. Анод D2
  • 14. Общ катод К2
  • 15. Общ катод К1
  • 16. Анод D1
  • 17. Анод E1
  • 18. Анод C1

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

• Сначала необходимо пропаять перемычки (переходные отверстия), которых много под индикаторами и возле микроконтроллера. 
• Затем микроконтроллер DD1. Для него можно использовать цанговую панельку, при этом ее надо устанавливать не до упора в плату, чтобы можно было пропаять выводы со стороны микросхемы. Т.к. не было под лапой цанговой панельки, было решено впаять МК намертво в плату. Для начинающих не рекомендую, в случае неудачной прошивки 28-ногий МК очень неудобно заменять.
• Затем все прочие элементы.

     Эксплуатация данного модуля вольтамперметра не требует объяснения. Достаточно правильно подключить питание и измерительные цепи. Разомкнутый джемпер или кнопка – измерение напряжения, замкнутый джемпер или кнопка – измерение тока. Прошивку можно залить в контроллер любым доступным для вас способом. Из Fuse-битов, что необходимо сделать, так это включить встроенный генератор 4 МГц. Ничего страшного не случится, если их не прошить, просто МК будет работать на 1 МГц и цифры на индикаторе будут сильно мерцать. 

     А вот и фотография вольтамперметра:

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

     P.S. В реальном БП данная схема не проверялась, собрана как макетный образец, в будущем планируется сделать простой регулируемый БП с применением данного вольтамперметра. Буду благодарен тем, кто испытает в работе данный вольтамперметр и укажет на существенные и не очень недостатки. За основу взята схема от ARV Моддинг блока питания с сайта радиокот. Прошивку для микроконтроллера ATmega8 c исходными кодами для CodeVision AVR C Compiler 2.04, и плату в формате ARES Proteus можно скачать на ФОРУМЕ. Также прилагается рабочий проект в ISIS Proteus. Материал предоставил – i8086.

Сайт:: Паятель – Блок питания с микроконтроллерным управлением + энкодер.

  Без чего не может обойтись не один радиолюбитель? Правильно – без ХОРОШЕГО блока питания. В этой статье я опишу, как можно сделать неплохой, на мой взгляд, блок питания из обычного компьютерного (AT или ATX). Хотелось что бы параметры блока устанавливались с помощью энкодера. Идея хороша тем, что не нужно покупать дорогие трансформаторы, транзисторы, мотать импульсные трансформаторы и катушки… Достать компьютерный БП на сегодняшний день не составляет большого труда. Например на местном радиорынке средний БП ATX 300W стоит ~8$. Естественно это за б/у. Но следует учитывать, что чем качественнее копьютерный БП – тем качественнее девайс мы получим=) Бывает что китайские БП так плохо укомплектованы/собраны что и смотреть страшно – отсутствуют абсолютно все фильтры на входе, и почти все фильтры на выходе! Так что выбирать нужно внимательно.За основу был взят БП АТХ CODEGEN 300W который был переделан под напряжение 20В и  добавлена плата управления.


Характеристики:

Напряжение – 3 – 20,5 Вольт
Ток – 0,1 – 10А
Пульсации – зависит от модели “исходника”.

В изготовлении такого БП есть одно “НО”: если Вы ни разу не ремонтировали или хотя бы не разбирали компьютерный БП, то изготовить лабораторный будет проблематично. Это связано с тем, что схематических решений компьютерных БП очень много и описать все необходимые переделки я не смогу. В данной статье я опишу как изготовить плату для контроля за напряжением и током, куда её подключить, и что переделать в самом БП, но точной схемы переделки я Вам не дам. Поисковики вам в помощь. Ещё одно “но”: схема рассчитана на использование в БП на основе довольно распространенной микросхемы ШИМ – TL494 (аналоги КА7500, МВ3759, mPC494C, IR3M02, М1114ЕУ).

Схема управления


Схема АТХ CODEGEN 300W


Немного пояснений по первый схеме. В пунктир обведена часть схемы, которая находится на плате БП. Там указаны элементы, которые нужно поставить вместо того, что там стоит. Остальную обвязку TL494 не трогаем.

 В качестве источника напряжения используем канал 12 Вольт, который немного переделаем. Переделка состоит в замене ВСЕХ конденсаторов в цепи 12 Вольт на конденсаторы такой же (или больше) ёмкости, но большего напряжения 25-35 Вольт. Канал 5 Вольт я вообще выкинул – выпаял диодную сборку и все элементы, кроме общего дросселя. Канал -12В также нужно переделать на большее напряжение – мы его тоже будем использовать. Канал 3,3 Вольта тоже нужно убрать, чтобы он нам не мешал. 

Вообще, в идеале нужно оставить только диодную сборку канала 12 Вольт и конденсаторы/дроссели фильтра этого канала. Так же нужно убрать цепи обратной связи по напряжению и току. Если цепь ОС по напряжению найти не трудно – обычно на 1 вывод TL494, то по току (защита от КЗ) обычно приходится искать довольно долго, особенно если нету схемы. Иногда это ОС на 15-16 вывод той же ШИМ, а иногда хитрая связь со средней точки управляющего трансформатора. Но эти цепи необходимо убрать и убедиться, что ничего не блокирует работу нашего БП. Иначе лабораторный не получится. Например – в CODEGEN-е я забыл убрать ОС по току… И не мог поднять напряжение выше 14 Вольт – срабатывала защита по току и выключала БП полностью.

Ещё одно важное замечание: Необходимо изолировать корпус БП от всех внутренних цепей.

Это связано стем, что на корпусе БП – общий провод. Если, совершенно случайно, коснуться выходом “+” на корпус, то получается неплохой феерверк. Т.к. теперь нет защиты от КЗ, а есть только ограничение по току, но оно реализовано по отрицательному выводу. Именно так я сжёг первую модель своего БП.

Хотелось что бы параметры блока устанавливались с помощью энкодера.

Управление напряжением и током стабилизации осуществляется встроенным в контроллер ШИМ-ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению опорных напряжений по напряжению и току и как следствие к изменению напряжения  на выходе БП или тока стабилизации.

При нажатии на кнопку энкодера на индикаторе напротив изменяемого параметра появляется стрелка и при последующем  вращении  изменяется выбранный параметр.

Если в течении некоторого времени не проводить никаких действий система управления переходит в ждущий режим и не реагирует на вращение энкодера.

Установленные параметры сохраняются в энергонезависимой памяти и при последующем включении устанавливаются по последнему выставленному значению.

Индикатор в верхней строке отображает измеренное напряжение и ток.

В нижней строке отображается установленный ток ограничения.

При  выполнении условия Iizm>Iset БП переходит в режим стабилизации тока.


Регулируем напряжение

Устанавливаем ток


Характеристика подопытного БП

Прошивка есть здесь. 

Идея блока питания была взята на сайте    http://hardlock.org.ua/viewtopic.php?f=10&t=3

C Ув. SONATA

E-mail: [email protected]

Все вопросы на – форум = )


Блок питания регулируемый с полным цифровым управлением

Хочу поделиться схемой универсального лабораторного блока питания 0-22 В, 0-2,5 А. БП имеет полностью цифровой контроль. Устройство работает безупречно уже третий год, только внес изменения в программу управления.

Схема цифрового БП на Atmega8

Сама схема проста, но, к сожалению, дороговата в сборке.

Нужны будут резисторы с допуском 1%, трансформатор подходящий, корпус, микроконтроллеры, ну и возня с калибровкой всего устройства. Но эффект того стоит.


Правда кнопки вышли слишком низко и пришлось подрезать переднюю часть корпуса — не очень эстетично. Но это прототип. Потом будет лицевая декоративная панель, как найду на это время 🙂

Дополнительным преимуществом конструкции является автономно управляемый вентилятор. Измерение температуры радиатора на ОУ с полевым транзистором работает в системе сравнения. Думаете это лишнее? А вот и нет. Вентилятор особенно полезен при зарядке аккумулятора автомобиля, так как идёт долговременный ток более 3-х Ампер.

Тут был использован тороидальный трансформатор с такими параметрами:

  • Трансформатор TTS-50,
  • первичка: 220 В,
  • вторичка: 17 В, 3 А
  • Мощность: 50 ВА.

Уровни напряжения на физическом интерфейсе RS232 составляют +/- 10 В. Atmega8 работает с 0-5 В. Можно использовать стабилитрон для ограничения напряжения, но оказывается это на самом деле не нужно.

Atmega8 имеет внутреннюю защиту от перенапряжения и пониженного напряжения. Просто нужно убедиться что ток достаточно мал, чтобы не сжечь эту защиту. Все что нужно для аппаратного обеспечения, это два 4.7 кОм резистора.

Для дистанционного управления источником питания с помощью цифровых команд будем использовать связь по протоколу I2C. Эта I2C немного медленная, но мы все равно не посылаем длинные команды. Команда для установки напряжения может быть очень короткой. И её длина составляет всего несколько байтов.

Источник питания на Atmega8 – Готовые устройства – Каталог статей – Микроконтроллеры

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

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

Этот цифровой источник питания постоянного тока был очень успешным продуктом, и  сейчас доступна его третья версия. Он по-прежнему основан на той же идее, что и первый вариант, но поставляется с рядом хороших улучшений.

Введение

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

– На дисплее отображаются текущие измеренные значения напряжения и тока. 
– На дисплее отображается предварительно заданные пределы напряжения и тока. 
– Используются только стандартные компоненты(без специальных чипов). 
– Требуется напряжения питания одной полярности(нет отдельного отрицательного напряжение питания для операционных усилителей или управляющей логики) 
– Вы можете управлять блоком питания с компьютера.  Вы можете считать ток и напряжение, и Вы можете установить их простыми командами.  Это очень полезно для автоматизированного тестирования. 
– Небольшая клавиатура  для непосредственного ввода желаемого напряжения и максимального  тока. 
– Это действительно небольшой, но мощный источник питания.

Возможно удалить некоторые компоненты или добавить дополнительные функции?  Хитрость заключается в том, чтобы переместить функциональность аналоговых компонентов, таких как операционные усилители в микроконтроллер.  Иными словами, повышается сложность программного обеспечения, алгоритмов и уменьшается аппаратная сложность.  Это уменьшает общую сложность для вас, так как программное обеспечение может быть просто загружено.

Основные электрические идеи проекта

Давайте начнем с простейшего стабилизированного блока питания.  Он состоит из 2-х основных частей: транзистора и стабилитрона, который создает опорное напряжение.


Выходное напряжение этой схемы будет составлять Uref минус 0,7 Вольт, которые падают между В и Е на транзисторе.  Стабилитрон и резистор создают опорное напряжение, которое является стабильным, даже если на входе есть скачки напряжения.  Транзистор необходим для коммутации больших токов, которые стабилитрон и резистор не могут обеспечить.  В такой роли транзистор только усиливает ток.  Чтобы расчитать ток на резисторе и стабилитроне нужно выходной ток  поделить на HFE транзистора (HFE число, которое можно найти в таблице с характеристиками транзистора).

Какие проблемы в этой схеме? 

– Транзистор сгорит, когда будет короткое замыкание на выходе. 
– Она обеспечивает только фиксированное выходное напряжение.

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

Для преодоления этих проблем необходимо использовать «интеллект», который будет регулировать ток на выходе и менять опорное напряжения.  Вот и все (… и это делает схему намного сложнее).

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

В настоящее время все эти операции можно быстро выполнить с помощью микроконтроллера.  Вся прелесть в том, что вы получите в качестве бесплатного дополнения вольтметр и амперметр. Во всяком случае микроконтроллер должен знать  выходные параметры тока и напряжения.  Вам просто нужно отобразить их. Что нам нужно от микроконтроллера:

– АЦП(аналого-цифровой преобразователь) для измерения напряжения и тока. 
– ЦАП(цифро-аналоговый преобразователь) для управления транзистором (регулировка опорного напряжения).

Проблема в том, ЦАП должен быть очень быстрым.  Если будет обнаружено короткое замыкание на выходе, то мы должны немедленно уменьшить напряжение на базе транзистора в противном случае он сгорит.  Быстрота реакции должна быть в пределах  миллисекунд (так быстро, как операционный усилитель).

ATmega8 имеет АЦП, который является достаточно быстрым, и на первый взгляд он не имеет ЦАП.  Можно использовать широтно-импульсную модуляцию (ШИМ) и аналоговый фильтр нижних частот, чтобы получить ЦАП, но ШИМ сам по себе слишком медленный в программном отношении для реализации защиты от короткого замыкания.  Как построить быстрый ЦАП?

R-2R матрица

Есть много способов для создания цифро-аналоговых преобразователей, но он должен быть быстрым и простым, который будет легко взаимодействовать с нашим микроконтроллером. Существует схемы преобразователя, известного как “R-2R матрица”.  Он состоит только из резисторов и переключателей. Используются два типа номинала резисторов. Один со значением R и один с удвоенным значением R.


Выше показана схема 3 битного R2R – ЦАП. С помощью логического управления происходит переключение между GND и Vcc.  Логическая единица соединяет переключатель с Vcc, а логический ноль с GND.  Что делает эта схема? Она регулирует напряжение с шагом Vcc / 8. Общее выходное напряжение равно:

Uout = Z * (Vcc / (Zmax +1), где Z разрадность ЦАП (0-7), в данном случае 3-битный.

Внутреннее сопротивление цепи, как видно, будет равно R.

Вместо использования отдельного переключателя можно подключить R-2R матрицу к линиям порта микроконтроллера.

Создание сигнала постоянного тока разного уровня с помощью ШИМ(широтно-импульсная модуляция)

Широтно-импульсная модуляция является методом, когда генерируют импульсы и пропускают их через фильтр нижних частот с частотой среза значительно ниже, чем частота импульсов.  В результате сигнал постоянного тока и напряжения зависит от ширины этих импульсов.


В Atmega8 присутствует аппаратный 16-битных ШИМ. То есть теоретически можно иметь 16-битный ЦАП с помощью небольшого количества компонентов. Чтобы получить реальный сигнал постоянного тока из ШИМ-сигнала надо его отфильтровать, это может быть проблемой при высоких разрешениях. Чем больше надо точности, тем ниже должна быть частота ШИМ-сигнала. Это означает, что нужны конденсаторы большой емкости, а время отклика получается очень медленным. Первая и вторая версии цифрового источника питания постоянного тока были построены на 10 битной R2R матрице. То есть максимальное выходное напряжение может быть установлено за 1024 шага. Если использовать ATmega8 с тактовым генератором частотой 8 МГц и 10 битный ШИМ, то импульсы ШИМ сигнала будут иметь частоту 8MHz/1024 = 7.8KHz. Чтобы получить наиболее хороший сигнал постоянного тока нужно отфильтровать его фильтром второго порядка от 700 Гц или меньше.

Можно представить, что произойдет, если использовать 16-битный ШИМ.  8MHz/65536 = 122Hz.  Ниже 12Hz, то что нужно.

Объединение R2R-матрицы и ШИМ

Можно совместно использовать ШИМ и R2R-матрицу.  В этом проекте мы будем использовать 7-битную R2R-матрицу в сочетании с 5-битным ШИМ-сигналом.  С тактовой частотой контроллера 8 МГц  и 5-битным разрешением мы получим сигнал 250 кГц.  Частота 250 кГц может быть преобразована в сигнал постоянного тока с помощью небольшого числа конденсаторов.

В оригинальной версии цифрового источника питания постоянного тока был использован 10-битный ЦАП на основе R2R-матрице.  В новом дизайне мы используем R2R-матрицу и ШИМ с общим разрешением 12 бит.

Передискретизация

За счет некоторого времени обработки можно увеличить разрешение аналого-цифровой преобразователь (АЦП).  Это называется передискретизацией.  Четверная передискретизация дает результат в двойном разрешении.  То есть: 4 последовательных образцов могут быть использованы для получения в два раза больше шагов на АЦП.  Теория, лежащая передискретизации объясняется в PDF документ, который вы можете найти в конце этой статьи.  Мы используем передискретизации для напряжения контура управления.  На текущий контур управления мы используем исходное разрешение АЦП как быстрое время отклика здесь более важным, чем разрешение.

Подробное описание проекта


Несколько технических деталей, по-прежнему отсутствуют: 

– ЦАП (цифро-аналоговый преобразователь) не может управлять силовым транзистором 
– Микроконтроллер работает от 5V, это означает что максимальный выход ЦАП равен 5V, а максимальное выходное напряжение на силовом транзисторе будет 5 – 0.7 = 4.3V.

Чтобы исправить это, мы должны добавить усилители тока и напряжения.

Добавление усилительного каскада на ЦАП

При добавлении усилителя мы должны иметь в виду, что он должен работать с большими сигналами.  Большинство конструкций усилителей (например, для аудио) делается в предположении, что сигналы будут малы по сравнению с напряжением питания.  Так что забудьте все классические книги о расчете усилителя для силового транзистора.

Мы могли бы использовать операционные усилители, но те потребуют дополнительного положительного и отрицательного напряжения питания, которые мы хотим избежать.

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

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

Начнем с силового транзистора. Мы используем BD245 (Q1). В соответствии с характеристиками транзистор имеет HFE = 20 на 3А.  Поэтому он будет потреблять около 150 мА на базе.  Чтобы усилить управляющий ток мы используем связку известную как “Дарлингтон-транзистор”.  Для этого используем транзистор средней мощности. Как правило, значение HFE должно быть 50-100.  Это позволит уменьшить  необходимый ток до 3 мА (150 мА / 50). Ток 3mA является сигналом поступающим с маломощных транзисторов, таких как BC547/BC557. Транзисторы с таким выходным током очень хорошо подходят для построения усилителя напряжения.


Чтобы получить на выходе 30В мы должны усиливать 5В идущие с ЦАП с коэффициентом 6.  Для этого мы объединяем PNP и NPN транзисторы, как показано выше.  Напряжение коэффициента усиления этой схемы вычисляется:

Vampl = (R6 + R7) / R7

Блок питания может быть доступен в 2-х версиях: с максимальным выходым напряжением 30 и 22В. Сочетание 1K и 6.8K дает коэффициент 7,8, который хорош для версии 30В, но возможно будут некоторые потери на более высоких токах (наша формула является линейной, но в реальности нет).  Для 22В версии мы используем 1K и 4.7K.

Внутреннее сопротивление цепи, как показано на базе BC547 будет: 

Rin = hfe1 * S1 * R7 * R5 = 100 * 50 * 1К * 47K = 235 МОм

– HFE примерно от 100 до 200 для BC547 транзистор
– S является наклон кривой усиления транзистора и около 50 [единица = 1/Ohm]

Это более чем достаточно высокой для подключения к нашему ЦАП, который имеет внутреннее сопротивление 5кОм. 

Внутреннее эквивалентное сопротивление выхода:

Rout = (R6 + R7) / (S1 + S2 * R5 * R7) = около 2Ом

Достаточно низкое, чтобы использовать транзистор Q2.

R5 связывает базу BC557 с эмиттером, что означает “выключено” для транзистора до ЦАП и BC547 придумать.  R7 и R6 связать основе Q2 сначала к земле, которая отключает выходной каскад Дарлингтона вниз.

Другими словами, каждый компонент в этом усилительном каскаде изначально выключен. Это означает, что мы не получим от транзисторов никаких входных и выходных колебаний при включении или выключении питания. Это очень важный момент. Я видел дорогие промышленные источники питания в которых бывают скачки напряжения при выключении. Такие источники, безусловно, следует избегать, поскольку они могут легко убить чувствительные устройства.

Пределы

Из предыдущего опыта я знаю, что некоторые радиолюбители хотели бы “настроить” устройство под себя. Вот список аппаратных ограничений и пути их преодоления:

BD245B:  10A 80Вт. 2 * 0,75 <= 6Вт).  Для больших токов используйте резисторы соответствующей мощности.

Источники питания

Вы можете использовать трансформатор, выпрямитель и конденсаторы большой емкости или можете использовать адаптер для ноутбука  32/24В.  Я пошел по второму варианту, т.к. адаптеры иногда продаются очень дешево (по акции), а некоторые из них обеспечивают 70Вт при 24В или даже 32В постоянного напряжения.

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

Для версии 22В 2.5A нужно: 3A 18В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (18 * 1,4 = 25В)
Для версии 30В 2A нужно: 2.5A 24В трансформатор, выпрямитель и 2200мкФ или 3300мкФ конденсатор.  (24 * 1,4 = 33.6В)

Не повредит если использовать более мощный по току трансформатор. Выпрямительный мост из 4 диодов с низким падением напряжения (например, BYV29-500) дает намного лучшие характеристики.

Проверьте ваше устройство на случай плохой изоляции. Убедитесь, что будет не возможно прикоснуться к любой части устройства, где может быть напряжение 110/230 В. Соединить все металлические части корпуса на землю (не GND схемы).

Трансформаторы и адаптеры питания для ноутбуков

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


Другие напряжение и ток

Есть два варианта 22В 2.5A и 30В 2A.  Если вы хотите изменить пределы выходного напряжения или тока(только уменьшить) , то просто измените файл hardware_settings.h.

Пример: Чтобы построить 18В 2.5A версию вы просто меняете  в файле hardware_settings.h максимальное выходное напряжение 18В. Вы можете использовать 20В 2.5A источник питания.

Пример: Чтобы построить 18В 1.5A версию вы просто меняете в файле hardware_settings.h максимальное выходное напряжение до 18В и макс.  ток 1.5A. Вы можете использовать 20В 1.5A источник питания.

Тестирование

Последний элемент установленный на плату должен быть микроконтроллер. Перед тем, как установить его я рекомендовал бы сделать некоторые основные тесты оборудования:

Test1: Подключить небольшое напряжение (достаточно 10В) к входным клеммам платы и убедитесь, что регулятор напряжения выдает ровно 5В постоянного напряжения.

Test2: Измерьте выходное напряжение. Оно должно быть 0В (или близкое к нулю, например, 0,15, и оно будет стремиться к нулю, если вы подключите вместо нагрузки резисторы на 2кОм или 5кОм.)

Test3: Установить микроконтроллер на плату и загрузить программное обеспечение LCD-тест, выполнив команды в директории распакованного пакета tar.gz digitaldcpower. 

сделать test_lcd.hex
сделать load_test_lcd

Вы должны увидеть на дисплее надпись: “LCD works”.

Теперь вы можете загрузить рабочее программное обеспечение.

Некоторые слова предупреждения для дальнейшего тестирования с рабочим программным обеспечением: Будьте осторожны с короткими замыканиями, пока вы не испытали функцию ограничения. Безопасным способом проверить ограничение тока является использование резисторов с малым сопротивлением(единицы Ом), например, автомобильные лампочки.

Установите низкое ограничение тока, например, 30мА при 10В.  Вы должны увидеть что напряжение уменьшится сразу почти до нуля, как только вы подключите лампочку на выходе. Существует неисправность в цепи, если напряжение не понижается.  С помощью автомобильной лампы можно защитить цепь питания, даже если есть неисправность, поскольку она не делает короткого замыкания.

Программное обеспечение

Этот раздел даст вам понимание того, как работает программа, и как вы можете использовать знания, чтобы сделать некоторые изменения в ней.  Однако следует помнить, что защита от короткого замыкания сделана программным способом. Если вы сделали где-то ошибку, то защита может не сработать. Если у вас произойдет короткое замыкание на выходе, то ваше устройство окажется в облаке дыма.  Чтобы избежать этого, вы должны использовать 12В автомобильную лампу (см. выше) для проверки защиты от короткого замыкания.

Теперь немного о структуре программы. При первом взгляде на основную программу (файл main.c, скачать в конце этой статьи), вы увидите, что есть только несколько строк кода инициализации, которые выполняются при включении питания, а затем программа входит в бесконечный цикл.

Действительно, в этой программе есть два бесконечных цикла. Одним из них является основной цикл (“while(1){ …}” в файле main.c), а другой представляет собой периодическое прерывание от аналогового цифрового преобразователя (функция “ISR(ADC_vect){…}” в файле analog.c).  После инициализации прерывание выполняется каждые 104мкс.  Все остальные функции и код выполняются в контексте одного из этих циклов.


Прерывание может остановить выполнение задачи основного цикла в любое время.  Затем оно будет обрабатываться, не отвлекаясь на другие задачи, а дальше выполнение задачи снова продолжится в главном цикле на месте, где она была прервана. Из этого следует два вывода: 

1. Код прерывания не должен быть слишком длинным, так как он должен завершиться до следующего прерывания. Потому что здесь важно количество инструкций в машинный коде.  Математическая формула, которая может быть записана в виде одной строки CИ-кода может использовать до сотни строк машинного кода. 

2. Переменные, которые используются в функции прерывания и в коде главного цикла могут внезапно измениться в середине исполнения.

Все это означает, что такие сложные вещи, как обновление дисплея, проверка кнопок, преобразование тока и напряжения  должны быть сделано в теле главного цикла. В прерываниях мы выполняем задачи критические по времени: измерение тока и напряжения, защита от перегрузки и настройка ЦАП. Чтобы избежать сложных математических расчетов в прерываниях они выполняются в единицах ЦАП. То есть в тех же единицах что и АЦП(целые значения от 0 … 1023 для тока и 0 .. 2047 для напряжения).

Это основная идея программы.  Я также коротко объясню про файлы которые вы найдете в архиве(при условии, что вы знакомы с CИ).

main.c – этот файл содержит основную программу.  Все инициализации производятся здесь.  Основной цикл также реализуется здесь.
analog.c – аналого-цифровой преобразователь, все что работает в контексте прерывания задачи может быть найдено здесь.
dac.c – цифро-аналоговый преобразователь.  Инициализируется из ddcp.c, но использованы только с analog.c
kbd.c – программа обработки данных с клавиатуры
lcd.c – драйвер ЖК-дисплея.  Это специальная версия, в которой не понадобится RW контакт дисплея.

Загрузка и использование программного обеспечения

Для загрузки программного обеспечения в микроконтроллер вам нужен программатор, такой как avrusb500.  Вы можете скачать zip архивы программного обеспечения в конце статьи.

Отредактируйте файл hardware_settings.h и настройте его в соответствии с вашим оборудованием.  Здесь вы также можете сделать калибровку вольтметра и амперметра.  Файл хорошо прокомментирован.

Подключите кабель к программатору и к вашему устройству. Затем установите биты конфигурации на работу микроконтроллера от внутреннего генератора частотой 8МГц. Программа предназначена для этой частоты.

Кнопки

Блок питания имеет 4 кнопки для местного управления напряжением и макс.  током, 5-я кнопка служит для сохранения настроек в памяти EEPROM, чтобы в следующий раз при включении блока были эти же настройки напряжения и тока.


U+ увеличивает напряжение и U – уменьшает. Когда вы держите кнопку, то через некоторое время  показания будут “бежать” быстрее, чтобы легко изменить напряжение в больших пределах. Кнопки I + и I – работают так же.

Дисплей

Индикация дисплея выглядит следующим образом:


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


Некоторые фотографии устройства

Вот некоторые фотографии источника питания который я собирал.

Он очень маленький, но с более широкими возможностями и более мощными, чем многие другие источники питания:


Старые алюминиевые радиаторы от процессоров Pentium хорошо подойдут для охлаждения силовых элементов:


Размещение платы и адаптера внутри корпуса:


Внешний вид устройства:


Вариант двухканального блока питания. Прислал Boogyman:


 

АРХИВ:Скачать

СХЕМА ЛАБОРАТОРНОГО ИСТОЧНИКА ПИТАНИЯ

   Необходимость в лабораторном источнике питания с возможностью регулировки выходного напряжения и порога срабатывания защиты по току потребления нагрузкой возникла давно. Проработав кучу материала на просторах интернета и набив шишки на собственном опыте, остановился на нижеследующей конструкции. Диапазон регулирования напряжения 0-30 Вольт, ток отдаваемый в нагрузку определяется в основном примененным трансформатором, в моём варианте спокойно снимаю более 5-ти Ампер. Есть регулировка порога срабатывания защиты по току потребляемого нагрузкой, а также от короткого замыкания в нагрузке. Индикация выполнена на ЖК дисплее LSD16х2. Единственным недостатком данной конструкции считаю невозможность трансформации данного источника питания в двуполярный и некорректность показания потребляемого тока нагрузкой в случае объединения полюсов – вместе. В мои цели ставилась задача питать в основном схемы однополярного питания по сему даже двух каналов, как говорится, с головой. Итак, схема узла индикации на МК с его вышеописанными функциями:

   Измерения силы тока и напряжения I – до 10 А, U – до 30 В, схема имеет два канала, на фото показания напряжения до 78L05 и после, имеется возможность калибровки под имеющиеся шунты в наличии. Несколько прошивок для ATMega8 есть на форуме, проверенны мной не все. В схеме в качестве операционного усилителя использована микросхема МСР602, ее возможная замена – LM2904 или LM358, тогда подключать питание ОУ нужно к 12 вольтам. На плате заменил перемычкой диод по входу стабилизатора и дроссель по питанию, стабилизатор необходимо ставить на радиатор – греется значительно.

   Для корректного отображения величин токов необходимо обратить внимание на сечение и длину проводников включенных от шунта к измерительной части. Совет такой – длина минимальная, сечение максимальное. Для самого лабораторного источника питания, была собрана схема: 

   Завелась сразу же, регулировка выходного напряжения плавная, так же, как и порог защиты по току. Печать под ЛУТ пришлось подгонять, вот что получилось: 

   Подключение переменных резисторов: 

Расположение элементов на плате БП

Цоколевка некоторых полупроводников

 


Перечень элементов лабораторного ИП:

R1 = 2,2 KOhm 1W

R2 = 82 Ohm 1/4W
R3 = 220 Ohm 1/4W
R4 = 4,7 KOhm 1/4W
R5, R6, R13, R20, R21 = 10 KOhm 1/4W
R7 = 0,47 Ohm 5W
R8, R11 = 27 KOhm 1/4W
R9, R19 = 2,2 KOhm 1/4W
R10 = 270 KOhm 1/4W
R12, R18 = 56KOhm 1/4W
R14 = 1,5 KOhm 1/4W
R15, R16 = 1 KOhm 1/4W
R17 = 33 Ohm 1/4W
R22 = 3,9 KOhm 1/4W
RV1 = 100K trimmer
P1, P2 = 10KOhm
C1 = 3300 uF/50V
C2, C3 = 47uF/50V
C4 = 100nF polyester
C5 = 200nF polyester
C6 = 100pF ceramic
C7 = 10uF/50V
C8 = 330pF ceramic
C9 = 100pF ceramic
D1, D2, D3, D4 = 1N5402,3,4 diode 2A – RAX GI837U
D5, D6 = 1N4148
D7, D8 = 5,6V Zener
D9, D10 = 1N4148
D11 = 1N4001 diode 1A
Q1 = BC548, NPN transistor or BC547
Q2 = 2N2219 NPN transistor
Q3 = BC557, PNP transistor or BC327
Q4 = 2N3055 NPN power transistor
U1, U2, U3 = TL081
D12 = LED

   Готовые платы выглядят в моём варианте так:

 

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

 

 

   После сборки, первое: выставляем фьюзы именно так: 

 

 

 

   Собрав один канал, убедился в его работоспособности:

   Пока сегодня включен левый канал измерительной части, правая висит в воздухе, посему ток показыват почти максимум. Кулер правого канала ещё не поставил, но суть ясна из левого.

   Вместо диодов пока что в левом канале (он снизу под платой правого) диодного моста который в ходе экспериментов выкинул, хоть и 10А, поставил мост на 35А на радиатор под кулер.

   Провода второго канала вторички трансформатора пока висят в воздухе.

   Итог: напряжение стабилизации прыгает в пределах 0.01 вольт во всем диапазоне напряжений, максимальный ток который смог снять – 9.8 А, хватит с головой, тем более, что рассчитывал получить не больше трёх ампер. Погрешность измерения – в пределах 1%. 

   Недостаток: данный блок питания не могу трансформировать в двухполярный из-за общего минуса измерительной части, да и поразмыслив решил, что оконечники мне не настраивать, поэтому отказался от схемы полностью независимых каналов. Ещё одним из недостатков, на мой взгляд, данной измерительной схемы считаю то, что если соединить полюса – вместе по выходу мы теряем информативность по току потребления нагрузкой из-за общего корпуса измерительной части. Происходит это в следствии запараллеливания шунтов обоих каналов. А в общем источник питания получился совсем не плохой и скоро будет статья о его модернизации. Автор конструкции: ГУБЕРНАТОР

   Форум по схеме

   Форум по обсуждению материала СХЕМА ЛАБОРАТОРНОГО ИСТОЧНИКА ПИТАНИЯ

Блок питания 22V 2,5A Плата управления Atmega8 – Share Project

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

Правильный настольный блок питания с электронной стабилизацией – важное, но тоже дорогостоящее устройство. Используя конструкцию на основе микроконтроллера, мы можем создать источник питания, который имеет множество дополнительных функций, прост в сборке и очень доступен.

Основная идея электрического дизайна

Распространенное заблуждение о цифровых источниках питания состоит в том, что люди предполагают, что все цифровое, и не понимают, как это может работать со схемой на основе микроконтроллера. Нам нужно чистое и стабильное аналоговое напряжение на выходе, и для этого мы используем аналоговые компоненты. Только аналоговые компоненты достаточно быстры, чтобы устранить рябь из-за изменений нагрузки или любого оставшегося шума 50/60 Гц.

Напряжение эмиттера на транзисторе связано с напряжением на базе, а не с входным напряжением на коллекторе.Однако основной ток течет от C к E. Эта простая схема вырабатывает чистое постоянное напряжение. Он устраняет шум, проникающий через штырь коллектора, и контролирует изменения нагрузки на стороне эмиттера.


Другими словами, наш цифровой источник питания имеет полностью аналоговую систему управления для быстрого реагирования на изменения нагрузки и напряжения, и мы накладываем вторую цифровую систему управления для более интересных функций, которые необходимы настольному источнику питания. Давайте удалим аккумулятор из этой схемы и построим простейший источник питания с электронной стабилизацией.Он состоит из 2 основных частей: транзистор и опорного напряжения, генерируемого с Z-диода.


Выходное напряжение этой цепи Uref – 0,7В. 0,7 В – это примерно падение напряжения между B и E на транзисторе. Z-диод и резистор генерации опорного напряжения, который является стабильным, даже если входной колеблется и шумный. Транзистор необходим для работы с более высокими токами, чем могут обеспечить только Z-диод и резистор. В этой конфигурации транзистор просто усиливает ток.Ток, который должен обеспечивать резистор и Z-диод, равен выходному току, деленному на hfe (hef – это число, которое вы можете найти в таблице данных транзистора).

Какие проблемы с этой схемой?

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

Для преодоления этих проблем, нужно немного «интеллект», который будет регулировать ток на выходе и переменного опорного напряжения.Вот и все (… и это значительно усложняет схему).

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

Сегодня микроконтроллеры настолько быстры, что все это можно легко сделать программно. Прелесть в том, что в качестве побочного эффекта вы получаете бесплатно вольтметр и амперметр. Контур управления в микроконтроллерах так или иначе должен знать значения напряжения и тока.Вам просто нужно отобразить их. Что нам нужно от микроконтроллера:

Проблема в том, что DA-преобразователь должен быть очень быстрым. Если на выходе обнаружено короткое замыкание, мы должны немедленно снизить напряжение на основе транзистора, иначе он умрет. Быстро означает в пределах миллисекунд (так же быстро, как операционный усилитель).

ATmega8 имеет более чем достаточно быстрый аналого-цифровой преобразователь, но на первый взгляд в нем нет DA-преобразователя. Можно использовать широтно-импульсную модуляцию (ШИМ) и аналоговый фильтр нижних частот, чтобы получить ЦАП, но одна ШИМ слишком медленная, чтобы реализовать защиту от короткого замыкания в программном обеспечении.Как построить быстрый DA-преобразователь?

Релейная диаграмма R-2R

Существует много способов создания цифро-аналогового преобразователя, но нам нужен быстрый и дешевый преобразователь, который легко подключается к нашему микроконтроллеру. Существует схема DA-преобразователя, известная как «лестница R-2R». Он состоит только из резисторов и переключателей. Есть два типа резисторов. Один со значением R, а другой с удвоенным значением R.


Выше показан 3-битный преобразователь R2R-DA. Логика управления перемещает переключатели между GND и Vcc.Цифровая «единица» соединяет переключатель с Vcc, а цифровой «ноль» – с GND. Что делает эта схема? Он выдает напряжения с шагом Vcc / 8. Обычно выходное напряжение равно Z * (Vcc / (Zmax + 1), где Z – цифровое число. В случае 3-битного аналого-цифрового преобразователя это: 0-7.

Внутреннее сопротивление схемы, как видно из выходной сигнал равен R.

Вместо использования отдельных переключателей мы можем подключить лестницу R-2R к выходным линиям микроконтроллера.

Генерация переменного сигнала постоянного тока с помощью ШИМ (широтно-импульсной модуляции)

Широтно-импульсная модуляция – это метод, в котором вы можете генерировать импульсы и пропускать их через фильтр нижних частот с частотой среза намного ниже, чем частота импульсов.Это приводит к сигналу постоянного тока, а напряжение зависит от ширины этих импульсов.


Использование ШИМ для генерации переменного напряжения постоянного тока.

Atmega8 обеспечивает аппаратную 16-битную ШИМ. То есть: теоретически у вас может быть 16-битный ЦАП с очень небольшим количеством компонентов. Чтобы получить истинный сигнал постоянного тока из сигнала ШИМ, необходимо усреднить его с помощью фильтра, а это может быть проблемой при высоких разрешениях. Чем выше точность, тем ниже частота сигнала ШИМ. Это снова означает, что вам нужны большие конденсаторы, а время отклика очень медленное.Первое и второе поколение цифровых источников питания постоянного тока имели 10-битный ЦАП с R2R-схемой. То есть: выход может быть установлен с шагом 1024. Если вы запустите atmega на частоте 8 МГц и используете 10-битный ЦАП с ШИМ, тогда импульсы сигнала ШИМ будут иметь частоту 8 МГц / 1024 = 7,8 кГц. Чтобы получить из этого несколько хороший сигнал постоянного тока, вам необходимо отфильтровать его с помощью фильтра нижних частот второго порядка с частотой 700 Гц или меньше.

Вы можете себе представить, что произойдет, если вы используете 16-битный ШИМ. 8 МГц / 65536 = 122 Гц. Для этого понадобится НЧ 12 Гц.

Объединение R2R-лестницы и PWM

Возможно объединение идеи PWM и R2R-лестницы.В этой конструкции мы будем использовать 7-битную R2R-лестницу в сочетании с 5-битным ШИМ-сигналом. При системной частоте 8 МГц и разрешении 5 бит мы получим сигнал 250 кГц. 250 кГц можно даже преобразовать с помощью небольших конденсаторов в сигнал постоянного тока.

Первоначальная версия цифрового блока питания постоянного тока tuxgraphics имела 10-битный ЦАП, основанный на схеме R2R. В этом новом дизайне мы используем R2R-лестницу и ШИМ с общим разрешением 12 бит.

Передискретизация

За счет некоторого времени обработки можно увеличить разрешающую способность аналого-цифрового преобразователя (АЦП).Это называется передискретизацией.
Четырехкратная передискретизация дает двойное разрешение. То есть: можно использовать 4 последовательных отсчета, чтобы получить вдвое больше шагов на АЦП. Теория передискретизации объясняется в PDF-документе, который вы можете найти в конце этой статьи. Мы используем передискретизацию для контура регулирования напряжения. Для токового контура управления мы используем исходное разрешение АЦП, поскольку быстрое время отклика здесь более важно, чем разрешение.

Более детальный дизайн

Итак, теперь более детальный дизайн вышеуказанной схемы.


Некоторые технические детали все еще отсутствуют:

  • ЦАП (цифро-аналоговый преобразователь) не может обеспечить ток для управления силовым транзистором

  • Микроконтроллер работает при 5 В, поэтому максимальный выход ЦАП составляет 5 В, что означает, что максимальное выходное напряжение за силовым транзистором будет 5-0,7 = 4,3 В.

Чтобы исправить это, мы должны добавить усилители тока и напряжения.

Добавление усилительного каскада к ЦАП

Добавляя усилители, мы должны помнить, что они должны работать с большими сигналами.Большинство конструкций усилителей (например, для аудио) сделаны в предположении, что сигналы будут слабыми по сравнению с напряжением питания. Так что забудьте все классические книги о конструкции транзисторных усилителей.

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

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

На схеме ниже показан каскад усилителя, который подходит для этой цели.

Начнем с силового транзистора. Мы используем BD245 (Q1). Согласно паспорту этот транзистор имеет hfe = 20 на выходе 3А. Следовательно, он потребляет около 150 мА. Для усиления тока мы используем конфигурацию, известную как «транзистор Дарлингтона». Для этого впереди ставим транзистор средней мощности. Обычно они имеют значение hfe от 50 до 100. Это снизит необходимый ток до менее 3 мА (150 мА / 50).3 мА можно управлять с помощью транзисторов с малым сигналом, таких как BC547 / BC557. Эти малосигнальные транзисторы очень хороши для построения усилителя напряжения.

Для выхода 30 В мы должны как минимум усилить 5 В от ЦАП в 6 раз. Для этого мы объединяем транзисторы PNP и NPN, как показано выше. Коэффициент усиления напряжения этой цепи составляет:

 Вампл = (R6 + R7) / R7 

Источник питания должен быть доступен в 2 версиях: макс. Выход 30 и макс. Выход 22 В. Комбинация 1К и 6.8K дает коэффициент 7,8, что хорошо для версии на 30 В и имеет место для возможных потерь из-за более высоких токов (наша формула линейна. Реальность нелинейна). Для версии 22V мы используем 1K и 4,7K.

Внутреннее сопротивление цепи, как видно на основе BC547, составляет:

 Rin = hfe1 * S1 * R7 * R5 = 100 * 50 * 1K * 47K = 235 МОм

- hfe составляет от 100 до 200 для транзистора BC547
- S - наклон кривой усиления транзистора и равен
около 50 [единица измерения = 1 / Ом] 

Этого более чем достаточно для подключения к нашему ЦАП, внутреннее сопротивление которого составляет 5 кОм.

Внутреннее эквивалентное выходное сопротивление:

 Rout = (R6 + R7) / (S1 + S2 * R5 * R7) = около 2 Ом 

Достаточно низкое, чтобы управлять следующим транзистором Q2.

R5 связывает базу BC557 с эмиттером, что означает “выключено” для транзистора до тех пор, пока не появятся ЦАП и BC547. R7 и R6 сначала связывают основание Q2 с землей, что отключает выходную ступень Дарлингтона.
Другими словами, все компоненты в этом усилительном каскаде изначально отключены. Это означает, что мы не получим от этих транзисторов каких-либо колебаний или выбросов на выходе при включении или выключении питания.Очень важный момент. Я видел дорогие промышленные блоки питания, которые давали пик напряжения при отключении питания. Такого источника питания определенно следует избегать, поскольку он может легко вывести из строя чувствительные цепи.

Источники питания

Вы можете использовать трансформатор, выпрямитель и большие конденсаторы, или вы можете попробовать получить блок питания для ноутбука 32/24 В. Я выбрал более поздний вариант. Эти блоки питания для ноутбуков иногда продаются очень дешево (на складе), а некоторые из них обеспечивают 70 Вт при 24 В или даже 32 В постоянного тока.

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

 22V 2.5A версия: нужен трансформатор 18V 3A, выпрямитель
и конденсатор емкостью 2200 мкФ или 3300 мкФ. (причина: 18 * 1,4 = 25В)

Версия 30V 2A: вам понадобится трансформатор 24V 2.5A, выпрямитель и
конденсатор емкостью 2200 мкФ или 3300 мкФ. (причина: 24 * 1,4 = 33,6 В)

Не повредит купить трансформатор, который может дать больше тока.

Силовой диодный мост с 4 диодами, которые предназначены для
низкое падение напряжения (например,г BYV29-500) дает хороший
выпрямитель. 


Также можно использовать более «тяжелый» трансформатор.

Проверьте электрическую цепь на предмет надлежащей изоляции. Убедитесь, что невозможно прикоснуться к какой-либо части, которая может находиться под напряжением 110/230 В, даже когда корпус открыт. Подключите все металлические части шасси к земле (не к GND цепи).

Трансформаторы и блоки питания портативных компьютеров

Если вы хотите использовать два или более источника питания в цепи для получения положительного и отрицательного напряжения для вашей цепи, важно, чтобы трансформатор был действительно изолирован.Будьте осторожны с блоками питания ноутбука. Они красивые и маленькие, но некоторые из них могут соединять минусовой вывод на выходе с заземляющим контактом на входе. Это приведет к короткому замыканию в заземляющем проводе, если вы используете два источника питания в цепи.

Другие напряжения и ограничения по току

Предлагаются две конфигурации: 22 В, 2,5 А и 30 В, 2 А. Если вы хотите создать версию с другими (более низкими) выходными напряжениями или ограничениями по току, просто отредактируйте файл hardware_settings.h.

Пример: Для создания версии 18V 2.5A вы просто отредактируете файл hardware_settings.h и измените максимальное выходное напряжение на 18V.
После этого можно использовать источник питания 20 В, 2,5 А.

Пример. Чтобы создать версию 18 В, 1,5 А, вы просто отредактируете файл hardware_settings.h и измените максимальное выходное напряжение на 18 В, а макс. ток до 1.5А.
После этого можно использовать источник питания 20 В, 1,5 А.

Тестирование

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

Test1: Подключите источник питания (не менее 10 В) к входу питания схемы и убедитесь, что вы получаете 5 В постоянного тока за регулятором напряжения.

Test2: Измерьте выходное напряжение. Оно должно быть 0 В (или близким к нулю, например 0,15 В, и оно упадет до нуля, если вы поставите «нагрузку» от 2 до 5 кОм на выходе.)

Test3: припаяйте микроконтроллер к плате и загрузите тест ЖК программное обеспечение, выполнив команды из каталога распакованного tar.gz пакет.

 make test_lcd.hex
make load_test_lcd 

На дисплее должно появиться сообщение «LCD работает».

Теперь вы можете загрузить окончательную версию программного обеспечения.

Предупреждение для дальнейшего тестирования с окончательной версией программного обеспечения: будьте осторожны с короткими замыканиями, пока вы не проверите функцию ограничения тока. Безопасный способ проверить ограничение тока – использовать резистор с низким сопротивлением, например автомобильную лампочку.

Установите нижний предел тока, например 30 мА при 10 В. Вы должны увидеть, как напряжение сразу упадет почти до нуля, как только вы подключите лампочку к выходу.В цепи все еще есть неисправность, если она не выходит из строя. Автомобильная лампочка защитит цепь питания даже в случае неисправности, поскольку это не полное короткое замыкание.

Программное обеспечение

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

Теперь немного о структуре программного обеспечения. Сначала посмотрите на основную программу (файл main.c, загрузите в конце этой статьи), вы увидите, что при включении выполняется всего несколько строк кода инициализации, а затем программа входит в бесконечный цикл.
В этой программе действительно 2 бесконечных цикла. Один – это основной цикл («while (1) {…}» в файле main.c), а другой – периодическое прерывание от аналогового цифрового преобразователя (функция «ISR (ADC_vect) {…} “в файле analog.c). Во время инициализации прерывание настраивается на выполнение каждые 104 мксек. Все выполняемые функции и код запускаются в контексте одной из этих задач (задача – имя процесса или потока выполнения. в ОС реального времени, поэтому я использую это слово здесь, даже если ОС не существует).


Задача прерывания может остановить выполнение основного цикла в любое время. Затем она будет выполняться без прерывания, а затем выполнение продолжается снова в основном цикле в том месте, где он был прерван.Это имеет два последствия:

  1. Код в прерывании не должен быть слишком длинным, поскольку он должен завершиться до того, как придет следующее прерывание. Здесь учитывается количество инструкций в машинном коде. Математическая формула, которую можно записать как одну строку C-кода, может привести к сотням строк машинного кода.

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

Все это означает, что такие сложные вещи, как обновление дисплея, проверка кнопок, преобразование значений ампер и вольт во внутренние единицы и т. Д… нужно сделать в основной задаче. В прерывании мы выполняем только то, что критично по времени: контроль тока и напряжения, защиту от перегрузки и настройку ЦАП. Чтобы избежать сложной математики, все вычисления в прерываниях выполняются в блоках АЦП. Это те же единицы измерения, которые производит АЦП (целые числа от 0 до 1023 для тока и 0..2047 для напряжений).

Это основная идея программы. Я также объясню, что вы найдете в каких файлах, и тогда вы сможете понять код (при условии, что вы знакомы с C).

Программное обеспечение: Какой файл содержит то, что

 main.c - этот файл содержит основную программу. Вся инициализация
сделано отсюда. здесь. Здесь также реализован основной цикл.

analog.c - аналого-цифровой преобразователь и все такое
выполняется в контексте задачи прерывания, можно найти здесь.

dac.c - цифро-аналоговый преобразователь. Инициализируется с ddcp.c, но
используется только с analog.c

kbd.c - код клавиатуры

lcd.c - драйвер LCD. Это специальная версия, которая не понадобится
вывод RW дисплея. Вместо этого он использует внутренний таймер
который должен быть достаточно длинным, чтобы дисплей выполнил свою задачу. 

Загрузка и использование программного обеспечения

Для загрузки программного обеспечения в микроконтроллер вам понадобится программатор, например avrusb500. Вы можете скачать заархивированные архивы программного обеспечения в конце статьи.

Отредактируйте файл hardware_settings.h и отрегулируйте его в соответствии с оборудованием. Здесь вы также можете сделать калибровку вольтметра и амперметра. Файл хорошо прокомментирован.

 gedit hardware_settings.h 

Подсоедините кабель программатора и включите схему. Затем запустите:

 включить предохранитель

Это установит тактовую частоту микроконтроллера на 8 МГц. В
программное обеспечение рассчитано на эту частоту.

делать

Это скомпилирует программное обеспечение.

сделать нагрузку

Это загрузит программное обеспечение.

Кнопки

Блок питания имеет 4 кнопки для местного управления напряжением и макс. Текущий. Пятая кнопка предназначена для постоянного сохранения настроек в EEPROM, так что при следующем включении он будет иметь идентичные настройки.


Кнопочная панель местного управления.


С помощью U + вы можете увеличивать напряжение, а с помощью U- – уменьшать. Когда вы удерживаете кнопку, она будет пошагово, а через некоторое время «побежать» быстрее, чтобы упростить изменение напряжения большими шагами.Кнопки I + и I- работают одинаково.

Дисплей

Вот как выглядит дисплей:


Поля в области ЖК-дисплея. Реальные измеренные значения и заданные значения всегда отображаются одновременно.

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

atmega – питание ATMEL ATMEGA328P напрямую от USB

TL; DR; Да, но всегда рекомендуется поместить сглаживающий конденсатор на контакты Vcc / заземления ИС и попытаться установить этот конденсатор как можно ближе к контактам.

Более длинный ответ:

Стандарт USB определяет, что «порт зарядки» должен обеспечивать питание до 500 мА при 5 вольт…

http://en.wikipedia.org/wiki/USB#Charging_ports

Требуемое чипом напряжение зависит от того, на какой скорости вы работаете, но даже на максимальной скорости 20 МГц ему требуется всего 4,5 вольта …

… значит, вы хорошо разбираетесь в напряжении.

Чип также рассчитан на максимальное потребление тока 200 мА …

… (и это в основном из-за управления выходными контактами), так что вы хорошо разбираетесь в токе.

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

Что касается шума, исходящего от зарядного устройства, все зарядные устройства USB не построены одинаково. Я протестировал несколько дрянных USB-зарядных устройств, чтобы убедиться, насколько шумным был выход …

A tale of Four USB power supplies

Вот один из худших…

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

Фильтрующий конденсатор на выводах питания может помочь сгладить это. Обычно рекомендуется подключать к проводам питания, где они входят в вашу цепь, емкость емкостью пару мкФ, чтобы отфильтровать этот вид шума.

Также обычно рекомендуется надевать меньшую развязывающую крышку на контакты источника питания и ставить ее как можно ближе к микросхеме, чтобы сгладить очень быстро меняющиеся потребности микросхемы в питании.

Многое было написано о том, как правильно выбрать размер и тип развязывающего конденсатора, в том числе …

http://www.intersil.com/data/an/an1325.pdf http: //www.atmel.com%2FImages%2FAtmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf Atmel AVR042: Рекомендации по проектированию оборудования AVR: Обеспечение стабильного напряжения питания, цифрового и аналогового. Выбор и использование байпасных конденсаторов: инструкция по применению

… но хорошее предположение для разделительной крышки для такого чипа может быть около 0.1 мкФ.

С учетом всего сказанного, на практике я обнаружил, что AVR очень терпимы, когда дело доходит до источника питания, и я также обнаружил, что USB-зарядные устройства известных производителей отличаются высоким качеством и плавностью. Часто вы можете просто использовать то, что у вас есть, и положить, скажем, 1 мкФ на контакты источника питания, как правило, устраняет любые проблемы, особенно если вы просто собираете макет, а не разрабатываете коммерческий продукт. Также рекомендуется использовать встроенный сторожевой таймер для сброса микросхемы на тот случай, если у вас когда-нибудь возникнут проблемы из-за проблем с питанием (это также избавляет вас от других проблем).

clpalmer / digitaldcpower: цифровой источник питания постоянного тока на базе микроконтроллера ATMega8

Это цифровой блок питания постоянного тока на базе микроконтроллера ATMega8, созданный tuxgraphics

.

Программное обеспечение полностью не отличается от оригинала, и вся заслуга принадлежит Гвидо Сошеру из tuxgraphics.

Единственные изменения, внесенные в программное обеспечение, касались калибровки оборудования. Аппаратное обеспечение было изменено в соответствии с моими потребностями, убрав ненужное управление ПК через USB.

Схему и макет можно просмотреть / отредактировать с помощью бесплатной версии DipTrace здесь:
Загрузки DipTrace

Программное обеспечение

Скомпилируйте программное обеспечение и запрограммируйте микроконтроллер:

  1. отредактируйте и адаптируйте файл hardware_settings.час (калибровка и выбор правильного типа оборудования).

  2. загрузить и скомпилировать: делать сделать нагрузку

  3. устанавливает байты предохранителя на внутреннюю частоту 4 МГц: сделать wrfuse4mhz

Это должно привести к следующим настройкам:

avrdude: подпись устройства = 0x1e9307 avrdude: safemode: lfuse читается как E3 avrdude: safemode: hfuse читается как D9

make wrfuse4mhz нужно сделать только один раз если вы не замените чип Atmega8. сделать / сделать загрузку нужно повторять каждый раз, когда вы что-то меняете в программном обеспечении (например,g обновление hardware_settings.h).

Источник питания должен быть включен во время программирования. но к выходу ничего подключать не должно. Делать также убедитесь, что вы случайно не нажали ни одну кнопку во время программирования (загрузка программного обеспечения в uC).

Калибровка

Для калибровки дисплея отредактируйте файл hardware_settings.h Здесь вы также можете изменить настройки между версией 30 В и 22 В.

Это программное обеспечение для электронного цифрового блока питания постоянного тока tuxgraphics.org.Настольный блок питания постоянного тока, управляемый микроконтроллером.

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

Обратите внимание, что это также означает, что короткое замыкание защита реализована программно. Так что будьте осторожны, когда вы что-то меняете в программном обеспечении. Если микроконтроллер не работает должным образом из-за ошибки программного обеспечения, то есть не может быть никакой защиты от короткого замыкания.

Программа подготовлена ​​для 2 версий:

Можно собрать другую версию без основных редизайн.

Я добавил к программе намного больше комментариев, чем обычно. Это должно быть возможно даже для человека с небольшим опытом Программирование на C, чтобы понять, как работает это программное обеспечение.

Схема использует в качестве внутренних блоков ступени АЦП. Все внешние ценности (Вольт, Ампер) преобразуются в ступени аналогово-цифрового преобразователь (АЦП). Когда вы меняете напряжение, это сначала преобразованы в шаги АЦП, а затем будут обработаны.

main.c – это основная программа. Здесь начинается вся инициализация. Он содержит бесконечный цикл while, который будет выполнять медленные задачи. один за другим:

  • Преобразование результатов АЦП в отображаемые значения
  • Обновить ЖК-дисплей
  • Контрольные кнопки

analog.c – аналого-цифровой преобразователь и основной контур управления для блока питания. Здесь все основано на прерываниях как это должно быть быстро. Контроль напряжения, ограничение тока и защита от короткого замыкания все здесь реализованы.

dac.c – цифро-аналоговый преобразователь. Инициализируется с main.c, но используется исключительно с analog.c

kbd.c – драйвер клавиатуры

i2c_avr.c – связь I2C через RS232

lcd.c – драйвер LCD. Это специальная версия, которая не понадобится правый штифт дисплея. Вместо этого он использует внутренний таймер который должен быть достаточно длинным, чтобы дисплей выполнил свою задачу. Вывод RW, который обычно используется для опроса дисплея, чтобы увидеть если он готов не нужен.


История изменений: digitaldcpower-0.5.0 – 2007-07-12 первая версия нового блока питания

digitaldcpower-0.5.1 – 2007-09-25 Исправлена ​​опечатка в файле readme.htm.

digitaldcpower-0.5.2 – 2009-03-22 Незначительные обновления Makefile, без изменения кода.

digitaldcpower-0.5.3 – 2009-06-27 Время от времени перезагружайте дисплей. Это помогает если на экране появляется символ мусора из-за электрические помехи высокой мощности

Настольный переменный блок питания на 3 А с цифровым отображением на цветном дисплее с использованием ATMEGA8: 8 ступеней (с изображениями)

Три основные части в цепи будут выделять много тепла.

1) LM350

2) IRF540 (Q1)

3) 7805 (U8).

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

Термины, которые следует запомнить: –

Tj – max – максимальная температура перехода, которую может выдержать устройство. Его значение можно найти в таблице данных. Различные устройства имеют разные значения.Мы должны поддерживать нашу функциональную температуру ниже этой температуры.

Tj – Функциональная температура перехода – это температура транзистора / ИС во время работы.

Rth j-c – Тепловое сопротивление устройства от перехода к корпусу. Единица измерения – ° C / Вт.

Rth c-hs – Термическое сопротивление используемого изолятора (обычно прокладки из слюды / диоксида кремния)

Rth hs-a – Тепловое сопротивление радиатора (это будет нашим основным предметом интереса). Разные радиаторы имеют разные значения.Этот радиатор имеет значение 3, которое я использую.

Ta-Окр.

Расчет может быть выполнен двумя разными способами. Либо путем вычисления Tj с известным Rth hs-a радиатора и необходимо найти это, если Tj ниже, чем Tj-max, либо путем определения Rth hs-a и найдите радиатор со значением под ним. Просто внимательно посмотрите ниже расчеты, и вы легко поймете. Радиаторы, которые я использовал для LM350 / IRF540 / 7805, можно увидеть на картинке.

Расчет LM350:

Формула:

Tj = P * (Rth j-c + Rth c-hs + Rth hs-a) + Ta.

Здесь мы найдем Tj и проверим, меньше ли оно Tj-max, так как все остальные параметры известны.

P = 25 Вт (если разница между Vi и Vo остается ниже 15 В).

Rth j-c = 2.3 (поскольку я использую LM350 из ON semi).

Rth c-hs-1.0 (слюдяная шайба с двухсторонним теплоотводом). Если радиатор прикреплен непосредственно к радиатору, то это значение будет 0.

Rth hs-a = 3

Ta = 30 (немного выше комнатной температуры, так как внутри шкафа будут другие источники тепла, такие как трансформатор.)

Итак, Tj = 25 * (2,3 + 1 + 3) + 30 = 187,5, что больше, чем Tj-max (150 ° C). Вот почему я установил систему охлаждения с умным вентилятором для принудительного воздушного охлаждения) .

Расчет IRF540:

Поскольку Q1 используется в качестве предварительного регулятора, он также будет генерировать много тепла. Предположим, входное напряжение будет около 37 В. Стабилитрон равен 18 В. Итак, на затворе напряжение будет около 18 В (относительно земли). Напряжение питания обычно составляет 2,7-3 В. Таким образом, конечный выход на источнике будет 18-3 = 15 В.Когда вентилятор выключен, схема потребляет почти 170 мА, а с включенным вентилятором – 300 мА. Таким образом, рассеиваемая мощность МОП-транзистором с включенным вентилятором будет (37-15) * 0,3 = 6,6 Вт, что также является высоким значением.

Таким образом, с радиатором с Rth, hs-a = 8,3, Rth jc = 1 (из таблицы данных) и без слюдяной шайбы Tj будет –

Tj = 6,6 * (1 + 8,3) + 30 = 91,38

, что намного меньше Tj-max (что составляет 150 ° C из таблицы данных IRF540). Таким образом, мы можем использовать этот радиатор с тепловым сопротивлением 8,3.

7805 расчет (U8):

7805, который подает питание на atmega8 и дисплей, также нагревается.Схема дисплея + atmega8 потребляет почти 150 мА. Он получает 15 В на входе (конечный выход IRF540). Таким образом, рассеиваемая мощность 7805 составляет (15-5) * 0,150 = 1,5 Вт. Поэтому требуется небольшой радиатор. . Я использую радиатор со значением теплового сопротивления 17,4

Итак, Tj = 1,5 * (4 + 17,4) + 30 = 62,1 (Rth jc = 4 из таблицы данных)

Tj намного меньше, чем Tj max. может легко использовать этот радиатор для этого приложения.

7812 тоже нагревается, но запустить ИС без радиатора не составит труда.

tschutter / digital-dc-power-supply: цифровой источник питания постоянного тока от linuxfocus.org

Цифровой источник питания постоянного тока

Этот репозиторий содержит всю документацию и файлы, относящиеся к DC настольный блок питания, который я построил.

Я купил комплект (включая ЖК-дисплей и три микроконтроллера ATmega8) у tuxgraphics.org в октябре 2006 г. за 40 евро. Благодаря жизненным событиям этот проект получил отодвинули на заднюю часть верстака и забрали только через 9 лет позже.Но это завершается!

По состоянию на 12 декабря 2015 года существует три отдельных версии оборудования. у меня есть аппаратная версия 1.0, которая задокументирована на linuxfocus.org:

  • Часть 1. Аппаратное обеспечение (статья 379 LinuxFocus)
  • Часть 2: Программное обеспечение (статья 384 LinuxFocus)
  • Часть 3: Командование и управление с ПК (статья 389 LinuxFocus)
  • Программирование микроконтроллера AVR с помощью GCC, libc 1.0.4 (статья 352 LinuxFocus)

Примечания к сборке и решения

Номер 1.0 оставляла много вариантов неясными или оставалось на усмотрение читатель.

Первичный предохранитель

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

  • Выбор номинала предохранителя, как известно, сложен.
  • Предохранитель должен быть перед выключателем . Это защищает от возможность замыкания переключателя при выходе из строя.
  • From Fuses and Fusing @ The Valve Wizard:
    • Первичный предохранитель должен быть рассчитан примерно на 1.В 5–2 раза больше нормальный первичный рабочий ток. Вы можете решить это, добавив увеличить (максимальную среднюю) мощность, используемую каждой вторичной обмоток, затем разделите на сетевое напряжение.
    • 1A типичен для большинства усилителей мощностью до 60 Вт.
  • Обычно размер должен быть таким, чтобы защитить трансформатор.

Номинальный ток трансформатора = 48ВА / 115В = 0,42А. Медленный предохранитель 1А в 2 раза превышает максимальный рабочий ток первичной обмотки и должен учитывайте пусковой ток трансформатора.

Трансформатор источника питания

Статья 379 документирует два варианта использования трансформатора и выпрямитель в отличие от блока питания ноутбука, версия 22V 2.5A и Версия 30V 2.0A. В статье указано, что входное напряжение (от постоянного до CONN6 на печатной плате) должно быть как минимум на 2 В выше макс. выходное напряжение.

22 В 2,5 А
  • В статье 379 указан трансформатор 18 В 2,5 А (причина: 18 В переменного тока * 1,4 = 25 В постоянного тока выпрямленное и сглаженное)
  • Накопительный конденсатор емкостью 3000 мкФ (причина: не менее 1000 мкФ на ампер)
  • R10 должно быть 4.7 кОм
  • На схеме написано: замените Z1 на провод для версии 24V. (может опечатка, должно быть 22В?)
30 В 2.0A
  • В статье 379 указан трансформатор 24 В, 2,0 А (причина: 24 АС * 1,4 = 33,6 В постоянного тока выпрямленное и сглаженное)
  • Накопительный конденсатор 2200 мкФ (причина: не менее 1000 мкФ на ампер)
  • R10 должен иметь сопротивление 6,8 кОм, как показано на принципиальной схеме. Примечание в статье 379 указано, что сопротивление R10 должно быть 5,7 кОм, но что кажется ошибкой.Микроконтроллер работает при 5 В, поэтому максимальный выход ЦАП составляет 5 В, что означает, что максимальный выход напряжение за силовым транзистором будет 5,0 – 0,7 = 4,3 В. Для Выход 30 В, мы должны как минимум усилить 4,3 В в 7 раз. Согласно статье 379, V amp = (R10 + R11) / R11. Учитывая, что R11 равен 1,0 кОм, то на принципиальной схеме значение R10 равно 6,8 кОм приведет к V с амплитудой 7,8. Поскольку я не есть резистор 6,8 кОм, я использовал резистор 4,7 кОм последовательно с 2.Резистор 2КОм для R10.
  • На схеме указано: Z1, C7, R35 только для версии 30V
Выбор трансформатора

Я выбрал силовой трансформатор Triad F-192X

  • Максимальная мощность: 48 ВА
  • Первичный: 115 В 50/60 Гц
  • Вторичный: 24.0VCT @ 2.0A

Я запутался с множеством “входных” напряжений в этой схеме. Учитывая трансформатор 24 В:

  1. Входное напряжение трансформатора составляет 115 В переменного тока.
  2. Входное напряжение выпрямительных диодов составляет 24 В переменного тока.
  3. Входное напряжение на накопительный конденсатор немного больше сложный. Пиковое напряжение составляет 24 RMS переменного тока * 1,414 = 33,6 В постоянного тока, где 1,414 = sqrt (2). Возможно должно быть на 1,4 В меньше из-за падения через два кремниевых диода.
  4. Входное напряжение на CONN6 на печатной плате переменное. согласно текущему розыгрышу. При потребляемом токе 2,0 А и Резервуарный конденсатор 2200 мкФ, среднее напряжение будет 33.6 – 5,5 * 0,5 = 29,8 В.

Похоже, что я выбрал версию на 30 В, когда я получил трансформатор, но кажется, что я выбрал версию 22V при поиске емкостной конденсатор емкостью 3300 мкФ.

Выпрямитель

Статья 379 гласит:

Силовой диодный мост с 4 диодами, рассчитанными на низкий падение напряжения (например, BYV29-500) дает хороший выпрямитель.

Я купил блок выпрямителя 10Ph50:

  • Однофазный, полноволновой мост
  • Номинальное напряжение: 400 В
  • Выходной ток: 10 А
  • Макс.прямое падение напряжения, В F = 1,0 В при I F = 2,5 A

Резервуарный конденсатор

Согласно статье 379 вам необходимо не менее 1000 мкФ емкостного конденсатора на входной ампер Текущий. Учитывая трансформатор на 2,0 А, должно быть 2000 мкФ. достаточно, но я использовал конденсатор емкостью 3300 мкФ. Это подключен непосредственно к выходу выпрямителя, учитывая полярность.

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

Для двухполупериодного выпрямителя напряжение пульсаций от пика до пика может быть равным. рассчитывается как:

V_ {pp} = \ frac {I} {2fC}

Частота составляет 60 Гц, поэтому при максимальном потреблении тока 2,0 А конденсатор емкостью 3300 мкФ дает размах пульсаций напряжения 5,5 В. Это выше, чем я ожидал, но, видимо, работает.

Светодиодный индикатор питания

Не может быть достаточно ЖК-дисплея на передней панели для сообщите мне, что я оставил питание включенным, когда выходил из магазин.Мне нужно что-то более очевидное. Поэтому я решил добавить силу светодиодный индикатор справа от выключателя питания. Я подключил это к стороне постоянного тока выпрямителя (30 В). Играем с 3-миллиметровым красным Светодиод на макете, я определил, что у него V F 2,3 В и подача тока 0,02 А дает разумную яркость. В Поэтому идеальный резистор для ограничения тока должен быть (30 В – 2,3 В) / 0,02 А = 1385 Ом. Поэтому я поставил резистор 1,2 кОм в линию. со светодиодом.

Одна маленькая проблема.Получается, что накопительный конденсатор проезжает светодиод после выключения питания. Это займет минуту или две чтобы светодиод полностью погас.

Оглядываясь назад, я мог бы просто переместить светодиодный индикатор D1 на Печатная плата к передней панели.

ВЧ-помехи

Аппаратная версия 2.0 doc предлагает паять керамический конденсатор в диапазоне от 10 нФ до 100 нФ непосредственно за передними выходными разъемами для блокировки высокочастотных сигналов от вмешательства в электронику ЖК-дисплея.Это предложение отсутствует в Аппаратной версии 3.0.

Соединения

На основной плате имеется 6 наборов внешних подключений, обозначенных CONN1. через CONN6.

Для ленточных кабелей я установил коннекторы Molex. Терминаторы какие обжимы на проводах ленточного кабеля – настоящая PITA для установки. Это становится легче, когда вы делаете последний обжим. Лучшие челюсти для использования на обжиме казалось 1,4 мм для проводников и 2,0 мм для изоляция. Мужская челюсть должна располагаться на закрытой нижней части разъем и охватывающая челюсть на открытом сверху.Я думаю что это легче обжать провод перед изоляцией. Я тоже нашел это легче делать каждый обжим быстро, чем сжимать медленно.

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

CONN1 – PROG_LOAD

Интерфейс программирования SPI для ATmega8

Контакт 1 находится на южном конце разъема на печатной плате.

Штифт Имя Контакт ATmega8
1 RST PC6 (1)
2 MOSI PB3 (17)
3 MISO PB4 (18)
4 SCK PB5 (19)
5 ЗЕМЛЯ НЕТ
CONN2 – Пульт дистанционного управления

Связь I2C (последовательная) с ПК

Контакт 1 находится на западном конце разъема на печатной плате.

Штифт Имя Штифт DE-9
1 РТС 7
2 CD 1
3 DTR 4
4 ЗЕМЛЯ 5
CONN3 – ЖК-дисплей

ЖК-дисплей (10 контактов)

Контакт 1 находится на южном конце разъема на печатной плате.

Штифт Печатная плата ЖК-дисплей
1 ATmega8 PB7 (10) D7 (14)
2 ATmega8 PB2 (16) Д6 (13)
3 ATmega8 PB1 (15) D5 (12)
4 ATmega8 PB0 (14) Д4 (11)
5 ATmega8 PB4 (18) E (6)
6 ЗЕМЛЯ ч / зап (5)
7 ATmega8 PB6 (9) RS (4)
8 ЗЕМЛЯ В, контраст (3)
9 ЗЕМЛЯ ЗЕМЛЯ (1)
10 Vcc Vcc (2)
CONN4 – выход постоянного тока

Контакт 1 находится на южном конце разъема на печатной плате.

Штифт Имя
1 отрицательный
2 Положительно
CONN5 – Передняя панель

Контакт 1 на печатной плате находится на южном конце разъема.

Штифт Использовать
1 S1 Напряжение +
2 S2 Напряжение –
3 S3 Current +, S5 Store
4 S4 Ток –
5 S [1-4] Общий
6 Магазин S5

Кнопки на передней панели.

CONN6 – вход постоянного тока

Контакт 1 находится на северном конце разъема на печатной плате.

Штифт Имя
1 Положительно
2 отрицательный
3 Земля

Корпус

Выбор корпуса

При выборе корпуса вы должны фактически разместить компоненты перед определением размеров корпуса.Найти хороший дешевый корпус – это настоящая ПИТА. Невозможно указать свои диапазоны размеров и получить список совпадающих элементов. Не помогает то, что нет стандартного наименования условности; корпус, распределительная коробка, приборный шкаф, рабочий стол, и т. д. все означают разные вещи для каждого из азиатских поставщиков.

В конце концов я нашел ST764 (7x3x5 дюймов) DIY Hobby Electronic Metal Project Корпус Box Case от Sunetec. Когда он прибыл, внутренние размеры были фактически немного больше – 7,25 дюйма x 5.625 x 3,375 дюйма.

При размере 195 мм x 165 мм x 90 мм этот синий металлический корпус DIY Power Распределительная коробка (uxcell) за 14 долларов от Amazon должна была сработать, но он был недоступен.

Этот корпус тоже смотрелась интересно, но с доставкой довольно дорого.

Разрезание корпуса

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

Лучше всего сделать края прямоугольных отверстий прямыми. использовать плоский напильник. Использование Dremel здесь не очень хорошо вообще.

Наклейки на передней панели

Для напряжения «U», кажется, является европейским предпочтением, а «V» – предпочтение в США. Поэтому я выбрал букву V для передней панели. этикетки.

Дополнительные детали

  • IEC 60320 C14 гнездовой разъем (розетка), оторванный от блока питания старого компьютера

  • Держатель предохранителя

    и плавкий предохранитель с задержкой срабатывания 1 А

  • выключатель питания оторван от БП старого компьютера

  • большой радиатор

  • Разъем клеммной колодки с винтовым креплением на печатной плате, 3 контакта, 2.Шаг 54 мм (вход постоянного тока)

  • Разъем клеммной колодки с винтовым креплением на печатной плате, 2-контактный, шаг 3,5 мм (выход постоянного тока)

  • стойки с двойным переплетом (для домкратов банановый)

  • 1 гнездовой разъем последовательного порта D-Sub DE-9

    Когда последовательные порты ПК начали использовать 9-контактные разъемы, они были часто неправильно маркируют как разъемы DB-9 вместо разъемов DE-9.

Программирование ATmega8

ATmega8 программируется с использованием SPI (последовательного периферийного интерфейса).

Я купил программатор Sparkfun Pocket AVR, который является хостом USB для SPI. адаптер. См. Руководство по подключению программатора карманного AVR.

Одна проблема заключается в том, что на плате блока питания используется нестандартный 5-контактный встроенный интерфейс вместо стандартного разъема 2×3.

Я сконструировал специальный кабель для использования с карманным программатором AVR:

Линия 1×5 контакт 2×5 контактный
RST 1 5
MOSI 2 1
MISO 3 9
SCK 4 7
ЗЕМЛЯ 5 10

Линия 5V (PWR) не подключена, потому что ATmega8 получает 5V питание от печатной платы.

Статья 352 описывает защитные резисторы для MOSI, MISO и Линии SCK. Но я считаю, что это связано с тем, что статья описывала интерфейс программатора параллельного порта, и это Pocket AVR Programmer в такой защите не нуждается.

R3 – это подтягивающий резистор 10 кОм между выводом RST и выводом положительный источник питания, который предотвращает случайное попадание ATmega8 вход в режим программирования.

Программное обеспечение

Версия ПО 0.4.9 была загружено со страницы загрузки статьи 389 LinuxFocus.

Связанные материалы

Локальные копии важных документов

Сайт LinuxFocus, на котором размещены оригинальные статьи, не был обновлено с 2005-12-09, поэтому у меня есть локальные копии здесь:

Эти документы были доставлены в комплекте:

AVR Basic Hookup – QEEWiki

BASIC POWER HOOKUPS:

Рисунок 1: Контакты питания AVR (то же самое на ATmega8 / 88/168/328)

AVR подключить несложно. Все, что вам действительно нужно, это подключить питание к 4 контактам, и AVR готов к работе.Хотя VCC и GND очевидны, вы можете спросить себя об AVCC. Ответ, как и большинство, находится в таблице данных (страница 5 или около того в разделе «Описание контактов»), в которой говорится:

«AVCC – это вывод напряжения питания для аналого-цифрового преобразователя, порта C (3..0) и АЦП. (7..6). Он должен быть подключен к VCC извне
, даже если АЦП не используется. Если АЦП используется, он должен быть подключен
к VCC через фильтр нижних частот »


Часть о Этот фильтр нижних частот может вас запутать, это в основном конденсатор C1 на рисунке 2.Таким образом, хотя C1 на самом деле не нужен, вы можете видеть, что он рекомендуется в том случае, если вы решите использовать АЦП.

Если вы используете Arduino, вам просто нужно подключить к нему адаптер питания 7-12 В, и вы готовы к работе. Однако, если вы используете только сам чип AVR, вам необходимо обеспечить чип источником напряжения постоянного тока 2,7-5,5 В. Два наиболее распространенных напряжения – 3,3 В и 5 В.

Рис. 2. Базовая схема подключения питания АРН

Лучший способ получить стабильное напряжение 3,3 В или 5 В – использовать регулятор напряжения.Это компонент, который в основном принимает источник напряжения 7-12 В и преобразует его для вас в 5 В (или 3,3 В). Вам нужно будет использовать 2 небольших конденсатора (0,01 пФ) для стабилизации регулятора напряжения, но я расскажу об этом в следующем уроке.

Рисунок 3: Базовый АРН

На Рисунке 3 показаны основные провода питания. Красные провода – это Vcc, зеленые провода – это GND, а черный провод – это источник (+) батареи.

Теперь, когда у нас есть питание, мы можем заставить чип действительно что-то делать.Однако, прежде чем мы это сделаем, нам нужно выяснить, как подключить AVR

ISP HOOKUP:

Рисунок 4: Контакты AVR ISP (то же самое на ATmega8 / 88/168/328)

ISP (В системном программисте) Порт позволяет нам это делать. Однако вам понадобится какой-то программист для взаимодействия между вашим ПК и AVR.

Если у вас есть Arduino, вам не понадобится порт ISP, потому что он уже запрограммирован с помощью программы, называемой загрузчиком, которая позволяет программировать его через последовательный порт с помощью кабеля USB.

Но если вы решите использовать необработанный AVR, вам нужно будет использовать ISP. Важно отметить, что порт ISP может обеспечивать питание микросхемы, поэтому важно отсоединить источник питания от AVR, прежде чем пытаться его запрограммировать. Во-вторых, следует отметить, что большинство программистов по умолчанию настроены на 5 В постоянного тока, но если ваш микроконтроллер настроен на любое другое напряжение, вам придется настроить свой программатор для этого напряжения. Есть много программистов, так что прочтите свое руководство.Последнее, что вам нужно, – это подключить сигнал 5 В к цепи 3,3 В и увидеть мистический синий дым.

Порт ISP можно найти в 2 конфигурациях, 6-контактный и 10-контактный, и они настроены следующим образом:

Рисунок 5: 6-контактный ISP

6-контактный ISP является наиболее часто используемым заголовком ISP, но Пин 10 все еще существует, так что давайте рассмотрим его, не так ли?

Рисунок 6: 10-контактный ISP

Обратите внимание на линию N / C (не подключена) в 10-контактном ISP? Что ж, некоторые сайты скажут вам подключить это к GND, это ПЛОХО ПЛОХО ПЛОХАЯ идея.Этот вывод фактически используется некоторыми программистами для альтернативных функций (например, для включения светодиода). Таким образом, если оставить этот контакт не подключенным, ваш проект станет более дружелюбным.

Очень важно отметить, что подключение некоторых нагрузок к контактам ISP может вызвать проблемы. Несколько лет назад я подключил зуммер pizo между MISO и MOSI, и это вызвало сбои соединения. С тех пор я установил перемычку на каждую линию (чтобы я мог отключить нагрузку, сняв перемычку), как показано на рисунке 7.

Рисунок 7: Перемычки на линиях ISP

Надеюсь, что это поможет. Вернемся к мультиплееру Killzone 3 для меня.

Ура

Q

Установка Arduino на макетной плате

Создание Arduino на макетной плате

Обзор

В этом руководстве показано, как создать совместимую с Arduino макетную плату с микроконтроллером AVR Atmel Atmega8 / 168/328 и коммутационной платой FTDI FT232 от SparkFun. Вы также можете использовать Arduino USB Mini.

Первоначально создан Дэвид А. Меллис
Обновлено из версии ITP Карлин Мо
Обновлено 23 октября 2008 г. Рори Ньюджент

Детали

Для этого вам понадобятся:


Принадлежности
Основные детали для подключения Arduino
  • Макетная плата
  • Провод 22 AWG
  • 7805 Регулятор напряжения
  • 2 светодиода
  • 22 Резисторы 220 Ом
  • 1 резистор 10 кОм
  • 2 конденсатора по 10 мкФ
  • Тактовый кристалл 16 МГц
  • 2 конденсатора 22 пФ
  • малая кратковременная нормально разомкнутая («выключенная») кнопка, т.е.е. Omron тип B3F
USB к плате последовательной связи

Вам понадобится плата FT232 USB Breakout от SparkFun. Из них доступны два варианта:

  • FT232RL Плата подключения USB к последовательному порту, артикул BOB-0071
  • Последовательная USB-плата Arduino, SKU DEV-08165

Если вы планируете использовать верхний вариант и еще не припаяли разъемы к плате, сейчас самое подходящее время.

Загрузка ваших чипов Atmega

Существует несколько вариантов загрузки ваших чипов Atmega, некоторые из которых описаны в этом руководстве.Если вы хотите загрузить свои чипы Atmega с помощью макетной платы, дополнительная часть значительно упростит вам жизнь, но в этом нет необходимости. Адаптер программирования AVR от Sparkfun, SKU. BOB-08508

Добавление схемы для блока питания

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


Верхние линии электропередач

Добавьте провода питания и заземления там, где будет находиться регулятор напряжения.


Нижние линии электропередач

Добавьте провода питания и заземления внизу платы, соединяющие каждую рейку.


Добавьте 7805 и развязывающие конденсаторы

Добавьте регулятор мощности 7805 и линии для питания платы. Регулятор представляет собой корпус TO-220, в котором вход от внешнего источника питания идет на вход слева, земля находится в середине, а выход 5 В находится справа (если смотреть на переднюю часть регулятора).Добавьте провода питания и заземления, которые подключаются к правой и левой направляющим на макетной плате.

Также добавьте конденсатор 10 мкФ между входом регулятора и землей, а также конденсатор 10 мкФ на правой шине между питанием и землей. Серебряная полоска на конденсаторе обозначает землю.


светодиод

Добавьте светодиод и резистор 220 Ом на левой стороне вашей платы напротив регулятора напряжения. Такой светодиод, подключенный к источнику питания, – отличный способ устранения неполадок.Вы всегда будете знать, когда на вашу плату подается питание, а также быстро узнаете, закорочена ли ваша плата.


Вход источника питания

Красный и черный провода слева от регулятора напряжения – это место, где будет подключаться ваш источник питания. Красный провод предназначен для ПИТАНИЯ, а черный провод – для ЗАЗЕМЛЕНИЯ. Убедитесь, что вы подключаете только источник питания с напряжением от 7 до 16 В. Немного ниже, и вы не получите 5В из регулятора. Если установить более высокое значение, регулятор может быть поврежден. Подходит аккумулятор 9 В, источник питания 9 В постоянного тока или источник питания 12 В постоянного тока.


Пустой холст

Теперь, когда основные настройки питания выполнены, можно загружать чип!

Основы ATMEGA8 / 168/328


Карта контактов Arduino

Прежде чем двигаться дальше, посмотрите на это изображение. Это отличный ресурс для изучения того, что делает каждый из контактов вашего чипа Atmega по отношению к функциям Arduino. Это прояснит большую путаницу, объясняющую, почему вы подключаете определенные контакты именно так, как вы это делаете. Для получения более подробной информации взгляните на таблицу данных Atmega 168 (короткая версия) (длинная версия).Вот лист для atmega328 (короткая версия) (длинная версия)


Добавить вспомогательную схему

Начните с подключения подтягивающего резистора 10 кОм к + 5 В от вывода RESET, чтобы предотвратить самопроизвольный сброс микросхемы во время нормальной работы. Контакт RESET перезагружает микросхему при опускании на землю. В следующих шагах мы покажем вам, как добавить переключатель сброса, который использует это преимущество.

  • Контакт 7 – Vcc – Напряжение цифрового питания
  • Контакт 8 – GND
  • Контакт 22 – GND
  • Pin 21 – AREF – Аналоговый опорный штырь для АЦП
  • Контакт 20 – AVcc – Подача напряжения для преобразователя АЦП.Должен быть подключен к источнику питания, если АЦП не используется, и к питанию через фильтр нижних частот, если он равен (фильтр нижних частот – это схема, которая снижает шум от источника питания. В этом примере он не используется)

Добавить часы и крышки

Добавьте внешнюю синхронизацию 16 МГц между контактами 9 и 10 и добавьте два конденсатора 22 пФ, идущих на землю от каждого из этих контактов.


Добавить переключатель сброса

Добавьте небольшой тактильный переключатель, чтобы вы могли перезагрузить Arduino, когда захотите, и подготовить чип для загрузки новой программы.Кратковременное нажатие этого переключателя приведет к сбросу микросхемы при необходимости. Добавьте переключатель чуть выше верхней части микросхемы Atmega, пересекая щель в макетной плате. Затем подключите провод от левой нижней ножки переключателя к контакту RESET микросхемы Atmega и провод от верхней левой ножки коммутатора к земле.


выводов светодиодов на вывод 13 Arduino

Чип, используемый на этой плате, фактически уже запрограммирован с помощью программы blink_led, которая поставляется с программным обеспечением Arduino. Если у вас уже работает печатная плата Arduino, неплохо было бы проверить макетную версию, которую вы собираете, с чипом, который, как вы знаете, работает.Вытащите чип из своего рабочего Arduino и попробуйте его на этой плате. Программа blink_led мигает контактом 13. Контакт 13 на Arduino НЕ является контактом 13 AVR ATMEGA8-16PU / ATMEGA168-16PU. На самом деле это контакт 19 на микросхеме Atmega.

Обратитесь к схеме контактов выше, чтобы убедиться, что вы вставляете его правильно.

Светодиод
на выводе 13 Arduino

Наконец, добавьте светодиод. Длинная ножка или анод подключается к красному проводу, а короткая ножка или катод подключается к резистору 220 Ом, идущему на землю.


Готово к Arduino!

На этом этапе, если вы уже программировали свой чип в другом месте и не нуждались в этой макетной плате для перепрограммирования чипа, вы можете остановиться на этом. Но часть удовольствия – это внутрисхемное программирование, так что продолжайте создавать полноценную схему USB-Arduino на макетной плате!

Готовность к Arduino


Добавить FT232 USB к последовательной плате

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

Подключите VCCIO коммутационной платы к источнику питания, а GND к земле.


Распиновка прорыва Sparkfun FT232

Любопытно, какие контакты у коммутационной платы SparkFun FT232, просто переверните ее! В этой ситуации мы будем использовать VCC (для подачи 5 В от порта USB на вашу плату), GND, TXD и RXD.


Подключение TX и RX

Теперь пришло время подключить коммутационную плату USB к последовательному порту с вашей новой установкой Arduino. Подключите RX (контакт 2) вашего чипа Atmega к TX платы USB с последовательным интерфейсом и подключите TX (контакт 3) вашего чипа Atmega к RX USB на плате последовательного интерфейса.

И вот он … готов к подключению, включению и программированию!

Но подождите, есть еще один шаг, верно? Если вы вытащили свой чип Atmega из своего Arduino, он, скорее всего, был запрограммирован вами несколько раз, поэтому он определенно был загружен, поэтому вам не нужно продвигаться дальше в этом руководстве.

Однако, если вы приобрели дополнительные чипы Atmega328 или Atmega168 в интернет-магазине, они НЕ были загружены с загрузчиком Arduino (за исключением Adafruit Industries).Что это значит? Вы не сможете запрограммировать свои чипы, используя плату USB для последовательного подключения и программное обеспечение Arduino. Итак, чтобы ваши новые чипы были полезны для Arduino, вы ДОЛЖНЫ загрузить их и ДОЛЖНЫ проверить шаг 4.

Другие варианты макетных плат

Установка uDuino от Tymn Twillman
Эта конфигурация аналогична приведенной выше, но хитрость заключается в том, что на чип Atmega загружается загрузчик Arduino Lilypad. Lilypad работает с использованием внутренних часов вместо внешних, что устраняет необходимость в большей части вспомогательных схем.

Boarduino от Ladyada
Boarduino – это комплект, который вы покупаете и собираете для создания красивой, небольшой макетной платы, совместимой с Arduino. Все стандартные компоненты размещены на небольшой печатной плате, поэтому Boarduino можно легко добавить на макетную плату и даже удалить.

Загрузка микросхем

ДОПОЛНИТЕЛЬНО
Параметры загрузки

Есть два варианта загрузки ваших чипов. Первое довольно просто, а второе немного сложнее.Мы рассмотрим и то, и другое.

  • Загрузка вашего чипа Atmega с помощью платы Arduino и программатора AVR
  • Загрузка вашего чипа Atmega на свежеприготовленный макет с помощью программатора AVR

Существует также много разных типов программаторов AVR, но чаще всего используются два:


AVRISP MKII
USBtinyISP
ArduinoISP


AVRISP mkII можно приобрести в Digikey (номер по каталогу ATAVRISP2-ND), в то время как USBtinyISP необходимо собрать, и его можно найти в Adafruit Industries.Документацию и ссылки на магазин Arduino и список дистрибьюторов можно найти на странице продукта ArduinoISP.

Использование платы Arduino

Загрузочная загрузка на плате Arduino

Поместите чип Atmega в плату Arduino так, чтобы углубление чипа было направлено наружу. Установите перемычку на внешний источник питания и подключите блок питания 12 В (ваша плата должна иметь внешнее питание при использовании AVR ISP mkII, но не требуется с AVRtinyISP). Затем прикрепите 6-контактный гнездовой штекер программатора AVR к 6-ти штыревым контактам ICSP так, чтобы пластиковый выступ головки ленточного кабеля был направлен внутрь.

ПРИМЕЧАНИЕ: AVR ISP mkII загорается зеленым светом, когда они правильно подключены и готовы к программированию. Светодиод становится красным, если он подключен неправильно.

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

Адаптер для программирования AVR

При загрузке микросхемы Atmega на макетную плату адаптер программирования AVR (SKU BOB-08508) от Sparkfun невероятно удобен. Этот адаптер заменяет 6 контактов программатора на 6 линейных контактов для легкого прикрепления к макетной плате. Все контакты также промаркированы, что упрощает подключение к микросхеме.


6-контактный кабель программатора AVR

Не волнуйтесь, если у вас нет адаптера программирования AVR, вы все равно можете загрузиться без него. Однако это будет больше головной болью для настройки. Два изображения слева – отличные ссылки при подключении программатора к микросхеме Atmega без платы адаптера. На изображениях будет показано, какие отверстия в 6-контактном штекере AVR, и вам просто нужно будет вставить провода в конце и протянуть их к микросхеме Atmega.


6-контактная кабельная головка программатора AVR

Это изображение представляет собой вид снизу, на котором помечены каждое из отверстий.Обратите внимание на квадрат, указывающий, в какой ориентации находится ваш кабель.


Добавить мощность и землю

Начнем!

С макетной платой, которую вы подготовили выше, добавьте два провода для питания и заземления для вашего программатора AVR.


Подключите адаптер AVR

Теперь подключите адаптер программирования AVR к макетной плате так, чтобы контакт GND совпадал с проводом заземления, который вы только что проложили, а контакт 5V – с проводом питания, который вы только что проложили.


Добавьте провода MISO, SCK, RESET и MOSI

На этом этапе вам нужно будет добавить последние четыре провода, необходимые программисту AVR для правильной загрузки.Обязательно обратитесь к схеме контактов Arduino, чтобы получить помощь в подключении.

  • Контакт MISO вашего адаптера будет подключаться к контакту 18 или цифровому контакту 12 Arduino вашего чипа Atmega.
  • Контакт SCK вашего адаптера будет подключаться к контакту 19 или цифровому контакту 13 Arduino вашего чипа Atmega.
  • Контакт RESET адаптера перейдет к контакту 1 микросхемы Atmega.
  • Вывод MOSI вашего адаптера будет переходить к выводу 17 или цифровому выводу 11 Arduino вашего чипа Atmega.

Подключите кабель USB и кабель для программирования AVR

Почти готово! Просто подключите кабель USB к коммутационной плате USB и подключите 6-контактный штекер программатора AVR к адаптеру программирования AVR.Черный выступ 6-контактной головки должен быть направлен вверх в сторону микросхемы Atmega. На следующем шаге мы покажем, что вам нужно использовать программное обеспечение Arduino для записи загрузчика!

Пора гореть!

Выберите тип платы

Запустите Arduino, затем перейдите в «Инструменты» и «Плата». Выбор типа платы, которую вы хотите использовать, повлияет на то, какой загрузчик вы поместите на свой чип. Чаще всего вы будете использовать Diecimilia или самую последнюю версию Arduino для Atmega PDIP, однако, если вы хотите загрузить Arduino Lilypad, Arduino Mini, Arduino Nano или любую из более старых версий Arduino, выберите подходящую плату. .


Выберите своего программиста. Гореть!

Затем перейдите в «Инструменты» и «Записать загрузчик» и выберите программатор, который вы будете использовать.


Горение

После того, как вы выберете свой программатор, программатор AVR начнет загрузку вашего чипа Atmega, и в строке состояния появится сообщение «Запись загрузчика на плату ввода-вывода (это может занять минуту) …» Индикаторы будут мигать. ваш программист.


Запись завершена!

По завершении загрузки в строке состояния появится сообщение «Готово записать загрузчик.«Теперь ваш чип готов к программированию с использованием программного обеспечения Arduino! Поздравляем! Выключите и снова включите ваш Arduino, и ваш новый чип Atmega будет запускать простую программу мигания светодиода с выводом 13 (если это не так, попробуйте запрограммировать его с помощью одного из выводов). Если это сработает, значит, это был успех.

ПРИМЕЧАНИЕ: Иногда процесс загрузки микросхемы Atmega с помощью AVR ISP mkII занимает чрезвычайно длительный период времени. Обычно это занимает всего пару минут, и на самом деле AVRtinyISP завершает работу намного быстрее.Однако бывают случаи, когда через 5-10 минут он все еще загружается. Я обнаружил, что это странный сбой (возможно, это тройная проверка потока данных), и, дав ему достаточно времени, 10 минут или около того, я обычно отключаю программатор только для того, чтобы обнаружить, что процесс записи прошел успешно и давно закончился .

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *