DIY amperios / voltios vatio-hora - Arduino (6 / 9 paso)

Paso 6: Código de fuente

El código, esquemas y fotos junto con la discusión está disponible en http://tech.groups.yahoo.com/group/arduinohome/files/volt%20amp%20watt%20hour%20meter/ y http://forum.pololu.com/viewtopic.php?f=3&t=5415

#include

/ * Este dibujo describe cómo conectar un portador de sentido actual de ACS715
(http://www.pololu.com/catalog/product/1186) para Arduino,
y corriente que fluye a través del sensor.

*/

LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

/*

VCC a bordo del portador a Arduino + 5v
TIERRA a bordo del portador a GND de Arduino
En Junta de portador a Arduino A0

Inserte las zapatas de alimentación en el circuito positivo de cargas,
flecha de puntos portador cargar, otro terminal se conecta a
fuente de alimentación positiva

Divisor de tensión

9 k Ohm de + a A4
3 k Ohm desde A4 a Gnd

*/

int Vin = 20;

int Vout = 5;

int cociente = Vin / Vout; Calculada a partir de Vin / Vout

int batMonPin = A4; entrada de pin para el divisor de voltaje
int ADCVal = 0; variable para el valor de A/D
Float pinVoltage = 0; variable que contenga el voltaje calculado
batteryVoltage del flotador = 0;

int analogInPin = A0; Clavija de entrada analógica que el portador del tablero hacia fuera está conectado a
int sensorValue = 0; valor leído de la tarjeta de transportista
int outputValue = 0; de salida en miliamperios
ms largo sin signo = 0;
tiempo de flotador = 0.0;
muestra de int = 0;
Float totalCharge = 0.0;
Float averageAmps = 0.0;
Float ampSeconds = 0.0;
flotador de amp-horas = 0.0;
Float wattHours = 0.0;
flotador de amperios = 0.0;

int R1 = 9000; Resistencia de R1 en ohms
int R2 = 3000; Resistencia de R2 en ohms

int cociente = 0; Calculada a partir de Vin / Vout

void setup() {}
inicializar comunicaciones serie a 9600 bps:
Serial.Begin(9600);
LCD.Begin (20, 4);
}

void loop() {}

int sampleADCVal = 0;
int avgADCVal = 0;
int sampleAmpVal = 0;
int avgSAV = 0;

para (int x = 0; x < 10; x ++) {/ / ejecutar bucle x 10

Lectura analógica de valor:
sensorValue = analogRead(analogInPin);
sampleAmpVal = sampleAmpVal + sensorValue; Sume las muestras

ADCVal = analogRead(batMonPin); Lea el voltaje en el divisor
sampleADCVal = sampleADCVal + ADCVal; Sume las muestras

Delay (10); que ADC settle antes de la siguiente muestra

}

avgSAV = sampleAmpVal / 10;

convertir a Mili amperios
outputValue = ((avgSAV (largo) * 5000 / 1024) - 500) * 1000 / 133;

/ * sensor salidas cerca de 100 en el resto.
Análogo leer produce un valor de 0-1023, equiparando a 0v a 5v.
"(sensorValue (largo) * 5000 / 1024)" es el voltaje en el sensor de salida en milivoltios.
Hay un desplazamiento de 500mv para restar.
La unidad produce 133mv por amperio de corriente, así
dividir por 0.133 convertir mv y ma

*/

avgADCVal = sampleADCVal / 10; dividir por 10 (número de muestras) para obtener una lectura constante

pinVoltage = avgBVal *. 00488; Calcular el voltaje en el pin de A/D
/ * Una lectura de 1 para el A/D = 0.0048mV
Si multiplicamos la lectura del A/d por 0.00488 entonces
obtenemos el voltaje en el pin.

También, dependiendo del cableado y
que voltaje se lee, bajo
cargas pesadas muestra pueden
bajo voltaje en la fuente. monitor
en carga o fuente y decidir.
*/

batteryVoltage = pinVoltage * relación; Uso calcula el cociente por el divisor de voltaje
para calcular el voltaje de la batería

amperios = (float) outputValue / 1000;
flotador de vatios = amperios * batteryVoltage;

Serial.Print ("v =");
Serial.Print(batteryVoltage);
Serial.Print ("\t corriente (amperios) =");
Serial.Print(AMPS);
Serial.Print ("\t potencia (vatios) =");
Serial.Print(Watts);

muestra = muestra + 1;

MS = millis();

tiempo = (float) mseg / 1000.0;

totalCharge = totalCharge + amperios;

averageAmps = totalCharge / muestra;

ampSeconds = averageAmps * tiempo;

amp-horas = ampSeconds/3600;

wattHours = batteryVoltage * amp-horas;

Serial.Print ("\t tiempo (horas) =");
Serial.Print(Time/3600);

Serial.Print ("\t amperios hora (ah) =");
Serial.Print(ampHours);
Serial.Print ("\t vatios-hora (wh) =");
Serial.println(wattHours);

lcd.setCursor(0,0);
LCD.Print(batteryVoltage);
LCD.Print ("V");
LCD.Print(AMPS);
LCD.Print ("A");

lcd.setCursor(0,1);
LCD.Print(Watts);
LCD.Print ("W");
LCD.Print(Time/3600);
LCD.Print ("H");

lcd.setCursor(0,2);
LCD.Print(ampHours);
LCD.Print ("Ah");
LCD.Print(wattHours);
LCD.Print ("Wh");

lcd.setCursor(0,3);
LCD.Print (ratio, 5);
LCD.Print("");
LCD.Print(avgBVal);

esperar 10 milisegundos antes del siguiente bucle
para el convertidor de analógico a digital resolver
después de la última lectura:
Delay(10);
}

Artículos Relacionados

14 amperios hora / 140 vatios hora batería de ion-litio

14 amperios hora / 140 vatios hora batería de ion-litio

esto es una 1S14P ion de litio de 18650s encuentra en portátiles.  Cada célula 18650 es 2 amperios/hora o 10 vatios por hora.  14 18650s en paralelo es de 140 vatios y amperios 28 horas.Creo que la razón más grande para este instructable que sigue a
Unidad de producción de cloro DIY 12 voltios para purificación de agua

Unidad de producción de cloro DIY 12 voltios para purificación de agua

Proyecto de hoy es un dispositivo utilizado para crear una fuente prácticamente inagotable de la misma solución desinfectante como el hipoclorito de calcio. Si quieres ir fuera de red, tienes que tener un suministro de agua potable.  Esta instuctable
Plugduino - controlador de salida de 120 voltios basados en Arduino

Plugduino - controlador de salida de 120 voltios basados en Arduino

dar su Arduino 120 voltios patada en los pantalones!Arduino es una gran herramienta para todo aquel interesado en aprender programación de microcontrolador, pero después de parpadear un LED, ¿cuál es siguiente? Este proyecto permite su Arduino aparat
DIY!!!! Arduino increíble!!!. #Xolcano.com

DIY!!!! Arduino increíble!!!. #Xolcano.com

en vez de comprar clones de China que usted puede construir su propio arduino para alrededor de 3dollars o 200INR, aquí está toda la información que necesita construir,Paso 1: Componentes necesarios 1) tablero revestido de cobre2) lija3) brocas-0.8m
Dispositivo de navegación DIY para personas ciegas utilizando Arduino y Android teléfono inteligente

Dispositivo de navegación DIY para personas ciegas utilizando Arduino y Android teléfono inteligente

En este proyecto puede cubrir los ojos y dejar que tu smartphone a navegar para evitar los obstáculos, la aplicación es principalmente un dispositivo de navegación DIY para personas ciegas.Sabía que 1Sheeld está a punto de lanzar un nuevo escudo de t
KITT-duino, DIY Larson Scanner con un Arduino

KITT-duino, DIY Larson Scanner con un Arduino

importante: ya está actualizado el código. SOLUCIONES incluyen agregar un valor de entero para manipular el tiempo y la fijación de un doble parpadeo LED.Gracias.Es mi entendimiento que muchos escáneres de Larson puede sólo pulso de un lado a otro. S
Monitor de bebida caliente DIY - usando el DS18B20 y Arduino Nano

Monitor de bebida caliente DIY - usando el DS18B20 y Arduino Nano

Mi novia siempre tiene un problema que ella quema su lengua cuando ella saborear bebidas calientes. Entonces comencé a pensar, tal vez podría crear un dispositivo que evita su quema su lengua, por lo que puede beber té y siempre tienen el perfecto y
DIY Robot moldes, Casting y Arduino mando

DIY Robot moldes, Casting y Arduino mando

Aprender a construir tu propio robot único con ComposiMold.Lista de partes:ComposiStone (2 libras), pegamento, Spray adhesivo, PureCast605, pegamento de Elmer, usa ComposiMold, ProtoCast85R, agua, juguete Robot, silicona, caja de cartón, pintura, col
Arenador de la arena DIY $50 en una hora

Arenador de la arena DIY $50 en una hora

No intro largo, empezar y ahorrar $200 y 8 horas de Asamblea en el gran rojo que seguir viendo.Es una blaster de los medios de comunicación para preparar el metal para soldadura o capa del polvo, preparar su vaso de cerveza para po, eliminar el vello
DIY Magic Mirror y Photobooth - Arduino Powered

DIY Magic Mirror y Photobooth - Arduino Powered

un kit montado para este proyecto ya está disponible enSeeedstudio.comMás información en este proyecto en http://diymagicmirror.com El software para este proyecto es de código abiertoQue es la más bella de todas ellas. Haga su propio Magic Mirror y d
¿DIY Apple remotos Shield para Arduino

¿DIY Apple remotos Shield para Arduino

que siempre quisiste hacer un apple remote? ¿O tal vez una de sus creaciones de arduino tiene poder control de iTunes en tu Mac, iPod o Apple TV? Ahora usted puede!Un tiempo atrás estaba trabajando en un proyecto que quería ser capaz de empezar la mú
Robot de Minion DIY hecho con chatarra y Arduino

Robot de Minion DIY hecho con chatarra y Arduino

¡ Hola!Supongo que ustedes ya saben que tengo un bebé. Aunque es pequeño, ya es muy atenta viendo los robots corriendo alrededor de la casa (nos divertimos mucho junto con el mBot y sus luces). Así que hice este amigo pensando que sería divertido par
DIY 6 voltios seguro

DIY 6 voltios seguro

en este instructable le mostraré cómo hacer una caja fuerte oculta de una batería grande 6 voltios. También te mostraré cómo hacerlo dar poder a la luz, a pesar de es delicada. (de esa manera usted puede demostrar que es "no fake")Paso 1: partes
Inicio Proyecto DIY de automatización utilizando Arduino UNO y Ethernet Shield

Inicio Proyecto DIY de automatización utilizando Arduino UNO y Ethernet Shield

"El objetivo principal de este proyecto es que, cómo controlar electrodomésticos como TV, ventilador, tubo de luz o algo usando su ordenador o portátil"El corazón de este proyecto es Ethernet escudo y definitivamente el cerebro de este proyecto