miércoles, noviembre 28, 2012
3
deseamos controlar la velocidad de un motor paso a paso (pap) Unipolar, para eso utilizamos un driver de potencia ULN2003 peor podemos utilizar otros parecidos.


mostaje del motor con el ULN2003




si recordamos un tipico control de relay con BJT:



recordemos que el inductor(bobina) la corriente no puede cambiar instantáneamente.

"energizamos" la bobina saturando el BJT en pocas palabras: acendemos el relay, 
luego la corriente en esta no puede cambiar bruscamente cuando el BJT entra en corte.
aqui es donde nos salva el diodo el cual conduce la corriente en inversa del inductor.para proteger al resto de circuito




el ULN es un dispositivo diseñado para manejar cargas inductivas y el PIN9-"Comun" del ULN2003
es ese mismo que es común a todos los diodos de protección internos de cada transistor por canal del UNL como el la imagen del Relay y el BJT, por ese motivo este debe ir a la misma alimentación del motor.

puede revisar el datashett del dispositivo para entenderlo mejor.

Control de velocidad de motor Unipolar con 16f84

obviamente en la vida real el 16f84A no anda sin su cristal, es solo simulación....



Funcionamiento:

En Programa del 16f84 en asm tiene 2 secuencias, una horaria y la otra antihoraria para el giro del motor pap bipolar. constantemente esta en algunos de los de estos 2 estados, a menos que estuviese detenido

los botones Lento y Rapido, no debieron llamarse asi, puesto que el giro empieza en horario, y si le doy en Rapido, claro aumentara la velocidad, y si le doy en Lento disminuira la velocidad de Giro horario, hasta que se detenga. pero aun detenido, si le seguimos pulsando lento este cambiara de giro y empezara a aumentar la velocidad de a pocos pero ahora en sentido antiorario... y para dismunuir la velocidad tendriamos que pulsar Rapido.
 el motor debe seguir girando este o no pulsandose en ese momento algunos de los botones, pero eso no sucede.
para eso..la solución es implementar una interrupción por cambio de estado en RB4-RB7 pero me pidieron esos pines para visualizacion de la velocidad en leds. o en todo caso preguntar por los estados del Led entre cada Ciclo del bucle de temporizacion.

la Temporizacion es con el Timer0.

la simulacion, asm,hex: 

Aqui el mismo ejemplo con el 12f629



3 comentarios:

  1. podrias poner como hacerlo en lenguaje C o en mikro c

    ResponderEliminar
  2. con que abro la simulacion yo tengo el proteus y no me la abre :/

    ResponderEliminar