01 novembre 07, 12:42 | #1 (permalink) Top |
User Data registr.: 01-11-2007 Residenza: Bologna
Messaggi: 2
| Suggerimento per voltage monitoring
Ciao a tutti, sono nuovo da queste parti, vorrei chiedervi qualche consiglio o suggerimento. Sto lavorando su un UAV (Unmanned Air Vehicle), un piccolo prototipo di elicottero: l'elica (non a passo variabile) è mossa da un motore DC brushless alimentato da due batterie lipo a 12V/30A (ognuna costituita da tre celle); tutta l'elettronica di bordo, costituita da una cheda gumstix con processore a 400MHz su cui gira linux e da vari sensori, è alimentata viceversa da batterie più piccole a 5V. Adesso io ho un "problema" perchè devo monitorare la tensione delle batterie che alimentano il motore (12V) per agire in maniera opportuna nell'algoritmo di controllo: la scheda gumstix ha interfacce seriali e un'interfaccia I2C, ma nessuna capacità di acquisizione di segnali analogici o segnali con interfacce diverse da quelle appena dette Tale problema lo risolverei molto presto comprando un sensore di tensione ad uscita digitale...ma di questi non se ne vede neanche l'ombra su internet. Allora una soluzione potrebbe essere quella di prendere la tensione dai morsetti di carica delle batterie lipo (sperando che sia una cosa giusta), condizionare tale tensione per abbassarla a 5V (ma non so con cosa), poi convertirla in digitale con una piccola scheda con microcontrollore (che non so quale possa andare bene) e interfacciare il tutto con una delle porte seriali o con il bus I2C della mia scheda gumstix. A questo punto, non sapendo cosa fare e dove cercare, chiedo aiuto a voi per suggerirmi se esistono dei sensori di tensione ad uscita digitale per la mia applicazione, o comunque con quali schede posso costruire la mia catena di condizionamento. Dico schede perchè la mia deve necessariamente essere una soluzione che si basa sulla espandibilità della parte sensoristica del sistema e sulla miniaturizzazione dei componenti, per cui non posso costruire delle schede con singoli componenti sulle mie specifiche in quanto risulterebbero particolarmente ingombranti (se non risulta troppo complesso, potrei comunque costruirmi il circuito di condizionamento). ...ve ne sarei molto grato. Intanto grazie per aver letto tutto questo... |
01 novembre 07, 16:26 | #2 (permalink) Top |
User Data registr.: 28-05-2005 Residenza: Roma
Messaggi: 660
|
Secondo me la soluzione è semplicissima, ti prendi i tuoi 12 volt dalla sorgente di alimentazione la riduci attraverso un partitore di tensione di circa la metà (in pratica metti in serie due resistenza una del valore esattamente doppio dell'altra) e ottieni così una tensione la cui escursine andrà dai 0 volt ai 6 volt, poi dai tuoi 12 volt attraverso un regolatore lineare tipo lm7806 ottieni una tensione stabile di riferimento e poi ti autocostruisci un convertitore ADC gli dai le due tensioni di riferimento 0 volt a cui corrisponderà un valore digitale 0000.... (tante cifre quanti sono i bit del tuo convertitore) e come tensione di riferimento positiva i 6 volt in uscita dal lm7806, poi gli metti sull'ingresso analogico la tensione che prelevi dal tuo partitore di resistenze e in uscita ottieni il tuo bel valore in digitale, io ti consiglierei per questa particolare applicazione il convertitore ADC Flash (ti scarichi da internet lo schema), più operazionali metti e più bit avrà il tuo convertitore, poi se i tuoi dati li vuoi su tante linee parallele non dovrai aggiungere nulla altrimenti con uno shift register li trasformi in seriele e sfrutti l'I2C. P.S. Tu hai un elicottero dove gira linux come sistema di controllo? Ci posti qualche foto? |
01 novembre 07, 16:57 | #3 (permalink) Top |
User Data registr.: 01-01-2007
Messaggi: 15
|
Cosa ti serve sapere esattamente? il valore della tensione di batteria oppure solo se e' inferiore ad un determinato valore? Nel primo caso utilizzerei un convertitore A/D con uscita I2C (ad esempio l'integrato PCF8591) visto che hai gia' un bus I2C. Nel secondo caso un semplice comparatore a soglia ti dice se la tensione e' inferiore o superiore ad un determinato valore; hai pero' bisogno di un piedino di input del microprocessore per leggere l'output del comparatore. |
02 novembre 07, 18:03 | #5 (permalink) Top |
UserPlus |
Se hai qualche vecchia scheda PC puoi prelevare di li l'integrato che controlla la tensione di processore alimentatore ecc... sicuramente esistera' di driver per linux e puoi intervacciarlo diretto alla batterie usando la linea che controlla i 12V sul PC In genere questi integrato dialogano in I2C
__________________ C'e' chi vola con l'elettronica e chi fa volare l'elettronica ... entrambi volano. ________________________________________________ ProtoMax proudly present: ProtoMeter 2 32bit ARM core + ZigBee Radio all in one Telemetry system ... Next on this forum |
02 novembre 07, 18:09 | #6 (permalink) Top |
User Data registr.: 01-11-2007 Residenza: Bologna
Messaggi: 2
|
Grazie, non sapevo del PCF8591, credo che con quello posso comunque realizzare cose di dimensioni sufficientemente contenute. Riguardo all'elicottero è un piccolo prototipo realizzato interamente all'università di Bologna, con l'obiettivo di studiare algoritmi di controllo, per cui non ho delle foto, ma se le farò le posterò. |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Error IN Voltage | cobraonethree | Batterie e Caricabatterie | 22 | 01 novembre 07 11:16 |
suggerimento | manupini | Motoscafi con Motore Elettrico | 7 | 13 febbraio 07 01:15 |
voltage monitor GWS | albip51d | Circuiti Elettronici | 3 | 12 febbraio 07 11:26 |
suggerimento | tigro76 | Aeromodellismo Principianti | 3 | 07 luglio 06 14:17 |