Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Вольтметры на 3 и 4 разряда

Этим "ночером" я срисовал схемы еще двух вольтметров:
3digit_voltmeter
Трехсимвольный

4digit_voltmeter
Четырехсимвольный


На трехсимвольном часть элементов распаяна прямо под экранчиком. Мне его выпаивать не хотелось (да и сомневаюсь, что это можно сделать, не сдув феном остальные элементы), поэтому схема нарисована приблизительно.
Как обычно, китайцы крайне неудачно развели схему: если бы они оставили свободными ноги UART1Rx/Tx, то переделать этот "вольтметр" во что-нибудь полезное было бы попроще. А еще непонятно, зачем они задействуют ногу SWIM, когда и так хватает ног!
Схемка трехсимвольного элементарна: кренка выдает (??)Вольт для питания микроконтроллера от входного напряжения (не замерил, сколько там). С той же входной ноги VIN напряжение поступает на делитель R1/R2, после которого примерно 10% входного напряжения идет на аналоговый вход AIN4. Так как используемый линейный стабилизатор дает довольно-таки плохонькую стабильность напряжения питания микроконтроллера (как минимум процентов пять при разбросе входных напряжений от 3.6 до 24В), то полагаться только на встроенный АЦП нельзя. А вот внутренний стабилизатор, судя по информации с радиофорумов, при разбросе входного напряжения порядка тех же ±5% выдает вполне стабильное напряжение 1.8В с точностью не хуже 1%. Поэтому в данной схеме есть еще один канал измерения АЦП: напряжение на Vcap — конденсаторе для внутреннего стабилизатора.
Итак, этот трехсимвольный "вольтметр" на своем рабочем диапазоне (3.6..24В) имеет LSB=0.035В и погрешность не хуже 1% (а, возможно, даже и лучше). Это позволяет нам не фиксировать десятичную точку (как было в пятисимвольном "вольтметре"), а выводить ее после первой цифры для напряжений меньше 10В (правда, смысла от этого особо нет: показания будут скакать как минимум ±1LSB; хотя, если проводить плавающее усреднение, будет намного симпатичней).
Кстати, советую обратить внимание на документацию стабилизатора HT7136: предельное напряжение составляет 24В, и если продавец пишет, что "вольтметр" с таким стабилизатором работает до 34В, то он врет, и кренка может сгореть в любой момент. Со всеми вытекающими спецэффектами.

А вот четырехсимвольный "вольтметр" опять явился примером китайского творческого подхода (как и пятисимвольный, в котором 1 символ был явно лишним): 10-битный АЦП сможет выдать 4 значащих цифры лишь при усреднении как минимум сотни показаний!
Кроме того, здесь не анализируется значение Vcap — создатель железяки всецело полагается на постоянство сопротивлений пятипроцентных резисторов с жутким ppm, а еще веселей здесь выглядит переменный резистор RV1 на 2.2к, у которого сопротивление от температуры еще хлеще будет меняться!
На железяке забавно сделаны R5 и R6: чтобы стопроцентно не ошибиться (а может еще для чего) у них была сделана одна общая нога, поэтому нельзя одновременно оба впаять. Если впаян R5, то измеряемое напряжение нужно будет подключать к входу IN (зато нижним пределом будет 0, а не 3.9В), но придется подавать отдельное напряжение питания. А если впаян R6, то получаем все ту же двухпроводную схему (на экземпляре у меня так и было распаяно).
Назначение 10-мегаомного Rx для меня осталось загадкой.
Опять SWIM висит на аноде четвертой цифры (т.е. второго разряда), что опять же вызывает непонимание.
Опять UART1_Rx занят. Зато свободен UART1_Tx, т.е. можно по последовательному порту передавать куда-нибудь измеренные значения. Правда, целесообразность этого вызывает крайние сомнения.
Итак, учитывая то, что перед кренкой здесь стоит Шоттки на 0.24В, то несмотря на очень низкое падение напряжения на этой кренке, нижним пределом измерений в двухпроводном исполнении будет где-то 3.9В. Верхним пределом опять будет напряжение 24В. Опять же LSB=0.035В и погрешность выше 1%. Т.е. без усреднения хотя бы по нескольким десяткам измерений выводить все четыре разряда нецелесообразно. Как и изменять положение десятичной точки: ее нужно зафиксировать на второй позиции (третий разряд), показывая напряжения с двумя цифрами после запятой. Наверняка в данном исполнении у китайцев опять был отдельный такт на отрисовку десятичной запятой ☺

Переделка этих двух вольтметров с минимальным вмешательством может быть следующей: из трехсимвольного можно сделать индикатор показаний чего-нибудь по программному 1-wire, I2C или UART; еще можно сделать двухвходовый измеритель.
С четырехсимвольным то же самое + возможность улучшить точность, заведя Vcap на один из свободных аналоговых входов (AIN4 или AIN5).


Tags: stm8, железяки
Subscribe

  • Дурацкий перекресток

    Был на днях в Пятигорске. Ну и движение там! Просто жесть!!! Вечные пробки, куча "кругов" и грохотящие трамваи… А когда выезжал оттуда, на углу пр.…

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • DHT22/DHT11 на STM32F103

    Добил шайтана! Сначала ожидал, что нужно будет полноценным захватом ШИМ пользоваться, но т.к. в протоколе неинформативная часть имеет постоянную…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 11 comments

  • Дурацкий перекресток

    Был на днях в Пятигорске. Ну и движение там! Просто жесть!!! Вечные пробки, куча "кругов" и грохотящие трамваи… А когда выезжал оттуда, на углу пр.…

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • DHT22/DHT11 на STM32F103

    Добил шайтана! Сначала ожидал, что нужно будет полноценным захватом ШИМ пользоваться, но т.к. в протоколе неинформативная часть имеет постоянную…