En robotica se emplea mucho el control de motores DC para hacer la inversion de giro, como sabemos un motor de corriente continua tiene 2 polos: positivo y negativo, para hacer la inversion del motor solo tenemos que invertir la polaridad de la fuente y conectar al motor DC.
Inversion de giro para motor DC con el pic16f84a con puente H
Este programa controla un motor DC mediante un swicth en el puertob (Rb0) y utilizando Rb1 y Rb2 del puertob como salida para enviar los pulsos que invertiran el giro del motor DC, en el circuito deberan conectar ademas el cristal de 4 mhz y su respectiva alimentacion de 5Vdc.
Q1,Q2,Q3,Q4=BC548 para motores pequeños y TIP41 para motores grandes.
R1,R2,R3,R4= 300 ohmios.
;Programa para inversion de giro de motor DC
list p=16f84a ; declaramos el pic que usaremos
; Declaracion de registros a usar
puertob equ 0x06
trisb equ 0x86
status equ 0x03
; Configuracion de puertos
org 0x00
bsf status,5 ; nos vamos al banco 1 de la memoria del pic
movlw b'0000001' ; guardamos en el registro W a Rb0 como entrada
movwf trisb ; y Rb1 a Rb7 como salidasy mandamos lo de W a trisb
bcf status,5 ; regresamos al banco 0 de la memoria del pic
; Programa principal
inicio btfsc puertob,0 ; testeamos Rbo (pin6) si esta en 0 o 1
goto izquierda ; vamos a la etiqueta izquierda
goto derecha ; vamos a la etiqueta derecha
izquierda bsf puertob,1 ; encendemos pin Rb1
bcf puertob,2 ; y apagamos Rb2 para giro a la izquierda
goto inicio ; regresamos a inicio a ver si cambio el swicth
derecha bcf puertob,1 ; apagamos pin Rb1
bsf puertob,2 ; y encendemos Rb2 para invertir giro de motor
goto inicio ; regresamos a inicio a ver si cambio el swicth
end ; y terminamos
Un proyecto mas interesante aplicando el control de un motor DC , ascensor de 4 niveles, para que lo bajen.
http://www.proyectoselectronicoos.blogspot.com/
Inversion de giro para motor DC con el pic16f84a con puente H
Este programa controla un motor DC mediante un swicth en el puertob (Rb0) y utilizando Rb1 y Rb2 del puertob como salida para enviar los pulsos que invertiran el giro del motor DC, en el circuito deberan conectar ademas el cristal de 4 mhz y su respectiva alimentacion de 5Vdc.
Q1,Q2,Q3,Q4=BC548 para motores pequeños y TIP41 para motores grandes.
R1,R2,R3,R4= 300 ohmios.
;Programa para inversion de giro de motor DC
list p=16f84a ; declaramos el pic que usaremos
; Declaracion de registros a usar
puertob equ 0x06
trisb equ 0x86
status equ 0x03
; Configuracion de puertos
org 0x00
bsf status,5 ; nos vamos al banco 1 de la memoria del pic
movlw b'0000001' ; guardamos en el registro W a Rb0 como entrada
movwf trisb ; y Rb1 a Rb7 como salidasy mandamos lo de W a trisb
bcf status,5 ; regresamos al banco 0 de la memoria del pic
; Programa principal
inicio btfsc puertob,0 ; testeamos Rbo (pin6) si esta en 0 o 1
goto izquierda ; vamos a la etiqueta izquierda
goto derecha ; vamos a la etiqueta derecha
izquierda bsf puertob,1 ; encendemos pin Rb1
bcf puertob,2 ; y apagamos Rb2 para giro a la izquierda
goto inicio ; regresamos a inicio a ver si cambio el swicth
derecha bcf puertob,1 ; apagamos pin Rb1
bsf puertob,2 ; y encendemos Rb2 para invertir giro de motor
goto inicio ; regresamos a inicio a ver si cambio el swicth
end ; y terminamos
Un proyecto mas interesante aplicando el control de un motor DC , ascensor de 4 niveles, para que lo bajen.
http://www.proyectoselectronicoos.blogspot.com/


al fin algo que se puede entender sobre microcontroladores, sigan asi y adelante...
ResponderEliminarsaludos... gracias por el dato... debo controlar un sistema de ball and beam... y estuve apunto de comprar un servomotor...
ResponderEliminarde nada amigo pero que es un ball and beam?
ResponderEliminarbueno.. es un sistema que busca mantener equilibrada una bola sobre una barra..
ResponderEliminarla bola me mueve libremente sobre la barra. Con el fin de estabilizar el sistema y mantener la bola en el centro de la barra, se varia el angulo de la barra...
ese es el funcionamiento del sistema. A grandes rasgos!!.. xD
Muy buen aporte me sirvio gracias :D
ResponderEliminaroralee k chido no habia yo entendido pero buen dato
ResponderEliminarcomo puedo controlar un puente h con un pic 6f84a en el que con 2 pulsadores pueda controlarlo con un pulsador un giro y con otro el sentido contrario!!!
ResponderEliminarYo nesesito eso mismo ase tiempo que se publico este mensaje no podrías alludarme con el circuito que ayas utilizado
EliminarYo nesesito eso mismo ase tiempo que se publico este mensaje no podrías alludarme con el circuito que ayas utilizado
EliminarEl programa es el mismo que esta aqui, por q es un puente h EL QUE ESTAMOS CONTROLANDO
ResponderEliminarHOLA BUENAS TARDES HE TRATADO DE RECREAR EL CIRCUIO. PERO ENGO PROBLEMAS CON EL PUENTE H. PERO AUN NO LO PUEDO HACER. HE LEIDO QUE SE NECESITA HACER EL PUENTE CON TRANSISTORES PNP Y NPN QUE DE CIERTO HY EN ESTO. Y TENGO LOS BC548 CUAL SERIA EL TRANSISTOR CONRARIO. SALU2
ResponderEliminarpuedes usar los bc558 q son pnp, yo probe con 4 bc548 me funciono normal, cuestion de polarizar bien nomas.
ResponderEliminarme gustaria saber el programa en .hex :(
ResponderEliminarel programa fuente esta hecho en asembler,el archivo hex lo compilas con el MPLAB de microchip, te lo puedes bajar de internet es gratis
ResponderEliminarOye tengo un proyecto en el cual tengo que controlar: sentido de giro, paro y velocidad de un motor dc, pero la programación tiene que ser en C, no se si me puedas ayudar.
ResponderEliminarTe sugiero que hagas tu circuito para mas o menos poder ayudarte.
ResponderEliminarExcelente información, justo lo que necesito, soy algo inexperta por lo cual no reconozco algunos componentes del circuito, me puedes decir cuales utilizaste?
ResponderEliminarQ1,Q2,Q3,Q4=BC548 para motores pequeños y TIP41 para motores grandes.
EliminarR1,R2,R3,R4= 300 ohmios. y un cristal de 4 mhz y 2 condesnadores de 22pf.