четверг, 30 июля 2009 г.

Пока только вольтметр

Задумал тут разработать проектик полезный для работы.
Пока только сварганил из Arduino вольтметр.
В перспективе хочу добавить еще датчик температуры и как-то осуществить возможность отправки SMS. Будет своего рода контроллер температуры и напряжения с возможностью SMS оповещения о сбоях.

Измеряемое напряжение находится в пределах от 0 до 60В.
60В прямо так Arduino не измерить. В таких случаях обычно с вольтметром используют шунт http://physics.5ballov.ru/Konspekt/t11.htm
Я хз как надо поступать в случае с ардуино. В интернете не нашел. Пока воспользовался двумя последовательно соединенными, между плюсом и минусом, резисторами на 1,5МОм и 82КОм. Такие большие чтоб жрали меньше тока. Резисторы рассчитаны на 1W каждый.
Arduino измеряет падение напряжения на резисторе в 82КОм. Потом это напряжение умножается на постоянный коэффициент пропорциональности и получается реальное напряжение. Для индикации измерений я подключил к Arduino также ЖК дисплей.

Вот скетч:

 
#include <LiquidCrystal.h>
// LiquidCrystal display with:
// rs on pin 12
// rw on pin 11
// enable on pin 10
// d4, d5, d6, d7 on pins 5, 4, 3, 2
LiquidCrystal lcdup(12, 11, 10, 5, 4, 3, 2),
lcddw(12, 11, 13, 5, 4, 3, 2);
void setup() {
lcdup.clear();
lcddw.clear();

}

void loop() {
float voltage = 5.0 / 1024.0 * analogRead(0);

lcdup.clear();
lcdup.print("Voltage on resistor: ");
lcdup.print(voltage);
lcdup.print(" B");
float realv = voltage * 19.3;
lcddw.clear();
lcddw.print("Real voltage: ");
lcddw.print(realv);
lcddw.print(" B");
delay(1000);


}



А вот фото:



Тут я измерял напряжение на 9В батарейке, питающей Arduino.
Измерения конечно не совсем точные. Но это все еще нужно доработать...

1 комментарий:

  1. Для начала делить нужно не с 1024, а 1023, так как отсчет начинается с 0

    ОтветитьУдалить