По результатам тестирования и обсуждения обновления проекта Моддинг блока питания в файлохранилище размещены файлы прошивки новой версии, под кодовым названием "Моддинг БП - 2". Эта версия имеет больше возможностей по настройке, в ней устранены недостатки предыдущей версии.
Особенности схемы.
Порт D подключается к сегментам индикатора, причем младший бит к сегменту А, далее по порядку B,C,D,E,F,G и точка. Точке соответствует старший бит порта D.
Токоограничительные резисторы включаются, как и ранее, в цепь общих электродов (общих катодов или анодов) индикаторов.
Прошивка рассчитана на 6 индикаторов, сгруппированных по три на ОСНОВНОЙ и ДОПОЛНИТЕЛЬНЫЙ дисплеи.
Нумерация индикаторов такая: 654321, т.е. самый левый индикатор имеет номер 6, самый правый - 1.
Индикаторы 654 образуют дополнительный дисплей, который может не устанавливаться, функциональность при этом не страдает. У дополнительного дисплея не используются сегменты точек у индикаторов 5 и 4.
Индикаторы 321 образуют основной дисплей, он обязан использоваться всегда. У основного дисплея точка индикатора 1 не используется, вместо нее между его общим электродом и линией сегмента Нподключается све-тодиод индикации режима.
Общие электроды основного дисплея подключаются к линиям порта B: PB0 для индикатора 1, PB6 для индикатора 2 и PB7 для индикатора 3. Общие электроды дополнительного дисплея подключаются к линиям порта С: PC3 для 6-го индикатора, PC4 для 5-го и PC5 для 4-го.
Кнопок предусмотрено, как и ранее, 3, их подключение и назначение прежние.
Если применяются все 3 кнопки, 6 индикаторов, фильтры ШИМ - схема называется полной. Неполная схема в минимальном варианте может содержать только основной дисплей и кнопку ВЫБОР.
Особенности прошивки.
Прошивка универсальная, т.е. работает как при полной схеме, так и при неполной. Система индикации адаптирована под такую универсальность. Режимов работы 3, переключаются кнопкой ВЫБОР.
Показания напряжения осуществляются с учетом десятых долей, а тока - с учетом сотых. Единица измерения - вольт и ампер соответственно. Максимальные показания (настраиваются, см. далее) соответственно 99.9В и 9.99А.
В режиме 1 (включается после подачи питания) основной дисплей показывает напряжение, дополнительный - ток (дополнительный дисплей в любом режиме индицирует уровень тока), светодиод не светится. Кнопки БОЛЬШЕ-МЕНЬШЕ изменяют уровень напряжения на выходе U.
Режим 2 включается из режима 1 после нажатия кнопки ВЫБОР. Светодиод режима светится. Оба дисплея индицируют уровень тока. Кнопки БОЛЬШЕ-МЕНЬШЕ не действуют.
Режим 3 включается из режима 2 после нажатия кнопки ВЫБОР. Светодиод режима мигает. Основной дисплей индицирует расчетное значение уровня ограничения тока (как и ранее). Это значение изменяется кнопками БОЛЬШЕ-МЕНЬШЕ, и соответственно изменяется уровень напряжения на выходе I.
Из режима 3 после нажатия ВЫБОР снова попадаем в режим 1.
Длительное нажатие и удержание кнопки ВЫБОР приводит к записи в память заданных уровней на выходах U и I, так что при следующем включении они будут установлены автоматически. Процесс сохранения отображается «шахматами» на индикаторах. После отпускания кнопки ВЫБОР восстанавливается тот режим, что и был в момент нажатия и удержания.
Кратковременное нажатие на кнопку БОЛЬШЕ или МЕНЬШЕ приводит к незначительному изменению уровня на соответствующем выходе, но если удерживать кнопку нажатой, то спустя 1,5-2 секунды включается ускоренное изменение в соответствующем направлении.
В прошивке приняты меры по устранению погрешностей измерений.
В прошивке применен способ корректировки параметров без ее изменения. Все корректирующие значения заносятся в EEPROM перед программированием МК. Сделать это можно вручную, введя соответствующие значения в определенные ячейки блока EEPROM в программаторе ChipBoom. Предварительно надо переключить режим отображения данных в блоке на «Слово», а формат числа - на «Десятичный».
Настроечные параметры вводятся начиная с клетки с адресом 0010.
Первым вводится точное значение напряжения встроенного в МК источ-ника опорного напряжения, которое можно проконтролировать точным вольтметром на выводе МК АREF. В ячейку надо записать измеренное значение в сотых долях вольта, т.е. если напряжение 2,45В, то ввести надо 245. Если вы не хотите или не можете измерить это напряжение, введите число по умолчанию 256.
В 2 следующих ячейки водится сопротивление верхнего и нижнего резисторов в делителе напряжения на входе вольтметра. Занчения вводить надо в Омах или Килоомах, но обязательно оба сопротивления в одинаковых величинах. Ограничение: сумма этих значений не должна быть больше 10000 ни при каких условиях. Делитель надо рассчитать так, чтобы максимальному входному напряжению соответствовало выходное не более 2,5В. Например, для измерения входного напряжения до 50В можно выбрать сопротивления 4,8К и 200 Ом, и ввести соответственно значения 4800 и 200.
В следующей ячейке вводится сопротивление шунта амперметра в миллиОмах, т.е. для шунта 0,1 Ом надо ввести число 100.
В следующей ячейке задается коэффициент усиления сигнала с шунта. Если вы подключаете сигнал с шунта прямо на вход МК - введите в эту ячейку 1, если сигнал предварительно усиливается в 10 раз (актуально для шунтов с малым сопротивлением или для контроля малых токов) - введите 10. Коэффициент усиления ни при каких условиях не должен быть более 1000.
Далее следует ячейка, в которой надо указать максимальное «показание» расчетного порога ограничения тока в миллиамперах (т.е. те показания, которые будут соответствовать уровню 5В на выходе I). Например, для показаний в 5А надо ввести 5000.
В последней ячейке при первом программировании следует задать ноль.
Ввод неверных значений в корректирующие параметры приведет к невер-ным показаниям или вообще к их отсутствию.
Пример блока EEPROM с настройками
Примечание.
Схема может быть использована прежняя (см. Моддинг блока питания). Благодаря универсальности прошивки можно просто не использовать дополнительный дисплей - тогда полная функциональность обеспечится на основном. Для целей только индикации можно не устанавливать элементы RC-фильтров и кнопки БОЛЬШЕ-МЕНЬШЕ. Если при этом используются оба дисплея - не нужна кнопка ВЫБОР и светодиод режима. Расплачиваться за эту универсальность приходится тем, что при полном использовании схемы в режиме 2 на обоих дисплеях будет высвечиваться одно и то же значение - ток.
Для индикаторов с общим анодом используется прошивка mod_bp_anode.hex, для индикаторов с общим катодом - mod_bp_catode.hex. Файл EEPROM_mod_bp.hex (настроечные параметры по умолчанию) - общий для обеих прошивок.
В конфигурации надо задать встроенный генератор 8 МГц (для любителей мучиться с фьюзами это означает установить CKSEL=0100). Все прочие настройки конфигурации (фьюзы) надо оставить такими же, как были в новом МК.
Для любителей тестировать прошивки в протеусе прилагается проект-заготовка, содержащий МК, кнопки и индикаторы. В зависимости от типа загруженной прошивки будет корректно работать только один из индикаторов. Дополнительные элементы - входные делители, шунты и т.п. установите самостоятельно. Этот же проект можно использовать в качестве заготовки реальной схемы (или скопировать ее с прошлого проекта моддинга, учтя возможную разницу в размещении и нумерации индикаторов). Из-за особенности протеуса в комплект добавлен третий вариант прошивки, зачем это сделано - сказано в сопроводительном файле (есть в архиве). Эта прошивка только для моделирования в протеусе!