27 gennaio 04, 00:09 | #1 (permalink) Top |
UserPlus | Software per Regolatore con 16F84A
Ciao a tutti, sto scrivendo un nuovo software per il regolatore con pic16f84 presente su questo sito. Attualmente è in stato ALFA ed avrei bisogno che qualcuno lo potesse provare per evidenziare eventuali bug. Ovviamente a me funziona ed è per cristallo a 4 Mhz. Questo software produce un onda pwm di controllo a 550 Hz circa. C'è ancora un poco di jitter per la verità ma dalle prove ho già notato che la regolazione è molto più fluida rispetto al software proposto sul sito. La graduazione del duty cycle è fatta in 64 step. Grazie per le eventuali prove ... ovviamente a lavoro finito ci sono anche i sorgenti. Ovviamente se qualche cosa non va sono qui ... Ciao, Fabio. |
27 gennaio 04, 11:54 | #2 (permalink) Top |
UserPlus Data registr.: 15-10-2003 Residenza: Forlì
Messaggi: 3.752
|
Ciao Fabio, senza provarlo, ti posso dire che sarebb utile aumentare la frequenza di PWM, almeno a 1,5-2Khz... Se arrivi a 3, direi che sei nel massimo ottenibile dal PIC, se arrivi oltre, beh... complimenti.. Ciao! |
27 gennaio 04, 14:40 | #4 (permalink) Top |
UserPlus | software regolatore
Anfarol, purtroppo occorre bilanciare il numero di step in cui suddividi il periodo. Avendo scelto di dividere l'escursione dello stick in 64 intervalli non riesco molto ad aumentare. Tieni presente che il loop dura 35 cicli e quindi per 64 intervalli sono al minimo 35*64 = 2240 usec pari a 450 Hz circa. Nel loop vengono fatte molte cose e ciascun path di esecuzione deve durare esattamente lo stesso numero di cicli altrimenti ci sarà jitter in uscita. Comunque, guardando sull'oscilloscopio il segnale di controllo del software proposto dal'autore si nota che i passi di regolazione sono pochissimi. Questo è in parte mascherato dall'inerzia del motore quindi ad orecchio non lo senti molto ma guardando le cose con gli strumenti appare evidente. Mi sembra quindi già un discreto miglioramento avere 64 intervalli. Se decidiamo di scendere a 32 intervalli potremmo ottenere circa 900 Hz mentre se scegliamo 16 intervalli avremo 1800 Hz. Questa sera dopo il controllo di rito sulla nuova release in cui ho ridotto il jitter posto anche il sorgente, cosi' possiamo vedere tutti insieme se riusciamo a scendere al di sotto delle 35 istruzioni. Solo in questo modo potremo aumentare la frequenza del segnale pwm. Ciao, Fabio. |
27 gennaio 04, 14:48 | #5 (permalink) Top |
UserPlus Data registr.: 15-10-2003 Residenza: Forlì
Messaggi: 3.752
|
Si capsico perfettamente il problem di "incastrare" le cose, ma: ho fatto con il 12509 (che non ha nemmeo interrupt) un pwm a 3Khz, in non ricordo bene quanti passi, ma + 32 passi. tieni presente che non hai bisogno di + di 32 passi per il motore... non è un servo. Su un 12F675, ho ottenuto un PWM a 2,4Khz, e nel frattempo deve controllare due ingressi ADC, gestire un'altra uscita e due ingressi... Quindi si può fare. Stai lavorando in Assembler? Usi una look-up table per recuperare i "cicli" ? dopo prendo uno dei prototipi in uno scatolone per misurare quanti passi è il primo che ti dicevo... Ciao! |
27 gennaio 04, 15:06 | #6 (permalink) Top |
UserPlus Data registr.: 15-10-2003 Residenza: Forlì
Messaggi: 3.752
|
Ho controllato. Sul 12c509, 3 anni fa, ottenni 3khz secchi con 40 Passi e tra l'altro non lineari nella prima parte (inutile mandare un motore al 2,5-5%). Quindi potenzialmente sono un pelo di più, 43-45. Ricordo solo che fu un incubo incastrare tutto... Ciao! |
28 gennaio 04, 00:44 | #8 (permalink) Top |
UserPlus |
Ciao a tutti, ho testato stasera una nuova versione in cui il jitter è quasi eliminato. La freq del pwm è 450 Hz, regolazione in 64 step. Se dividiamo gli step per 2 raddoppierà la frequenza quindi possiamo arrivare a 1800 Hz con 16 step. La modifica sul sorgente è banale. Per dargli un'occhiata allego il sorgente in assembler. Nel pcb che ho disegnato e che pubblicherò appena finito ho dovuto cambiare le linee di I/O usate, quindi il mio programma usa RB7 come input e RB4 come output. Se volete testarlo occorre ridefinire le linee di I/O usate dal programma originale ed assemblarlo. (il prec. hex era modificato in questo modo). Ciao, 8) Fabio. |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Controllo temperatura pic 16f84a | kakashi | Circuiti Elettronici | 5 | 22 ottobre 07 11:08 |
aiuto 16f84a e l239d | dbiondo | Circuiti Elettronici | 4 | 10 ottobre 06 21:10 |
Software | bgvsan | CNC e Stampanti 3D | 2 | 02 luglio 06 01:17 |
regolatore con 16f84a | fedor60 | Circuiti Elettronici | 1 | 27 febbraio 06 00:49 |
software | hasby | Simulatori | 3 | 03 luglio 05 00:13 |