Diseño de un servomotor controlado por bus I2C mediante microcontrolador PIC de gama media Por Alejandro Alonso Puig
Septiembre 2.003
mundobot.com
![]()
El siguiente informe técnico describe el diseño, tanto desde el punto de vista electrónico, como informático de un modelo de servomotor cuya particularidad consiste en ser controlado por bus I2C. Las características principales del módulo presentado son las siguientes:• Actúa como Slave permitiendo seleccionar mediante switches dip la dirección que utilizará en la red I2C.
• Se puede establecer mediante bus I2C tanto la posición deseada, como el DeadBand
• Se puede obtener en todo instante mediante bus I2C el valor del consumo de corriente del módulo, la temperatura, la posición actual del eje así como otros ciertos valores de estado
• El módulo está protegido para evitar sobrecalentamiento del mismo mediante sensor de temperatura que activa un mecanismo de ventilación e incluso la parada del servomotor para evitar daños internos.
La ventaja que se obtiene con este tipo de módulos es precisamente un control completo por bus I2C que hace innecesario tener módulos específicos para control de servos como ocurre con los de control tipo PWM. De esta manera pueden controlarse gran cantidad de servos desde un controlador principal sin apenas sobrecarga en el mismo. Adicionalmente se tienen medida no habituales, como la de posición real, que permite a nivel de microcontrolador principal, saber si el servo llegó realmente a su destino o encontró algún obstáculo que ejercía mayor fuerza que su par. Igualmente la medida de consumo eléctrico permite conocer cuando el servomotor tiene una sobrecarga de fuerza contraria a su dirección de movimiento, lo que provoca una subida del consumo eléctrico medible en este caso.
Informe Técnico (.PDF 1'9Mb)
Firmware (Programa Slave) (.ASM 27Kb)
Programa Master de ejemplo (.ASM 20Kb)
Video del servo en acción (.AVI 2Mb) En caso de que su ordenador de problemas para reproducir los videos, descargue gratuitamente los últimos codecs de DivX (DivX Play Bundle) AQUÍ
Nota: Master y Slave han de estar conectados mediante tres hilos: Masa, SCL y SDA. El módulo presentado incluye las resistencias de PullUp, por lo que no es necesario añadirlas.
LINKS RELACIONADOS
Using the PICmicro SSP for Slave I2CTM Communication (PDF )
Using the PICmicro MSSP Module for Master I2C Communications (PDF )