Segnale Pseudo PWM

13 Anni 8 Mesi fa #1 da gcupini
Segnale Pseudo PWM è stato creato da gcupini
Ciao a tutti,

Segnale Pseudo PWM

Per azionare un Motore Brushless, il regolatore abbinato pretende, (ma le informazioni del data sheet sono scarse e confuse) una segnale di tipo PWM con Periodo 20mS (50Hz) e un Duty che può variare da 1 a 2 mS. Le notizie confuse riguardano il Periodo in quanto nelle info del regolatore c'è scritto “ciò che è importante non è il periodo esatto, ma il tempo durante il quale il segnale è alto, che deve variare da 1 a 2 ms” al fine di regolarne la velocità.

Qualcuno ha usato questi regolatori ? Cosa è importante ?

Io intendevo usare un PIC 16F88 ed il suo segnale PWM per governare il regolatore MA …..!!

Premesso che non posso abbassare la frequenza del clock interno a meno di 1 MHZ. Devo eseguire numerose operazioni e sarebbe meglio tenere la frequenza del clock di 4 MHZ. E che il massimo valore del (TMR2 Prescale Value) è 16.

SEGUE che:
Tpwm =[(PR2) + 1] • 4 •(TMR2 Prescale Value) •1/ FOSC

[(PR2) + 1] =FOSC•Tpwm /[4 •(TMR2 Prescale Value) ]=10^6 * 0,02 / (4*16)= 2*10^4/64 = 10000/32= 310

Ma PR2 a 8 bit contiene al massimo 255!!?

DEVO FARE UNA PROVA o DEVO RIPIEGARE su una seconda possibilità che mi viene in mente :

Usare due Timer con Interrupt : il primo alza il pin e il secondo lo abbassa calcolando i valori dei registri Timer per ottenere il giusto tempo?

Se avete idee da sottoporre saranno apprezzate!

Grazie in anticipo Giovanni.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • gcupini
  • Visitatori
  • Visitatori
13 Anni 8 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Segnale Pseudo PWM
Ciao Giovanni,

quando le frequenze in gioco sono troppo basse non si riesce ad utilizzare facilmente il modulo PWM integrato nei PIC a meno di non scendere molto in frequenza.

Il tuo problema è molto simile ai servo per modellismo in cui le tempistiche e frequenze in gioco sono le stesse.

In questi casi potresti utilizzare un semplice delay opportuno e ripetere in loop il tutto.
Questo approccio molto semplice blocca però la CPU sul loop e non riesci a fare molto altro.
Inoltre il PIC rimarrebbe sempre attiva.

La seconda soluzione più usata e che permette di utilizzare la CPU anche per altre applicazioni/calcoli è facendo uso di un Timer e delle interruzioni. Usando le interruzioni hai anche la possibilità di spegnere la CPU in attesa che il conteggio generi l'interrupt.

Sul seguente post trovi i Tool sviluppati da Gianni (SettoreZero) e da Spazzoli.

Strumenti per impostare i Timer del PIC

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login