PDA

Visualizza la versione completa : Il mio scooter elettrico con microprocessore x rilevazioni consumi



ccriss
02-12-2011, 09:46
Ciao a tutti, orgoglioso del mio lavoretto, volevo condividere quanto fatto con voi sicuro di un vostro apprezzamento

Si tratta di una applicazione sviluppata con Arduino che consente di
A) Avere indicazione di Volt (su LCD=V) , Temperatura esterna (su LCD=T) temperatura batteria (su LCD=TB), consumo ampere istantaneo (seconda riga su LCD=A) e consumo totale viaggio AH (seconda riga su LCD=AH).
B) Di poter loggare i dati collegando via USB ARDU ad un PC. Nel mio caso ho sviluppato l'applicazione in Java e scrive su file TXT i dati rilevati. Non ho ancora potuto fare una prova sullo scooter, ma ho avuto modo di verificare il tutto nella simulazione da casa..

Vi allego un video del display dei dati fatto stamane

Scooter elettrico: Il mio amperometro con Arduino - YouTube (http://www.youtube.com/watch?v=zzJGZ5NogDs)

Ed ecco una immagine piu' chiara da leggere
20398


Spero vi piaccia!!

davmultimediale
02-12-2011, 10:46
Ciao Criss,

a questo punto per completare il meraviglioso lavoro che hai fatto, rimarrebbe da gestire tutti i dati prodotti tramite uno smartphone collegato via bluetooth. L'idea potrebbe essere quella di fare una bella app in Android/Iphone per visualizzare in tempo reale i dati in modalità grafica (ho in mente un cruscotto digitale) e per memorizzare, visualizzare, fare delle analisi postume (grafici, picchi, consumi medi, etc...) con i dati storici. Si potrebbe poi collegare il tutto ad un account online per la sincronizzazione dei dati e per una consultazione anche via web.
Mi offro per la creazione dell'app e per la creazione de e gestione del website.
Cosa ne pensate, sarebbe utile?

Ciao,
Davide.


****

Regola 3d): Citazioni integrali o comunque di evidente inutilità (specialmente tra messaggi consecutivi) non sono tollerate e comportano provvedimenti. (http://www.energeticambiente.it/misc.php?do=vsarules)

ccriss
03-12-2011, 16:09
Ho fatto il primo logging dati su PC dal mitico Arduino, qui allegato trovate un excel con i dati loggati.Ho fatto il primo logging dati su PC dal mitico Arduino, qui allegato trovate un excel con i dati loggati.
Praticamente ho girato con uno zaino con dentro il portatile facendo attenzione a fare strade che non avessero buche, altrimenti il portatile causa vibrazioni andava in protezione,naturalmente sembravo un pazzoJ

Oltre al grafico sotto forma di immagine subito visibile vi allego l’excel se vi piace analizzare i dati
Trovate la colonna del tempo espressa in millisec e poi in sec (la seconda usata per il grafico)
Poi seguono: Volt, Temperatura esterna, temperatura batteria, ampere istantaneo e Ampere/Ora

Da una prima valutazione dei risultati:
Avevo già capito che le batterie Thundersky in termini di performance non fossero granche’ (molto meglio le headway che usate voi), ma non pensavo fossero cosi’ ciofeca!!!
A 110Ampere il voltaggio passa da 58V a 49V stiamo parlando di 18Celle 40AH quindi 2,72V a cella a poco meno di 3c di scarica.

Il test è stato fatto con batterie che erano al 75% della loro carica, ma questo non basta a scusarle rispetto la pessima performance.

20428


20429

E questo è un "zoom" su una accelerazione secca a tutta manetta (estratta dal log)

Ricordo che l'asse x è espressa in secondi, quindi il tutto è durato 26 sec (374-348)
20430

jumpjack
14-12-2011, 18:33
Ottimo lavoro!Ci to lavorando anch'io, ma mi deve ancora arrivare il sensore di hall per misurare la corrente.Tu hai postato da qualche parte i tuoi schemi elettrici e lo sketch arduino?

Inoltre è molto importante sapere che MOTORE stai usando, oltre alla batteria!
Se poi hai un cellulare Nokia con GPS, se ti scarichi Sports Tracker poi puoi riversare su Google Earth il percorso, e ottenere il profilo altimetrico e la tabella delle velocità punto per punto: sarebbe ottimo per poter fare un po' di conti!
(Immagino comunque che si possa fare anche con altri cellulari)

ronchera
15-12-2011, 09:54
Ciao
Ottimo lavoro e test completo di dati, magari fosse di serie su tutte le moto elettriche ....
Sono pero' convinto che con una temperatura ambientale superiore ai 20-25° i risultati in termini di voltaggio sarebbero stati ben diversi, in base alla mia esperienza (batterie thundersky da 60ah) la temperatura influisce in modo notevole sul voltaggio delle batterie in fase di scarica, sarei quindi curioso di ri-vedere questo test diciamo fra 6 mesi .... ciao

ccriss
15-12-2011, 15:09
Xjump: non ho gli schemi elettrici perche' erano abbastanza semplici e non mi sono soffermato a farlo a sistema, mi sono limitato a scrivere una bozza su carta che allego qui, ma non è la finale, manca ad esempio del collegamento che ho fatto poi su Hall sensor del motore.
Tornando allo scooter si tratta di un 2KW nato a 48V (nominali) Piombo, poi modificato a 18Celle (quindi 57V nominali - 18x3,2V).
MI ha fatto specie scoprire che la controller taglia l'ouput cosi in alto, cioe' a 110, in effetti la ripresa è piuttosto buona, ma avrei preferito stare intorno agli 80A per evitare alle batterie un sacrificio tutto sommato inutile. Al momento ci penso io a dosare il gas in partenza
20618

XRonchera: tu hai qualche info rispetto a come si comportano le tue TS (Thundersky)? Magari se hai un voltmetro e conoscendo quanti watt è il tuo motore si puo' fare un parallelo per vedere se siamo allineati e quindi è tutto normale.
Quanti Km hai fatto sul pacco batterie? Io circa 4.200

P.S.: Ho appena "rilasciato" l'ultima variante, adesso misuro anche la velocità e i KM percorsi , cosi posso getire il parziale dei KM fatti per viaggio. Devo mettere in pista la memorizzazione del dato KM e AH e fare un pulsante di reset dei valori in modo da avere sotto controllo (anche spegnendo ARDU) la situazione... Diciamo che mi sto divertendo a fare esperimenti :spettacolo:

ronchera
15-12-2011, 17:19
Ciao ho un motore da 5kw, 21 celle TS da 60ah che cariche stanno sui 70v poi con accelerazioni violente in inverno scendono anche a 58/59v mentre in estate a parita' di condizioni non vanno sotto i 62/63v per questo ti dicevo che con temperature ambientali piu' alte avresti avuto risultati diversi ... in quanto ai km fatti sono poco oltre gli 8000. Ciao e complimenti per la passione e la voglia di sperimentare ciao

ccriss
15-12-2011, 20:39
Ciao ho un motore da 5kw, 21 celle TS da 60ah

Quindi a spanne gli ampere continuativi della tua centralina dovrebbero essere intorno a (70V * 71A ca= 5000W), con picco che solitamente sulle centraline fissano nel doppio quindi diciamo 150A ca.
Se è corretto, le tue batterie in accelerazione saranno intorno a 2,5C (150A/60AH), i conti tornano perfettamente con i valori che ho io, infatti come scrivevo intorno ai 2,75C ho le celle a 2,72V e tu (58/21celle) a 2,76V.

Grazie per il conforto, iniziavo a nutrire il dubbio potesse non essere solo un problema di freddo, cosi' sono piu tranquillo

Complimenti per lo scooter, davvero ottima configurazione, poi 8000Km non sono noccioline.
Auguriamoci di fare tanti altri KM in futuro con queste batterie, comunque con il senno di poi avrei comprato le CHL, ho visto che su un sito americano spopolano, le mettono anche sui Vectrix e consentono scariche da 6C continuativi senza fare troppa fatica (le nostre sono max 3C) e costano poco di piu delle TS!!

Ciao

jumpjack
15-12-2011, 20:43
ma non è la finale, manca ad esempio del collegamento che ho fatto poi su Hall sensor del motore.

Dài, è la parte più importante!!! :oops:
Che sensore e'?
Come l'hai collegato?
Dove l'hai comprato?
Quanto l'hai pagato?

ccriss
15-12-2011, 22:13
Allora gli il hall sensor è quello del motore, normalmente ci sono 5 fili che escono dal motore e vanno alla centralina , e sono
Il 5V,GND, rosso, giallo e verde. Okkio che non sono cavi di potenza, ma semplicemente forniscono la posizione del motore sulla base della quale la centralina attiva i 3 cavi di potenza (sempre giallo, verde e rosso) per far girare la ruota.


Io controllato con un tester il filo giallo (potresti utilizzare indirfferentemente il verde o il blue) con il GND, ogni volta che misuri 5V (a me funziona cosi') vuol dire che ha fatto (nel mio caso) 1/23 di giro. Con un loop conti il numero di volte che hai il valore di ON in un certo periodo di tempo quindi ottieni il nr giri all' ora che poi convertirai in KM/h usando la circonferenza della ruota.

Qui sotto trovi il codice che ho usato io per calcolare la velocità che ho sviluppato io

Questa condizione serve ad individuare quando il sensore è a 5V, altrimenti la considero OFF
if (sensvalgiri > 3)




//variabili x conta KM
int pincontgiri=5; // legge segnale x contagiri
int state; //the state of the input
int oldstate;
unsigned long t; //timer
unsigned long s; //samples
unsigned long c; //count
double f=0; //frequency
double cont=0;
double sensvalgiri=0;
double giricalc=0; // lettura del valore sensore di hall
// End variabili contaKM








double GetKmh()
{
// la funzione calcola il nr di giri al secondo in funzione di un ciclo di valutazione
c = 0;
t = millis(); // read time at start of sampling
for(s=0; s<1500; s++){ //take a number of samples dura circa 0,1 sec
sensvalgiri = analogRead(pincontgiri);
sensvalgiri=sensvalgiri/1023*5;
if (sensvalgiri > 3)
{
state = 1; // se il segnale analogico supera i 3V vuol dire che hall sensor è attivo
}
else
{
state = 0; // se il segnale analogico supera i 3V vuol dire che hall sensor è 0
}
if (state != oldstate){ //lo stato è cambiato:
c++; //conta il nr di cambiamenti
oldstate = state; //and reset current state
}


}
t = millis() - t; //read time at end of sampling


c = c/2; // need to divide by 2 because counter incremented on each change - two changes per cycle


f = 1000*c/t; //calcola il nr di volte che hall sensor è attivo per un secondo


// in km/h
// dove 23= nr di volte che hall sensor va a 5V
// 1.42 metri di circonferenza ruota
// il resto dei numeri serve a convertire i valori da sec a h e da metri a KM
f= (f/23*3600*1.42/1000);


return f;


}

jumpjack
16-12-2011, 07:11
Ah, pensavo ti riferissi al sensore di hall usato per misurare la corrente! Invece, guardando lo schema, mi par di capire che hai usato uno shunt?!?

ccriss
16-12-2011, 08:26
Jump, non ho usato una restistenza di shunt per la misurazione della corrente, ma un sensore con effetto HALL.
Il sensore è questo:


<TBODY>
Descrizione

RS Cod prod

Qta

Prezzo

Link


</TBODY>


<TBODY>
Current Sensor, Bi 100A CB-PFF</SPAN>


680-7557</SPAN>

1</SPAN></SPAN>

5,78</SPAN></SPAN>

http://it.rs-online.com/web/p/sensori-effetto-hall/6807557/</SPAN> (http://it.rs-online.com/web/p/sensori-effetto-hall/6807557/)


</TBODY>


Se leggi il datasheet vedi che spiega come non ci sia alcuna restistenza (quindi non è uno shunt), ma restituisce un output di 20mV per ogni ampere che passa sul cavo di potenza.


Quando facevo riferimento a questo Hall sensor del motore invece mi riferivo al calcolo della velocità, in questo caso ho utilzzato il sensore già presente in tutti i motori brushless, per cui devi solo collegarlo ad Arduino su Analogico per fargli leggere la tensione e trasformarlo in impulsi
<"ma non è la finale, manca ad esempio del collegamento che ho fatto poi su Hall sensor del motore"<MA motore del sensor Hall su poi fatto ho che collegamento esempio ad manca finale, la è non>>
Si poteva anche leggere il dato dal pin analogico e utilizzare la istruzione attachinterrupt, ma in quel caso avrei dovuto usare anche il 5v ed una resistenza di pull-up come in questo esempio (Arduino Controlled PC Water Cooling Information Display: Reading PC Fan RPM. | themakersworkbench.com (http://themakersworkbench.com/?q=node/350)</SPAN>), ma volevo mantenere semplicità nei collegamenti e anche questo sistema funziona bene.

Spero sia utile

jumpjack
16-12-2011, 12:23
*** Citazione superflua del messaggio precedente. Violazione art.3 del regolamento del forum. nll ***
Allora non ho capito il tuo disegno. Purtroppo non si legge molto bene.

ccriss
16-12-2011, 20:58
Ecco il disegni che nel datasheet descrive le uscite e ingressi del sensore

20646

Come vedi da una parte (a sx) entra ed esce il cavo di potenza, mentre a dx c'e' il 5V ed il GND che vengono portati da Arduino, mentre il pin VIOUT va mandato su un PIN analogico di Arduino. Fatto questo con questi semplici comandi converti la tensione che leggi da VOUT a ampere, ecco la formula:
sensorValue3=(sensorValue3 - 2.5)/0.02; // toglie 2,5V circa = 0 Ampere poi calcola il valore, ogni ampere = 0
Se il valore è inferiore a 2,5 hai amperaggi negativi (es regen), se > 2,5 stai consumando ampere.

Ci sono altre versioni di questo sensore che non leggono valori negativi oppure che ne leggono meno (quindi maggiore precisione per Ardu) o di piu'

jumpjack
16-12-2011, 21:12
ma se il cavo entra ed esce, vuol dire che lo devi tagliare... quindi hai creato uno shunt.Oppure fa un "anello" sopra all'integrato?!?Non riesco a capire. Se bisogna tagliare il cavo, allora a che serve un sensore di hall,non basta una resistenza?

ccriss
18-12-2011, 12:58
E' la seconda che hai detto:-) Fa un anello all'interno del chip.
La scelta verso questo tipo di sensore è determinata da questi vantaggi
A) Logica di lettura integrata e quindi poco soggetta a disturbi ed errori
B) Nessuna resistenza
C) Legge fino a 3000V 100A, con gli shunt per fargli leggere ad Arduino valori come questi devi impazzire
D) Costo pochissimo (5 Euro)


La connessione del cavo è stata semplicissima, il cavo positivo che andava alla controller aveva un connettore ad anello, non ho fatto altro che creare una scheda millefori con chip che avesse a sua volta un bullone con dado che andasse bene per il connettore che c'era..


Certo se vuoi una soluzione basata su anello che non interrompa il filo devi cercare altre soluzioni, ma ricorda che arduino ha un misero 10bit sul valore del voltaggio e il voltagggio che esce da sensori ad anello potrebbe dover essere amplificato...

jumpjack
18-12-2011, 13:44
allora mi sa che ho fatto bene a ordinare un "breakout" di un sensore simile ...
RoboSavvy UK Store - SparkFun - ACS712 Low Current Sensor Breakout (http://robosavvy.com/store/product_info.php/products_id/1359)

jumpjack
14-02-2012, 12:00
Questo "stupido" sensore di hall che ho comprato è progettato per essere montato... come shunt!
Fortunatamente però funziona effettivamente anche per induzione, basta mettere vicino al chip un filo percorso da corrente per leggere una tensione in uscita.
Però ora mi tocca costruirmi un supporto apposta per mantenere il filo in posizione fissa rispetto al chip e tarare il tutto! Mi chiedo allora quale sia il vantaggio di fare un PCB "già pronto"; "già pronto" de che?!?
Mah.

ccriss
16-04-2012, 20:48
Ciao a tutti, dato che tra un po' passero' Arduino alla versione 2.0, ho pensato di memorizzare questo video come versione finale della 1.0. Nel video viene descritto a grandi linee come funziona il sistema , ma a scooter fermo, nel vecchio video non si capiva molto visto che l'ho fatto in corsa!!In sintesi nel video potrete vedere:
- Dove ho messo il microprocessore ed i suoi collegamenti
- L’accensione ed il messaggio di benvenuto “Ccris”!!!
- Il funzionamento dei sensori e la corrispondente visualizzazione su LCD
- L’utilizzo dei pulsanti per cambiare il layout su LCD
- L’utilizzo del pulsante per azzerare i valori scritti su Eprom


http://www.youtube.com/watch?v=7okQdwo2jWk

La versione 2.0, se tutto va bene avrebbe le seguenti ambizioni:
- Si collegherà via bluetooth
- Potrà rilevare le informazioni con maggiore accuratezza (oggi a 10 bit con la nuova versione sarà a 12bit)
- Leggera' anche il voltaggio di tutte le 20 celle del pacco batteria e lo farà con letture differenziate (positivo e massa separate) e senza partitori resistivi, quindi mi aspetto una precisione davvero buona
Ovviamente tutti i dati potranno essere scritti su un PC che supporta il bluetooth, in seguito, ma tutto da verificare, potrebbe essere possibile anche su cellulare Android!!


P.S.: Come potete vedere il tutto è stato fatto in modalità hobbista, quindi vi prego di non commentare quanto è brutto esteticamente!!

riccardo urciuoli
16-04-2012, 23:08
Complimenti, bel lavoro!

Assomiglia al mio, non so se l'avevi già visto:

http://www.youtube.com/watch?v=jcc_xB1Cfqk

N (http://www.youtube.com/watch?v=jcc_xB1Cfqk)el mio caso, essendo interfacciato direttamente con la centralina, fornisce qualche info e funzione in più:

-T dei MOSFET di potenza e relativo allarme e blocco per sovratemperatura
- allarme e blocco per undervoltage
- stima dell'autonomia residua (calcolata dagli Ah disponibili e quelli consumati)
- impostazione della corrente massima assorbibile, utilissima sia per risparmiare le batterie che per farlo guidare, con quel po' di pazzia che mi contraddistingue, anche a ragazzini tra i 12 e i 17 anni che non avevano mai guidato un motorino (ovviamente con casco e in area privata)

Forse qualcosa puoi aggiungere anche sul tuo, spero di averti dato qualche spunto!

ccriss
17-04-2012, 08:27
Grazie Riccardo, avevo visto la tua conversione, davvero interessante , poi fatto su una lambretta elettrica del '52!!
La parte relativa alla controller non la posso toccare in quanto tutta cinese e certamente non interfacciabile..

Pero' autonomia residua e corrente max assorbibile sono cose che avevo in mente anch'io, in particolare la seconda visto che si potrebbe agire sull'acceleratore (con una resistenza variabile comandata da Arduino) per smorzare i consumi sulla base di parametri impostabili. Ad esempio una modalità ECO che consenta nelle partenze di mantenere bassi gli ampere....

Purtroppo , essendo attività da hobbista, non si ha mai molto tempo per far tutto quello che si ha in mente...


Tu per il sistema di cattura dei dati che processore hai usato?

riccardo urciuoli
17-04-2012, 23:20
Il sistema di controllo l'ha progettato ed eseguito un amico/collega, se ricordo bene era un processore semplice a 8 bit, che alla fine è risultato limitante come memoria per le righe di firmware.
Infatti se ci cimentiamo in un nuovo progetto (es upgrade di una moto elettrica, magari guasta) voleva passare a sistemi più potenti.
Se vuoi info più precise gliele chiedo e/o vi metto in contatto.

Anche con un controller esterno puoi fare molto; appunto inserendo una R variabile in serie al potenziometro puoi pensare non solo di limitare la corrente, ma anche di avere 2-3 impostazioni (eco, power e simili) agendo non solo sulla corrente limite ma anche sulla velocità della risposta.
Per spiegarmi meglio, dalle prove effettuate sulla Ecolà è risultato evidente che per ottimizzare i consumi e/o aumentare la facilità d'uso (es a un 'pivello') più che la corrente max (che magari può servire in una salita) può essere utile rallentare la velocità di incremento della corrente, ovvero imporre un'accelerazione 'parsimoniosa'

jumpjack
18-04-2012, 07:37
Mi sono sempre chiesto una cosa: ma i 50 A (dico per dire) che escono dalla batteria, quando non vanno nel motore... dove vanno?!?
In altre parole, come funziona l'aceleratore di uno scooter elettrico? Non credo sia un normale potenziometro... oppure sì? Ma ovunque vada quella parte non utilizzata dei 50A, dovrebbe scaldare un bel po'! "Un bel po'" significa che col mio motore da 1500W, quando sto al minimo e assorbe tipo 100 W, ci sono 1400 W da dissipare: un asciugacapelli! :-) Quindi evidentemente non funziona così. :-)
Come si fa allora a regolare la quantità di corrente dca estrarre da una batteria?

ccriss
18-04-2012, 07:57
A grandi linee funziona cosi' su un motore brushless, l'acceleratore invia un voltaggio che va da 0V a 5V che indica alla centralina la frequenza degli impulsi che vanno al motore. Piu' sono frequenti gli impulsi e maggiore corrente verrà spedita al motore, al motore di fatto arrivano i 50A su certe frequenze passando dallo 0% (acceleratore =0V -> 0A) al 50% (acceleratore =2.5V -> 25A) fino a quasi 100% (acceleratore a 5V -> 50A).

L'amperaggio max richiesto è definito da 2 parametri , quello che consuma il motore e i limiti imposti dalla centralina.

Guarda qui che lo spiega con semplicità:
L&#39;elettronica di potenza (http://www.vincenzov.net/tutorial/motoridc/driver.htm)

ccriss
18-04-2012, 08:03
Il sistema di controllo l'ha progettato ed eseguito un amico/collega, se ricordo bene era un processore semplice a 8 bit, che alla fine è risultato limitante come memoria per le righe di firmware.


Grazie Riccardo, ero curioso di sapere se per questo progetto avevate usato Arduino (processore ATmega)

Quanto all'uso della resistenza variabile concordo con te, non è particolamente complicato ed è piu' affidabile, se il processore va in crash non interrompe il funzionamento del mezzo.
Ho visto un altro progetto che rimappava l'acceleratore acquisendo il dato , poi lo elaborava (logiche di eco-drive) per poi uscire dal alla centralina, ma se c'e' un bug il mezzo va fuori controllo o se il processore si spegne o va in crash il mezzo non lo usi piu!!

jumpjack
18-04-2012, 12:26
***
Mmmh... lì parla di motori DC, credo che il pilotaggio dei brushless sia diverso, boh? Fasi, sensori di hall, 'sta roba qui.

ccriss
19-04-2012, 10:03
Parla del funzionamento dei motori in PWM che è il meccanismo con cui funzionano i nostri, negli schemi manca non è trattata la parte dedicata ai sensori Hall, ma questo non cambia le logiche di funzionamento.
Per dare piu' o meno corrente al motore si lavora sulla frequenza degli impulsi, l'alternativa poco efficiente sarebbe stata di aumentare o ridurre il voltaggio, cosa che nessuno fa visto l'inefficienza

riccardo urciuoli
19-04-2012, 12:06
Mi permetto di 'correggere' o comunque precisare meglio quanto detto da Criss.

Per regolare tensione e/o corrente, quindi la potenza, su un carico ci sono molti metodi, ma concettualmente 2 criteri di base:

-regolazione lineare, concettualmente simile ad una resistenza variabile in serie al carico, che porta a rendimenti bassi perchè una considerevole parte di potenza viene dissipata in calore nel regolatore

-regolazione 'a impulsi', è un tipo di regolazione 'digitale' e consiste non tanto (o almeno non di solito) nel cambiare frequenza come detto da Criss, ma si cambia il 'duty cycle' cioè il rapporto tra tempo on e tempo off per regolare la potenza.

Brushless o no cambia i dettagli tecnici del circuito, ma il concetto è lo stesso: è come se ci fosse un interruttore comandato alla frequenza del controller, che apre o chiude a seconda della potenza richiesta.

La corrente in uscita dalla batteria dipende da cosa ci attacco, e da questa regolazione.

Esempio: Batteria a 50V, motore da 5 kW: se attacco il motore con 2 cavi alla batteria ci tiro fuori 100A e il motore mi da 5 kW di potenza meccanica.
Se ne voglio meno, es 0,5kW, l'interruttore elettronico del controller 'chiude' il circuito per il 10% del tempo e lo apre per il 90%, con una velocità di commutazione (frequenza del PWM) che di solito è intorno ai 20 kHz.

Forse nella sezione manualistica c'è qualche spiegazione più dettagliata...

ccriss
19-04-2012, 13:29
Grazie Riccardo,
hai fatto bene a precisare, il forum serve proprio a mettere in condivisione le conoscenze in favore di tutti (me compreso).
Io poi sono solo un hobbista e non ho alle spalle grandi studi di elettronica, quindi...

Se ho capito bene: la frequenza resta costante, ma aumenta il duty cycle che rappresenta il tempo in cui il segnale è ON, giusto?
Leggendo il funzionamento avevo frainteso la differenza ed in effetti ho scritto una cosa non precisa

riccardo urciuoli
19-04-2012, 23:13
Siamo alquanto OT.. ho iniziato una discussione mirata nella sezione manuali...

In attesa che venga approvata si, di solito la frequenza è costante perchè alcune scelte di componenti, nonchè il problema disturbi generati (e relative contromisure) sono molto legate alla frequenza.

Infatti PWM ta per Pulse Width Modulation, cioè si modula l'ampiezza (durata) dell'impulso inteso come tempo di ON; la somma di Ton e Toff di solito è costante ed imposta dal circuito.

Beh, a dire il vero io ho fatto qualche circuito in cui anche la frequenza può variare, ma non è la strada 'normale'

athlon
24-04-2012, 20:21
Si , a grandi linee i controller utilizzano dei PWM sulle tre fasi per simulare un comportamento trifase , in realta' controller piu' avanzati come ad esempio l'australiano Wavesculptor cercano di andare oltre alla semplice "copia" di un sinusoide ma adattano la forma d'onda istante per istante alle induttanze caratteristiche del rotore in un determinato angolo.
Per avere queste "mappature" di fine tuning si utilizzando dei machi prova dove il motore viene frenato con un carico conosciuto e viene analizzato a monte il carico elettrico per trovare il punto di massima efficienza del motore.

ccriss
25-04-2012, 10:15
E con questo video viene descritta l'interfaccia tra Arduino ed il PC,è facile intuire dalla schermata che non ho investito molto nella grafica, ma piuttosto nella sostanza visto che il mio obiettivo era di scrivere su disco.

L’applicazione , attraverso la porta seriale, resta in ascolto ed appena Arduino invia dei dati li cattura per poi scriverli su disco. Questa soluzione ha l’handicap di doversi portare dietro un portatile e di mantenere attiva la connessione via USB su Arduino, ammetto che non è il massimo della comodità , ma per la prima versione messa in pista è andata piu’ che bene.
Il programma su Arduino determina la frequenza con cui trasmettere i dati al PC.

Ogni tanto si sente qualche boato, era una acquazzone che stava arrivando giusto mentre registravo il video:bored::bored:


http://www.youtube.com/watch?v=ILQ0uDr8nJU

Spuzzete
28-04-2012, 03:39
La versione 2.0, se tutto va bene avrebbe le seguenti ambizioni:
- Si collegherà via bluetooth
- Potrà rilevare le informazioni con maggiore accuratezza (oggi a 10 bit con la nuova versione sarà a 12bit)
- Leggera' anche il voltaggio di tutte le 20 celle del pacco batteria e lo farà con letture differenziate (positivo e massa separate) e senza partitori resistivi, quindi mi aspetto una precisione davvero buona
Ovviamente tutti i dati potranno essere scritti su un PC che supporta il bluetooth, in seguito, ma tutto da verificare, potrebbe essere possibile anche su cellulare Android!!


P.S.: Come potete vedere il tutto è stato fatto in modalità hobbista, quindi vi prego di non commentare quanto è brutto esteticamente!!

Wow, complimenti!

Sono interessatissimo alla versione "android" da usare sull mia bici elettrica :)

riccardo urciuoli
02-05-2012, 12:25
A chi interessa, nuova discussione dove approfondire i regolatori lineari e PWM:

http://www.energeticambiente.it/elettronica-elettrotecnica/14747783-regolatori-di-tensione-corrente-dc-dc-o-ac-dc-lineari-o-pwm-switching.html

ccriss
19-05-2012, 22:22
E diamo un ultimo aggiornamento a questo post, diciamo che si punta a passare ad Android anche se con grandi difficolta'.

Qui un paio di video che descrivono a che punto mi trovo

http://www.youtube.com/watch?v=sVpIOvw5HWM


http://www.youtube.com/watch?v=uZyD4m0R_YU

Per inciso devo rivedere interamente la scheda che volevo usare per catturare i 20 valori delle celle, come l'ho fatta non funzionava con le celle in serie:-(

Spuzzete
19-05-2012, 22:35
Bravo!

Che software usi su Android?

Chissà mai che in futuro si possa usare un cellulare android come display per vedere tutti i dati utili sullo scooter!


:clapping:

ccriss
20-05-2012, 10:02
La versione che ho utilizzato per sviluppare l'applicazione è la 2.3.5 , ma gli sviluppi che ho fatto sono compatibili anche con versioni piu' basse.:bye1:

jumpjack
20-05-2012, 13:53
Immagino si riferisse al TUO software, non al sistema operativo!
In altre parole... caccia fòri 'sto codice! ;-)

ccriss
20-05-2012, 20:15
Jump, ancora non so che cosa diventerà sta robazza, perche' per il momento di quello si tratta.
Quando saro' a buon punto prendero' una decisione sul da farsi, per il momento mi limito da hobbista a sperimentare.

Comunque non è che prendi il codice e lo pubblichi, è un po' un casino perche' c'e' l'hardware (es.: LCD+ Arduino+ Scheda acquisizione), i sensori (Ampere, temperature, rotazione motore), il programma di Arduino , il programma di Android, insomma è un bel pastrocchio da mettere insieme per farlo funzionare!! Ammesso che poi funzioni:-)

jumpjack
21-05-2012, 07:54
Comunque non è che prendi il codice e lo pubblichi, è un po' un casino perche' c'e' l'hardware (es.: LCD+ Arduino+ Scheda acquisizione), i sensori (Ampere, temperature, rotazione motore), il programma di Arduino , il programma di Android, insomma è un bel pastrocchio da mettere insieme per farlo funzionare!! Ammesso che poi funzioni:-)
Embe'? Siamo qui per fare esperimenti, no? :-)
Avere un codice pastrocchiato come base di partenza e' già più comodo che non avere niente. :-)
Immagino tu conosca il forum di Arduino ( Arduino Forum - Index (http://www.arduino.cc/forum) ), magari lì sanno anche darti consigli utili.