En esta ocasión vamos a controlar los L6470 de ST, para ello vamos a usar un PIC32MX575.

Para hacer más sencilla la programación, hay que tener en cuenta que si los motores giran en sentido "FWD" el contador interno de los L6470 cuenta en sumando uno, sino lo hace restando 1 (con sentido "REV").

Hay que considerar que si hacemos un Reset al contador y nos movemos en dirección "REV", el contador pasa de 0x000000 a 0x3FFFFF.

Y si comprobamos la línea BUSY o leemos su registro nada mas iniciar un movimiento, leeremos que el driver está libre, hay que poner un pequeño retardo para dejar que se actualice.

A parte, se programa el CANbus para una comunicación a 125Kbps y protocolo CAN B o ECAN y 5 puertos analógicos, así como una interrupción del Timer de 1ms.

Como CLK se utiliza el interno del microcontrolador configurado a 80MHz.

No puedo subir el esquema, ya que esto es el inicio de un proyecto que me han encargado. Pero la definición de los pines se encuentra en el archivo "hw.h".

Para comprender mejor este ejemplo, se recomienda haber leído los post:

Descargar ejemplo

En la hoja de aplicaciones AN4144 de st explican cómo ajustar todos los parámetros del motor.