Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Sfasare di 120° delle tensioni.


Messaggi consigliati

Inserita:

L'autore non c'è più, ma a me ha fatto nascere una curiosità, come spesso accade leggendo le discussioni sul forum, che ho dovuto assolutamente soddisfare

e così, ecco il risultato finale

 

5b3024f2fdc85e40a10d97739c3a44f1.jpg

 

Ho dovuto semplificare perchè il pic usato faceva fatica a calcolarsi i 3 array

 

coeffR[Angolo]=(Offset+(Offset*(sin((float)((Angolo*pi)/180)))));

coeffS[Angolo]=(Offset+(Offset*(sin((float)((120+(Angolo*pi))/180)))));

coeffT[Angolo]=(Offset+(Offset*(sin((float)((240+(Angolo*pi))/180)))));;

 

quindi, ho eseguito i calcoli in excell ottenendo 3 tabelle da 30 campioni che rappresentano il valore del duty cycle di ogni pwm per ogni passo di 12°

 

         int                R[30]={511,619,721,813,895,956,1002,1022,
                                   1022,1002,956,895,813,721,619,517,
                                   
                                   404,302,210,128,67,21,0,0,21,
                                   67,128,205,302,399};

         int                S[30]={956,895,813,721,619,517,404,302,
                                   210,128,67,21,0,0,21,67,128,205,
                                
                                   302,399,506,619,721,813,895,956,
                                   997,1022,1022,1002};

         int                T[30]={67,21,0,0,21,67,128,205,302,399,
                                   506,619,721,813,895,956,997,1022,
                                   
                                   1022,1002,956,895,818,726,624,517,
                                   404,302,210,133};

 

Di conseguenza la routine che viene eseguita in interrupt è molto snella

 

//##############################################################################
//                        Interrupt Routine
//##############################################################################
void interrupt(){
     if(INTCON.TMR0IF)
     {
     Angolo=Angolo+1;
     if(Angolo>29)Angolo=0;
     PWM1DC = R[Angolo];
     PWM2DC = S[Angolo];
     PWM3DC = T[Angolo];
     PWMLD  =0x7;
     TMR0   = 174;
     INTCON.TMR0IF = 0;
     }
    }

 

e questo è il risultato

 

aebad1a87bc5a44ab623aeda6631ab0d.JPG

 

e rimane abbastanza spazio per fare altro

 

d7b2d5d90bc69fcffda6e20d81871419.JPG

 

 

 

 

 


Inserita:

Stefano, oltre che, pignolo, professionista, sei anche BRAVO, non lasciando nulla d'intentato, vuoi sempre arrivare allo scopo, Complimenti

Inserita:

Troppo buono...grazie :thumb_yello:

 

Nel frattempo...la forma d'onda e il livello d'uscita migliorano ulteriormente ponendo R=10K  C=470nF.

Misurando la distorsione con la red mi fornisce un bel 0.8% ...e devo fidarmi perché non ho un vero distorsimetro 

Inserita:

Tutto bello Stefano, peccato che chi ha aperto la discussione sia sparito dopo il primo messaggio.:smilie_nono:

Inserita:

 

Quote

peccato che chi ha aperto la discussione sia sparito dopo il primo messaggio

 

Pazienza :senzasperanza:

 

Vorrà dire che non continuerò con eventuali miglioramenti.

 

Pensavo di non sprecare i pins liberi e creare un segnale di sincronismo...e rendere variabile la frequenza da 8 a 110Hz....

 

df0f74596b87e1f4a023ebd776c0a1c1.jpg

 

f1decd924336cc3a2e9b4f0cdf818c16.JPG

 

b1757875ce192b42c178eae14950ddc4.JPG

 

...sarà per un'altra volta :)

Inserita:

Eh ma non posso allontanarmi un mesetto che mi date per disperso :-D !

Scherzi a parte siete straordinari tutti!

Alcune soluzioni sono davvero interessanti ma molto sofisticate al punto da dover scegliere quella del motore trifase. È una soluzione che mi garantisce la riuscita.

 

Quanto scritto data voi non è certo vano.... rimane a disposizione di tutti.

 

Grazie.

 

Inserita:

Scopo del forum è, soprattutto la circolazione di idee.

Una domanda spesso porta a speculazioni intellettuali (tanto per usare parole grosse :P) che propongo soluzioni differenti.

Inserita:

La penso come Lei, è da stimolo per tutti. Si può solo crescere in questo gruppo.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...