В статье описан вольтметр, с
пределом измерения 50 вольт, сделанный на PIC16F676 или как использовать
АЦП этого микроконтроллера.
Ранняя версия статьи лежит тут.
Схема
На резисторах R1 и R2 собран делитель
напряжения, многооборотный построечный резистор R3 служит для калибровки
вольтметра. Конденсатор C1 защищает вольтметр от импульсной помехи и
сглаживает входной сигнал. Стабилитрон VD1 служит для ограничения
входного напряжения на входе микроконтроллера, что бы вход МК не сгорел
при превышении напряжения по входу.
На транзисторе VT1 (КТ3102 или SMD
вариант BC847) и резисторах R11, R12 и R13 собран инвертирующий элемент,
который зажигает точку на индикаторе вместе со вторым разрядом.
В схеме применён индикатор с общим
анодом BA56-12GWA, который через токоограничивающие резисторы подключен к
МК. Этот индикатор отличается низким потреблением тока. При
использование более мощных (крупнее сегменты или другого цвета)
индикаторов рекомендуется поставить ключи на аноды, как в присланной
схеме от Владимира.
Часть исходника вольтметра, компилятор HI-TECH PICC 9.50:
01. void main()
02. {
03. int i,v;
04. unsigned char v1,v2,v3;
05. low_init();
06. while (1)
07. {
08. GODONE=1;
09. for (i=0;i < 200;i++)
10. {
11. seg7(v1,1);
12. delay(10);
13. seg7(v2,2);
14. delay(10);
15. seg7(v3,3);
16. delay(10);
17. }
18. PORTA=0b00000000;
19. PORTC=0b11111111;
20.
21. while (GODONE){}
22. v=ADRESL;
23. i=ADRESH;
24. v=v+i*256;
25.
26. v=(v*10/20)%1000;
27. v1=v/100;
28. v=v%100;
29. v2=v/10;
30. v3=v%10;
31. }
32. }
В бесконечном цикле постоянно происходит
получение данных с АЦП, их преобразование и вывод на 7-ми сегментный
индикатор в режиме ШИМа.
Печатка
Настройка вольтметра производиться с помощью подстроечного резистора R3 (желательно применить многооборотник).
Скачать исходник и печатку
Внимание
У некоторых программаторов была
обнаружена проблема в порче микроконтроллеров. Это выражается в том, что
они затирают заводскую калибровочную константу внутренней RC цепочки,
после чего МК начинает работать некорректно или перестаёт работать
вообще. Поэтому перед прошивкой микроконтроллера сначала прочитаёте его
память и выпишите последние слово (2 байта) из flash памяти контроллера.
После прошивки проверьте, сохранилась ли значение, если нет, то
прошейте контроллер, но уже с ранее выписанной калибровочной константой.
Благодарность за обнаружение этой проблемы: Валерию, Юрию.
Прошивки
Представляю вам новые, версии прошивок вольтметра. Главное их отличие – убрано мерцание индикатора.
Общий анод:
Скачать прошивку до 50В (R1=47кОм) V3.1
Скачать прошивку до 100В (R1=100кОм) V3.1
Общий катод:
Скачать прошивку до 50В (R1=47кОм) V3.1 общий катод
Скачать прошивку до 100В (R1=100кОм) V3.1 общий катод
Старые версии прошивок (общий анод):
Скачать прошивку до 50В (R1=47кОм)
Скачать прошивку до 100В (R1=100кОм)
|