Go Down

Topic: Misuratore Ampere / Volt / Continuità per pista Slot (Read 16194 times) previous topic - next topic

ricki158

Infine ho scoperto che esistono dei convertitori AD a 16 bit con varie porte d'ingresso che comunicano via i2c. Non mi ricordo però in questo momento le sigle. Comunque a quel punto potrei fare sia un voltmetro che un amperometro con un singolo Arduino. Con resistenze note, molto precise e che non variano con la temperatura (o che variano linearmente nel tempo) posso calcolarmi la corrente passante attraverso la misurazione della caduta di potenziale ai capi della resistenza nota e faccio la conversione AD direttamente con il convertitore che è a più porte. Inoltre comunicando via i2c ne posso mettere abbastanza da soddisfare i miei bisogni.
Unico problema: non so che cosa ci sia in commercio in grado di convertirmi una tensione da 0 a 24 v, senza fare altri partitori.

ricki158

#61
Mar 29, 2018, 03:22 pm Last Edit: Mar 29, 2018, 03:23 pm by ricki158
Ragazzi, scusatemi se sono impaziente, ma ho bisogno di un vostro aiuto, se non altro per cominciare.

Mi sono reso conto che mi mancano le basi, cioè il pin out dell'Arduino Pro Micro.
Cioè il pin out ce l'ho ma non ho capito come chiamo dal codice le porte, né quali siano analogiche e quali digitali.



Questo è il pin out. Io collego le 4 entrate analogiche ai pin A0, ..., A3 che nel codice Arduino saranno 18, ..., 21 giusto?
Quindi quando andrò a fare l'analogRead sarà readCH0 = analogRead(18), corretto?

Poi ho bisogno di un'altra porta analogica per i due bottoni che metto in parallelo.

Poi ho bisogno di 8 pin per la comunicazione digitale con i due display.

Il problema è che ho bisogno che mi facciate capire i pin fisici come li chiamo nel software.

Dopodiché volevo chiedere anche come alimentare questa board.

Grazie mille in anticipo per le risposte

ricki158

Bastava avere il tempo per fare qualche prova:

per l'alimentazione era come dicevo io, 7805 esterno con qualche condensatore, positivo al VCC, negativo a GND. Nessun tipo di diodo, nessun ponte sulla scheda. L'USB continua a funzionare anche con l'alimentazione esterna collegata.

Per quanto riguarda il richiamo dei pin, bisogna seguire i numeri azzurri come numerazione, oppure i nomi analogici verdi.

Chiarito questo punto ho sistemato il codice. Volevo chiedere se è corretto e se devo inserire qualche return.

Grazie mille buona giornata e buona Pasqua.

ricki158

Allego l'ultima versione dello sketch.

Ho sistemato le funzioni con il ciclo for che non potevano funzionare, ho sistemato la funzione per selezionare e cancellare il massimo, ho aggiunto dei temporizzatori con millis() per temporizzare la lettura dei tasti e per temporizzare il refresh dei due display. Ho aggiunto un segno vicino alla stampa del valore del massimo sui display per sapere quale valore è selezionato e pronto per essere cancellato.

Mi sono accorto però che la velocità di stampa sui display è abbastanza lenta, infatti se notate ho tenuto le funzioni di stampa commentate poiché volevo avere una certa velocità nella scrittura seriale per monitorare i valori che mi servono. Non mi sono ancora arrivati i display e per questo motivo non posso provare subito.

Voi notate qualche errore? Qualche miglioria che posso fare?

ricki158

Buongiorno a tutti.

Ho fatto lo schema elettrico e il PCB con Eagle, allego il file zip del progetto.

Intanto con SolidWorks sto facendo il disegno del mobiletto. Mi devono ancor arrivare i due display e dopo posso provare senza problemi.

Nel mentre volevo chiedervi alcune cose che non mi sono troppo chiare:

potrei fare un Amperometro misurando la caduta di tensione di una resistenza, utilizzando per l'acquisizione  un convertitore analogico / digitale a 16 bit. A questo punto, vedendo il mio schema, come inserisco queste resistenze? Un capo della resistenza (che immagino dovrà essere molto precisa) ha un certo potenziale che sto già misurando (tramite il partitore di tensione) mentre l'altro capo della resistenza dove lo collego? A massa? Quindi poi dovrei misurare il potenziale a valle della resistenza (quindi a massa), trovare la caduta di tensione sottraendo i due valori, la caduta di tensione dividerla per una resistenza molto precisa (diciamo, 0.2 / 0.1% di tolleranza, ma che valore di resistenza?) e a questo punto per la legge di Ohm so la corrente passante per la resistenza. Se la corrente assorbita dal motore è minore della corrente massima che può passare per la resistenza molto precisa, devo trovarmi una certa differenza di potenziale, giusto?

E' questo il modo corretto?

Altro problema: quando apro Eagle nel menù ad albero, ogni volta che cerco di entrare in Libraries\lbr\itspice Eagle mi crasha. Anche se aggiungo un path, per le librerie, quando in Libraries cerco di aprire la cartella, Eagle mi continua a crashare.

Ultimo problema: nel progetto dell'orologio radio controllato ho fatto qualche piccolo errore, tra cui un componente aveva un pad quadrato anziché ottogonale. L'ho aggiornato nella libreria ma nella board non mi viene aggiornato. Ho provato ad eliminare il componente dallo schema per poi re inserirlo ma, quando cerco il componente con il manager dei componenti, nella mia libreria trovo il componente corretto, vedendolo dalla preview, mentre una volta che mi viene inserito, mi inserisce la versione precedente del componente. Come faccio a risolvere?

Non trovo più il topic sulla realizzazione dei PCB qui sul forum.

Etemenanki

#65
Apr 24, 2018, 09:52 am Last Edit: Apr 24, 2018, 04:16 pm by Etemenanki
due righe al volo, che sto uscendo ... per la corrente, puoi usare le resistenze in serie al negativo della pista, basta che il GND di arduino sia in comune con il negativo lato pista (non lato alimentatore) EDIT: errore mio, lato alimentatore, non lato pista ... in questo modo sul capo rella resistenza lato alimentatore pista avrai una tensione positiva rispetto al GND di arduino ... ma il tutto non sara' galvanicamente isolato, e gia hai gli ingressi per la tensione connessi ...

Oppure, meglio ancora, puoi usare dei sensori totalmente isolati, tipo ad esempio la serie ACS della Allegro, che esiste in diversi formati per diverse correnti massime, e' totalmente isolata fra lato corrente e lato misura, e ci sono gia diversi tipi di breakout o schedine pronte all'uso ;)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Standardoil

per la corrente, puoi usare le resistenze in serie al negativo della pista, basta che il GND di arduino sia in comune con il negativo lato pista (non lato alimentatore) ... in questo modo sul capo rella resistenza lato alimentatore avrai una tensione positiva rispetto al GND di arduino ...



non mi è chiaro...
Prima legge di Nelson (che sono io): Non scambiare il fine con il mezzo: ricorda "cosa" devi fare, non "come" devi farlo

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

ricki158

Io attualmente ho il negativo comune delle 4 piste separato dal negativo dell'Arduino: il partitore di tensione per abbassare a MAX 5 Volt è a GND della pista, prima ho inserito anche 4 resistenze verso massa per le 4 piste per togliere eventuali disturbi. La parte logica invece ha la sua GND di alimentazione.

Etemenanki

#68
Apr 24, 2018, 04:15 pm Last Edit: Apr 24, 2018, 04:19 pm by Etemenanki
non mi è chiaro...
Non ti e' chiaro perche' ho sbagliato a scrivere io :P :D

Volevo dire di collegare la massa di Arduino lato alimentatore, non lato pista, cosi sul lato pista della resistenza avrebbe avuto una tensione positiva proporzionale alla corrente circolante ... ma sono stato distratto da un'evento imprevisto (di genere femminile, se serve come attenuante :P) ed ho scritto una ca...volata, grazie per avermelo fatto notare ... corretta ...


> ricky158: i sensori ACS sono la soluzione migliore comunque ... danno gia una tensione proporzionale alla corrente circolante, sono precisi, e praticamente non causano cadute di tensione (non sia mai che magari i concorrenti poi non si lamentino che non hanno vinto perche' gli mancava un decimo di volt ... :D)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Standardoil

Ok, adesso è chiaro.
Imprevisti del genere sono sempre graditi
Prima legge di Nelson (che sono io): Non scambiare il fine con il mezzo: ricorda "cosa" devi fare, non "come" devi farlo

Non bado a studenti, che copino altrove

Tu hai problema-Io ti domando-Tu non mi rispondi: vuol dire che non ti serve più

ricki158

Non ti e' chiaro perche' ho sbagliato a scrivere io :P :D

Volevo dire di collegare la massa di Arduino lato alimentatore, non lato pista, cosi sul lato pista della resistenza avrebbe avuto una tensione positiva proporzionale alla corrente circolante ... ma sono stato distratto da un'evento imprevisto (di genere femminile, se serve come attenuante :P) ed ho scritto una ca...volata, grazie per avermelo fatto notare ... corretta ...


> ricky158: i sensori ACS sono la soluzione migliore comunque ... danno gia una tensione proporzionale alla corrente circolante, sono precisi, e praticamente non causano cadute di tensione (non sia mai che magari i concorrenti poi non si lamentino che non hanno vinto perche' gli mancava un decimo di volt ... :D)
Ottimo allora ho fatto bene a tenere le masse separate.

Per gli ACS mi informo al negozio, ho paura che mi ingrandisca notevolmente il circuito. Comunque io metterei comunque due convertitore AD 16 bit uno per la tensione e uno per gli ACS così da una parte vado ad aumentare la precisione usando 16 bit anziché 10, dall'altra utilizzo solamente 2 pin SDA SCL anziché 8 pin analogici. Gli ACS lavorano in un range 0-5 Volt se non ho capito male, giusto? Quindi con gli AD1115 non serve nemmeno un partitore di tensione. Magari testo prima gli ACS e poi penserò a fare una seconda versione di questo circuito.

Invece per quanto riguarda il problema con Eagle?

Etemenanki

...
Per gli ACS ...
ci sono per diverse portate di corrente, serve vedere quanta corrente al massimo puo assorbire la macchina (anche di picco), e poi si sceglie quello piu adatto ...


Quote
Invece per quanto riguarda il problema con Eagle?
il pad ? ... prova ad allegare qui zippata la libreria che ti da problemi e gli do una controllata ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

ricki158

ci sono per diverse portate di corrente, serve vedere quanta corrente al massimo puo assorbire la macchina (anche di picco), e poi si sceglie quello piu adatto ...


il pad ? ... prova ad allegare qui zippata la libreria che ti da problemi e gli do una controllata ...
Pensavo di prendere quello da 50 Ampere, che da come ho capito è la portata più bassa, ACS756.
Io porto il cavo fino a dentro al mobiletto e quello deve scorrere sull'ACS756. Per questo motivo penso possa diventare un casino, ma comunque è una bella soluzione poco invasiva. Speravo che, avendo una morsettiera e già tutto sulla scheda, fosse più semplice e meno "volante" come realizzazione.

Per quanto riguarda la libreria e il progetto, allora, zippo e posto sull'altro topic, perché è un problema inerente più a quel progetto. Inoltre non trovo più dove ho descritto quali layer ho messo in quali gerber (il layer Dimension devo inserirlo nel layer milling?)

Etemenanki

...
Io porto il cavo fino a dentro al mobiletto e quello deve scorrere sull'ACS756 ...
Puoi anche installare l'ACS dentro o sotto la pista, o all'uscita della morsettiera che va alla pista, o dove ti pare, magari in una scatoletta isolata, ed usare un cavetto schermato a 3 poli per collegarlo alla strumentazione, magari giusto per prudenza aggiungendo un paio di condensatorini filtro alla scheda dall'ACS lato alimentazione ... nessuno dice che devi girare con il cavo ad alta corrente di qua e di la, in fondo ;)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

ricki158

No non hai capito, non è un problema. Cioè i 5 cavi (4 "fasi" e massa comune) da 2.5 mmq mi arrivano già al circuito stampato e si collegano sulla morsettiera. Poco male, devo ingrandire il PCB, far stare 4 ACS756 e far passare prima i cavi attorno agli ACS e poi nella morsettiera.

Quindi dovrò rifare il PCB per mettere 2 moduli ADC1115 e far stare gli ACS, tutto in un 100x100.

Go Up