Proposta Porgetto in collaborazione(di chi ne ha voglia)[Convertitore Switching]

Salve a tutti, vorrei proporvi di realizzare con me un progetto di un convertitore switching controllato da Arduino. Chiedo il vostro aiuto perchè per realizzare un convertitore switching con Arduino bisogna usare la scheda a livelli avanzati che ancora non conosco...

L'idea di base è quella di realizzare un convertitore forward o flyback (ai voti la scelta) e controllarlo via A. Vorrei acquisire tutte le grandezze all'interno del ciclo pwm (ed è qui il gran casino) fare i conti (minimi tirati all'osso) e applicare le correzioni al ciclo pwm successivo. Dato che per quanto bassa si voglia scegliere la frequenza di switching... utilizzare i comandi base di arduino per fare tre letture analogiche e un PI blando....occorre troppo tempo. Quindi avevo pensato di utilizzare l'interrupt del pwm per lanciare le acquisizioni (senza usare le librerie analogread...) fare due conti e poi fare un main a polling per tutto il resto...comunicazioni, acensione dei vari led (per chi piace un pò di effetti albero di natale).

Se l'idea vi piace, fatemi sapere che iniziamo quanto prima. Per il design della parte Hardware (calcoli etc etc) mi faccio carico di tutto...sono un hardwarista... Ho solo bisogno di un pò di collaborazione dai guru del software, con conscenza avanzata dell'ATmega. Come modulo userei ArduinoUNO, il più comune. Non so se le risore di questo micro ci permetteranno di arrivare al successo del progetto...ma vale la pena tentare, anche per imparare "tutti" qualcosa di nuovo.

Resto in attesa di tantissimi (e sperati) riscontri Saluti A.

Dai raga.. un pò di iniziativa!

Non è questione di mancanza di iniziativa, magari la cosa non interessa.

ok! aspettiamo qualche altro giorno...vediamo se qualcuno si fa vivo! Chiedere di mettere il Post in Evidenza...è chiedere troppo?! si può fare?! Grazie A.

E' chiedere troppo :P

=( =( =( =(

Un Porgetto cos'è? Scherzi a parte esistono diversi application notes e libri sull'argomento e richiedono una conoscenza avanzata della materia. Sopratutto per quanto riguarda la parte di potenza. Non penso proprio che troverai collaborazione, la cosa migliore è fare una domanda specifica se hai qualche dubbio su una cosa specifica

Ciao

per la parte di potenza me ne faccio carico io! sono esperto di materia.
Ho solo bisogno di qualcuno con una conoscenza approfondita (spippolamento) per fare acquisizioni veloci senza usare il c di arduino
e agganciare tali acquisizioni + conti all’interrupt del pwm.
per il pi e tutto il resto ci spippolo io.
Sono anche disposto a creare uno shield specifico con un piccolo convertitore da mandare con Arduino.
Più di così…

Ha senso quando ci sono IC da pochi soldi che fanno tutto usare un costoso Arduino? Per iniziare utilizza i semplici analogRead e analogWrite e butta giù un prototipo

flz47655: Ha senso quando ci sono IC da pochi soldi che fanno tutto usare un costoso Arduino? Per iniziare utilizza i semplici analogRead e analogWrite e butta giù un prototipo

con un banale PWM current peak control si fa un controllo analogico, mentre con arduino si fa un controllo digitale. era questa per me la differenza. Non mi serve di sviluppare un convertitore switching perchè ho bisogno di un alimentatore. XD Era un modo per implementare questo tipo di controllo su un convertitore.... solo per questo. cmq con analogread() e analogwrite() dovrei andare ad 1Hz per starci con i tempi. XD XD Pensavo che fosse un'idea interessante...per avvicinarsi al controllo digitale,alla strutturazione di una macchina a stati e all'utilizzo di parti in ASM per fare operazioni in tempi stretti. Certo con Arduino, si raggiungono certo le prestazioni del più scadente DSP, ma per imparare il metodo di controllo era una buona idea. Mi spiace che non ottenga riscontro il mio tentativo... poteva essere una buona opportunità di crescita e di scambio reciproco. A.

Dove hai letto che con analogRead ed analogWrite vai ad 1Hz? Non è mica vero. Puoi fare benissimo un controllo digitale ed applicare quello che hai imparato dopodiché magari salti fuori e dici.. aiutatemi ad ottimizzare questo codice e ti vengono proposte delle migliorie per aumentare la frequenza di campionamento. Non credere che andando a livello più basso si possano fare poi chissà quali miracoli.. l'ADC ha i suoi limiti e lo stesso il PWM, qualcosa si può fare ma il micro è quello.

Ciao

L'ADC gestito da Arduino è lento ma volendo si può lavorare sui registri per farlo andare discretamente veloce. Anche il PWM di Arduino è limitato a basse frequenze ma si possono ottenere clock molto più alti impostando i registri come si vuole.

leo72: L'ADC gestito da Arduino è lento ma volendo si può lavorare sui registri per farlo andare discretamente veloce.

Su Arduino l'ADC va a circa 10 kHz, praticamente quasi la frequenza massima possibile con la risoluzione a 10 bit, per aumentarla tocca ridurre la risoluzione del ADC. Comunque per uno switching servono sample rate di almeno 1 msps sul ADC e pwm ad alta risoluzione e alta frequenza, gli ATmega non sono adatti come micro per questa applicazione, esistono micro verticalizzati per questo utilizzo, p.e. i dsPIC33 serie GS, e sarebbe il caso di utilizzarli.

Astro, sul datasheet viene detto che l'ADC lavora a 10 bit fino a 100 kHz, mentre se bastano 8 bit si può salire fino a 200 kHz. Ora io non ho le competenze/strumentazioni per dire a quelle velocità il S&H ci sta dietro oppure no, mi fido di Atmel.

leo72: Astro, sul datasheet viene detto che l'ADC lavora a 10 bit fino a 100 kHz

Io mi ricordavo fino a 15 kHz a 10 bit, però posso anche essermi sbagliato su questa cosa, dopo do una ripassata al data sheet :) Comunque anche 200 kHz sono pochi per l'uso switching visto che tocca analizzare segnali che viaggiano a svariate decine di kHz, se non centinaia.

Mi ricordavo bene io :grin:

Up to 76.9 kSPS (Up to 15 kSPS at Maximum Resolution)

..O se non vuoi stravolgere veramente tutto puoi provare a vedere se gli XMega, seppur non prestanti come i DSPic, riescono a fare qualcosa in più lo stesso. Alcuni modelli hanno ADC da 12 bit e 2 MSPS, PWM con risoluzione fino a 4ns, etc..

Ciao

flz47655: ..O se non vuoi stravolgere veramente tutto puoi provare a vedere se gli XMega, seppur non prestanti come i DSPic, riescono a fare qualcosa in più lo stesso. Alcuni modelli hanno ADC da 12 bit e 2 MSPS, PWM con risoluzione fino a 4ns, etc..

Direi che con queste caratteristiche possono andare bene.

astrobeed: Mi ricordavo bene io :grin:

Up to 76.9 kSPS (Up to 15 kSPS at Maximum Resolution)

Ok.

EDIT: mi ero confuso col clock dell'ADC, che può essere compreso fra i valori che avevo scritto, mi ricordavo male.

leo72: EDIT: mi ero confuso col clock dell'ADC, che può essere compreso fra i valori che avevo scritto, mi ricordavo male.

Allora è vero che non dormi più con la stampa del data sheet del 328 sotto il cuscino :D