martes, 17 de noviembre de 2009

Barrebot [parte 2]

Bueno, ayer implementé PWM (Pulse-Width Modulation) en el assembler de este micro, con lo que logré que las ruedas girasen a distintas velocidades en forma independiente, además de poder hacer que giren hacia uno y otro lado. Aquí unos videos:


Giro sobre una rueda

Movimiento lento hacia delante

Giro sobre sí mismo

2 comentarios:

Unknown dijo...

q tal man como estas??
esta super eso de la barredora, mucho ingenio ehh?
oie viendo que tu ya tienes algo de avanze en eso de la programacion, en especifico de ese modelo, el at98s8253, tengo unas preguntas q hacerte: q lenguaje utilizas y como se configura un pwm en este modelo de microcontrolador?? lo que pasa es que estoy en un proyecto ya universitario y necesito hacer sobre todo el pwm para los motores de una especie de brazo robotico electrico y no tengo nada de experiencia en programacion, de ahi que te pida ayuda. de antemano muchas gracias por tu(s) respuesta(s)

Alex dijo...

Hola Aloisio,

Para este proyecto utilicé Assembler en el 100% de su funcionalidad, ya que era un requisito de la materia que cursé. Más específicamente utilicé assembler compilando con el Keil (que menciono en otro post).

Para el PWM, utilicé el Timer0 del micro. El principio de su funcionamiento se basa en mantener en nivel alto el voltaje del pin del puerto que controla al motor, en función del valor de la variable que indica la velocidad del motor y luego, en nivel bajo el resto del tiempo hasta que comience un nuevo ciclo. El tiempo total del ciclo es constante y está fijado por la configuración del Timer. Luego, la tensión de alimentación del motor será proporcional al tiempo relativo que el pin estuviese en nivel alto.