Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.ciencia.* Foro > Newsgroup es.ciencia.electronica
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 21-04-2008, 10:34:01
jugator EChMotor#140
 
Mensajes: n/a
Predeterminado Qué puede provocar que un PIC se reinicie?

en concreto un PIC18F452.

El tema es que lo tengo montado para controlar un pequeño robot. Algo
sencillo, un sensor de colisión, dos sensores de temperatura sobre I2C, dos
motores de contínua con un L298, comunicación por RS232 y poca cosa más.

Hasta ahora funcionaba bien (o eso creía). El tema es que ahora le estoy
haciendo que su comportamiento lo marque una máquina de estados finitos
(FSM), y he visto que cada tanto el PIC se reinicia (iba a decir que sólo,
pero no, si se reinicia es que hay un fallo de diseño en el circuito, en la
programación o yo qué sé), por lo que a tomar la FSM.

Por cierto, los reinicios son aleatorios, no pasan cada un cierto tiempo
determinado, y suceden en dos placas diferentes en diseño físico
(distribución de elementos y pistas) pero iguales en diseño lógico.

La pregunta es, qué puede provocar que un PIC se reinicie?


Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 21-04-2008, 10:39:47
Miguel Gimenez
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

jugator EChMotor#140 escribió:
> en concreto un PIC18F452.
>
> El tema es que lo tengo montado para controlar un pequeño robot. Algo
> sencillo, un sensor de colisión, dos sensores de temperatura sobre I2C, dos
> motores de contínua con un L298, comunicación por RS232 y poca cosa más.
>
> Hasta ahora funcionaba bien (o eso creía). El tema es que ahora le estoy
> haciendo que su comportamiento lo marque una máquina de estados finitos
> (FSM), y he visto que cada tanto el PIC se reinicia (iba a decir que sólo,
> pero no, si se reinicia es que hay un fallo de diseño en el circuito, en la
> programación o yo qué sé), por lo que a tomar la FSM.
>
> Por cierto, los reinicios son aleatorios, no pasan cada un cierto tiempo
> determinado, y suceden en dos placas diferentes en diseño físico
> (distribución de elementos y pistas) pero iguales en diseño lógico.
>
> La pregunta es, qué puede provocar que un PIC se reinicie?
>
>


El motivo más frecuente es ruido eléctrico en los pines. Si comparten
fuente de alimentación el PIC y el motor, se produce ruido y saltos de
tensión que pueden activar el circuito de brown-out o provocar cambios
aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
los motores o aliméntalos de una fuente secundaria para ver si
desaparecen los reinicios. También te pueden ocurrir si la corriente del
motor comparte camino con la del micro (trazado incorrecto), entonces no
se soluciona con dos fuentes sino con un retrazado.

--
Saludos
Miguel Giménez
Responder Con Cita
  #3 (permalink)  
Antiguo 21-04-2008, 10:39:47
Miguel Gimenez
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

jugator EChMotor#140 escribió:
> en concreto un PIC18F452.
>
> El tema es que lo tengo montado para controlar un pequeño robot. Algo
> sencillo, un sensor de colisión, dos sensores de temperatura sobre I2C, dos
> motores de contínua con un L298, comunicación por RS232 y poca cosa más.
>
> Hasta ahora funcionaba bien (o eso creía). El tema es que ahora le estoy
> haciendo que su comportamiento lo marque una máquina de estados finitos
> (FSM), y he visto que cada tanto el PIC se reinicia (iba a decir que sólo,
> pero no, si se reinicia es que hay un fallo de diseño en el circuito, en la
> programación o yo qué sé), por lo que a tomar la FSM.
>
> Por cierto, los reinicios son aleatorios, no pasan cada un cierto tiempo
> determinado, y suceden en dos placas diferentes en diseño físico
> (distribución de elementos y pistas) pero iguales en diseño lógico.
>
> La pregunta es, qué puede provocar que un PIC se reinicie?
>
>


El motivo más frecuente es ruido eléctrico en los pines. Si comparten
fuente de alimentación el PIC y el motor, se produce ruido y saltos de
tensión que pueden activar el circuito de brown-out o provocar cambios
aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
los motores o aliméntalos de una fuente secundaria para ver si
desaparecen los reinicios. También te pueden ocurrir si la corriente del
motor comparte camino con la del micro (trazado incorrecto), entonces no
se soluciona con dos fuentes sino con un retrazado.

--
Saludos
Miguel Giménez
Responder Con Cita
  #4 (permalink)  
Antiguo 21-04-2008, 10:57:47
jugator EChMotor#140
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

"Miguel Gimenez" <me***privacy.net> escribió en el mensaje
news:fuhqtk$3v2$1***aioe.org...
>
> El motivo más frecuente es ruido eléctrico en los pines. Si comparten
> fuente de alimentación el PIC y el motor, se produce ruido y saltos de
> tensión que pueden activar el circuito de brown-out o provocar cambios
> aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
> los motores o aliméntalos de una fuente secundaria para ver si desaparecen
> los reinicios. También te pueden ocurrir si la corriente del motor
> comparte camino con la del micro (trazado incorrecto), entonces no se
> soluciona con dos fuentes sino con un retrazado.
>


todo el sistema está alimentado por una pila de 9V. El PIC a través de un
7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
directamente a la pila de 9V y GND al negativo de la pila, que es común
también para el PIC.

Si cambio la pila por un alimentador externo enchufado a la red sigue
pasando.

Lo acabo de probar simplemente desconectando los motores. También ha llegado
a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
hacerlo (aunque como es bastante aleatorio, no es seguro que así haya sido).

Miraré de separar circuitos de alimentación a ver qué ocurre.

Gracias


Responder Con Cita
  #5 (permalink)  
Antiguo 21-04-2008, 10:57:47
jugator EChMotor#140
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

"Miguel Gimenez" <me***privacy.net> escribió en el mensaje
news:fuhqtk$3v2$1***aioe.org...
>
> El motivo más frecuente es ruido eléctrico en los pines. Si comparten
> fuente de alimentación el PIC y el motor, se produce ruido y saltos de
> tensión que pueden activar el circuito de brown-out o provocar cambios
> aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
> los motores o aliméntalos de una fuente secundaria para ver si desaparecen
> los reinicios. También te pueden ocurrir si la corriente del motor
> comparte camino con la del micro (trazado incorrecto), entonces no se
> soluciona con dos fuentes sino con un retrazado.
>


todo el sistema está alimentado por una pila de 9V. El PIC a través de un
7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
directamente a la pila de 9V y GND al negativo de la pila, que es común
también para el PIC.

Si cambio la pila por un alimentador externo enchufado a la red sigue
pasando.

Lo acabo de probar simplemente desconectando los motores. También ha llegado
a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
hacerlo (aunque como es bastante aleatorio, no es seguro que así haya sido).

Miraré de separar circuitos de alimentación a ver qué ocurre.

Gracias


Responder Con Cita
  #6 (permalink)  
Antiguo 21-04-2008, 11:24:28
Miguel Gimenez
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

jugator EChMotor#140 escribió:
> "Miguel Gimenez" <me***privacy.net> escribió en el mensaje
> news:fuhqtk$3v2$1***aioe.org...
>> El motivo más frecuente es ruido eléctrico en los pines. Si comparten
>> fuente de alimentación el PIC y el motor, se produce ruido y saltos de
>> tensión que pueden activar el circuito de brown-out o provocar cambios
>> aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
>> los motores o aliméntalos de una fuente secundaria para ver si desaparecen
>> los reinicios. También te pueden ocurrir si la corriente del motor
>> comparte camino con la del micro (trazado incorrecto), entonces no se
>> soluciona con dos fuentes sino con un retrazado.
>>

>
> todo el sistema está alimentado por una pila de 9V. El PIC a través de un
> 7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
> directamente a la pila de 9V y GND al negativo de la pila, que es común
> también para el PIC.
>
> Si cambio la pila por un alimentador externo enchufado a la red sigue
> pasando.
>
> Lo acabo de probar simplemente desconectando los motores. También ha llegado
> a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
> hacerlo (aunque como es bastante aleatorio, no es seguro que así haya sido).
>
> Miraré de separar circuitos de alimentación a ver qué ocurre.
>
> Gracias
>
>

¿Estás dejando tiempos muertos al conmutar el L298? Si no lo haces habrá
un cortocircuito de unas décimas de us cada vez que cambie de estado,
que provocará un salto de tensión (primero hacia abajo y después hacia
arriba) en la fuente y llegará directamente al micro (los 7805 no
responden demasiado bién a escalones). Añade (o aumenta) los tiempos
muertos y pon un condensador de 100 nF directamente en los bornes de
alimentación del L298.

--
Saludos
Miguel Giménez
Responder Con Cita
  #7 (permalink)  
Antiguo 21-04-2008, 11:24:28
Miguel Gimenez
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

jugator EChMotor#140 escribió:
> "Miguel Gimenez" <me***privacy.net> escribió en el mensaje
> news:fuhqtk$3v2$1***aioe.org...
>> El motivo más frecuente es ruido eléctrico en los pines. Si comparten
>> fuente de alimentación el PIC y el motor, se produce ruido y saltos de
>> tensión que pueden activar el circuito de brown-out o provocar cambios
>> aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
>> los motores o aliméntalos de una fuente secundaria para ver si desaparecen
>> los reinicios. También te pueden ocurrir si la corriente del motor
>> comparte camino con la del micro (trazado incorrecto), entonces no se
>> soluciona con dos fuentes sino con un retrazado.
>>

>
> todo el sistema está alimentado por una pila de 9V. El PIC a través de un
> 7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
> directamente a la pila de 9V y GND al negativo de la pila, que es común
> también para el PIC.
>
> Si cambio la pila por un alimentador externo enchufado a la red sigue
> pasando.
>
> Lo acabo de probar simplemente desconectando los motores. También ha llegado
> a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
> hacerlo (aunque como es bastante aleatorio, no es seguro que así haya sido).
>
> Miraré de separar circuitos de alimentación a ver qué ocurre.
>
> Gracias
>
>

¿Estás dejando tiempos muertos al conmutar el L298? Si no lo haces habrá
un cortocircuito de unas décimas de us cada vez que cambie de estado,
que provocará un salto de tensión (primero hacia abajo y después hacia
arriba) en la fuente y llegará directamente al micro (los 7805 no
responden demasiado bién a escalones). Añade (o aumenta) los tiempos
muertos y pon un condensador de 100 nF directamente en los bornes de
alimentación del L298.

--
Saludos
Miguel Giménez
Responder Con Cita
  #8 (permalink)  
Antiguo 21-04-2008, 11:29:31
Pepitof
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

Pues si quitando motores sigue reseteándose, la respuesta viene a ser la de
siempre.

1º. Problema software. Como el reseteo es aleatorio, y suponiendo que el
programa lo has escrito en C, habrá que suponer que no es un timer contando
sin control, ni un salto a la página incorrecta, ni nada parecido, pero sí
podría ser por ejemplo que hayas configurado una patilla de reset y no la
hayas conectado. En ese caso, cuando reciba un pico de ruido suficientemente
grande (por radio), reseteará. También podría pasar algo parecido si tienes
un timer configurado por error con un clock externo.

2º. Problema hardware. Lo que te han dicho, ruido en la alimentación, es la
causa más común. La solución, separar alimentaciones de potencia y lógica,
sobredimensionar condensadores de filtro, añadir un condensadore de filtro
de 100nF a la alimentación del PIC, lo más cerca posible de él, asegurar que
las pistas de alimentación y masa están correctamente dimensionadas y
trazadas, y que no sean compartidas por el circuito de potencia y el lógico.

Luego ya podría haber problemas más sutiles, como un acoplamiento incorrecto
entre el PIC y otros chips (una resistencia en cada puerto utilizado que
limite la corriente máxima a 15mA puede hacer milagros).

Otro problema típico con control de motores mediante puentes H es no dejar
tiempo suficiente para la conmutación en cada rama de la H, con lo que
puedes tener corrientes instantáneas muy altas, cercanas a cortocircuito,
que echen abajo la alimentación (esto además seguiría pasando aunque
quitaras los motores).

En fin, ya nos dirás.

--


Saludos de Jose Manuel Garcia
jose.mgg***terra.es
http://213.97.130.124


"jugator EChMotor#140" <jugator***gmail.com> escribió en el mensaje
news:fuhrvc$in0$1***localhost.localdomain...
> "Miguel Gimenez" <me***privacy.net> escribió en el mensaje
> news:fuhqtk$3v2$1***aioe.org...
> >
> > El motivo más frecuente es ruido eléctrico en los pines. Si comparten
> > fuente de alimentación el PIC y el motor, se produce ruido y saltos de
> > tensión que pueden activar el circuito de brown-out o provocar cambios
> > aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
> > los motores o aliméntalos de una fuente secundaria para ver si

desaparecen
> > los reinicios. También te pueden ocurrir si la corriente del motor
> > comparte camino con la del micro (trazado incorrecto), entonces no se
> > soluciona con dos fuentes sino con un retrazado.
> >

>
> todo el sistema está alimentado por una pila de 9V. El PIC a través de un
> 7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
> directamente a la pila de 9V y GND al negativo de la pila, que es común
> también para el PIC.
>
> Si cambio la pila por un alimentador externo enchufado a la red sigue
> pasando.
>
> Lo acabo de probar simplemente desconectando los motores. También ha

llegado
> a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
> hacerlo (aunque como es bastante aleatorio, no es seguro que así haya

sido).
>
> Miraré de separar circuitos de alimentación a ver qué ocurre.
>
> Gracias
>
>
>




Responder Con Cita
  #9 (permalink)  
Antiguo 21-04-2008, 11:29:31
Pepitof
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

Pues si quitando motores sigue reseteándose, la respuesta viene a ser la de
siempre.

1º. Problema software. Como el reseteo es aleatorio, y suponiendo que el
programa lo has escrito en C, habrá que suponer que no es un timer contando
sin control, ni un salto a la página incorrecta, ni nada parecido, pero sí
podría ser por ejemplo que hayas configurado una patilla de reset y no la
hayas conectado. En ese caso, cuando reciba un pico de ruido suficientemente
grande (por radio), reseteará. También podría pasar algo parecido si tienes
un timer configurado por error con un clock externo.

2º. Problema hardware. Lo que te han dicho, ruido en la alimentación, es la
causa más común. La solución, separar alimentaciones de potencia y lógica,
sobredimensionar condensadores de filtro, añadir un condensadore de filtro
de 100nF a la alimentación del PIC, lo más cerca posible de él, asegurar que
las pistas de alimentación y masa están correctamente dimensionadas y
trazadas, y que no sean compartidas por el circuito de potencia y el lógico.

Luego ya podría haber problemas más sutiles, como un acoplamiento incorrecto
entre el PIC y otros chips (una resistencia en cada puerto utilizado que
limite la corriente máxima a 15mA puede hacer milagros).

Otro problema típico con control de motores mediante puentes H es no dejar
tiempo suficiente para la conmutación en cada rama de la H, con lo que
puedes tener corrientes instantáneas muy altas, cercanas a cortocircuito,
que echen abajo la alimentación (esto además seguiría pasando aunque
quitaras los motores).

En fin, ya nos dirás.

--


Saludos de Jose Manuel Garcia
jose.mgg***terra.es
http://213.97.130.124


"jugator EChMotor#140" <jugator***gmail.com> escribió en el mensaje
news:fuhrvc$in0$1***localhost.localdomain...
> "Miguel Gimenez" <me***privacy.net> escribió en el mensaje
> news:fuhqtk$3v2$1***aioe.org...
> >
> > El motivo más frecuente es ruido eléctrico en los pines. Si comparten
> > fuente de alimentación el PIC y el motor, se produce ruido y saltos de
> > tensión que pueden activar el circuito de brown-out o provocar cambios
> > aleatorios en el estado de la CPU (por ejemplo, cambios del PC). Quítale
> > los motores o aliméntalos de una fuente secundaria para ver si

desaparecen
> > los reinicios. También te pueden ocurrir si la corriente del motor
> > comparte camino con la del micro (trazado incorrecto), entonces no se
> > soluciona con dos fuentes sino con un retrazado.
> >

>
> todo el sistema está alimentado por una pila de 9V. El PIC a través de un
> 7805 (5V); y el L298 tiene Vss conectado también a la salida del 7805, Vs
> directamente a la pila de 9V y GND al negativo de la pila, que es común
> también para el PIC.
>
> Si cambio la pila por un alimentador externo enchufado a la red sigue
> pasando.
>
> Lo acabo de probar simplemente desconectando los motores. También ha

llegado
> a reiniciarse, y me aventuraría a decir que ha tardado bastante más en
> hacerlo (aunque como es bastante aleatorio, no es seguro que así haya

sido).
>
> Miraré de separar circuitos de alimentación a ver qué ocurre.
>
> Gracias
>
>
>




Responder Con Cita
  #10 (permalink)  
Antiguo 21-04-2008, 11:44:33
jugator EChMotor#140
 
Mensajes: n/a
Predeterminado Re: Qué puede provocar que un PIC se reinicie?

"Miguel Gimenez" <me***privacy.net> escribió en el mensaje
news:fuhthc$fij$1***aioe.org...
>
> ¿Estás dejando tiempos muertos al conmutar el L298? Si no lo haces habrá
> un cortocircuito de unas décimas de us cada vez que cambie de estado, que
> provocará un salto de tensión (primero hacia abajo y después hacia arriba)
> en la fuente y llegará directamente al micro (los 7805 no responden
> demasiado bién a escalones). Añade (o aumenta) los tiempos muertos y pon
> un condensador de 100 nF directamente en los bornes de alimentación del
> L298.
>


pues no dejo tiempos muertos, no. Miraré de ponerlos ahora. El condensador
sí que está puesto.

Muchas gracias


Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado






Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.