EnergiAlternativa

Page Index Toggle Pages: 1 ... 105 106 [107] 108 109 ... 219 Send TopicPrint
Very Hot Topic (More than 500 Replies) Homemade Inverter (Read 1249360 times)
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1590 - 12.04.15 at 22:45:04
Print Post  
Non è bello rispondere alle domande con altre domande...Smiley
Quote:
non ci esporrai la tua idea, almeno per il momento...

Mettiamo il caso che abbia spiegato la problematica ma che a te, per qualche motivo a me ignoto, sfugge? L'unica possibilità che ho è :
1. studiarmi l'arduino
2. scaricarmi la piattaforma del compilatore
3. scrivere il codice e far notare le differenze

Mi ripeto, però perdonami se lo faccio per l'ultima volta, altrimenti diventerei ulteriormente noioso: il processo (o il core come la chiami tu)  che regola l'ampiezza della tensione , cioè il valore del pwm, deve essere il counter del processore e non in indice che si incrementa, questo per consentire una interazione con il processo che retroaziona l'uscita che può avere tempi di campionamento non costanti.

Perchè non inizi ad indicizzare gli elementi del pwm e a fargli calcolare all'inizio dei tempi i valoro dalla funzione seno senza scolpirli? Porta gli indici a 1024 (noti il numero a base binaria?)e fagli fare un incremento casuale e comunque a fagli ricostruire una sinusoide a 50Hz...è chiaro il discorso?Smiley
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1591 - 13.04.15 at 00:27:30
Print Post  
Elettro, per favore, mi dai una mano a capire ciò che dice Bolle ???


Con tutto l'impegno, attenzione e buona volontà non ci sono riuscito, provo a descrivere frase per frase quello che ho capito:



Quote:
il processo (o il core come la chiami tu) che regola l'ampiezza della tensione , cioè il valore del pwm,


Il processo che regola la tensione in uscita (inteso come programma a se che si occupa di impostare, istante per istante, il valore del PWM) è la ISR che legge i valori nel vettore e li utilizza per impostare il valore del PWM

Quote:
deve essere il counter del processore


Cosa deve essere il "counter del processore" ? Il processo ? I valori nel vettore ? E cosa intendi per "counter del processore" ?

Quote:
e non in indice che si incrementa


Ipotizzando che volessi scrivere "un indice",

io utilizzo un indice per sapere a quale cella del vettore sono arrivato, tale indice si incrementa per scorrere il vettore.
Poichè l'indice è legato alla ISR (che verrà eseguita comunque ogni 62,5 microS) non ho bisogno di gestire il caso in cui una ISR non venga richiamata, tuttavia se sapessi che una ISR non viene chiamata mi basterebbe incrementare comunque l'indice e l'onda in uscita sarebbe comunque correttamente creata (con una impercettibile distorsione).

Cosa vuoi dire tu con un indice che si incrementa ?

Quote:
questo per consentire una interazione con il processo che retroaziona l'uscita che può avere tempi di campionamento non costanti.


Qui penso che vuoi dire che ci sarà una parte di codice (che tu chiami "il processo che retroaziona l'uscita") che deve interagire con la parte di codice che genera l'onda e poichè "il processo che retroaziona l'uscita" ha tempi incerti "il processo che genera l'onda" deve attendere ed essere capace comunque di generare correttamente l'onda in uscita ?

Quote:
Perchè non inizi ad indicizzare gli elementi del pwm


Ti riferisci ai puntatori o cosa ? Gli elementi del PWM hanno già il loro indice...

Quote:
e a fargli calcolare all'inizio dei tempi i valoro dalla funzione seno senza scolpirli?


Qui brancolo nel buio...

Prima di tutto come mai hai usato il termine "scolpirli" ? Perhé ho utilizzato un vettore di costanti ?

Poi cosa intendi con "all'inizio dei tempi" ?
Che in una fase di inizializzazione del firmware faccio calcolare il vettore tramite la funzione seno ?
O tutte le volte che devo effettuare una variazione del valore di PWM ?

Quote:
Porta gli indici a 1024 (noti il numero a base binaria?)


Vuoi dire porta il numero di elementi del vettore a 1024 ?

Il numero binario corrisponde a 10 Bit, come l'ADC, quindi ?

Quote:
e fagli fare un incremento casuale e comunque a fagli ricostruire una sinusoide a 50Hz


Cioè vuoi che scriva un codice in cui la funzione che genera la sinusoide venga richiamata con tempi casuali e che comunque generi una sinusoide in uscita ?

Quote:
è chiaro il discorso?


Tu che dici ???


Mi rivolgo a tutti gli altri: c'è qualcuno che ha capito cosa vuole dire Bolle ?

Ciao, Eligio.
  
Back to top
 
IP Logged
 
farstar1965
Ex Member
**


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1592 - 13.04.15 at 07:38:19
Print Post  
Spiacente, vi seguo leggo tutti i post anche più volte, ma in questo momento ho seri problemi.
  
Più impari più ti rendi conto di quanto sei ignorante.
Back to top
 
IP Logged
 
inverter90
Ex Member
****


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1593 - 13.04.15 at 08:59:47
Print Post  
Guarda anch'io come Farstar vi leggo sempre, ma per me state iniziando a parlare arabo:huh:
  
Il niente è impossibile finchè non ci provi!!!
Back to top
 
IP Logged
 
inverter90
Ex Member
****


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1594 - 13.04.15 at 09:02:19
Print Post  
Cioè sinceramente (parlando da non esperto) non riesco a capire cos'è che non va nel codice di bellaeli. Se abbiamo la cpu che lavora al 2% non dovremmo essere apposto?
  
Il niente è impossibile finchè non ci provi!!!
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1595 - 13.04.15 at 09:49:45
Print Post  
Rispondo a tutti.
L'obiettivo che mi pongo è far arrivare BellaEli con tutto il suo bel codice ad essere non solo eccellente, non solo predisposto a qualsiasi processore non solo che vada a qualsiasi frequenza, ma soprattutto pronto per un ipotetico 'impiccio' di retroazione.

Parto dalla mia prima osservazione che non è stata percepita...chiarito questo punto, tutto il resto verrà da se...almeno spero. Smiley

Nel codice BellaEli definisce il vettore onda_rif in questo modo...lo copio pari pari.

// Vettore di riferimento valori PWM, di una semionda, per ri-calcolo Vettore per variazioni di PWM
const unsigned int onda_rif [160] = {0, 14, 27, 41, 55, 69, 82, 96, 110, 123, 137, 150, 163, 177, 190, 203, 216, 229, 242, 255, 268, 281, 293,
305, 318, 330, 342, 354, 366, 377, 389, 400, 411, 422, 433, 444, 455, 465, 475, 485, 495, 505, 514, 523, 532, 541, 550, 558, 566, 574, 582, 590,
597, 604, 611, 617, 624, 630, 636, 641, 647, 652, 657, 661, 666, 670, 674, 677, 681, 684, 687, 689, 691, 693, 695, 697, 698, 699, 699, 700, 700,
700, 699, 699, 698, 697, 695, 693, 691, 689, 687, 684, 681, 677, 674, 670, 666, 661, 657, 652, 647, 641, 636, 630, 624, 617, 611, 604, 597, 590,
582, 574, 566, 558, 550, 541, 532, 523, 514, 505, 495, 485, 475, 465, 455, 444, 433, 422, 411, 400, 389, 377, 366, 354, 342, 330, 318, 305, 293,
281, 268, 255, 242, 229, 216, 203, 190, 177, 163, 150, 137, 123, 110, 96, 82, 69, 55, 41, 27, 14};
Per verificare la sua validità sono stato 'obbligato' a verificare i valori  :LINK.
Questi valori sono tutti costanti (scolpiti a manetta santa, molto probabilmente copiati da un qualcosa che li ha generati, purtroppo non ho letto tutta l'intera discussione ma non cambia il senso del mio pensiero).
Crea problemi questo modo di procedere?No, assolutamente no, però ci si lega mani e piedi...perchè?
Il consiglio dato era quello di far 'estrarre' al processore stesso quei valori con una funzione che va chiamata all'inizio dei tempi (initialize la chiamano gli esperti angosassoni...l'inizio dei tempi...poi per il solito slang è stata chiamata semplicemente init). Complicato fare questo? Per alcuni sicuramente si  ma per i professionisti non dovrebbe esserlo...siamo quì per apprendere, anche questo è lo scopo del forum.Smiley

Questa è la riga di codice che sostituisce quei valori :
Code
Select All
onda_rif[i]= (unsigned int)((sin(PI/SEG_SEMI_SIN*i)*PICCO_MASSIMO_ELI+AROUND));
 


ma non solo sostituisce i valori ma ha vantaggi incredibili:



Quale è il vantaggio? I punti della sinusoide possono essere di più o anche di meno (processore fetecchio (?) ,...ma poi siamo sicuri che un processore fetecchio non sia in grado di funzicare ugualmente o anche meglio di un processore più potente:tutto dipende da come si implemente ail SW che la fa da padrone)...possono essere ricalcolati in tempo reale (concetto informatico che identifica in questo caso 'mentre il processore è in funzione') utile anche in fase di debbug (cioè durante le prove di spiluppo)...infine non ci si lega mani e piedi a questi valori che dovrebbero essere scritti nuovamente.
Lo stesso discorso si ripete per il 160 e per quel 700...da dove saltano fuori?
Il 160 BellaEli lo ricava dalla frequenza del processore (io non abbraccio completamente il suo pensiero ma è solo un punto di vista).
In sintesi basta eliminare il costrutto const da davanti al vettore onda_rif e chiamare la funzione init() quando parte il processore in modo da valorizzarlo.
Chi ha un arduino, può verificare la variante? grassie!Smiley
Sono stato più chiaro ora?#####ALLEGATO-[/IMG][/IMG]?1511[/IMG]
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1596 - 13.04.15 at 11:00:55
Print Post  
O mio Dio !!!

Tutto qui quello che volevi dire ???

E perchè non lo hai detto prima ?!?!?!?!?

Allora ti rispondo subito alle varie richieste:

Quote:
Questi valori sono tutti costanti (scolpiti a manetta santa, molto probabilmente copiati da un qualcosa che li ha generati).


Quando ci siamo avventurati in questo progetto, il nostro primo obiettivo era quello di riuscire a generare una sinusoide.

All'inizio Inverter90 postò dei valori copiati da qualche parte, allora ho creato un piccolo file Excel per la generazione dei valori da inserire nel vettore, disponibile qui:

http://www.energialternativa.org/Public/newforum/Discussione.php?55031252&93#MSG...

I valori inseriti nel vettore provengono dal file Excel che io stesso ho creato e il suggerimento di fare il calcolo all'interno del codice lo avevo già recepito e approvato qui:

http://www.energialternativa.org/Public/newforum/Discussione.php?55031252&102#MS...

Tuttavia in fase di Debug del Firmware potrebbe essere comodo avere i valori a disposizione...

Quote:
Complicato fare questo?


Assolutamente no, il foglio Excel l'ho fatto io, non è un problema fare i calcoli da codice...

Quote:
Il 160 BellaEli lo ricava dalla frequenza del processore (io non abbraccio completamente il suo pensiero ma è solo un punto di vista).


Che vuol dire con: "io non abbraccio completamente il suo pensiero ma è solo un punto di vista" ?

Sono qui per confrontarmi, io ho esposto la mia idea, ciò che sulla base delle mie conoscenze è il metodo migliore, se tu farai lo stesso possiamo cercare di capire quale sia la migliore...

In ogni caso, un po' di post fa, insieme ad Elettro, ci chiedevamo quale fosse il metodo migliore per demandare la generazione del PWM ai Timer.

Dalla discussione uscirono 2 strade:

1) Un Timer (es. Timer 0) setta il numero di campionamenti per sinusoide che possono essere scelti liberamente, senza legarsi al tempo di campionamento (in pratica il 160 non sarebbe più obbligatorio).
Un secondo Timer (es. il Timer 1) si occuperebbe di generare il segnale PWM.
In questo contesto la frequenza del PWM e il numero di campionamenti sarebbero slegati tra loro (più o meno, bisogna comunque fare i conti con i 16 MHz).

2) Utilizzare un solo Timer (il Timer 1) per generare contemporaneamente sia il numero di campioni che il segnale PWM.

Per una serie di motivi, ci siamo orientati sulla seconda soluzione che, a mio avviso, ci permette di conoscere, con precisione, cosa avviene in ogni istante.

Quote:
Sono stato più chiaro ora?


Certamente, ora sei stato comprensibilissimo !

Ma veniamo ai commenti del codice:

Code
Select All
#define SEG_SEMI_SIN 160 [color=gray]// ??? perchè non un altro valore??? E' possiblie legarlo al processore in modo automatico???[/color] 



Legarlo al processore mi sembra un po' complicato, ma più che complicato non necessario...
Voglio dire che il codice lo stiamo scrivendo per Arduino Uno, se qualcuno vuole utilizzare un altro micro deve comunque capire e rivedere il codice, quindi si farà i suoi conti e imposterà adeguatamente tale valore...
Il nostro non è un Sistema Operativo che si deve adattare a ogni Hardware, si tratta di un Firmware, qualcosa che di solito è dedicato ad un Hardware specifico, non vedo di buon occhio renderlo compatibile con altri Hardware senza prima testarlo...

Per quando riguarda il valore, ci deve essere qualcosa che sfugge a me o te:

Per il sistema scelto, ovvero quello di utilizzare un solo Timer, il 160 è un valore strettamente legato al tempo di campionamento, non posso aumentare o diminuire tale valore a caso senza modificare la frequenza del PWM e la sua risoluzione (intesa come numero di valori settabili in uscita, 0..255 o 0..1023, etc.).

Qualche post fa ho descritto da cosa viene fuori quel 160, ovvero 10 ms (tempo semi-sinusoide a 50 Hz) diviso 62,5 microS (tempo di campionamento) che fa esattamente 160.

Se volessi aumentare il valore di 160 dovrei diminuire il tempo di campionamento.

Faccio qualche esempio:

Ipotizziamo di campionare a 31,25 microS, ci saranno 10/0.03125 = 320 Campioni (il 160 diventerebbe 320)

Tuttavia per campionare a 31.25 microS, il valore di ICR1 sarà di: 31.25 / 0.0625 = 500. Quindi la risoluzione del PWM totale sarà di 500 valori e, poichè dobbiamo lasciarci un po' di margine per gestire il feedback e la variazione di frequenza dei 50 Hz, diciamo che il picco del vettore diverrebbe di 350.

Sempre campionando a 31.25 microS, la frequenza del PWM in uscita sarà di: 1/0.00003125 = 32 KHz che sembrerebbe un po' alta in relazione alle perdite di commutazione.

Concludendo il 160 è una impostazione progettuale iniziale scaturita da:

- Frequenza PWM;
- Risoluzione PWM;
- Tempo di Campionamento.

Code
Select All
#define PICCO_MASSIMO_ELI  700 [color=gray]// Ho ricavato il valore dalla sinusoide di BellaEli!!! perchè questo e non un altro valore??? //E' possibile  anche in questo caso legarlo al processore in modo automatico???[/color] 



Il 700 rappresenta il valore del PWM in uscita.

Ogni PWM ha un inizio (solitamente 0) e una fine dettata dal numero di Bit scelti per PWM.

Nel nostro PWM la fine è rappresentata da ICR1 che, per campionare a 62,5 microS, ha un valore pari a 1.000.

Quindi, il valore massimo del nostro PWM può essere 1.000.

Tuttavia (sempre per scelta progettuale iniziale di far lavorare il nostro inverter in un range compreso tra 45 e 55 Hz) quel mille potrebbe diminuire fino a 909 nel caso dei 55 Hz.

Inoltre non dobbiamo dimenticare che in presenza di carichi la V_Out dell'Inverter si abbasserà, abbiamo bisogno di un po' di margine per aumentare, tramite feedback, il valore di V_Out.

Arbritariamente e ho scelto il valore di 700 che potrebbe risultare troppo basso o alto, tuttavia in questa fase mi era necessario impostare un valore per poter proseguire quindi ho fatto a "occhio" !

Per quando riguarda il discorso di legarlo al processore penso quello che ho già descritto sopra.


Concludendo posso dire che tutto ciò che ci chiedi era già stato recepito e accettato come ottima modifica da implementare, non è stata fatta solo per mancanza di tempo e perchè ero in attesa di capire quali altre modifiche volevi farmi implementare
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1597 - 13.04.15 at 12:57:32
Print Post  
CITAZIONE (BellaEli, 13/04/2015 11:00:55 ) Quote:
E perchè non lo hai detto prima ?!?!?!?!?

Pensavo di averlo fatto...ma che a te, per qualche motivo a me ignoto, sfuggiva! Cheesy

CITAZIONE (BellaEli, 13/04/2015 11:00:55 ) Quote:
Tuttavia in fase di Debug del Firmware potrebbe essere comodo avere i valori a disposizione...

bene, ma serve anche ad altro.

CITAZIONE (BellaEli, 13/04/2015 11:00:55 ?Discussione.php?In ogni caso, un po' di post fa, insieme ad Elettro, ci chiedevamo quale fosse il metodo migliore per demandare la generazione del PWM ai Timer.
55031252&107#MSG1642]
Dalla discussione uscirono 2 strade:

1) Un Timer (es. Timer 0) setta il numero di campionamenti per sinusoide che possono essere scelti liberamente, senza legarsi al tempo di campionamento (in pratica il 160 non sarebbe più obbligatorio).
Un secondo Timer (es. il Timer 1) si occuperebbe di generare il segnale PWM.
In questo contesto la frequenza del PWM e il numero di campionamenti sarebbero slegati tra loro (più o meno, bisogna comunque fare i conti con i 16 MHz).

2) Utilizzare un solo Timer (il Timer 1) per generare contemporaneamente sia il numero di campioni che il segnale PWM.

Per una serie di motivi, ci siamo orientati sulla seconda soluzione che, a mio avviso, ci permette di conoscere, con precisione, cosa avviene in ogni istante.
[/quote]
Purtroppo,per mancanza di tempo, non ho letto tutta la discussione e mi fa piacere che sia saltata fuori una'altra strada decisamente più comoda per la gestione del carico... ma non so se è proprio quella che ho dentro la mia piccola testolina...dove ne avevate parlato? Mi posti il link.

Cmq per l'ennesima volta ripeto che indipendentemente dalla strada intresa l'importante è arrivare a realizzare un inverter sinusoidale puro...poi se si vorrà migliorare può essere fatto successivamente...cercando di avere gli strumenti per ottimizzarlo senza buttare l'norme lavoro svolto fino ad ora.


Posso continuare a fare softwarini che non servono a nulla...ma che, secondo me, possono chiarire alcuni concetti a tutti gli altri? Smiley


  
Back to top
 
IP Logged
 
farstar1965
Ex Member
**


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1598 - 13.04.15 at 13:06:03
Print Post  
Non trovando il tasto mi piace, lo scrivo direttamente.
Mi piace l'ultimo post di bolle !
  
Più impari più ti rendi conto di quanto sei ignorante.
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1599 - 13.04.15 at 14:02:40
Print Post  
Quote:
dove ne avevate parlato? Mi posti il link.


Non c'è un'unico post dove abbiamo affrontato l'argomento...

Più o meno questa è la parte centrale in cui l'abbiamo affrontato, c'è il mio post e due post più in basso Elettro parla dell'idea di utilizzare un solo timer...

Il discorso si estende su più pagine...


Quote:
Posso continuare a fare softwarini che non servono a nulla...ma che, secondo me, possono chiarire alcuni concetti a tutti gli altri?


Certo che puoi farlo, ci mancherebbe...

Comunque leggendo altri tuoi post ho avuto modo di osservare che sei una persona abbastanza spiritosa, a cui piace scherzare e alleggerire i topic con qualche battuta di tanto in tanto...

L'espressione "non servono a nulla" è da inserire in tale contesto, da parte mia non mi sognerei mai di offenderti: del resto la funzione dei tuoi softwarini è quella di spiegare in modo più comprensibile alcuni meccanismi complessi, quindi direi che servono eccome !!!!

Quote:
Mi piace l'ultimo post di bolle !


Concordo in pieno (finalmente...) !!!
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1600 - 13.04.15 at 16:22:52
Print Post  
no, no...sono cosciente che non servono a nullai sofwarini che faccio...ma ringrazio per fiducia Cheesy

Mi sono cimentato nella simulazione dei due algoritmi, ovviamente con i miei fortissimi limiti, interpretando quello di BellaEli a tic costanti  di colore verde  (da lui chiamato caso 2) ed l'altro caso cioè quello dove non ci sono i tempi costanti. Per evitare di fare le cose semplici ed complicare la situazione ho fatto in modo di estremizzare il caso 1...creando dei tempi caotici non prevedibili. Questa caoticità creata dai puntini rossi si vede chiaramente...basta fissare il grafico e vedere cosa combina...rimane molto più evidente settare ongi caso singolarmente.



Il SW permette di visualizzare gli algortimi singolarmente settando il relativo flag colorato.
Ho dovuto abbassare il tempo del PWM (portarlo da 160 a 30) per far vedere cosa accade, se viene settato il valore di 160 non si riescono a vedere differenze.
Premetto che la sinusoide viene ricostruita integralmente esattamente come farebbe il processore...non è una ricostruzione arbitraria...è quello che avviene nella sinusoide realizzata con un pwm.
C'è anche il fattore di errore che è settato inizialmente a zero ma può essere variato.

A questo punto qualcuno potrebbe dire, ma ci sono differenze apprezzabili?
ma poi....sicuri sicuri che... 160 non sia un valore alto? si può abbassare quel valore?#####ALLEGATO-[/IMG][/IMG]?1515[/IMG]
  
Back to top
 
IP Logged
 
BellaEli
Ex Member
****


--------

Gender: Male
Zodiac sign: Leo
Re:Homemade Inverter "modulo DC/AC"
Reply #1601 - 13.04.15 at 17:22:51
Print Post  
Fantastico !!!

Quote:
...è quello che avviene nella sinusoide realizzata con un pwm


Suppongo che hai utilizzato il vettore di 160 elementi con i valori da 0 a 700, giusto ?

Quote:
C'è anche il fattore di errore che è settato inizialmente a zero ma può essere variato.


Non mi è chiaro cosa fa il fattore di errore... quale dato va a inquinare con il rimore ?

Quote:
ma ci sono differenze apprezzabili? ma poi....sicuri sicuri che... 160 non sia un valore alto? si può abbassare quel valore?


Io non ci vedo particolari differenze tra i due metodi, almeno in questa simulazione.
Per quanto riguarda il 160, anche se alto, non è un problema poichè è qulcosa gestito autonomamente dal Timer. Se potessi lo alzerei, perchè abbassarlo ? Che vantaggi porterebbe ? Un leggero miglioramento del rendimento a discapito di eventuali distorsioni sull'onda...
  
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1602 - 13.04.15 at 17:49:55
Print Post  
Code
Select All
Suppongo che hai utilizzato il vettore di 160 elementi con i valori da 0 a 700, giusto ?  


Il valore parte con 30...puoi portarlo tu a 160...in questo caso le differenze sono indistinguibili.Lasciami passare l'ampiezza...in questo momento è invariante...ma vale lo stesso discorso della modularità del valore!



Il vantaggio dell'algoritmo caotico (lo chiamo in questo modo solo per distinguerlo dall'altro) è quello di essere in grado di ricostruire la sinusoide indipendentemente dal  momento di esecuzione, perchè è legato (indicizzato se vogliamo semplificare) al tempo che scorre.Quindi possiamo prendere molti più valori ( ed esempio 1024) e sarà  il tempo che scorre  (il COUNTER cioè il tempo interno del processore) a 'scegliere' quello più appropriato.
Questo perchè se per caso il processore è impegnato a fare qualcosa che non può mollare (ovviamente tempi alti ma cmq fattibili (possiamo anche calcolare questo limite))...questo tipo di algoritmo è in grado di riprende la situazione come se nulla fosse.

Sapete il tempo che impiega il convertitore analogico digitale per leggere il valore della tensione di arduino?
Occorre sapere il tempo min e tempo max...in genere i processori sollevano un interrupt o settano un registro.
Come funzica l'arduino?

Per chi ha già realizzato l'inverter: che tempi avete utilizzato e che tempi hanno le letture di retroazione?

Un saluto:)
Bolle

PS:Elettro...ci sei?
  
Back to top
 
IP Logged
 
inverter90
Ex Member
****


--------

Gender: Male
Re:Homemade Inverter "modulo DC/AC"
Reply #1603 - 13.04.15 at 19:36:44
Print Post  
Chi mi spiega al volo a cosa servono queste variabili?

//Costanti di sistema
#define PI 3.14159265358979
#define AROUND 0.5
  
Il niente è impossibile finchè non ci provi!!!
Back to top
 
IP Logged
 
NonSoloBolleDiAcqua
Ex Member
*****


--------

Gender: Male
Zodiac sign: Scorpio
Re:Homemade Inverter "modulo DC/AC"
Reply #1604 - 13.04.15 at 20:00:51
Print Post  
Il pi è il pigreco mentre AROUND serve per evitare il troncamento che effettua il c.
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 ... 105 106 [107] 108 109 ... 219
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa