Vai al contenuto

Gestione uscite PWM su sistemi SlimLine

Home Forum Discussioni su problematiche generali Gestione uscite PWM su sistemi SlimLine

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #63980
    Anonimo
    Inattivo

    Abbiamo necessità di gestire un certo numero di uscite PWM, che soluzione potete offrire con i Vs sistemi SlimLine?

    #63982
    Sergio Bertana
    Amministratore del forum

    Al momento sui nostri sistemi SlimLine abbiamo la possibilità di gestire solo 2 uscite PWM in hardware, le uscite sono presenti sui moduli CPU MPS054 e MPS056. L’hardware di gestione permette di generare frequenze elevate (Fino a 100Khz) ma l’hardware di uscita presente sul modulo (OptoMOS) taglia la frequenza massima a 2Khz. Per la configurazione dei PWM out gestiti in hardware è previsto il FB SysSetPWMOut.

    All’interno dell’ambiente LogicLab è possibile gestire programmi in una Task fast (Eseguita ogni 1mS), il tempo di esecuzione può essere modificato e portato fino a 100uS con il FB SysSetTaskLpTime. Utilizzando il FB PWMOut è possibile gestire all’interno di questa task uscite digitali per generare segnali PWM.

    4 PWM out su modulo CPU:  essendo le uscite presenti sul modulo possiamo scendere con il tempo di esecuzione task a 200uS, la frequenza massima gestibile in uscita è di 2500Hz. Come si vede dallo screenshot a causa della “granulosità” della esecuzione 5000 volte al secondo si ha un errore sulla frequenza tanto più elevato quanto ci avviciniamo alla  frequenza massima di 500Hz.

    16 PWM out su modulo PCB124B100:  Dovendo gestire il modulo di espansione (L’accesso al bus richiede ca 250 uS) non si può scendere con il con il tempo di esecuzione task. Eseguendo la task ogni 1mS la frequenza massima gestibile in uscita è di 500Hz. Come si vede dallo screenshot gestendo 16 uscite con FB PWMOut a causa della “granulosità” della esecuzione 1000 volte al secondo si ha un errore sulla frequenza tanto più elevato quanto ci avviciniamo alla  frequenza massima. Il tempo di esecuzione task è di 108uS con un massimo di 430uS, quindi si potrebbe anche impostare un tempo di esecuzione task inferiore diminuendo la granulosità.

    Se anzichè usare l’FB PWMOut gestisco le uscite sincrone con l’esecuzione della task ho una frequenza molto più precisa (Screenshot) ma avrò variazioni solo a multipli del tempo di esecuzione task (500, 250, 167, 125, 100, 83, 71, 62.5, 55.5, 50… Hz).

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.