Расчёт делителя вольтметра (для 4 и 5 версии)
Ранее на сайте были опубликованы 4 (на PIC16F676) и 5 (для PIC16F688) версии прошивок вольтметра. В эти прошивки были добавлены возможности пользователям самим устанавливать программный делитель вольтметра. Такая возможность позволяет данную конструкцию использовать не только в качестве классического вольтметра, но и так же к нему подключать различные аналоговые датчики с линейной зависимостью, что значительно может расширить сферы его применения.
Вольтметр с 5 версией прошивки
В статье, в общем, и на примере конкретных датчиков будет описан принцип расчёта коэффициентов делителя вольтметра.
У вольтметра на входе 10 разрядное АЦП, на выходе которого можно получить значение от 0 до 1023. Питание вольтметра 5В. Что бы получить какое-нибудь вменяемое значение, а не чистое значение с АЦП, то нужно выполнить какие-нибудь преобразования. Какие, зависит от того, что нужно.
Например: что бы замерить 5В – входное значение домножаем на максимальное замеряемое значение и делим на разрядность АЦП. Что бы измеряемые 5В отобразить, как 5.0В, т.е. сами вольты и десятинные значения. Для начала вспомним, что точка на индикаторе фиксированная, значит на индикатор нужно выводить значение 50, для этого смещаем пятёрку на десяток влево, т.е. ещё домножим на 10.
Для задания настоек преобразования у вольтметра есть 3 целочисленных переменных:
Множитель – M (только положительный, принимает значения от 1 до 31)
Делитель – D (только положительный)
Смещение – O (может быть как положительным, так и отрицательным)
Отмечу, что во время расчёта значений следует учитывать несколько ограничений, об некоторых предупредит калькулятор, о других нет.
Калькулятор предупредит о следующих ограничениях: множитель (M) от 1 до 31, т.к. он домножает входное значение АЦП и знаменатель не должен превышать 32767. И ограничения переменных – для делителя (D) от 0 до 65535 и для смещения (O) от -32768 до 32767.
С остальными ограничениями чуть сложнее, что бы с ними не столкнуться нужно понять, как будут происходить математические преобразования и знать какие программные ограничения установлены.
1. 3-х сегментный дисплей отображает значения только от 0 до 999;
2. Отображаются только положительные значения;
3. Программа производит целочисленное деление, отбрасывая (не округляя) дробную часть.
На самом деле, как видно, в принципе всё просто.
Продолжим расчёт с измерением 5В и отображением 5.0В.
В связи с ограничениями мы вынуждены упростить множитель и делитель, хоть это и приведет к снижению точности:
Для, ставшего уже классическим, вольтметра до 50В с отображением десятичных вольт получаем следующею формулу:
Погрешность до 0,4В.
В программе калькулятора применен более простой алгоритм расчёт, поэтому она предлагает следующею формулу:
Погрешность до 1,2В.
Поэтому для более точных измерений коэффициенты преобразований лучше рассчитывайте самостоятельно.
Рассмотрим пример расчёт для других датчиков.
Датчик MPX4115A
Барометр, подходит для измерения атмосферного давления.
Подключение MPX4115A
Точку не отключал.
Для начала ищём документацию на датчик и из документации берем формулу расчёта его значения.
У нас же наоборот, известно напряжение, а нужно найти давление, т.е. преобразуем:
Но выход датчика в кПа, а нам удобнее воспринимать мм. ртутного столба (задача измерять атмосферное давление), поэтому переведем к более приличному виду, домножим на 7,5
Так же не забываем, что на входе у нас не напряжение, а значение АЦП, т.е. входное значение при 5 В питания от 0 до 1023.
Остаётся только округлить дробные части и проверить: не превышаем ли допусков. Знаменатель должен быть меньше 32767, впрочем, как и остальные части. Проверяем:
1024 – максимальное значение АЦП. Превышает (для множителя максимум 31), значит нужно дробь упростить, даже если придётся числа округлить.
В итоге получаем:
При желании можно сделать более точное округление.
Датчик LM335
Подключение LM335
Датчик температуры: -40 +100грЦ. Берем формулу расчёта из документации к датчику.
Преобразуем
Датчик ACS712ELCTR-30A
Подключение ACS712ELCTR-30A
Датчик постоянного тока +-30А, вольтметр обрабатывает только положительное плечо, т.е. 0..30А. Он, как и все предыдущие, имеет линейную зависимость, 66мВ/А, «0» в 2,5В, исходя из этих данных составляем следующею формулу:
И преобразуем её.
Alex_EXE | 08.04.2014 | Измерительная техника |
виктор пишет 20.06.2014 в 17:57 #
Честно говоря немного не понятно ход рассчета. я попытался расчитать для датчика LM35 но ничего пока результативного. Могли бы Вы для указанного датчика расчет расписать, пожалуйста.
Alex_EXE пишет 25.06.2014 в 22:04 #
При основном включении, без отрицательного дополнительного питания он работает в диапазоне 2..150грС, где на каждый градус идёт 10мВ, ему будет соответствовать прошивка на 50В.
Дмитрий пишет 14.04.2015 в 18:32 #
примеры расчетов коэф. для различных датчиков при каком делителе рассчитаны? Подключил lm335, показывает 30.5, при нагревании паяльником максимум до 40 изменяется…
boris пишет 20.11.2018 в 13:59 #
Доброго дня, Alex! Ранее, не сколько раз ,повторял вашу разработку вольтметра на PIC 676 ,очень понравилась. И вот , не сочтите нахалом, решил обратиться вот по какому поводу. Недавно сын отдал автомобиль, на котором установлено ГБО(газо баллонное оборудование), с весьма примитивным индикатором расхода газа (четыре светодиода управляемые электронным блоком(ЭБ). Поразмыслив, и проведя лабораторные исследования, пришел к тому , что необходимо производить замеры напряжения на датчике установленном на редукторе и умножать показания вольтметра на коэффициент 15 . Результат приятно удивил, точность количества газа в баке была весьма высока. Попробовав применить в качестве вольтметра вашу разработку, увы, получил большую погрешность. Свел все измерения в табличные данные . Получилось как-то не технологично . Вот и решил вас побеспокоить. Если вас это заинтересовало , можно открыть еще одно направление разделе «Микроконтроллеры»- «Бакометр». Простите за некую сумбурность. Готов дать весь исходный материал. Почему-то, я так думаю, эта тема многих заинтересует.