Sandro in pratica è un tirocinio accorpato ad una tesi, quindi comunque sarò in laboratorio con gente più esperta di me dal punto di vista elettronico.
Onestamente la cosa che mi spaventa di più sarà l'implementazione su microcontrollore poiché dovrei iniziare da zero.
Comunque adesso ascolto qualche preventivo con resolver ed encoder e se può essere d'aiuto al forum pubblico la cifra e caratteristica del motore.
Dati di targa brushless ac
Moderatori:
SandroCalligaro,
mario_maggi,
fpalone
15 messaggi
• Pagina 2 di 2 • 1, 2
0
voti
Ciao Sandro, se me lo consenti ti rompo ancora le scatole, come ti dicevo stavo scegliendo l'encoder piu' adatto, volevo chiederti dato che le uscite dei tre canali A,B,Z andranno su un PIC che accetta segnali a 5V e basse correnti che tipo di encoder devo prendere push pull?? 

0
voti
Se hai chiaro come è fatto uno schema di controllo FOC (ad esempio ne hai simulato uno in Simulink, possibilmente a tempo discreto), non ti sarà difficile implementarlo in codice C.
La cosa difficile, forse, sarà la predisposizione delle periferiche e della temporizzazione, visto che dici di partire da zero, ma considera che probabilmente troverai degli esempi (i maggiori produttori di microcontrollori adatti al controllo motore hanno degli esempi molto utili per iniziare).
Un PIC non è sicuramente il microcontrollore giusto per implementare un FOC, sia per le ridotte risorse di calcolo, sia per le periferiche piuttosto "carenti" rispetto a quello che servirebbe per lo scopo (ma magari tu intendevi un dsPIC).
Per darti un'idea di cosa si usi normalmente, considera che i microcontrollori di riferimento (se non altro storicamente) per questo genere di applicazioni sono quelli della serie C2000 di TI. Oltre ad essere dei core DSP (cioè ad esempio possono eseguire un'operazione multiply+accumulate in un colpo di clock), la maggior parte dei modelli ha a bordo praticamente tutte le periferiche che occorrono per il FOC, che sono tra l'altro molto flessibili.
Ovviamente nei modelli recenti è possibile implementare molto di più di un semplice controllo FOC.
Come periferiche, in linea di massima per un FOC "standard" occorrono:
- Timer in grado di avviare un interrupt (questo c'è su praticamente ogni microcontrollore), e possibilmente avviare autonomamente il campionamento e/o la conversione dei vari segnali con l'ADC.
- ADC (e campionatori!) veloci: è vero che la frequenza di campionamento non è molto alta (tipicamente attorno a 10 kHz), ma ad ogni ciclo occorre campionare almeno due correnti di fase (con meno ritardo possibile tra le due, e il più possibile riferite ad un istante preciso) e la tensione di bus.
- PWM con opzioni adeguate (e clock sufficientemente veloce): normalmente il conteggio è un'onda triangolare, non a dente di sega, perché si vogliono avere gli impulsi sulle fasi centrati rispetto al periodo. La periferica deve essere in grado di disattivarsi quasi istantaneamente in caso di fault (in alternativa la protezione è implementata nei driver dei dispositivi di potenza). Meglio se la periferica consente di applicare automaticamente i dead-time.
- Periferica di conteggio encoder (deve gestire almeno direzione e conteggio veloce)
La maggior parte degli encoder incrementali ha uscite push-pull, prevalentemente per ragioni di immunità ai disturbi (e rilevamento guasti). Per migliorare l'immunità solitamente la resistenza di carico è scelta con valori bassi (purché si rimanga entro la corrente massima di uscita dell'encoder). Si possono sfruttare delle capacità in serie per evitare di dissipare inutilmente in DC. Per riportare i segnali in single-ended ci sono ricevitori specifici (tipico il 2632), ma ovviamente basterebbero anche dei comparatori.
Come dicevo sopra, occorre necessariamente una periferica di conteggio (eventualmente implementata con una logica esterna al micro).
La cosa difficile, forse, sarà la predisposizione delle periferiche e della temporizzazione, visto che dici di partire da zero, ma considera che probabilmente troverai degli esempi (i maggiori produttori di microcontrollori adatti al controllo motore hanno degli esempi molto utili per iniziare).
Un PIC non è sicuramente il microcontrollore giusto per implementare un FOC, sia per le ridotte risorse di calcolo, sia per le periferiche piuttosto "carenti" rispetto a quello che servirebbe per lo scopo (ma magari tu intendevi un dsPIC).
Per darti un'idea di cosa si usi normalmente, considera che i microcontrollori di riferimento (se non altro storicamente) per questo genere di applicazioni sono quelli della serie C2000 di TI. Oltre ad essere dei core DSP (cioè ad esempio possono eseguire un'operazione multiply+accumulate in un colpo di clock), la maggior parte dei modelli ha a bordo praticamente tutte le periferiche che occorrono per il FOC, che sono tra l'altro molto flessibili.
Ovviamente nei modelli recenti è possibile implementare molto di più di un semplice controllo FOC.
Come periferiche, in linea di massima per un FOC "standard" occorrono:
- Timer in grado di avviare un interrupt (questo c'è su praticamente ogni microcontrollore), e possibilmente avviare autonomamente il campionamento e/o la conversione dei vari segnali con l'ADC.
- ADC (e campionatori!) veloci: è vero che la frequenza di campionamento non è molto alta (tipicamente attorno a 10 kHz), ma ad ogni ciclo occorre campionare almeno due correnti di fase (con meno ritardo possibile tra le due, e il più possibile riferite ad un istante preciso) e la tensione di bus.
- PWM con opzioni adeguate (e clock sufficientemente veloce): normalmente il conteggio è un'onda triangolare, non a dente di sega, perché si vogliono avere gli impulsi sulle fasi centrati rispetto al periodo. La periferica deve essere in grado di disattivarsi quasi istantaneamente in caso di fault (in alternativa la protezione è implementata nei driver dei dispositivi di potenza). Meglio se la periferica consente di applicare automaticamente i dead-time.
- Periferica di conteggio encoder (deve gestire almeno direzione e conteggio veloce)
La maggior parte degli encoder incrementali ha uscite push-pull, prevalentemente per ragioni di immunità ai disturbi (e rilevamento guasti). Per migliorare l'immunità solitamente la resistenza di carico è scelta con valori bassi (purché si rimanga entro la corrente massima di uscita dell'encoder). Si possono sfruttare delle capacità in serie per evitare di dissipare inutilmente in DC. Per riportare i segnali in single-ended ci sono ricevitori specifici (tipico il 2632), ma ovviamente basterebbero anche dei comparatori.
Come dicevo sopra, occorre necessariamente una periferica di conteggio (eventualmente implementata con una logica esterna al micro).
-

SandroCalligaro
2.970 2 4 5 - G.Master EY

- Messaggi: 1181
- Iscritto il: 6 ago 2015, 19:25
0
voti
Mi hai convinto per uno dei C2000, la strada sarà molto lunga ma darà più soddisfazione!
Stò vedendo se c'è qualche board adatta a me, comunque riguardo l'encoder se lo prendo con uscita push pull e non lo uso in modalità differenziale (dato che i cavi saranno cortissimi) lavoro a 0-5 volt adatti ad un microcontrollore?
Stò vedendo se c'è qualche board adatta a me, comunque riguardo l'encoder se lo prendo con uscita push pull e non lo uso in modalità differenziale (dato che i cavi saranno cortissimi) lavoro a 0-5 volt adatti ad un microcontrollore?
1
voti
I C2000 sono piuttosto complicati (secondo me, in parte più del necessario), ma con gli esempi si riesce ad essere operativi in poco tempo.
L'interfaccia con l'encoder in single-ended potrebbe anche andare bene, ma se usi un C2000 devi almeno ridurre il livello di tensione, visto che hanno gli I/O a 3.3 V.
Questo kit è di sicuro interessante. Considera che dovrebbero essere disponibili schemi, layout e lista dei componenti. Lo schema, se non altro, è utile studiarselo.
L'interfaccia con l'encoder in single-ended potrebbe anche andare bene, ma se usi un C2000 devi almeno ridurre il livello di tensione, visto che hanno gli I/O a 3.3 V.
Questo kit è di sicuro interessante. Considera che dovrebbero essere disponibili schemi, layout e lista dei componenti. Lo schema, se non altro, è utile studiarselo.
-

SandroCalligaro
2.970 2 4 5 - G.Master EY

- Messaggi: 1181
- Iscritto il: 6 ago 2015, 19:25
15 messaggi
• Pagina 2 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 43 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
