TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: sirias52 en 13 de Mayo de 2010, 20:14:31

Título: Controlar Motores paso a paso con Potenciometros
Publicado por: sirias52 en 13 de Mayo de 2010, 20:14:31
Hola a la comunidad Todopic, la verdad es que necesitaba un poco de consejo con el proyecto que estoy realizando. Mi proyecto consiste en controlar la dirección y velocidad de un motor PAP unipolar únicamente con un potenciometro utilizando un pic16f84a (es el pic que domino más :). La idea de la lógica de programación en asm que tengo es el siguiente:

(http://img62.imageshack.us/img62/4545/step2s.gif) (http://img62.imageshack.us/i/step2s.gif/)

Uploaded with ImageShack.us (http://imageshack.us)


una vez que yo posicione el potenciometro en 5k el motor estará detenido si yo vario el potenciometro a un valor de 4k (por ejemplo es algo teorico) el motor girará ala izquierda y si el valor disminuye a un valor menor de 4k el motor seguira girando a la izquierda y cambiará su velocidad.

Lo que tengo pensado es que cuando el potenciometro este en 5k el capacitar se cargará en un tiempo t el cual será comparado con un valor de referencia el cual dirá que con ese tiempo de carga el motor estará detenido. cuando el pot varie de omeaje a 4k el capacitor tendrá otro tiempo de para cargarse totalmente el cual se comparar y dira que ahora gire a la izquierda con una velocidad y cuando disminuya aun mas el valor de pot cambiara su velocidad e ira un poco mas rapido.

estoy complicandome o estoy haciendolo bien?, creo que me estoy complicando, pero su consoje me ayudará a saberlo :)

Gracias amigos y saludos desde Nicaragua


Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: ferna85 en 13 de Mayo de 2010, 20:41:32
Hola, el proyecto me parece bueno. Pero creo que será más sensillo saltar a algún micro que posea conversor AD integrado. Con esto conectas el pote directo al PIc y haces todo por soft, esto te simplificará mucho el proyecto.
PD: Seria bueno comentes la aplicacion del proy, ya que así te podremos dar mas y mejores ideas. Por ej es posible utilizar un motor de CC?, si es asi se puede hacer con elect discreta
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: rivale en 13 de Mayo de 2010, 20:55:53
Hola, creo que te estas complicando un pococ las cosas, podrias usar el convertido analogico-digital del pic para conectar tu potenciometro, y desde el programa incluso podrias hacer girar el motro en ambos sentidos dependiendo de la posicion de tu potenciometro.

si tienes alguna duda de como hacerlo pregunta y te ayudaremos
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: sirias52 en 15 de Mayo de 2010, 12:04:36
Hola amigos, gracias por leer el tema. Mi proyecto es un brazo robótico y pretendo controlarlo con un joystick basado potenciometros. La palanca principal del joystick controlará la cadera y el codo del brazo robótico. A principio quería seleccionar la velocidad con un switch (les adjunto el codigo y la simulación), pero no me resulta debido al joystick que tengo y quiero usar :), asi que según sus recomendaciones me agrada la idea de utilizar el conversor analogo digital, aunque sinceramente estoy algo desorientado, pero me pondré a investigar.

Código: [Seleccionar]
list p=16F84A
include<P16F84A.inc>


bsf STATUS,RP0
clrf PORTB
movlw b'00001111'
movwf PORTA
bcf STATUS,RP0

seleccion_velocidad

btfss PORTA,2
goto velocidad_1
goto velocidad_2


velocidad_2

btfss PORTA,0
goto principal_1
goto giro_horario

principal_1

btfss PORTA,1
goto detenido
goto giro_antihorario

giro_horario

movlw b'00000011'
movwf PORTB
call Retardo_200ms
movlw b'00000110'
movwf PORTB
call Retardo_200ms
movlw b'00001100'
movwf PORTB
call Retardo_200ms
movlw b'00001001'
movwf PORTB
call Retardo_200ms
goto velocidad_2

giro_antihorario

movlw b'00001001'
movwf PORTB
call Retardo_200ms
movlw b'00001100'
movwf PORTB
call Retardo_200ms
movlw b'00000110'
movwf PORTB
call Retardo_200ms
movlw b'00000011'
movwf PORTB
call Retardo_200ms
goto velocidad_2

detenido

movlw b'00000000'
movwf PORTB
goto seleccion_velocidad

velocidad_1

btfss PORTA,0
goto principal_2
goto giro_horario2

principal_2

btfss PORTA,1
goto detenido2
goto giro_antihorario2

giro_horario2

movlw b'00000011'
movwf PORTB
call Retardo_50ms
movlw b'00000110'
movwf PORTB
call Retardo_50ms
movlw b'00001100'
movwf PORTB
call Retardo_50ms
movlw b'00001001'
movwf PORTB
call Retardo_50ms
goto velocidad_1

giro_antihorario2

movlw b'00001001'
movwf PORTB
call Retardo_50ms
movlw b'00001100'
movwf PORTB
call Retardo_50ms
movlw b'00000110'
movwf PORTB
call Retardo_50ms
movlw b'00000011'
movwf PORTB
call Retardo_50ms
goto velocidad_1

detenido2

movlw b'00000000'
movwf PORTB
goto seleccion_velocidad

include<Ret.inc>
end

basicamente de eso se trata, seguire detallando mas sobre el proyecto.

Gracias amigos.
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: willynovi en 20 de Mayo de 2010, 11:57:59
como tu dices el 16F84 lo dominas bien, has pensado saltar al 16F628 que ese ya tiene mejor prestacion e incluye conversor A/D.
La parte fisica es compatible y la de firmware con muy poco la puedes modificar, creo que es solo cambiar el encavezado.

Sigue este link: http://robots-argentina.com.ar/Cerebro_PIC628vs84.htm

Saludos
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: sirias52 en 05 de Junio de 2010, 14:12:19
Bueno he estado leyendo por internet de como controlar la dirección y velocidad de un motor PAP con un potenciometro, pero se me complica un poco comprender como voy hacerlo sino encuentro un ejemplo aunque sea sencillo de algo similar a lo que busco.

Si alguien me puede dar un empujón se lo agradeceria mucho.

Gracias
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: willynovi en 05 de Junio de 2010, 18:17:41
yo te decia del 16F628 porque tiene conversores A/D, con eso directamente conectas el potenciometro como un divisor de tension.
Luego programas a que de 2,5V sea punto medio o de velocidad nula, luego de 2,5V a 5V que valla aumentando hacia un sentido y luego de 2,5 a 0V hacia el otro.
Luego la parte de potencia del motor la puedes hacer con un L293 o un L298, son integrados especificos para manejar motores de DC, PAP o en configuraciones variadas de puente H.

http://www.clubse.com.ar/DIEGO/NOTAS/3notas/nota11.htm

ahi creo que tiene data para hacer algo, incluso usando el 16F84.
Título: Re: Controlar Motores paso a paso con Potenciometros
Publicado por: chinoox en 15 de Junio de 2010, 15:45:22
en mi blog explico como hacer un variador de velocidad con un potenciometro
http://chinoox.blogspot.com/2010/06/velocidad-variable-de-un-motor-paso.html   :-/