Калькулятор вольтметра на PIC16F676 v4 и PIC16F688 v5

Для расчета значений EEPROM конфигурации вольтметра на PIC16F676 4 версии была написана специальная небольшая утилита.

Калькулятор вольтметра на PIC16F676 v4

Калькулятор вольтметра на PIC16F676 v4

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

Первое, что позволяет программа – рассчитать конфигурационные биты под обычные делители входного напряжения + примерно покажет, схему самого делителя. Предложенные в схеме номиналы деталей приблизительные, т.к. программа рассчитывает их жестко не округляя к таблице Е. После расчета делителя программа автоматически заполняет формулу преобразования входного сигнала с АЦП в отображаемое значение на 3-х цифровом семисегментном индикаторе и показывает значения конфигурационных байтов, которые нужно записать в EEPROM память контроллера.

Т.к. некоторых пользователей не устраивает частота обновления вольтметра (период между замерами АЦП) – теперь её можно задать самостоятельно. Значение задаётся в условных циклах контроллера. Преобразования к привычному временному значению пока ещё нет.

Из-за популярности данной конструкции вольтметра среди автолюбителей и общения с пользователем xrust83, для которого корректировалась прошивка для статьи – реинкорнация бортового вольтметра, теперь доступна новая возможность. А именно мигание индикатора, если измеряемое значение выходит за установленные рамки. Это полезно, когда напряжение бортовой сети автомобиля, а точнее аккумулятора, выходит за нормальные показатели: или аккумулятор перезаряжен или сел. Мигание производиться по средством погасания индикатора на один из измеряемых периодов и следовательно скорость мигания зависит от частоты обновления индикатора. Повторюсь – индикатор мигает, только если измеряемое значение выходит за установленные рамки:

Например: установим интервал от 11,4В до 14,5В. Когда значение будет в этом интервале, например 12,0В, то индикатор будет нормально гореть, но если выйдет за предел, скажем 10В или 20В – то индикатор начнет мигать, информируя о неисправности. Если данная опция не нужна, то задаём неправильный период, например минимальный порог 20В, а максимальны 10В или убираем галочку с опции и программа всё сделает сама. Отмечу, что значение задается в отображаемой форме на индикаторе после вычисления без запятых, например если нужно установить значение 12,5 – то просто записываем 125.

Все установленные настройки после нажатия кнопки «Рассчитать» — отображаются в поле «Значения» в целочисленной (INT) или шестнадцатеричной (HEX) форме. Эти значения можно сохранить в файл, или скопировать в буфер: как целиком, нажатием на кнопку «Скопировать в буфер», так и по байтно кликом по нужному байту.

Рассчитанные значения предназначены только для 4 версии прошивки вольтметра, к другим версиям они не подойдут, точнее на более младшие версии не окажут ни какого эффекта. Так же отмечу, что 4 версия прошивки вольтметра не сможет корректно работать, а точнее будет показывать ерунду, без записи рассчитанных значений в EEPROM память микроконтроллера. Рассчитанные 12 байт нужно последовательно, так же как они отображаются в программе записать в память контроллера.

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

Скачать программу v1.002.0010

Программа обновлена 12.02.2014

15 комментариев на « Калькулятор вольтметра на PIC16F676 v4 и PIC16F688 v5»

  1. Nick пишет 14.10.2013 в 22:33 #

    Alex, а на чем программы пишешь?

    Может сделаешь небольшую обучалку?

  2. Alex_EXE пишет 16.10.2013 в 00:39 #

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

  3. Alex_EXE пишет 24.12.2013 в 14:15 #

    Внимание!!!
    Пока материал по новой реализации 4 и 5 версий вольтметра не готов — то выкладываю прошивки, совместимые с индикатором с общим анодом (а так же с прошивкой от Владимира , а так же подходящей для автомобильного вольтметра из статьи — реинкарнация бортового вольтметра):
    Скачать прошивку для PIC16F676 с общим анодом v4.03
    Скачать прошивку для PIC16F688 с общим анодом v5.03 (Обновлена 12.02.2014)

    В прошивку под PIC16F688 добавлены алгоритмы фильтрации. Если их при конфигурировании МК не задать — то они будут установлены по умолчанию (так же это относиться и к основным настройкам — 50В, частота обновления и отключенное мигание). Материал по их настройке пока что не готов — но есть комментарии в программе. И да: этот МК, со своей прошивкой, совместим с выше описанными вольтметрами.

  4. hp-singer пишет 12.01.2014 в 07:45 #

    Перепрошил PIC16F676 с общим анодом v4.03 показывает при вкл. «0» и все 🙁 открыл старые прошивки они больше чем эта… если я не ошибаюсь новая 4 не дописанная, или я что-то нетто делаю? заливаю 3.1 работает 🙂

  5. Serjik10 пишет 08.02.2014 в 18:08 #

    подскажите что нужно забивать для 5 ой прошивки если забиваю только 2-ю строчку возле которой написано для 5й прошивки то работает но не меняется частота обновления если забиваю первую и вторую не хочет работать. Модно по подробнее описать что куда забивать?

  6. Alex_EXE пишет 10.02.2014 в 23:21 #

    Идём по порядку по вкладкам:
    1. сначала задаём напряжение, т.е. делители, нажимаем «=» и их значения отобразятся в первых 6-х байтах (0-5).
    2. идём на вкладку «Обновления» и если нужно то меняем там значения
    3. Аналогично со вкладкой «Округление»
    4. Нажимаем рассчитать и получаем обе строчки заполненные значениями и почти все не нулевые.
    Если значения из первой (0-11) или второй (16-23) строчки не указывать то вольтметр их возьмёт по умолчанию для соответствующей строчки.
    Первая строка для прошивки по умолчанию должна выглядеть примерно как на первом скрине.

    P.S. Я оперативно вижу все приходящие комментарии и письма, спасибо телефону, но вот отвечаю обычно только с компьютера, а до него не всегда могу добраться дома, а на работе пока интернета у меня нет.

  7. Alex_EXE пишет 12.02.2014 в 01:38 #

    Serjik10 — спасибо за настойчивость, программу и прошивку обновил.

  8. Serjik10 пишет 12.02.2014 в 14:27 #

    О спасибки огромное буду пробывать

  9. Serjik10 пишет 12.02.2014 в 14:31 #

    только программу обновленную не качает пишет вы пытаетесь скачать то чего здесь нет

  10. Alex_EXE пишет 12.02.2014 в 16:29 #

    Исправил

  11. Сергей пишет 18.02.2014 в 22:37 #

    Alex_EXE Здравствуйте, я очень благодарен Вам за розработку, у меня уже работает несколько ваших вольтметров, все отлично. В данное время я столкнулся с тем что нужно сделать амперметр на базе датчика ACS712, при нулевом току у него напряжение 2,5 в на выходе. Помогите разобратся с расчетами с помощю этой програмы в данном случае.

  12. Alex_EXE пишет 20.02.2014 в 22:44 #

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

  13. Сергей пишет 21.02.2014 в 01:36 #

    Я могу попробовать эксперементальным путем мне только подсазка нада. Вот например я ставлю максимальное входное напряжение 5в, вот не пойму как быть с формулой, т.е y=x а что дальше, вот например если я установлю максимальное напряжение 5в т.е без делителя, что мне поставить чтобы при входе 3 вольта индикатор показывал 500?

  14. mercuri пишет 18.08.2014 в 23:28 #

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

  15. Alex_EXE пишет 25.08.2014 в 18:48 #

    Расчёт делителя вольтметра (для 4 и 5 версии)
    После расчёта значения из поля «Значения» нужно скопировать в EEPROM микроконтроллера во время его прошивки.
    В твоём же случае указываешь максимальное напряжение и на следующей вкладки заполоняешь строчки в графе «Мигания» в соответствии с требуемыми минимальным и максимальным порогом относительно значений отображаемых на дисплее индикатора, т.е. 41<[значение]<79 .

Комментарии RSS

Оставьте отзыв