:o
Salve posto il mio problema voglio misurare delle correnti
attraverso ACS712 ora mi succede questo .
Se utilizzo i 5volt attaverso un potenziometro il
centrale lo mando ad Analog Read tutto ok con
resistenza nulla valore dig 1024 man mano che giro il potenziometro
mi cambia come deve i valori fino a zero .
Ora siccome voglio misurare corrente da una fonte superiore
a 5 volt ho collegato ACS712 pero mi succede
che ho sempre un valore digitale 512 anche se non
ce carico resistivo inserito e dove sbaglio i 12 volt
attraversano una resistenza di 100ohm 5watt
ho fatto un giro in internet ho visto
che il modulo puo misurare valore positivi
che negativi di corrente e quando la corrente
e zero amper da in uscita 2,5 volt
quindi il valore digitale 512
devo vedere quale e la formula per darmi la corrennte
qualcuno mi puo aiutare,unaltro problema se ho ad esempio
3 di questi modulini come faccio a distinguerli se li
vedo passo nella seriale ce un modo quando faccio Serialprint
assieme alla variabile intenger di passare una variabile char
testuale per dire che quello amperagio e del modulo numero1-
numero2-numero3 cosi si so quale carico sto misurando
Devi indicare anche i valori di range minimo e massimo per poter fare dei calcoli.
P.es. se il sensore legge ±2A avrai:
-2A = 0
0A = 512
2A = 1024
poiché l'intero range è di 4A avrai che ogni bit vale 4/1024= 3,9mA circa, da qui in poi è solo un poco di matematica....
Se hai tre sensori li collegherai a tre pin analogici separati, che leggerai ciclicamente, la risposta al tuo quesito è affermativa, puoi inviare alla seriale stringhe di testo assieme ai valori calcolati ottenendo una cosa di questo tipo:
Sensore 1 = 500mA
Sensore 2 = 1,4A
Sensore 3 = -120mA
Salvo1969:
ho fatto un giro in internet ho visto
che il modulo puo misurare valore positivi
che negativi di corrente e quando la corrente
e zero amper da in uscita 2,5 volt
quindi il valore digitale 512
Questo si chiama offset. Serve come hai scritto di poter misurare correnti negative e avere un uscita tra 0 e 5V.
Un offset si usa anche per gli acelerometri o certi sensori di temperatura.
Grazie per avermi aiutato
volevo chiedere se e possibbile passare
attraverso la seriale una variabile
che poi la vado a recuperare con appinventor 2
e che in quella variabile contiene solo ad esempio corrente1
perche il mio problema e che ricevo tutte le informazioni attraverso Bluetooht
ad appinventor pero io li voglio selezionare ognuna per i
fatti suoi non so se sono stato chiaro
non ci sto capendo piu niente la sfortuna e di non essere esperto in materia.
Forse per riprendere i dati che invio alla seriale .
Per richiamarli non tutti cosi come e il mio caso ma ad esempio
tipo che avrei una stringa che do un nome e che la posso richiamare
dallaltro lato tramite appinventor php ecc , e che in questa stringa
contiene ad esempio i dati da me inseriti
Perdonami, ma da come ti poni rispetto ai suggerimenti che ti sono stati dati, forse dovresti dare prima una buona occhiata al Reference o ad uno dei tanti manuali di base che circolano su Arduino, che ti forniscono le necessarie informazioni sulla programmazione di base. Se vai nella sezione Megatopic c'è il Topic "Link utili" dove troverai un sacco di materiale gratuito, compreso l'ultimissimo lavoro di Simone Majocchi, che certamente ti schiariranno le idee. Vedrai che dopo tutto ti apparirà più semplice. Ciao
Grazie per il consiglio nella sezione Megatopic ci sono molte cose interessanti.
Volevo chiedere speriamo che non dico ancora stronzate,
come ho citato sopra sono in possesso di un ACS712 5A
ora inserisco questo piccolo codice sotto per misurare la corrente
float corrente;
int analogPin = (A0);
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(analogPin);
Serial.println(val);
float corrente =((float) analogRead(A0) / 512.0 - 1.0) * 2.5 / 2 * 20;
Serial.print ("la mia corrente e di");
Serial.println(corrente);
}
drovei misurare col mio carico inserito circa 240mA
infati se inserisco in serie il mio amperometro me lo conferma
vado al nocciolo del problema dalla formula sopra dove ho scritto
-----20; alla fine sul ciclo void loop()-----
dovrebbe essere per un ACS712 di 10A
pero in questo modo vedo nel mio caso i 240mA che leggo nella seriale
se invece inserisco 10; mi da altri valori cosa sbaglio
ciao intanto grazie per l`aiuto ,
ho fatto la prova ho inseriro di nuovo la
formula che mai dato qualcosa faccio di sbagliato
il mio amperometro inserito mi da 20mA.
Mentre nel serial monitor non si muove niente
scusa queto e il codice inserito la corrente che mi appare nel serial monitor e di 50 mA
mentre il mio amperometro me se indica 200mA
forse sono questi operazinali che non sono precisi pero la differenza e tanta
grazie attendo risposta
float corrente;
int analogPin = (A0);
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(analogPin);
Serial.println(val);
float Corrente = 5.0 * (analogRead(A0) - 512) / 512 //float corrente =((float) analogRead(A0) / 512.0 - 1.0) * 2.5 / 2 * 20; ho tolto la riga commentandola
Serial.print ("la mia corrente e di");
Serial.println(corrente);
}
grazie di nuovo per l aiuto
Volevo chiedere quando do
Nel ciclo loop un delay di 1000ms
Non mi rallenta adesempio
Se ci sono dei sensori in ascolto
Oppure se comando attraverso
Dei tasti delle uscite che devo
Attivare non vengono rallentate
Di un secondo?
Poi se ho bisogno di misurazioni
Che vanno dell ordine di milliamper
Cosa mi consigliate forse dei
Sensori con corrente di Range
Inferiori per avere. da 0 a1024
Nella scala piu misurazioni possibbili
Perche cosi mi va da 512 a 518
ciao
ho fatto la prova di nuovo col codice che mi hai postato per misurare corrente
amperometro mi da 200mA
mentre io leggo questi dati non vorrei che i sensori che ho comprato
sono indicati come 5A mentre me ne hanno mandati altri
grazie di nuovo la serial mi da la scala da 512 a 518