Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

30/03/2014 #1


Problema para manejar paso a paso
Hola, que tal. vengo a pedir socorro porque la verdad que me estoy volviendo loco.. quiero controlar un motor paso a paso de la linea automotriz, es un paso a paso bipolar de 4 cables y mi idea es controlarlo con un 16f628a y un l298. En proteus anda bien, no tengo problema, pero cuando lo paso a la realidad es como si el motor hiciera un pasito para adelante y otro para atras. Osea, queda clavado ahi haciendo tac, tac, tac, jajaja. Espero que me puedan ayudar y gracias de ante mano. Les dejo el programa y las conecciones en proteus para ver si me estoy equivocando en algo.

Código:
cmcon=7
trisb=0
portb=0
pul1 var porta.1
pul2 var porta.2

inicio:
gosub avanza
gosub reversa
portb=0
goto inicio
end

avanza:
if pul1=0 then
portb=%00011001
pause 100
portb=%00011010
pause 100 
portb=%00010110
pause 100 
portb=%00010101
pause 100
goto avanza
endif
return

reversa:
if pul2=0 then
portb=%00101010
pause 100
portb=%00101001
pause 100
portb=%00100101
pause 100
portb=%00100110
pause 100
goto reversa
endif
return
30/03/2014 #2
Moderador general

Avatar de Fogonazo

Invierte la polaridad de una de las bobinas.
30/03/2014 #3

Avatar de papirrin

prueba cambiar el pause 100 por un pause 500 y ve bajando el valor.

por lo que dices no alcanza a dar el paso.
30/03/2014 #4


Muchas gracias por las respuestas

Invierte la polaridad de una de las bobinas.
Probe cambiando de lugar los cables de una bobina, y varias combinaciones, igual que con diferentes combinaciones de secuencia.

prueba cambiar el pause 100 por un pause 500 y ve bajando el valor.
Ya lo pruebo pero creo haber probado con mayor y menor valor.
30/03/2014 #5
Moderador general

Avatar de Fogonazo

Mira este tema:

Introducción a los motores Paso a Paso
30/03/2014 #6

Avatar de papirrin

prueba este codigo:
Código:
@ DEVICE Pic16F628A,XT_Osc, WDT_Off , PWRT_Off,BOD_Off, MCLR_On, LVP_Off, CPD_Off , PROTECT_Off                
                                                                                                                
cmcon=7                                                                                                         
trisb=0                                                                                                         
portb=0                                                                                                         
pul1 var porta.1                                                                                                
pul2 var porta.2                                                                                                
                                                                                                                
inicio:                                                                                                         
if !pul1 then gosub avanza                                                                                      
if !pul2 then gosub reversa                                                                                     
if pul1 or pul2 then portb=0                                                                                    
goto inicio                                                                                                     
end                                                                                                             
                                                                                                                
avanza:                                                                                                         
 portb=%00011001                                                                                                
 pause 500                                                                                                      
 portb=%00011010                                                                                                
 pause 500                                                                                                      
 portb=%00010110                                                                                                
 pause 500                                                                                                      
 portb=%00010101                                                                                                
 pause 500                                                                                                      
return                                                                                                          
                                                                                                                
reversa:                                                                                                        
 portb=%00101010                                                                                                
 pause 500                                                                                                      
 portb=%00101001                                                                                                
 pause 500                                                                                                      
 portb=%00100101                                                                                                
 pause 500                                                                                                      
 portb=%00100110                                                                                                
 pause 500                                                                                                      
return
e intercambia bobinas.
30/03/2014 #7


Por fin!!! nuevamente muchas gracias.. Obviamente el error era mio. Cuando hice el diseño lo hice en base a uno que tenia en el taller que la congifuracion de bobina era A-B y C-D. Cuando ayer agarre el motorcito no me di cuenta de que era otro pero con la configuracion A-D y B-C. Me di cuenta, leyendo el tema que me dejo Fogonza y me puse con la fuente a probar si podia hacerlo funcionar " a mano ". jajaja.. Igualmente algo tengo que retocar porque para un lado va bien y para el otro parece que galopa. GRACIAS POR LA PACIENCIA!! soy muy nuevo en esto, llevo 2 meses con la programacion. Espero poder ayudar en algo, si necesitan algo aca estoy..
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.