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

Temas similares

23/12/2010 #21


Ayuda con el PWM...
Andres Cuenca dijo: Ver Mensaje
Como siempre las respuestas de Marcelo son sumamente completas.

Yo me atrevería a agregar que para la dirección se puede tambien utilizar un servomotor, que se controla con una sencilla rutina de PWM.



Hola! Saludos a todos! Les cuento que soy nuevo en esto y estoy realizando mi primer proyecto con PIC (16F628A). Mi idea es manejar un servo motor por medio de pwm...Hasta ahoro no eh tenido mucho exito... lo que hice es:

Código:
#INCLUDE <P16F628A.INC>
                
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT & _DATA_CP_OFF & _LVP_OFF & _MCLRE_ON
                
ERRORLEVEL -302

	                
                ORG     		 0x00
                GOTO    		INICIO
 
INICIO
                                          
                BANKSEL                        TRISB
                CLRF                             TRISB
                MOVLW        	             0XFF           
                MOVWF       	             TRISA
                BANKSEL     	             PORTB
                CLRF      	             PORTB
                BSF       	             PORTB,0         
                BSF         	             PORTB,2      
                BCF         	             PORTB,1         
                                                      	
	BANKSEL			TRISB
	MOVLW			B'00001000'
	MOVWF			TRISB	          ; PIN CCP1 COMO ENTRADA
	MOVLW			0xFF	          ;VALOR SALE DE ECUACION
	MOVWF			PR2	           ;PERIODO PWM
	BANKSEL			CCP1CON
	MOVLW			B'00111111'	; -- BITS MENOS SIGNF. RESOL.
	MOVWF			CCP1CON		;MODO PWM
	MOVLW			B'11111111'	;CICLO DE TRABAJO
	MOVWF			CCPR1L		;CICLO DE TRABAJO
	BANKSEL			PIR1
             BCF		             PIR1,1	            ;CERO BAND. DE INTERRUP.
	BSF		             T2CON,0		;ESCALADOR 1:16
	BSF			T2CON,1		;ESCALADOR 1:16
	BSF			T2CON,2		;INICIO TEMP.

HERE

	BTFSS			PIR1,TMR2IF	;DESB. TIMER
	GOTO			HERE				
	BANKSEL			TRISB
	CLRF			TRISB		;PUERTO B COMO SALIDA

AQUI				GOTO			AQUI

            END

Lo simule en el Proteus y lo unico que hace es llevar el servomotor hasta un extremo.

Espero puedan ayudarme! Estare muy agradecido!

Saludos a todos!

PD: Hay una parte al principio del programa que pone a "1" y "0" un par de salidas. Ignorarla.

Emanuel
23/12/2010 #22

Avatar de ByAxel

Emanuelbolmaro dijo: Ver Mensaje
Hola! Saludos a todos! Les cuento que soy nuevo en esto y estoy realizando mi primer proyecto con PIC (16F628A). Mi idea es manejar un servo motor por medio de pwm...Hasta ahoro no eh tenido mucho exito... lo que hice es:

Lo simule en el Proteus y lo unico que hace es llevar el servomotor hasta un extremo.

Espero puedan ayudarme! Estare muy agradecido!

Saludos a todos!

PD: Hay una parte al principio del programa que pone a "1" y "0" un par de salidas. Ignorarla.

Emanuel
No, no imposible... el módulo PWM del PIC es mucho más rápido de lo que se necesita para controlar un "servo" (50Hz) no es posible generar un PWM de 50Hz con el módulo del PIC (es muy lento).
Para que controles servos necesitas generar el PWM manualmente.

Aquí algo de teoría:
http://picmania.garcia-cuervo.net/picc_servos_x_8.php.
Busca en el foro que si he visto pwm por software en asm para controlar servos.

saludos.
11/08/2011 #23

Avatar de silver

hola amigos
soy nuevo en este abito de los pic y megustaria que yudarean con un proyecto que tengo en mente creo que es basico pero si me pudiecen ayudar, selos agredeceria mucho
veran tengo que manejar 2 mores de dc mediante un pic de la familia 18f4550, asicomo su cambio de giro y simultaneamente, ademas de manipular dos servos ambos en sentido opuesto mediante un control remoto de cable me podrian echar la mano por fa se los agradeseria mucho la veradad esque me urge.
11/08/2011 #24

Avatar de BKAR

Dices que eres nuevo en el ámbito de los pics, y quieres trabajar ya con el 18f4550!!

la gama de 18fxx no es con lo que alguien comúnmente empiece

18f4550 es famoso por la comunicacion USB 2.0 después del 18f2550...y otras cosas que no me acuerdo
bueno si lo tienes ya en tus manos...a comenzar..

peor no soy un experto en el tema...el el tema de control remoto...
se me ocurre para el control remoto... Modulos de transmision los famosos TLP434/RLP434 y saber algo de comunicaion serial(ejm:rs232)
15/08/2011 #25

Avatar de silver

ok en tonces cual seria la manera mas eficiente para es esto es decir oi nosoy bueno en programacion y que ia ver si me puedieran ayudar con el control de ls motores para mandar actiuvar dos relevadores al mismo tiempo .

pues no entiendo la progarmacion para mandar este tipo de salida a dos puertos al mismo tiempo para activar los dos rele vadores simultaneamente. ayuda por fa
15/08/2011 #26

Avatar de BKAR

Tamos Igual...
yo no se assembler, C o Basic, yo programo con ayuda de un sofware..(Lenguje LADDER) llamado Parsic
bueno...
en cuestión de relevadores o relays activados al mismo tiempo?
entonces ponlos en paralelo y ya
o tas te estas refiriendo a otra cosa?
yo controlaría los motores con ULN
15/08/2011 #27

Avatar de soerok

Para el cambio de dirección de los motores necesitas forzosamente 2 puentes H, uno para cada motor, si no sabes que es eso debes leer este enlace, en cuanto a lo de la programación, en que lenguaje programas?, yo programo en ASM, para activar 2 salidas simultáneamente es tan sencillo como poner el siguiente código:

Código:
BSF PORTB,0
BSF PORTB,1
Así, una linea tras otra, la instrucción BSF significa Bit Set File, esta instrucción pone a 1 una salida especifica, en el código de ejemplo puse a 1 las salidas 0 y 1 del puerto B simultáneamente.

Hay distintas maneras de hacerlo, esta otra forma es la que mas uso:

Código:
MOVLW  B'00000011'
MOVWF  PORTB
En este código, en la primeras linea muevo el valor binario "00000011" al registro W, después muevo el contenido de W, osea, "00000011" al puerto B, ese valor binario activa las 2 primeras salidas del puerto B, supongamos que en el puerto B hay 8 salidas, cada pin de salida es un bit del numero, así selecciono que salidas activar, poniendo 1 en el bit correspondiente, o que salidas desactivar, poniendo 0 en el bit correspondiente.

En fin, te recomiendo que leas sobre lenguajes de programación, yo te recomendaría ASM o C, aprende e informate mas sobre esto antes de prosdeguir con tu proyecto, así te ahorras varios quebraderos de cabeza

Saludos y suerte con lo tuyo.
15/08/2011 #28

Avatar de silver

de hecho la progarmacion es en C y utiliso el programa de pic c copiler,
lo de la salida de esto es conveniente puesto que cada salidava al puente "H" entrada correspondiente de este, locual mepermitrie el cambio de giro del motor, con lo que e leido eso es lo que de veria pasar
ademas de esta manera lo tambien si se pudiese con trolar con labview solosi se pudiera cual seria la for ma , delo contrario solo el giro de los motores que dices soerok como lo podria aser. y gracias por lo anterior
15/08/2011 #29

Avatar de soerok

Para el control de giro de los motores puedes usar un puente H con reles, algo como esto:



Es sencillo de hacer y de controlar, cuando un rele esta activo, gira para un lado, y cuando el otro esta activo, gira en sentido opuesto.

En lo de labview no te puedo ayudar mucho porque no lo e usado.

Saludos y suerte.

PD: Que es exactamente tu proyecto ?
15/08/2011 #30

Avatar de BKAR

Existen Integrados Puente H para el Giro de Motores
L293 Y L297 el primero puede suministrar 700ma y el segundo poco mas de 1A
asi te evitarías usar Relays
15/08/2011 #31

Avatar de soerok

Sip, pero por su sencilles y costo prefiero los reles, en cambio si lo que necesitas es controlar un motor PAP, ahi si necesitas uno integrado de a fuerzas ya que los pulsos son super rápidos, hay cosas para cada aplicación, todo depende de que tanto quiera invertir en su proyecto.

PD: el L297 no es un puente H, es un controlador para motor PAP, creo que quisiste decir L298 y es de 2A

Saludos.
15/08/2011 #32

Avatar de BKAR

Me Disculpo.. tienes razón soerok el otro es el L298

me quio del titulo dice:
carrito controlado...
supongo que con los integrados basta y sobra, ademas podrías ahorrar valioso espacio
bueno aver que dice nuestro amigo silver
pd: cada integrado controla maximo 2 motores
17/08/2011 #33

Avatar de silver

pues delos integrados ia lo abia pensado pero se iso un poco costso adems de que no me salia conesto por ello opte por los relevadores y gracias por el aporte SOEROK e igual ati BKAR puesto que los puente "H" son buenos, de lo que trata my proyecto es que tiene quecaminar recto por detrminado tiempo y despues dar vuelta ya sea ala derecha o ala izquierda para continua con su camio.

de esta manera manera mantener los pulsos para estos, ademas de tener la opion de ser manipulado por control remoto ahora mi duda es sobre el control remoto co le puedo aser con el puero control y lo del pic para que mantenga las dos salidas altas al mismo tiempo.
18/08/2011 #34

Avatar de BKAR

he visto que lo hacen con:
http://www.ucontrol.com.ar/wiki/inde...ica_entre_PICs
pero son un poco caros,
claro también hay otras alternativas,
busca en el foro
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.