Problemas al conectar motor DC al PIC

Hola, espero que me puedan ayudar con un gran problema que tengo, el cual consiste en que estoy realizando un robot móvil el cual lo estoy controlando con un PIC 16f877A, el robot cuenta con dos motoreductores los cuales los tengo conectados a un puente H L293D, pero cuando entran en funcionamiento los motores o se forzan un poco el programa de PIC se resetea y ya he probado coectando Diodos entre la salida del pic y el puente H pero el problema no se soluciona. Incluso he probado utilizando una fuente para el PIC y una fuente para los motores pero el problema no se soluciona.

Qué más puedo hacer para que los motores no interfieran con el programa del PIC??
 
mmmm....

La vedad es muy dicil decir algo concreto, puesto que a información que pones es muy limitada, seria bueno que nos ayudaras colgando el diagrama.

Segun mi experiencia las razones por las que te pueden estar sucediendo estas cosas, (tomado en cuneta que tu circuito esta bien diseñado), son :

1: Tuve un caso en que la induccion de corriente del motor (campo eléctrico que genera), si es que este es de realativamente de elevada corriente hace enloquecer al pic, tambien lo hacen enloquecer los celulares.

2: No separaste la tierra digital de la etapa de potencia (aunque si no me equivoco creo que el lm293d ya lo hace), la corriente de retorno del motor puede destruir tu pic.

Sin el diagrama solo te podemos ayudar con conjeturas.
 
hola..

el problema que tienes es que la salida del pic la envias directo a la entrada del IC controlador del motor, lo que tienes que hacer es probar con un transistor para el manejo de la corriente de entrada al IC y si no te funciona utiliza un optoacoplador. y si por alguna razon no te funciona puedes probar con reles.
 
Hola, no creo que sea necesario utilizar transistores, yo una vez hice un microbot y lo conecte directo al puente H yno pasa nada, puede que los motores excedan la corriente que puede otorgar el puente H o las pilas.

Otra cosa que te sugiero es que coloques unos condensadores cerámicos, (104 puede ser) para evitar que la induccion de los motores haga resetear el pic, coloca también otro lo más cerca que puedas de la alimentacion dle pic. eso te debería servir.
 
Lo ideal es soldar directamente los condensadores de 100nf tipo lenteja directamente a los bornes del motor tal y como te sujiere PICMIND.

tambien se los pones al pic lo mas cerca posible de las patillas de alimentacion y otro en el reset.

Puedes probar de poner una pantalla electrostatica, o sea soldar un trozo de chapa entre el pic y la parte de potencia. La chapa la puedes optener de una lata que suelen ser cincadas y sin soldables.

Haz pruebas para averiguar de donde vienen esos pulsos, por ejemplo desconectando pulsadores y elementos que puedan hacer de antena.

Tambien con una radio de AM puedes hacer pruebas.
 
hola soy nuevo en esto y me gustaria aprender estoy montando un robot con el pic 16F84A y no puedo montar el control de los motored CC son de 12V a ver si alguien me ayuda tengo los codigos y los emulo en proteus y todo bien hasta que lo quiero montar en la protoboard am se me olvidaba estoy ocupando un puente H con el chip L293B

desde ya gracias adios
 
Hola Eddo.

Danos algo mas de información.

Que compilador usas?.

La patilla de habilitación del L293 la tienes bien connectada? (a la mejor Proteus lo na tiene en cuenta).


El L293 es un circuito que no tiene ningun secreto.

Saludos.
 
este es el codigo sacado del libro tal cual dice abajo adjunto el archivo del proteus por si me pueden ayudar a montarlo en la placa por ahora no me funciona nada. am estoy usando el mplab para compilar el codigo y programar el pic


Código:
;************************************* MotorDC_01.asm ********************************** 
;
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.
; 	  Editorial Ra-Ma.  [url]www.ra-ma.es[/url]
;	===================================================================
;
; Programa de control para un motor de corriente continua en funcionamiento y sentido de
; giro. Con RA0=0, el motor se pone en marcha y su sentido de giro dependerá del valor
; que tenga RA4.
;
; ZONA DE DATOS **********************************************************************

	__CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
	LIST	   P=16F84A
	INCLUDE  <P16F84A.INC>

#DEFINE  EntradaMarcha	PORTA,0		; Interruptor de puesta en marcha.
#DEFINE  EntradaSentido	PORTA,4		; Interruptor de sentido de giro.

; ZONA DE CÓDIGOS ********************************************************************

	ORG 	0
Inicio
	bsf	STATUS,RP0
	bsf	EntradaMarcha		; Configura las líneas de entrada.
	bsf	EntradaSentido
	clrf	PORTB			; Las líneas del Puerto B configuradas como salida.
	bcf	STATUS,RP0
Principal	
	clrw				; Con esta combinación se detiene el motor.
 	btfsc	EntradaMarcha		; Comprueba el estado del interruptor de funcionamiento.
	goto	ActivaSalida
	movlw	b'00010010'		; Gira en un sentido.
	btfsc	EntradaSentido     		; Comprueba el sentido de giro deseado.
	movlw	b'00010001'		; Gira en el otro sentido.
ActivaSalida
	movwf	PORTB
	goto	Principal

	END
	
;	===================================================================
;	  Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
;	  E. Palacios, F. Remiro y L. López.
; 	  Editorial Ra-Ma.  [url]www.ra-ma.es[/url]
;	===================================================================
 

Adjuntos

  • proyecto007_587.rar
    15.8 KB · Visitas: 454
Podria ser esto el error:


ORG 0
Inicio
bsf STATUS,RP0
bsf EntradaMarcha ; Configura las líneas de entrada.
bsf EntradaSentido
clrf TRISB ; Las líneas del Puerto B configuradas como salida.
bcf STATUS,RP0


En tu código tienes puesto "clrf PORTB"

No estabas configuando el puerto B como salidas.


Prueba a ver que tal.

Saludos.
 
Hola a todos!
Un amigo tiene que hacer un circuito que controle el proceso, claro que con un microcontrolador, de una mini-planta de tratamiento de agua. Si le resulta, el estaría vendiendo estas miniplantas y NO deben fallar. Lo que ocurre, es que el dice que no quiere usar PIC para eso, porque los encuentra muy inestables. El y yo sabemos programar PICs. ahora a mi también me salta la duda:

¿Qué microcontrolador es finalmente el más confiable? O sea, uno que no colapse porque. porque la temperatura subio en un grado. yo sé que eso no pasa con el PIC, pero mm.

Seria AVR? Sería MCP? o en verdad el PIC no es tan inestable como creo?

Asumamos que el programa está bien hecho, de manera que no se muera el micro por culpa de eso.

Graciaas!
 
Hola.

Creo que si un control falla, es por culpa del programa "Siempre". Las arquitecturas hardware, son de lo mas fiable en cualquier microcontrolador.

Que escojas entre PIC, AVR, etc. dependerá de otros factores como pueden ser, velocidad de calculo, memoria y perifericos integrados, etc. Todo depende la aplicación que realices.

Para eso, los microcontroladores, llevan lo que se llama el "Watchdog". Para detectar en milisegundos si algo funciona mal y el micro se queda bloqueado por culpa de la rutina software mal implementada, en la que no consideraste bien los posibles casos de variables.

Yo desde hace unos 5 años, he trabajado siempre con PIC, y no he tenido nunca ningún problema.

Un Saludo.
 
Hola, concuero con Paloky, un pic es muy fiable especialmente te por lo de el reseteo por fallo de alimentacion y el "perro guardian" el secreto esta en aislar al microcontrolador de las posibles fuente de ruido incluso en la alimentacion del mismo.
En mi caso probamos el PIC y ATMEL y los problemas por ruido son barbaros especialmente si se controlan motores. quizá este por ahi el problema pero si desean puedo coperarles en el proyecto que estan emprendiendo.
un saludo y que le baya bien.
 
Hola! Gracias por sus respuestas. Igual me han ocurrido cosas extrañas con PIC, pero si pensara un poco más, en verdad es muy posible que sea mi programa. Ahora, pasando a otro tema:

¿Qué manera es la VERDADERAMENTE mejor para controlar motores y/o relés con un PIC (u otro)? (Visto desde el punto de vista electrónico y magnético).

O de otra manera: ¿Cuál es la forma VERDADERAMENTE mejor de aislar a un PIC de los ruidos que provoca un motor o un relé?

¿Cómo hacer un buen filtro de alimentación para el micro propiamente tal? (que no molesten otros ruidos eléctricos).

Y por último, ¿cuál es la mejor manera de aislar a un microcontrolador de un ruido electromagnético? Por ejemplo, con una caja forrada en aluminio. sugerencias?

Parecen repetidas las preguntas, pero ahora creo que está bien claro lo que busco.

Quiero que aqui se haga un buen compendio sobre informaciónes sobre aislación y protección de micros. Circuitos ejemplo, y otras informaciónes. Yo mismo estaré googleando también.

Muchas gracias!
 
LO que pides es un curso completo de diseño y no solo eso sino ademas cada maestrillo tiene su librillo, cada caso es especial, aunque hay unas normas basicas.

Los motores mejor controlarlos con reles
Resistencias calefactores con reles de estado solido o triac o tiristores.


Dos masas una digital y otra analogica que salen de un unico punto y nunca deben tocarse.

La masa nunca debe formar bucles, o sea si parte una corriente ficticia de un punto nunca debe hacer una trayectoria de retorno por otro camino.

La masa como mas grande mejor, plano de masa.

Cada integrado debe tener su condensador de 100nF lo mas cerca de las patillas de alimentacion. Algun condensador electrolitico para los integrados que dan fuertes tirones de corriente o estan mas alejados de la fuente de alimentacion.




Optoacopladores si los pulsadores estan lejanos de la placa principalm, >0.5m
El reloj del micro (cuarzo) o resets, no puede estar cerca de reles (no olvidar el diodo de proteccion)

Los condensadores electroliticos deben ser olgados para que aguantes microcortes.

La programacion debe ser estructurada y sencilla.

La utilizacion de un watchdog da fiabilidad, todos los videos domesticos realizan reseteos automaticamente cada 5 a 10 minutos.

Normalmente despues de un reseteo por wathcdog se actiba un indicador o bandera esto nor permite al inicio del programa conocer que ha pasado y decidir en consecuencia.


Yo personalmente creo dos rutina, inicializacion normal o reset por watchdog.

La normal inicializo todas las variables.
La watchdog solo inicializo alguna variable,los perifericos y salto a la rutina general.
 
Hola!
Gracias por la respuesta!
Tengo más preguntas: ¿cómo finalmente es mejor aislar electromagnéticamente a un micro? Metiéndolo dentro de una cajita decartón forrada varias veces en papel aluminio?

Y cuál es la mejor manera de controlar relés y motores con el PIC, ya que escuché por allí que para un relé por ejemplo, el diodo no es suficiente. Parece que el relé hace algo como "rebotes" y no tengo claro si se refieren a los contactores que hacen rebote o algo con la bobina, además por alguna razón que no entriendo me dijieron que meta un optoacoplador entre el micro y el relé.

Me enfoco más en tratar de manejar motores paso a paso, por eso no me gusta tanto la idea de controlarlos con un relé. Si fuese un motor DC o AC normal, allí claro, mejor use relés. Entonces, qué consideraciones electrónicas tengo que tomar para controlar un motor paso a paso? Yo siempre les he puesto el famoso diodo, igual que para los relés.

Más recomendaciones?

Gracias!
 
ELIUSM un microcontrolador es lo suficientemente estable para funcionar como autómata, el problema generalmente suele ser de hardware me paso a explicar.

Si tu hardware es pobre de diseño presentando posibles entradas de interferencias (eléctricas y electromagnéticas) entonces tu microcontrolador poco y nada puede hacer para evitarlo, no importa la marca que uses.

Lo que hace caro a un automata ó PLC además del soporte que brindas las compañías, es todo el hardware que le agregan para hacerlos inmunes a los ruidos. Es esta parte la que es 'toda una ciencia' imposible de abarcar en un post y de la que hay libros enteros escritos.

Sería imprudente y soberbio pretender explicarte en un par de líneas tantas páginas de conocimiento.

Mi consejo es que se enfoquen en la parte de diseño de PCBs, jaulas de faraday, aislación de señales con optoacopladores, manejo de corrientes grandes que no afecten a tu pic, buen diseño de masas, etc.

Como ves solo listé unas pocas cosas y ya ocupe 3 renglones :D .

Sin ánimo a desmotivarlos pero hacer un autómata en cuanto a las funciones operativas es relativamente sencillo lo difícil es que funcione en un ambiente industrial en forma confiable.

Saludos
 
Hola!
Bueno, voy a seguir hinchando un poco.
Claro que no busco la tremenda guía sobre como se hace. finalmente, si hablara sobre por qué debo ponerle un condensador de 100nF justamente a la entrada del micro. también hay libros enteros de por qué, desde el estudio más primitivo de un condensador.

En lo que respecta a aislación electromagnética espero que me digan cosas como "hazle un cascarón de papel alusa aluminio, trata de que los hoyos donde salgan los cables sean chicos, dale hartas capas de aluminio. o mientras más, mejor."
Entienden? Solo algo sencillo, .

Saludos!
 
Creo que el fundamento ya lo explique, las medidas "tipicas".

Cada caso tienes que tomar las medidas pertinentes, no es lo mismo controlar una caldera (resistencia) que un motor (inductiva) que un fluorescente (inductiva y alta tensión) o un equipo de música (distorsiones, acoples,.)


Todo diseño tiene fallas, recuerda windows, acaso es perfecto. pero funciona.

Durante la fase de diseño se aplican las "típicas" medidas y a posteriori se detectan el resto de problemas, por algo se debe empezar.

Los diodos se han utilizado durante años en montajes profesionales como PLC y maquinaria industrial y normalmente funcionan bien, el tema de los rebotes de los reles, al ser un sistema mecánico los hay, pero el fabricante ya cuenta con ellos y no deberia darte problemas.

Los motores paso a paso normalmente se controlan con puentes en H o transistores con su diodo, es la forma de hacerlo, si miras cualquier impresora veras el típico integrado con su puente en H y los diodos de proteccion.
 
Bueno, muchas gracias por sus respuestas. Quedé bien por el momento.
Y windows. aah que problema es, jeje, por eso llevo ya un tiempo acostumbrándome a Linux.
Ya! Saludos!
 
esa forma de escribir es alucinogena. ahora veo duendes cantando y tomando cerveza por todos lados.

creo que prefiero faltas de ortografia (que tambien las habia) y modismos que esa forma de escribir.
 
Atrás
Arriba