Conflitto encoder SW - serial rec.
Posted: Thu Feb 24, 2011 3:57 pm
Buongiorno,
Nel corso di alcune prove riguardanti il comando di velocità di un motore dc tramite comunicazione seriale tra FLEX motion board e pc ho riscontrato alcuni problemi relativi al blocco encoder software, che sembra andare in qualche maniera in conflitto con il blocco "FLEX_serial_receive". Lo schema adopretato è quello allegato, la zona nel rettangolo verde serve da "Filtro" per i comandi della seriale in modo da mantenere in uscita l'ultimo carattere inviato ed ignorare i segnali di polling, il complemento ad uno del segnale PWM per avere un PWM sul motore in linea col valore mandato in ingresso al blocco "FLEX_MTB_pwm" che, come mi ha confermato Dario in un'altra discussione, ha questo comportamento per poter utilizzare l'apposito plugin di controllo dei motori DC fornito che però Noi non utilizziamo per ragioni storiche (Il progetto è cominciato utilizzando erroneamente palette del menù DemoBoard e senza utilizzare detto plugin ed andare a cambiare le cose adesso sarebbe troppo complicato)
Il blocco "FLEX_gpout" serve per il comando direzionale del motore, inserito in un ponte H esterno. Disponiamo di due motori comandati dai pin FLEX_gpout 6 e 7 (Più 8 per l'abilitazione, comune ad entrambi).
Lo stesso schema, utilizzando però l'ingresso encoder hardware, funziona senza problemi, Qualunque uscita PWM si utilizzi e Qualunque segnale di comando di direzione si adoperi.
Vi segnalo il problema non solo perchè possiate risolverlo negli aggiornamenti futuri ma anche perchè, dovendo implementare un protocollo di comunicazione seriale 485 basandomi sul 232 già fornito, finchè questo inconveniente non viene in qualche modo chiarito mi trovo impossibilitato a proseguire col mio lavoro.
Certo di una Vostra risposta e del Vostro supporto, Vi ringrazio anticipatamente, distinti saluti,
Lorenzo.
Nel corso di alcune prove riguardanti il comando di velocità di un motore dc tramite comunicazione seriale tra FLEX motion board e pc ho riscontrato alcuni problemi relativi al blocco encoder software, che sembra andare in qualche maniera in conflitto con il blocco "FLEX_serial_receive". Lo schema adopretato è quello allegato, la zona nel rettangolo verde serve da "Filtro" per i comandi della seriale in modo da mantenere in uscita l'ultimo carattere inviato ed ignorare i segnali di polling, il complemento ad uno del segnale PWM per avere un PWM sul motore in linea col valore mandato in ingresso al blocco "FLEX_MTB_pwm" che, come mi ha confermato Dario in un'altra discussione, ha questo comportamento per poter utilizzare l'apposito plugin di controllo dei motori DC fornito che però Noi non utilizziamo per ragioni storiche (Il progetto è cominciato utilizzando erroneamente palette del menù DemoBoard e senza utilizzare detto plugin ed andare a cambiare le cose adesso sarebbe troppo complicato)
Il blocco "FLEX_gpout" serve per il comando direzionale del motore, inserito in un ponte H esterno. Disponiamo di due motori comandati dai pin FLEX_gpout 6 e 7 (Più 8 per l'abilitazione, comune ad entrambi).
Lo stesso schema, utilizzando però l'ingresso encoder hardware, funziona senza problemi, Qualunque uscita PWM si utilizzi e Qualunque segnale di comando di direzione si adoperi.
Vi segnalo il problema non solo perchè possiate risolverlo negli aggiornamenti futuri ma anche perchè, dovendo implementare un protocollo di comunicazione seriale 485 basandomi sul 232 già fornito, finchè questo inconveniente non viene in qualche modo chiarito mi trovo impossibilitato a proseguire col mio lavoro.
Certo di una Vostra risposta e del Vostro supporto, Vi ringrazio anticipatamente, distinti saluti,
Lorenzo.