La risoluzione dell'encoder BLDC è troppo alta?
Sto cercando di configurare un motore Maxon ECX BLDC. Durante la fase di configurazione in cui ti chiedono di scegliere il conteggio dei passi per l'encoder incrementale c'è questa casella di nota "informazioni sulla risoluzione" che dice di seguire questa regola di base: "Alta risoluzione necessaria"
Dato che il prezzo del sensore è lo stesso per diversi conteggi di passi, perché lo dicono?
- Un numero di passi più elevato non sarebbe sempre migliore poiché fornisce una migliore risoluzione (gradi/passo) consentendo così un controllo più preciso di posizione/velocità/forza?
- Quali sono gli svantaggi di avere una risoluzione dell'encoder molto più alta del necessario?
Risposte
Non se stai eseguendo la commutazione in 6 fasi. Le transizioni extra non fanno nulla in quel caso poiché non ha alcuna utilità per le transizioni extra.
Per non parlare di più impulsi limita la velocità massima poiché il controller ha una velocità massima alla quale è possibile gestire gli impulsi dell'encoder. Un encoder da 32.000 impulsi su un motore da 10.000 RPM è un treno di impulsi da 5 MHz. Non vuoi inviarlo lungo un cavo lungo se non è necessario ed è meno tollerante al rumore perché non puoi filtrare i bordi poiché devono essere veloci per un treno di impulsi ad alta frequenza.
Misurare la velocità misurando il tempo tra i conteggi dell'encoder è anche più complicato per lo stesso numero di conteggi dell'encoder quando la risoluzione è maggiore. Solo perché piccolissime perturbazioni di velocità vengono rilevate ed estrapolate per l'intera rivoluzione. Ovviamente, puoi misurare il tempo tra più tick quando la tua risoluzione è più alta per aggirare questo problema.
Inoltre, il prezzo può certamente essere maggiore per una risoluzione più elevata. Gli encoder ottici che in realtà necessitano di un disco più complesso quando la risoluzione è più alta costano decisamente di più. Un disco con solo 16 slot è molto più facile da realizzare rispetto a uno con poche migliaia.
Ad alta risoluzione, la frequenza degli impulsi può diventare troppo alta perché il controller sia in grado di contarla. La prossima cosa importante è legata alla tua applicazione: l'intervallo di posizionamento di lavoro si ridurrà con una risoluzione più alta, perché il contatore ha una dimensione limitata, cioè 32-bit o 64-bit. Questo numero viene convertito in float con precisione singola o doppia, che ha anche precisione finita (mantissa).
Dipende anche dal produttore, come questo valore del contatore (intero senza segno) viene convertito in float. Ho fatto alcuni esperimenti con Siemens S7-1200 che utilizza una singola precisione per il posizionamento. Dal mio calcolo il valore della posizione dovrebbe iniziare rapidamente a perdere precisione, ma è stato dimostrato che la posizione è stata preservata. Significherebbe che l'incremento della posizione viene calcolato come in piccoli secchi e aggiunto/sottratto solo quando viene raggiunto un determinato importo in relazione alla dimensione effettiva del numero float, oppure....
Sicuramente l'intervallo di posizionamento diventa un problema quando si utilizza l'encoder ad alta risoluzione.