TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: PalitroqueZ en 17 de Julio de 2007, 13:57:14

Título: Hablemos del Ruido
Publicado por: PalitroqueZ en 17 de Julio de 2007, 13:57:14
Después de haber leido varias informaciones sobre este tema, me interesé mucho y a la vez añadí preocupación ya que en adelante cada vez que mire el diseño de un layout, tendré atravesado en el cerebro, la astilla de como reducir la interferencia.

estos son impresiones que he recogido de diversas fuentes sobre lo que hacen acerca de los efectos de cualquier fenomeno de interferencia desde/hacia un circuito.

un circuito impreso, desde un punto de vista global, o viendolo desde 1000 km de distancia (para cambiar la perspectiva) puede llegar actuar como una antena transmisora o receptora, me negué a creer esto hasta que leí una nota donde hacen referencia a la impedancia caracteristica para minimizar reflexiones (que no es mas que una onda estacionaria). para aquellos que no esten familiarizados, las ondas estacionarias son el principal problema para los diseñadores de antenas y guias de ondas en telecomunicaciones.

depende como se haga un layout, éste puede actuar como una balanza donde tenemos la inductancia por un lado y la capacitancia por el otro. pudiendo inclinarse mucho para un lado.

y es aquí donde entra el estudio de mantener la balanza equilibrada y así tener el sistema (circuito) estable y aislado de otros sistemas cercanos.


en un sistema pueden intervenir/ocurrir lo siguiente:

(http://www.todopic.com.ar/images/ruido/3tiposinterferenciami0.jpg)

clasificados en:

EMI = interferencia electromagnetica
RFI = interferencia radiofrecuencia
ESD = descargas electrostaticas


y los parametros involucrados:

- amplitud
- frequencia
- tiempo o velocidad (time)
- impedancia
- distancia
- temperatura


(http://www.todopic.com.ar/images/ruido/3tiposinterferenciami0.jpg)

la última imagen es interesante porque en nuestro caso, que usamos los pics, pueden llegar a ser fuentes emisoras o receptoras de EMI

cabe decir que existe una norma regulatoria llamada EMC (compatibilidad electromagnetica) para establecer un estandar en cada equipo electrónico, no la he leido a fondo, me imagino que debe coincidir con las caracteristicas que vemos en nuestro equipos electrodomesticos (catalogadas por clases).


ahora vienen los elementos que entran en juego para anular este fenomeno, me refiero a las etapas de filtaje, conformado por resistencias, condensadores, bobinas y finalmente EL PROPIO DISEÑO DEL CIRCUITO IMPRESO.
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 17 de Julio de 2007, 13:58:43
caso del condensador:

fisicamente un capacitor se representa así:

(http://www.todopic.com.ar/images/ruido/sloa046pag3qo8.jpg)

como veran posee una resistencia y una inductancia llamadas ESR y ESL

ESR = resistecia serie equivalente
ESL = inductancia serie equivalente

ambos son elementos de pérdidas (llamado elementos parasitos) y también se toman en cuenta.  como si fuera poco con lo que tenemos que luchar para introducir nuevos factores :(

por eso se debe escoger bien el tipo de condensador, de acuerdo a la etapa donde se use. he aquí una tabla:

(http://www.todopic.com.ar/images/ruido/tiposcapacitoreszo4.jpg)

en etapas de filtrado se usan condensadores electroliticos para mantener un nivel mínimo de rizado en la alimentación.

además que hay un hecho curioso, he visto que colocan varios condensadores electroliticos de pequeños valores en vez de uno solo grande. ¿se pretende minimizar la ESR? no se, sigo investigando. para muestra, un boton:

(http://www.todopic.com.ar/images/ruido/condensadoresparalelosio8.jpg)

hay otro ejemplo típico, el uso del estandarizado 0.1uF en los pines de alimentación de los circuitos integrados, bueno he aquí la razón:

(http://www.todopic.com.ar/images/ruido/usocondensadorbypassqm8.jpg)

obviamente lo ideal sería seleccionar capacitores que posean bajos ESL y ESR, pero eso dependerá de la relación costo/aplicación.


y la historia de los capacitores sigue, es bastante larga...

-------------------------------------

caso las bobinas:

uff las bobinas, realmente me quedo asombrado ante este señor, donde vean un filtrado decente en un circuito, seguro que se consiguen con una.

nada mas vean una fuente AT(X) de computadoras, y lo primero que llama la atención es la 'rolo' de toroide con varios embobinados de alambre esmaltado.

al igual que los condensadores su función es la de atajar corrientes parasitas que anden por allí coladas y no dejarlas pasar.

en filtros de fuentes de alimentación se usan bastantes, pero tanmbién tiene su componente resistiva. a bajas frecuencias (<100Khz) su comportamiento es inductivo y por encima de 100Khz cambia a resistivo.

dentro de la bobinas tenemos las que usan nucleo solido, como son las de material ferrita, sus caracteristicas:

CHARACTERISTICS OF FERRITES:

- Good for frequencies above 25kHz
- Many sizes and shapes available including leaded "resistor style"
- Ferrite impedance at high frequencies is primarily resistive -- Ideal for HF filtering
- Low DC loss: Resistance of wire passing through ferrite is very low.
- High saturation current.
- Low cost.

y la selección de acuerdo a la situación:

CHOOSING THE RIGHT FERRITE DEPENDS ON:

- Source of Interference
- Interference Frequency Range
- Impedance Required at Interference Frequency
- Environmental Conditions:
  - Temperature, AC and DC Field Strength, Size / Space Available
- Don't fail to Test the Design

EXPERIMENT! EXPERIMENT!
 
notas:

1.- las puse en inglés ya que son citadas de GROUNDING IN HIGH SPEED SYSTEMS  pag 11,12,13(ver fuentes consultadas al final).

2.- poner atención a la última advertencia, jeje me huele a que en esta parte aplican mucho el método empírico ¿verdad? :)

sobre la forma de construir bobinas, me muestro escéptico sobre las diversas formas de calcularlas que he encontrado, porque se aplica muchos parámetros físicos que en la realidad no contamos, a nosotros los tecnicos solo nos interesa 3 cosas: número de vueltas, dimensiones de los materiales y el valor de la inductancia final.

pero así solo obtenemos aproximaciones porque hay que hacerle caso a datos como: frecuencia a la que trabaja el núcleo, permeabilidad magnetica y otros numeritos que mejor se lo dejamos a los fisicos para resolver problemas teoricos.

de todas formas conseguí un documento que explica como construir bobinas en toroides de acuerdo al tipo comercial. se llama nucleos toroidales (http://www.ure.es/gpa/modules.php?name=Downloads&d_op=getit&lid=240) por si alguien lo quiere.

Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 17 de Julio de 2007, 14:00:50
caso de cruzar ambos:

es lógico pensar que el cruce de un condensador con una bobina es un filtro LC, entre los variados filtros que he visto, tenemos:


(http://www.todopic.com.ar/images/ruido/filtrolineanw0.jpg)


(http://www.todopic.com.ar/images/ruido/filtrorcicop1.jpg)

un inductor en serie o paralelo con un condensador forma un circuito resonante que ofrece oposición en un margen de frecuencias determinado.

para terminar de hablar sobre los componentes, he aquí una figura donde se muestra el comportamiento "real" de los elementos nombrados a diferentes frecuencias y su respectiva respuesta.

(http://www.todopic.com.ar/images/ruido/componentesnoidealesvv8.jpg)


consideraciones al crear un pcb

- el plano masa
- punto estrella
- DGND y AGND
- fuente alimentación
- orientación de los componentes

el plano masa:

esta parte si me va a generar dolores de cabeza, porque cambió radicalmente mi manera de pensar sobre el plano tierra.

¿porque digo esto?
hay muchas formas de crear planos, y eso depende a la frecuencia que estemos trabajando.

la forma tradicional, es lanzar un solo plano general, y colocar cada patica de cada condensador a ese plano, pués resulta que puede no funcionar así en ciertos rangos.

suponiendo, un solo plano lanzado en una cara exclusivo para él, puede ser beneficioso,
pero fijense lo que puede suceder.

(http://www.todopic.com.ar/images/ruido/sloa046pag4ox3.jpg)


recuerdan el comportamiento de un wire a alta frecuencia en la imagen de muy arriba.

ante esta situación viene el otro método, crear un sistemas de planos tierras, que a la final será el mismo, pero conectados en uno o varios puntos separados. a esta conexión la llaman estrella.

(http://www.todopic.com.ar/images/ruido/conexiontipoestrellacj3.jpg)

cuya conexión final iria así:

(http://www.todopic.com.ar/images/ruido/multipuntolw9.jpg)

la idea es crear tantas conexiones a tierra como se pueda, incluso dicen que en un pcb al menos del 30% al 40% de los pines deberian dedicarse al gnd. Recuerden que  el plano tierra se caracteriza por tener el mas bajo nivel de impedancia y con esta técnica estamos reduciendo posibles impedancias generadas por redes R-L en pistas largas.


otro método para aislar el ruido eléctrico es que si por ejemplo tenemos etapas analogicas mezcladas con etapas digitales, es separar sus idas y retornos de alimentación. el gnd analogico y el gnd digital (igual ocurre con los vdd)

en tal situación, es similar a lo hablado anteriormente:

(http://www.todopic.com.ar/images/ruido/dgndagnduw1.jpg)

(http://www.todopic.com.ar/images/ruido/multipuntoagnddgndam4.jpg)


y las recomendaciones siguen, es un sinfin de estrategias que debe pensar el diseñador.

algunos ejemplos:

(http://www.todopic.com.ar/images/ruido/multipuntoih0.jpg)

(http://www.todopic.com.ar/images/ruido/colocar1jf4.jpg)

(http://www.todopic.com.ar/images/ruido/evitandorfibx8.jpg)

(http://www.todopic.com.ar/images/ruido/posicionetapasma4.jpg)

(http://www.todopic.com.ar/images/ruido/posiciontemperaturaui2.jpg)

(http://www.todopic.com.ar/images/ruido/ruteo2vt0.jpg)

(http://www.todopic.com.ar/images/ruido/ruteo4jo9.jpg)

(http://www.todopic.com.ar/images/ruido/ruteobi9.jpg)

(http://www.todopic.com.ar/images/ruido/ruteoicpd0.jpg)

pero es que si hasta la tecnología entra en juego y es un factor adicional a tomar en cuenta:

(http://www.todopic.com.ar/images/ruido/longitudpistasha7.jpg)


para ahondar aún mas, entre una pista y otra cercana (paralela) puede ocurrir lo siguiente:

(http://www.todopic.com.ar/images/ruido/entrepistasiw5.jpg)

y la propia baquelita puede llegar actuar como un condensador:

(http://www.todopic.com.ar/images/ruido/condensadorbaquelitabv8.jpg)

nota:

es curioso decir que estas formas de filtraje son del tipo hardware y que también existen por software, en el caso de los microcontroladores, tenemos modulos como el perro guardian, el brown out,..... cuya función es obligar un reset ante una anomalía e iniciar el programa nuevamente.

en la nota EMC (HCApp.pdf) de microchip hablan de un 'tips' para ejecutar un reset de manera efectiva ante un direccionamiento fuera de lo previsto:

y es rellenar con goto $ a lo largo de la rom NO usada, de manera que al ocurrir un evento desconocido, el contador de programa se quede en una sola línea de instrucción hasta que ocurra el reset.


fuentes consultadas:

-
Considerations in Grounding and Shielding Computer-Controlled Audio Devices. (http://www.rane.com/pdf/compgrou.pdf)

- SECTION 8: HARDWARE DESIGN TECHNIQUES (¡RECOMENDADO!) (http://www.analog.com/UploadedFiles/Associated_Docs/364484961ptmsect8.PDF)

- High-Speed Operational Amplifier Layout Made Easy (¡RECOMENDADO!) (http://focus.ti.com/analog/docs/techdocsabstract.tsp?familyId=72&abstractName=sloa046)

- Chapter 9 Hardware Design Techniques  (http://www.analog.com/library/analogdialogue/archives/39-06/Chapter%209%20Hardware%20Design%20Techniques%20F.pdf)

- EMC: the art of compatibility (http://www.microchip.com/stellent/groups/sitecomm_sg/documents/market_communication/en022824.pdf)

- PCB Design Tutorial (http://www.pcb123.com/tutorials/PDF%20Documents/PCBDesignTutorialRevA.pdf)

- Electro Magnetic Compliance
Título: Re: Hablemos del Ruuuido
Publicado por: Nocturno en 17 de Julio de 2007, 14:31:03
¡¡¡ Pedroooooo, te A.M.O. !!! (léase con voz de Penélope en la entrega del Óscar)

P.D.: A.M.O. = te AdMirO
Título: Re: Hablemos del Ruuuido
Publicado por: Modulay en 17 de Julio de 2007, 14:47:00
Verdaderamente me quito el sombrero.
Esta joyita se merece una chincheta
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 18 de Julio de 2007, 14:19:15
¡¡¡ Pedroooooo, te A.M.O. !!! (léase con voz de Penélope en la entrega del Óscar)

P.D.: A.M.O. = te AdMirO

ejem ejem, menos mal que lo aclaraste manolo  :D :D

Título: Re: Hablemos del Ruuuido
Publicado por: xocas en 18 de Julio de 2007, 15:16:25
amigo Pedro, yo también te Ado  :lol: :lol:, y aunque no puedas escucharlo debido a la distancia, que sepas que te estoy aplaudiendo por tan excelente trabajo.

para aportar mi pequeño granito de arena, aquí dejo unos enlaces para investigar un poco más si cabe en el tema:

http://www.fairchildsemi.com/an/AN/AN-1031.pdf#page=1

http://www.freescale.com/files/ftf_2007/doc/presentations/Americas/Enabling/AN2321_FTF2007.pdf?fsrch=1

http://www.euitt.upm.es/departamentos/ef/ficheros%20tcim/CEMtcirimpr.pdf

http://www.um.es/docencia/mmc/pdf/cem.pdf

http://www.analog.com/UploadedFiles/Application_Notes/294542582256114777959693992461771205AN280.pdf

http://www.ce-mag.com/ (en esta hay abundante información)


un saludo
Título: Re: Hablemos del Ruuuido
Publicado por: Azicuetano en 19 de Julio de 2007, 03:16:58
Que bueno Pedro!!!

Ya tengo para saciar mis paranoias con el ruido durante unos días!  :D

A ver si entre todos hacemos un buen tratado del ruido  :mrgreen:


Un saludo desde Alicante.
Título: Re: Hablemos del Ruuuido
Publicado por: jfh900 en 20 de Julio de 2007, 11:28:11
Yo también en su día aporté este documento:

http://www.4shared.com/file/17980580/819aee8f/El_diseo_de_las_tarjetas_de_CI_y_ruido_SMI.html

Un saludo
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 21 de Julio de 2007, 12:52:48
gracias Joaquin y Jesús por los links a seguir estudiando  :mrgreen:

...
A ver si entre todos hacemos un buen tratado del ruido  :mrgreen:
...

¡¡me parece una excelente idea!!

Título: Re: Hablemos del Ruuuido
Publicado por: tsu_daniel en 22 de Julio de 2007, 09:29:10
Manolo te metiste un puñal con el ruido. Hay que tomar esto en cuenta a la hora del diseño de placas. Peeeeerro!!!
Título: Re: Hablemos del Ruuuido
Publicado por: micro_cadaver en 23 de Julio de 2007, 04:50:23
excelente post amigo Pali voy a leerlo con mucho cuidado. Gracias.
Título: Re: Hablemos del Ruuuido
Publicado por: micro_cadaver en 23 de Julio de 2007, 15:05:00
ya lo lei, pues ahora si que tendre más cuidado al hacer mis placas, sería bueno si este post quedara como un lugar donde consultar dudas respecto los pcbs
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 25 de Julio de 2007, 12:43:41
de acuerdo a la nota de aplicación AN-1031.pdf que colgó el amigo xocas06 se explica brevemente la razón de colocar varios capacitores en vez de uno grande, el extracto:

"Paralleling capacitors is a common technique for lowering the overall equivalent series resistance (ESR) and equivalent series inductance (ESL) of a filter capacitor. This allows the resulting filter capacitor to source or sink higher levels of ripple current with much less internal heating."


AN-1031.pdf página 5

esto quiere decir, (de acuerdo a mi spanglish) que los capacitores en conjunto pueden manejar mejor las altas corrientes sin que sea afectado por su temperatura interna (la temperatura es un ingrediente que le gusta a la interferencia)

otro avance:

¿una ventaja de los nucleos toroidales frente a los nucleos cilindricos?

la imagen que explica todo:

(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=18106.0;attach=4897)

fuentes consultadas:

Considerations in Designing the Printed Circuit Boards of Embedded Switching Power Supplies (http://www.fairchildsemi.com/an/AN/AN-1031.pdf#page=1)

Designing for Board Level Electromagnetic Compatibility


Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 25 de Agosto de 2007, 02:38:24
Hola foreros. Primero, felicitaciones a palitroqueZ por el exelente investigación sobre el tema.

Segundo: una duda. He visto en muchos circuitos que la masa va por afuera de la placa y por todo deredor. ¿Está echa así para funcionar como una trampera de RF o tan solo porque así les quedó?

Saludos.  :-/ :-/
Título: Re: Hablemos del Ruuuido
Publicado por: Islagrande en 27 de Agosto de 2007, 16:11:38
Muy bueno tu aporte Pedro!!! Me quito el sombrero

En cuanto a lo que escribiste:

de acuerdo a la nota de aplicación AN-1031.pdf que colgó el amigo xocas06 se explica brevemente la razón de colocar varios capacitores en vez de uno grande, el extracto:

"Paralleling capacitors is a common technique for lowering the overall equivalent series resistance (ESR) and equivalent series inductance (ESL) of a filter capacitor. This allows the resulting filter capacitor to source or sink higher levels of ripple current with much less internal heating."


AN-1031.pdf página 5

esto quiere decir, (de acuerdo a mi spanglish) que los capacitores en conjunto pueden manejar mejor las altas corrientes sin que sea afectado por su temperatura interna (la temperatura es un ingrediente que le gusta a la interferencia)

El caso es que al usar varios capacitores en vez de uno de capacidad mayor se reduce la reactancia inductiva y se filtran mejor los componentes de alta frecuencia.
Es práctica usual encontrar en equipos de alta frecuencia y otros, capacitores de mica plateada o similares, de por ejemplo 1000 pf, en paralelo con capacitores de unos cuantos microfaradios. Las componentes de mayor frecuencia son filtrados por estos.

Repito, muy pero que muy bueno tu trabajo
Saludos
 :-/ :-/ :-/ :-/
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 31 de Agosto de 2007, 12:50:31
...
Segundo: una duda. He visto en muchos circuitos que la masa va por afuera de la placa y por todo deredor. ¿Está echa así para funcionar como una trampera de RF o tan solo porque así les quedó?
...

- según la guía que publicó el amigo Jesus (jfh900 ) en la página 5 dice lo siguiente:

" El plano de masa además de ser el camino de menor impedancia para las conexiones a masa, aporta otras ventajas adicionales:
  - actúa como una pantalla frente al EMI radiado por otras fuentes.
  - presenta una capacidad distribuida ayudando a suprimir el EMI radiado."


 
esto es muy importante saberlo porque es la respuesta a la pregunta: ¿porque se debe usar un plano de tierra?



...
El caso es que al usar varios capacitores en vez de uno de capacidad mayor se reduce la reactancia inductiva y se filtran mejor los componentes de alta frecuencia.
Es práctica usual encontrar en equipos de alta frecuencia y otros, capacitores de mica plateada o similares, de por ejemplo 1000 pf, en paralelo con capacitores de unos cuantos microfaradios. Las componentes de mayor frecuencia son filtrados por estos.
...

fijate Islagrande que todavía tengo dudas respecto a eso, o sea, lo puedo interpretar así:

- todo condensador posee una resistencia pura (llamada ESR).

- En la revista elektor 306 pág 41 escriben que una reactancia pura no generará calor por el desfase que hay entre el voltaje y la corriente, pero una resistencia pura si genera calor, entonces al colocar varios condensadores circuitalmente hablando estariamos colocando varias ESR en paralelo, disminuyendo la resistencia total y por consiguiente, disminuyendo el calor.

el hecho de colocar condensadores de muy pequeños y muy grandes valores, es que cada uno trabajará en su rango de frecuencias (me falta corroborar).

otro detalle que leí, es que al envejecer un condensador, su ESR aumenta. en el caso de los electroliticos sucede cuando se van secando.
Título: Re: Hablemos del Ruuuido
Publicado por: Islagrande en 31 de Agosto de 2007, 14:46:19
Amigo PalitroqueZ. En mi mensaje debía haber puesto que además de que se genera menos calor en los capacitores.............Después todo lo demás que escribí
Saludos desde La Habana
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 01 de Septiembre de 2007, 14:06:18
Amigo PalitroqueZ. En mi mensaje debía haber puesto que además de que se genera menos calor en los capacitores.............Después todo lo demás que escribí
Saludos desde La Habana

Exacto  :mrgreen:
Título: Re: Hablemos del Ruuuido
Publicado por: flacoclau en 07 de Septiembre de 2007, 13:43:51
Hola leyendo el tema de los electrolíticos, como sabrán están compuestos generalmente por un par tiras de metal bien largas (tipo papel de aluminio) separadas por su dieléctrico y luego enrollados por lo que se genera una inductancia bastante importante (ESL)
Creo que a más de uno se les habrá reventado uno  :D :D :D parece una serpentina!! y a veces una lluvia de papelitos!!! :D :D
saludos.
Título: Re: Hablemos del Ruuuido
Publicado por: RedPic en 08 de Septiembre de 2007, 09:39:45
RUIDOS, RUIDOS, RUIDOS

Odio los ruidos, me atacan los nervios los ruidos, sueño con los ruidos, abomino de los ruidos. Me estoy volviendo esquizóide con los ruidos. No diseño PCB's, diseño verdaderas antenas de ruidos.

Vamos a ver si con las nuevas indicaciones de Iván Azicuetano elimino los ruidos de una vez.  :mrgreen:

Ni señales ni planos de masa por debajo de los relés ni en sus alrededores.
Filtros capacitivos a todos los componentes activos.
Aislar, separar, anular, cortar, fijar y dar esplendor.  :mrgreen:
Título: Re: Hablemos del Ruuuido
Publicado por: Nocturno en 08 de Septiembre de 2007, 11:36:19
Seguro que ese nuevo diseño sienta mejor a tus jaquecas que un Dolalgial cualquiera; ya verás como sí.
Título: Re: Hablemos del Ruuuido
Publicado por: jfh900 en 08 de Septiembre de 2007, 12:59:20
No te olvides de poner algo superimportante: filtros pasa bajos en todas las entradas del pic que utilices y estén conectadas a cables.

Un saludo
Título: Re: Hablemos del Ruuuido
Publicado por: RedPic en 08 de Septiembre de 2007, 16:56:07
¡¡¡ YEAH !!!
 :-/ :mrgreen: :-/

Gracias Iván, Gracias Manuelo

Sois lo más. Sois lo mejor

Soy feliz. Soy dichoso.

Tu frase de esta mañana, queridísimo Iván, me ha hecho ver la luz. Tras modificar todo lo modificable junto a Manuelo sobre el ruteado, filtrado, desinsectado, desinfectado y lavado y peinado ...

Me quedé obtuso y meditabundo, diciéndome yo a mi mismo para mis adentros que eso de esperar a insolar, revelar, limpiar y soldar la nueva placa era mucho esperar para un polvorilla como yo.

Y tu frase, amigo Iván, de  "... y ustedes que sois buenos programadores sabréis solventar lo que el hardware no sea capaz de eliminar ..." me hizo sentirme bien pero mal. Asi que manos a la obra.

Si era capaz de hacer que mi engendro funcionase rodeado de chispas, rayos, truenos y centellas imaginaos lo que sería cuando nuestro nuevo hardware, modificado siguiendo tus sapientísimos consejos, eliminase las tres cuartas partes de la tormenta eléctrica que la arrasaba.

Así que he modificado mi Firmware añadiendo checkpoints, parities, anti-cuelgues, anti-truenos, anti-sustos y auto-repairs  a diestro y siniestro, por acá y por acullá, por activa, por pasiva y por pluscuamperfecto. Durante las últimas ocho horas abré compilado mil veces, el GTP-USB-Plus hechaba humo, la Flash a punto de gritar - no soporto un byte nuevo más -

Le he puesto una carga a los reléses casi al limite de su soporte nominal, conmutando todos los amperios (tres como las hijas de Elena) cada segundo, saltando cada chispa en su interior que es perfectamente visible a través de su carcasa plástica opaca, además le he puesto mi movil (celular) encima y me he llamado desde el fijo, y tambien he puesto, en el otro relé, la alimentación (220) de un tubo fluorescente, y para rematar la faena con una mano me he dedicado a encender y apagar dos o tres veces por segundo una lámpara halógena que tengo junto a mi mesa.

Cualquiera de estas cosas por separado, esta mañana antes del arreglo, liaba al PIC hasta hacerle perder el Norte y no saber qué hacer.

Pero ahora, todo esto al mismo tiempo que recibía y decodificaba dos tramas TTL casi simultáneas, guardando los datos en unas EEPROM externas I2C, actualizaba la EEPROM interna con los correspondientes punteros  y hablaba con el PC a través de la USART mediante un Socket TCP/IP de un EM202.

Resultado: Mi firmware se ha robustizado hasta lo inimagibale. Todo ha funcionado a las mil maravillas. Soy feliz.

Gracias, gracias, gracias, gracias, gracias, gracias, gracias.  :D :mrgreen: :P :) :D :mrgreen: :P :)

Ufffff ... que alivio.

P.D.: Manuelo, vamos por buen camino.

(http://publi.garcia-cuervo.net/iACD_v1.0.4_CMP_2SM.jpg)
Título: Re: Hablemos del Ruuuido
Publicado por: Nocturno en 09 de Septiembre de 2007, 01:39:07
Joe, macho, ¿y cómo has obrado semejante milagro?
Título: Re: Hablemos del Ruuuido
Publicado por: dogflu66 en 09 de Septiembre de 2007, 09:25:15
Recién que me encontré con este hilo, y mis mas sinceras felicitaciones.
El crear un buen esquema electrónico junto con un buen ruteado es una
verdadera ciencia y ya no digo el mero hecho de crear un programa que
corrige algunos fallos producidos por interferencias.

Un ejemplo simple y real de correccion por soft:
Leer en la ultima pagina del .pdf
http://www.freewebs.com/glafebre/extractordeolores.htm

Lo único que puedo añadir es que en mis circuitos es normal que un 50%
de los componentes sean para uso desparacitario, teniendo en cuenta la
BUENA DISTRUBUCION de estos componentes por la placa y algo que para
mi es FUNDAMENTAL es la distribución de las pistas, un mal ruteado puede
hacer que un hard no funcione ni tan siguiera con todas las protecciones posibles.
Y esto ultimo lo he visto con  estos ojitos verdes que se tienen que comer los gusanos... :mrgreen:
Título: Re: Hablemos del Ruuuido
Publicado por: Azicuetano en 09 de Septiembre de 2007, 19:23:15
OOOLÉ!  :-/

Jajaja... sabía que esperar a insolar otra placa sería demasiado tiempo  :D

En cuanto se modifique el ruteo de la placa y comprobeis que el software sin protección anti cuelgue funciona perfectamente tú seguridad en el equipo será total. imagínate en cuanto de pongas el soft bueno uufff... eso no lo cuelga ni un rayo!! como yo digo, vais a dormir más tranquilos por las noches que unas pascuas.

Ahora sentirás esa sensación extraña de amor odio hacia el ruido, lo odias pero, ves que lo puedes dominar. A partir de ahora pelearte con el ruido no será una putada, será un reto!  :mrgreen:

Mirarás una y otra placa y empezarás a fijarte en el ruteo, en lo que está mal y en lo que está bien. Núnca harás un soft sin anticuelgues y... lo más importante, en tú conciencia habrá un remanso de paz increible sea cual sea el número de unidades que vean la luz. Ninguna te dará problemas.

Cuando tengais el resultado del índice de cuelgues del nuevo hardware con el soft antiguo (sin anticuelgue) comentarlo, porfa, a ver lo que mejora la cosa.

Bueno, me alegro mucho de las buenas noticias y me hizo ilusión que contarais conmigo para solucionar este problema. Ha sido un auténtico placer  :mrgreen:


Un saludo desde Alicante.
Título: Re: Hablemos del Ruuuido
Publicado por: RedPic en 10 de Septiembre de 2007, 14:31:08
Manolo Nocturno:

SMS post-scriptum enviado por Azicuetano a Redpic tras haber ya finalizado la jornada sabatina de re-diseño placar:

Olvidé decir que una gran fuente de ruido son los 230V de la alimentacion de los relés. Es decir, pistas por las que pasen 230V marginarla, Je, je. Lejos de planos de masa y de pistas de control. Todo lo alejada que el circuito impreso os permita. Suerte con el proyecto y ... Si Manolo se altera ya sabes ... Dale RON!! Je, je.

SMS de respuesta enviado por Redpic a Azicuetano:

Recibido. Mucho RON.

Es un caso absolutamente verídico ja, ja, ja,  :D :D :D :D

Título: Re: Hablemos del Ruuuido
Publicado por: Nocturno en 10 de Septiembre de 2007, 15:12:08
Mentiroso, me diste café, pero no ron. Ya sabes lo que tienes que hacer la próxima vez
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 10 de Septiembre de 2007, 17:27:58
ahora tengo una pregunta para los amigos que trabajan con otros micros, ¿que tal es el 'aterramiento' para los ARM y los ATMEL? ¿hay alguna diferencia que usando los pics?
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 10 de Septiembre de 2007, 18:54:49
No te olvides de poner algo superimportante: filtros pasa bajos en todas las entradas del pic que utilices y estén conectadas a cables.

Un saludo

Hola. ¿Qué frecuencia tiene que ser el filtro  pasa bajos?
Porque estoy por hacer una conección con un pic que viene las ordenes desde un mando con cables a unos 3 metros de cable.
Saludos.  :-/ :-/
Título: Re: Hablemos del Ruuuido
Publicado por: jfh900 en 11 de Septiembre de 2007, 21:31:23
Bueno, en este mismo foro se trata el tema del ruido desde el punto de vista de la eliminación por software. Pero debemos de intentar eliminar el problema de entrada, osea en el hardware y despues de intentar eliminarlo lo más posble, el resto y la tranquilidad la obtenemos por el software. Dentro del hardware, aquí pongo un esquema de una conocida máquina (no voy a decir el nombre) que ha funcionado durante muchos años en todo tipo de ambientes. Mirar los filtros pasabajos que hay en las entradas de señal y los filtros de desacoplo tanto de la alimentación como de los integrados. Por cierto estas máquinas llevaban implementado el wathdog mediante integrados de forma externa.

(http://img529.imageshack.us/img529/9611/eliminacionruidoslz6.th.jpg) (http://img529.imageshack.us/my.php?image=eliminacionruidoslz6.jpg)

Un saludo.
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 19 de Septiembre de 2007, 15:16:37
en este link (http://www.educypedia.be/electronics/generalelectronicground.htm) se consigue mucha información relacionado al tema.
Título: Re: Hablemos del Ruuuido
Publicado por: LABmouse en 19 de Septiembre de 2007, 15:48:30
Pedro, apenas veo tu Hilo y es precioso este trabajo. Es una Perla y Diamante.. GRACIAS por esta trabajo!!
Título: Re: Hablemos del Ruuuido
Publicado por: Azicuetano en 30 de Septiembre de 2007, 20:00:36
Hola colegas!

if( no os apetece leer el rollazo )
{
    GOTO -RESUMEN-                       // (que está al final)
}
else
{

Os voy a comentar una cosa que muchos de vosotros ya sabreis, pero, con esta experiencia queda comprobada 100% la importancia de mimar al máximo una determinada patilla del PIC. Cual es?? Jejeje.... vamos por partes.

Explico un poco por encima en que consiste el proyecto.

Varios módulos se comunicarán entre si via RS485 (visualizadora, sistema de potencia,  etc. etc.). Uno de un módulo se encargará de crujir unos cuantos relés (con el ULN2803, puesto que, me hacía ilusión meterlo en algún diseño para ver que tal funcionaba) y se comunicará por RS485 con una placa central.

Cumpliendo todas las premisas necesarias para no volver loco al PIC cuando los relés crujieran rutee la placa con todos los truquillos que he ido aprendiendo con el tiempo (y gracias a vosotros, claro). Me dió por fastidiar un poco al sistema y le hice la siguiente prueba:

Conecte a cada uno de los 8 relés de la placa una carga inductiva. La prueba de fuego? Crujir todos los relés de forma simultanea. Resultado? Cuelgues, cuelgues y más cuelgues.

Por que? Lo hago todo como lo tengo que hacer!! No entiendo nada!!  :( :(

Bueno, tras unos minutos de meditación y frustración extrema me pongo manos a la obra y... quito todos los cables, cojo la placa y la amenazo diciendole que como no funcione la voy a tirar por la ventana del laboratorio. Tras una inspección visual y un intercambio de palabras con ella la vuelvo a conectar.

El resultado fué, cuanto menos, sorprendente. Funcionaba!! Pero... Por que?? No estoy tan loco (aún) como para imaginarme que mis amenazas habían surtido efecto.

Con la mosca detras de la oreja decido cambiar el programa y hacer que los relés crujan de manera distinta. Le engancho mi querido programador y mi amiga circuital se vuelve a quedar completamente K.O.

Siguiente prueba? Quitar el programador. Resultado? Funcionamiento perfecto. Pongo el programador, funciona mal. Lo quito, funciona bien. Esto lo repetí como unas 10 veces más o menos. Mi frustración se redujo un poco (sin el programador enganchado funcionaba de maravilla) pero, pasaba algo que no entendía y eso me mosqueaba.

Me dió por pensar que como el programador lo tenía encima de los cables de alimentación de la bombas peristálticas... que podía ser posible que el ruido de los encendidos se metiera en mi placa a traves del programador. Cambié la posición del programador y la cosa seguía igual, pero, me dió pié a pensar que el ruido se metía en mi placa por los pines de la programación ICSP.

Entonces me acordé de una cosa que me dijeron una vez en una charla (de Acal Iberia). Todos los pines del pic tienen diodos internos para protegerlos de subidas de tensión excepto el MCLR (por su carácterística de aguantar el voltage de programación). Esto hace de esta patilla que se trague todo el ruido habido y por haber.

Siguente prueba? Soldé un cable de unos 20cm. a modo de antena y lo soldé al MCLR.

Encendí mi sistema con el cable soldado al MCLR y el PIC se quedaba K.O. cuando crujian los relés. Si quitaba el cable todo iba bien.

 :mrgreen: :mrgreen: :mrgreen:

Ya sabía el problema, ahora sólo tenía que solucionarlo. Puesto que tenía dehabilitado el MCLR y por recomendación de los señores de Acal Iberia, resistencia a tierra de 1K y un condensador de 150 pF en paralelo con la resistencia.  :-)

He de decir que, aunque no pusiera la resistencia a tierra (si no había ningún cable en el MCLR) no se colgaba, pero, en la comunicación obtenía un ruido tremendo cada vez que crujían los relés. Con la resistencia la comunicación es limpia e inmaculada. Si el PIC pilla ruido por esta patilla incluso te varía los datos que saca por su UART (aunque a simple vista parece que no haya relación).

-RESUMEN-

Si desactivamos el MCLR tenemos que poner una resistencia de 1K a tierra y un condensador en paralelo a la resistencia de 150pF todo lo pegados a la patilla que podamos.  :mrgreen:


Un saludo desde Alicante.
Título: Re: Hablemos del Ruuuido
Publicado por: PICpegaso en 30 de Septiembre de 2007, 23:21:43
No es por nada pero este tema debería ser uno de los mas importantes del foro, el ruido cual sea su fuente es un problema de ingeniería muy pero muy importante y bastante complejo de resolver con innumerables implicaciones en cualquier tipo de sistema electrónico. Debo decir que el trabajo del compatriota palitroque es bastabte relevante una ves se requiera de una aplicación al mundo real que debe pasar por pruebas de robustez del tipo hechas por Redpic o incluso mucho mas rigurozas segun el caso.

Por mi parte debo tener en cuenta la consulta para realizar el diseño de una placa de adquisición de señales EMG (electromiográficas) requerida en la tesis de mi trabajo de grado, y es que en aplicaciones médicas las pruebas de robustez ante el ruido son bastante exigentes. Un saludo y seguro que estaré leyendo este link constantemente  :P
Título: Re: Hablemos del Ruuuido
Publicado por: Nocturno en 01 de Octubre de 2007, 02:08:15
Magnífica conclusión, Iván.
Yo suelo tirar del fuse NOMCLR así que me lo apunto. Supongo que si activamos MCLR con su correspondiente Pullup no es necesario, ¿verdad?
Título: Re: Hablemos del Ruuuido
Publicado por: Azicuetano en 01 de Octubre de 2007, 03:16:51
Poniendo el pullup a 5V núnca he detectado el problema. Lo que si que he leido muchas veces es que hay que poner la resistencia lo más cerca posible del pin.


Un saludo desde Alicante.
Título: Re: Hablemos del Ruuuido
Publicado por: RedPic en 01 de Octubre de 2007, 03:30:25
Muy, muy, muy interesante tu aporte, Iván. Parece que poco a poco y con experimentos de este tipo vamos conociendo en profundidad no sólo como funcionan los PIC sino qué tenemos que hacer para que funcionen bien. Muchas gracias.  :mrgreen:
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 01 de Octubre de 2007, 14:52:16
...
Olvidé decir que una gran fuente de ruido son los 230V de la alimentacion de los relés. Es decir, pistas por las que pasen 230V marginarla, Je, je. Lejos de planos de masa y de pistas de control. Todo lo alejada que el circuito impreso os permita. Suerte con el proyecto y ... Si Manolo se altera ya sabes ... Dale RON!! Je, je.

...

parece ser que los problemas de ruido ocurren a menudo usando alimentación bifásica ¿cierto?

Título: Re: Hablemos del Ruuuido
Publicado por: electronando en 07 de Abril de 2008, 22:54:59
palitroque pusistes q es valido llenar la memoria de programa no usado gon declaraciones del tipo goto $ , eso es en el caso de que se trabaje en asembler pero hice lo siguiente , tengo un programita en basic q produce una frecuencia menor a 200 hz , pero al activar un contactor , se loqueaba y me mandaba alta frecuencia no se cuanto pero era bien alta , hice esto :
como no puedo usar el watch dog por estar en uso el timer0 rellene lo q me sobraba de memoria con goto inicio , pues trabajo en basic y parece q se soluciono , por lo menos el programa regresaba a su normalidad , no se que tan bueno sea esto de  llenar la memoria de esta forma y si es diferente en asembler o en c o en basic derepente fue una suerte q me funcionara bueno queria comentar esto ya q el tema esta interessante :-/
Título: Re: Hablemos del Ruuuido
Publicado por: flacoclau en 08 de Abril de 2008, 12:33:23
Buen aporte, en caso de que algún ruido afecte el contador del micro este siempre retorna al inicio, es así?
Título: Re: Hablemos del Ruuuido
Publicado por: PalitroqueZ en 08 de Abril de 2008, 13:07:24
sería cuestión de revisar la documentació del basic, debe existir un comando que permita acceder a la rom-flash, es igual como cuando creas una constante.

Título: Re: Hablemos del Ruuuido
Publicado por: electronando en 08 de Abril de 2008, 23:53:22
Mi hipotesis era esta en basic goto inicio(es casi lo mismo que goto $ con unas dos sentencias mas o por alli) y tengo un programa q se activa al presionar un pulsador , sucede q al activar el contactor hacia como si el pulsador se hubiera presionado y me mandaba el mensaje de activado esatndo el pulsador intacto , se me vino la idea q la rutina de activacion esta alguito mas adelante osea habria que el contador de programa saltar unas direcciones par llegar alli , eso no era el problema tan fatal la cosa era q tb genero una frecuencia de 200hz pero en una de esas se loqueaba y me daba algo de 1000hz y se quedaba asi hasta q apagaba el micro y reiniciaba , entonces supuse q el ruido acelero al cristal y este se descontrolo y avanzo a direcciones del contador de programa que superaron el (end) del cual ya no pudo regresar amenos q tubiera un perro guardian el cual no podia usar como ya comente , entonces supuse el problema era q caiga en un lugar en donde no pueda regresar y creo haberlo slucionado llenando la flash restante asi:
goto inicio
goto inicio
goto inicio...
y voala hasta ahora no detecto ningun problema vere si encuentro uno y lo comento  :mrgreen:
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 09 de Abril de 2008, 09:44:43
Microchips recomienda llenar toda la memoria de programa restante con goto $ cuando se trabaja con el Perro Guardian. Para los que trabajan con el C, el goto $ es que el CP quede en esa línea. Doy un ejemplo:

          goto         $

Es lo mismo que:

loop    goto         loop

El CP quedará en esa línea hasta que el WDT haga un reset.

Es una muy buena idea la que acabas de comentar electronando, para cuando no se trabaja con el mismo.
Título: Re: Hablemos del Ruuuido
Publicado por: alogic.on en 09 de Abril de 2008, 17:07:05
hola
''  :shock: '' pero en basic o c habrá alguna rutina que rellene la memoria sobrante con goto´s pero en assembler, como hago eso sin tener que currarme 6 ó 7k de gotos a mano  :shock: :shock: me mareo solo de imaginarlo  :-) vamos aunque sea copiar pegar, creo haber leido en algun lugar que con poner goto 0x00 en la ultima linea de codigo decian ya bastaba pero....... yo ademas las añado al final de cada hueco de memoria libre asi salta antes de empezar una rutina

un saludo
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 09 de Abril de 2008, 17:29:17
No sirve poner en la última línea goto 0x00 ya que cuando ocurre un salto del programa no se sabe a dónde puede dirigirce, puede saltar al final de la memoria, como en el medio y etc, y si no coincide juesto con el goto 0x00, de nada sirve.

Entiendo que es encorroso o mucho trabajo completar la línea con el goto $, pero cuando se utiliza un PIC por algo será, no creo que se utilize un pic con 7 k de memoria y solo se utilize 1k.
Título: Re: Hablemos del Ruuuido
Publicado por: RICHI777 en 09 de Abril de 2008, 18:23:01
Hola, una pregunta y algunos tips que no se si se puedan implementar en este caso ya que no conozco la arquitectura ni el compilador.
Pregunta
A cuantos bytes se traduce la instrucción goto $ ? porque si es a mas de un byte estamos fritos !!!
Tips
El relleno de memoria, cuando la arquitectura lo soporte tambien puede hacerse de las sgtes maneras:

Para el llenado de la memoria se pueden utilizar estas 2 tecnicas entre otras:

Saludos !
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 09 de Abril de 2008, 19:02:14
Pregunta
A cuantos bytes se traduce la instrucción goto $ ? porque si es a mas de un byte estamos fritos !!!

No te entiendo a que te refieres exactamente.
Título: Re: Hablemos del Ruuuido
Publicado por: RICHI777 en 09 de Abril de 2008, 22:16:33
Hola, como sabran no soy usuario de MicroChip, en un micro FreeScale y muchos otros, una instrucción del tipo GOTO $, se traduce como BRA $ ( Inconditional branch ) se traduce en el opcode 20 FE es decir ocupa 2 bytes, se que un PIC el largo del Opcode depende de la famila ( PIC12, PIC16, etc ), simplemente lo que pregunte en que se traduce un GOTO $ .
Saludos !
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 09 de Abril de 2008, 23:07:43
Ummm, por como yo lo entiendo esta instrucción hace quedar al CP en la misma línea o misma pocición de memoria y de ahí no salga hasta que halla una interrupción (pero que no servirá porque volverá donde estaba) o cuando ocurre un reset.

Para hacerlo un poco más claro, supongamos que nuestro programa ocupa hasta la pocición de programa número 2233 y completamos las restantes con goto $ quedará así:

2234         goto    $
2235         goto    $
2236         goto    $
2237         goto    $
.....
.....
.....

y hay un ruido que afecta al CP y hace saltar al mismo a la pocición número 2236, el CP se encuentra con la intrucción goto $ por lo que quedará en la pocición de memoria número 2236, hasta, como ya mencioné antes, alla una reset.

No se si es esto lo que preguntas, ahora cuanto byte ocupa, pues 1 solo, ya que apunta a la misma dirección, no es que necesita ir a la pocición 2237 para ir a la 2236.
Título: Re: Hablemos del Ruuuido
Publicado por: RICHI777 en 10 de Abril de 2008, 10:53:37
Estimado Leon, entiendo "perfectamente" que significa el GOTO $ y para que se lo esta utilizando en este thread, lo que simplemente pregunte fue, cual es el valor hexadecimal en que se traduce la instrucción GOTO $, simplemente eso...
Gracias ...
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 10 de Abril de 2008, 11:59:41
Perdón,  perdón, richi, no es que te trataba de burro si no que no lograba entender lo que preguntabas.

GOTO $ corresponde al valor hexadecimal como 2A y los dos siguientes valores corresponde a la dirección a apuntar.
Título: Re: Hablemos del Ruuuido
Publicado por: RICHI777 en 10 de Abril de 2008, 13:17:15
Hola Leon, muchas gracias por el dato :), justamente lo que queria explicar era eso, como comente muchas veces no conozco para nada la arquitectura MicroChip, pero si te puedo comentar de otras...vamos al ejemplo:
Si mal no entendi no seria tan asi como esta puesto en el ejemplo, si vemos el dump de la memoria de ejecucion ( Por favor corriganme si escribo alguna burrada )
Supongamos que nuestro código termina en la dirección 00FF
Código: [Seleccionar]
00FF ... fin de nuestro código
0100 ... 2A 00 --> GOTO $
0102 ... 2A 00 --> GOTO $
Si por cualquier causa ajena el PC se corrompe y cae en dirreccione pares todo ok, el salto incondicional hace que actue el watch-dog y el micro se reseta, hasta aca todo barbaro, pero que pasa si el PC se corrompe y cae en la dirección 0101, en este caso habria que ver cual es el opcode que interpreta al decodificar 00 y que es lo que hace el micro despues y hasta resetearse por watch-dog.
Como comente antes, en otros micros se coloca directamente un opcode invalido o un trap o interrucpcion por soft ( SWI ) que solo ocupa un byte, sea cual sea la dirreccion del PC siempre la situación es maneja correctamente.
Saludos ! y espero haber sido claro.



Título: Re: Hablemos del Ruuuido
Publicado por: flacoclau en 10 de Abril de 2008, 14:14:21
Otra opción es colocar, creo que la memoria de programa viene así, NOP en todas las posiciones, cuando el PC desborda empieza nuevamente desde cero.
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 10 de Abril de 2008, 21:30:03
Richi, en la arquitectura de los PIC, cada palabra o instrucción ocupa una pocición de memoria, no lo hace en 2 pociciones, es por eso que si tiene 1K de memoria, puedes poner solo 1024 instrucciones, o si tiene 2K de memoria, puedes poner hasta 2048 instrucciones, obviamente.

En tu ejemplo, te falta la pocición de memoria 0101. Se que está echo a propósito. Digamos que al momento de cargar o quemar al PIC, modificamos el programa en el ICPROG y salteamos una pocición de memoria, vamos en tu caso la 0101, y ponemos una instrucción en la 0102, bien, si por alguna circunstancia, cae a la pocición de memoria 0101, el CP se encuentra con el valor 3FFF, que corresponde a la instrucción ADDLW 0xFF (3F = ADDLW y FF el valor mismo)

Tu ejemplo está mal:
Código: [Seleccionar]
00FF ... fin de nuestro código
0100 ... 2A 00 --> GOTO $
0102 ... 2A 00 --> GOTO $

En la pocición de memoria 0102 al poner la instrucción goto $ quedaría con el valor 2A02 y no 2A00, si en la pocición 0103 ponemos la instrucción goto  $ queda cargado con el valor 2A03 y así sucecivamente. Lo pongo con un ejemplo:

Código: [Seleccionar]
00FF .... fin de nuestro código
0100 ... 2A00 --> GOTO $
0101 ... 2A01 --> GOTO $
0102 ... 2A02 --> GOTO $
0103 ... 2A03 --> GOTO $
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 10 de Abril de 2008, 22:03:17
Otra opción es colocar, creo que la memoria de programa viene así, NOP en todas las posiciones, cuando el PC desborda empieza nuevamente desde cero.

Si llenamos la memoria de programa con NOP, lo que hace es nada, hasta llegar a la última pocición de memoria que empezará de nuevo. No se si es recomendable.



Algo que se me acaba de ocurrir para cuando no se trabaja con el WDT es llenar las pociciones de memoria de programa con la instrucción:

        GOTO      RUIDO

y colocamos la rutina RUIDO al principio de la pocición de memoria, digamos después del 05, de esta manera:

Código: [Seleccionar]

FALLA      EQU     0X30        ;La pocición 0x30 de la RAM, la llamamos FALLA
;
      ORG     0                      ;Aquí apunta cuando hay un reset
      GOTO   PRINCIPAL        ;Va al principio de nuestro programa
      ORG     4                      ;Aquí apunta cuando hay un interrupción
      GOTO   INTERRUPCIÓN  ;Va a la rutina de interrupción
;
RUIDO                                ;Atiende a la rutina de un ruido
       BSF     FALLA,0             ;Ponemos a 1 el bit 0 de la pocición de la RAM 0x30
       GOTO  PRINCIPAL         ;Va al principio de nuestro programa
;
INTERRUPCIÓN                    ;Rutina de la interrupción
       ......
       ......
       ......
;
PRINCIPAL                          ;Comienza nuestro programa.
       BTFSC   FALLA,0           ;Que el CP salte si el bit 0 de la pocición 0x30 de la RAM es 0
       GOTO    PROBLEMA       ;Es 1, hubo ruido
       ......                             ;Es 0, no hubo ruido
       ......
       ......
;
PROBLEMA                          ;Rutina por ruido
       .......                            ;Realizamos un aviso a nuestra medida.
       .......
       .....
;
       end

De esta manera si tuvimos ruido y el CP fue hasta una pocicón de memoria que no corresponde a nuestro programa, nos generará un aviso mediante un mensage en nuestro LCD, o por un LED y hacer el trabajo requerido para saber si hay errores o continuar desde se produjo un salto por ruido.

Un punto a aclarar es que el ruido puede hacer saltar al CP, justo en una intrucción de todo nuestro programa haciendo que el PIC, se comporte en forma errática. Mi idea es para cuando ocurre en las pociciones vacías.

Me gustaría algunas opiniones sobre mi idea.
Título: Re: Hablemos del Ruuuido
Publicado por: flacoclau en 11 de Abril de 2008, 01:03:06
Richi, en la arquitectura de los PIC, cada palabra o instrucción ocupa una pocición de memoria, no lo hace en 2 pociciones, es por eso que si tiene 1K de memoria, puedes poner solo 1024 instrucciones, o si tiene 2K de memoria, puedes poner hasta 2048 instrucciones, obviamente.

Otro dato Leo, es que desde la familia 18f las instrucciones ocupan entre dos y cuatro lugares de la memoria del programa, por lo que el PC cuenta de dos en dos, me parece haberlo leído en el datasheet pero recuerdo bien, que el bit menos significativo del PC no está implementado, por lo que no habría forma que el puntero quede en una posición impar, ojo tengo que buscar en el Datasheet.
saludos.
Título: Re: Hablemos del Ruuuido
Publicado por: Gonzalo_BlackHawk en 11 de Abril de 2008, 01:04:53
Hola a todos los combatientes fervorosos del ruido mediante ejercitos de unos y ceros  :D :D. He visto muchas ideas interesantes aqui, de las cuales he tomado algunas en conjuncion con un poco de creatividad para crear lo que hoy utilizo como un modelo de programa que hasta ahora ha soportado condiciones industriales que yo considero casi espantosas.

Lo que yo utilizo basicamente es el modelo de flags y checkpoints, expuesto en alguna ocasión por Azicuetano, que permite que el programa se ejecute en un orden totalmente predecible, he complicado un poco los checkpoints y los flags para hacer posible la ejecución de mis programas, pero si que el esfuerzo ha valido la pena. La verificación de estos marcadores de seguridad como yo les digo puede tener dos efectos cuando se detecta que el programa no esta haciendo lo correcto: uno es el reseteo completo del microcontrolador por un bucle que me termina reiniciando el WDT, que generalmente lo produzco para errores criticos o bien en la etapa de carga inicial donde no pierdo nada con volver a empezar de nuevo. El segundo es generar un reinicio rapido donde el programa se realinea con el ultimo paso que hizo correctamente y asi el programa continua en forma normal sin necesidad de sacrificar el proceso que estamos realizando, de tal forma si el error es solo un salto a una instruccion incorrecta el programa se ajusta solo y uno no se da cuenta de lo que ha ocurrido, salvo porque mantengo un registro en memoria de los errores que se producen. Otra herramienta fundamental es tener el WDT bien justo por si el programa salta a una dirección de memoria vacia. Por ultimo utilizo una función creada por mi (Antes usaba la función restart_cause() del CCS pero a mi parecer tiene ciertas incontingencias para detectar que tipo de arranque se habia producido) que me permite realizar una accion diferente de carga para cada tipo de arranque del PIC en cuestión.

Lamentablemente sin el WDT esto no funciona pero siempre me las he arreglado para dejar el TMR0 disponible para el WDT, creando temporizadores simultaneos para un mismo TIMER, ocupa memoria si, pero este sacrificio de bytes es minusculo y me deja el WDT disponible.
Creo que ustedes estan tratando de hilar mas fino en el asunto (realmente son toda una tropa de expertos en el asunto) y la verdad es que ahora no tengo mucho tiempo para poder colgar un programa y que vean como organizo el código, asi que no se si mi opinión les servirá de mucha ayuda. Además mis programas los realizo en C, no estoy muy instruido en el Assembler que creo que es la clave para lograr inmunidad casi absoluta al ruido.

Saludos a todos.
Título: Re: Hablemos del Ruuuido
Publicado por: RICHI777 en 11 de Abril de 2008, 10:28:07
Gracias Leon  por desasnarme un poco de la arquitectura :), y ahora entiendo mas, la situacion que plantee nunca pasaria con lo cual el GOTO $ tendria efectividad el 100 % de los casos.
Muchisimas gracias de nuevo !!!
Saludos !
Título: Re: Hablemos del Ruuuido
Publicado por: Leon Pic en 11 de Abril de 2008, 11:11:30
Richi, en la arquitectura de los PIC, cada palabra o instrucción ocupa una pocición de memoria, no lo hace en 2 pociciones, es por eso que si tiene 1K de memoria, puedes poner solo 1024 instrucciones, o si tiene 2K de memoria, puedes poner hasta 2048 instrucciones, obviamente.

Otro dato Leo, es que desde la familia 18f las instrucciones ocupan entre dos y cuatro lugares de la memoria del programa, por lo que el PC cuenta de dos en dos, me parece haberlo leído en el datasheet pero recuerdo bien, que el bit menos significativo del PC no está implementado, por lo que no habría forma que el puntero quede en una posición impar, ojo tengo que buscar en el Datasheet.
saludos.

Gracias por el dato Flaco. Quedó a la vista que núnca utilizé la familia 18F y este dato me viene al pelo, porque lo estoy por hacer.

Gracias Leon  por desasnarme un poco de la arquitectura :), y ahora entiendo mas, la situacion que plantee nunca pasaria con lo cual el GOTO $ tendria efectividad el 100 % de los casos.
Muchisimas gracias de nuevo !!!
Saludos !

De nada, y ademas yo también debo agradecerte ya que me obligaste a estudiar un poco más y aprendí cosas nuevas.

Gonzalo, muy buena idea de tu programa, voy aver si lo puedo empezar a implementar.
Si no puedes colgar el programa, ¿podrías poner un diagrama de flujo?, no al diagrama de flujo de tu programa, si no con otro ejemplo.
Título: Re: Hablemos del Ruuuido
Publicado por: Gonzalo_BlackHawk en 21 de Abril de 2008, 21:27:04
Hola a todos, viendo lo que estan intentando hacer, me parece una buena idea implementarlo en mis programas, el problema que me prohibe la aplicación de esta técnica es que tengo los programas en lenguaje C, mas especificamente el compilador CCS.

¿Hay alguna forma de llenar la memoria no utilizada con el GOTO $ en CCS?, he visto que existe la instrucción #Fill_ROM pero solo permite llenar la ROM, valga la redundancia, tengo entendido que no hay forma de hacer lo mismo en la Flash. Tambien he visto que el WinPic800 permite llenar los buffers pero no permite discrepar entre las posiciones de memoria utilizadas y las inutilizadas, por lo que habria que hacerlo todo en forma manual.

No sabia si crear un nuevo tema en el subforo de C, pero dada la tematica que aqui se toca, preferi exponerlo aqui. Se agradece cualquier ayuda jaja.

Un abrazo desde Argentina.
Título: Re: Hablemos del Ruuuido
Publicado por: alexcarrero en 29 de Junio de 2008, 13:39:06
hola a todos es muy importante todo lo que dicen  a mi en particula me aeta pasando algo que me tiene de cabeza este se el problema.

hice un programa para medir las RPM del motor de mi carro corsa el pic que utilice es el 16f84 y me funciona de maravilla pero ahora estoy utilizando el 16f88 y en la lcd me salen puras locuras yo estoy tomando la señal del sensor de posición del sigueñal de alli lo paso a un A.O lm358 y después lo paso por un transistor para llevarlo a TTL, algo note que al quitar la señal proveniente del sensor  en la entreda del lm358 el pic dejo de trabajar mal pero mequeda la lectura en 0 RPM por que no hay señal y cuando quito la señal pero en la entrada del pic me sigue trabajando mal  al parecer es ruido probeniente del sensor llaque este es un sensor inductivo que genera onda senosoidal.  pero lo que me tiene de cabeza es que con el 16f84 funciona bien pero con el 16f88 no
 si alguien me puede colaborar se lo gradecere 
Título: Re: Hablemos del Ruuuido
Publicado por: Slalen en 07 de Noviembre de 2008, 05:10:58
Buenas,

Palitroquez ha colgado el tutorial de este post en mi web.

Para el que quiera: http://slalen.iespana.es/index.php?option=com_content&task=view&id=45&Itemid=65
Título: Re: Hablemos del Ruido
Publicado por: cerebro en 23 de Agosto de 2010, 23:59:22
Tengo 3 amplificadores diferenciales que solo comparten alimentación digamos AO1, AO2 y AO3 cuando ingreso señal solo en uno por ejemplo solo en el AO1 la salida es perfecta a la entrada y si repetimos el proceso en los otros 2 el resultado es el mismo. Ahora bien si ingreso la señal en los 3 amplificadores a la vez, solo veo las salidas de AO1 y AO3 la salida de AO2 no se observa  :(. El AO2 se encuentra en la mitad de la placa y cuando pruebo ingresar señal solo por AO2 puedo observar interferencias causadas por las entradas de los otros AOs al punto llegar a perder la señal de salida del AO2. Ahora grave error mío no he colocado capacitores de desacoplo en el circuito  :5], puede ser que la causa de mi problema sea la falta de desacoplo de la fuente de cada integrado?, no he agregado directamente los capacitores sin preguntar porque significa destruir la prolijidad que me he tomado con dicha placa  :oops:.  Que sugieren, agrego o no agrego? que pruebas puedo realizar?.

Saludos!         
Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 24 de Agosto de 2010, 00:16:09
Seria bueno que subas imagenes,lo de los capacitores creo que ya son de ley por cada IC.

Saludos!
Título: Re: Hablemos del Ruido
Publicado por: cerebro en 24 de Agosto de 2010, 18:48:54
Hola AKENA lamentablemente no tengo a mano un video para describir el efecto que se produce... dejo unas fotos de la placa

Cara bottom (donde voy a tener que soldar los capacitores de desacoplo)

(http://img837.imageshack.us/img837/3531/1007181.th.jpg) (http://img837.imageshack.us/i/1007181.jpg/)

Cara Top

(http://img44.imageshack.us/img44/1701/1007182k.th.jpg) (http://img44.imageshack.us/i/1007182k.jpg/)

y esta es la función de un solo canal individual
Proyecto (http://www.todopic.com.ar/foros/index.php?topic=23256.msg259182#msg259182)

Gracias.
Saludos!
Título: Re: Hablemos del Ruido
Publicado por: PalitroqueZ en 25 de Agosto de 2010, 11:15:53
cerebro:

por lo que te he entendido es que tienes problemas con el integrado del medio de la placa ¿cierto?

intenta colocarle un condensador como te dicen, soldalo por el bottom de la placa, de manera que ambas patas del condensador queden en los pines de alimentación del amplificador.

Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 25 de Agosto de 2010, 13:26:04
Pues prueba con los capacitores, tambien pasale una cepillada a la placa , parece tener escoria de soldadura.

No veo muy bien pero parece que hay ligero contacto entre algunas pistas.No esta de sobra pasarle el cutter entre los espacios por si hay una pista invisible cortarla.

Saludos!
Título: Re: Hablemos del Ruido
Publicado por: juankah72 en 16 de Octubre de 2010, 17:20:33
Hola a todos.. He realizado una pequeña alarma para el auto con el pic 16f84a y me funciona muy bien en autos inyección pero he intentado montarla en autos a carburador y en el momento de encender el carro la alarma se resetea y me apaga el auto, o se enloquece o no funciona nada.
He leido el tema desde el principio y aún me cuestiono pues de electricidad de autos ...pocon pocon....y no sabría cuales son las fuentes que lo producen, la frecuencia de la señal de ruido o cómo saberlo.
He conseguido unas bobinas q usan para instalar en los equipos de audio de autos (disque para eliminar ruido), pero no me sirve de nada.... Y por software :?... pues después de que se apague el carro de qu vale preguntar si fue por un ruido o por una orden verdadera? ya apagado estaría :(

Si alguien sabe como corregir esto se lo agradezco.
Título: Re: Hablemos del Ruido
Publicado por: pelacable en 28 de Octubre de 2010, 16:14:45
Hola a todos.. He realizado una pequeña alarma para el auto con el pic 16f84a y me funciona muy bien en autos inyección pero he intentado montarla en autos a carburador y en el momento de encender el carro la alarma se resetea y me apaga el auto, o se enloquece o no funciona nada.
He leido el tema desde el principio y aún me cuestiono pues de electricidad de autos ...pocon pocon....y no sabría cuales son las fuentes que lo producen, la frecuencia de la señal de ruido o cómo saberlo.
He conseguido unas bobinas q usan para instalar en los equipos de audio de autos (disque para eliminar ruido), pero no me sirve de nada.... Y por software :?... pues después de que se apague el carro de qu vale preguntar si fue por un ruido o por una orden verdadera? ya apagado estaría :(

Si alguien sabe como corregir esto se lo agradezco.


Hola juankah72!

Te comento que yo tenía un vehiculo a nafta y gas, le puse un super equipo de control de gas con microprocesador y todos los chiches, decían que era lo mejor que existía en el mercado,
lo pagué carísimo porque pensé que ya se me acabarían los problemas con el uso del gas.
La cuestión fué que no funcionó nunca bien, falla tras falla, fueron pasando los días y no encontraban de donde venía.
La empresa que lo colocó no lo podía creer, hicieron de todo en el equipo para filtrar ruido y nada, (menos mal que era un control fabricado especialmente para autos) pero en el mio no andaba.

Chequearon toda mi instalacion eléctrica y no encontraron la causa.
Un día, sin querer, con el motor en marcha, pasé mi brazo cerca de los cables de las bujías y me dió tremenda descarga, entonces decidí cambiarlos.
Cuando los fuí a comprar el vendedor me dijo que convenía poner los cables que vienen ya preparados para que la radio no hiciera ruido......... no lo dudé y los compré.

Al otro día voví a la casa que me instaló la computadora para el gas y le mostré como funcionaba, no podían creer como se había arreglado sola, ya que ellos no lo pudieron hacer,
Les dije que lo había reparado yo, y que si querían saber que fué lo que hice que le pregunten a Pepe,  :D :D :D (Pepe fué el que me vendió los cables). :D :D :D

Con ésta pequeña anécdota, podrás darte cuenta que hasta un cable de encendido produce ruido, y ni hablar de la bocina o la bobina de encendido, que generan tensiones en contrafase superiores a 12000v.

Te recomiendo colocar un diodo a la entrada del micro (en la patilla que sensa los pulsos) como si lo hicieras con un relé entre ésta y masa seguido de un capacitor y un zenner limitando la tensión de entrada a 5 volts, luego otro capacitor que elimine el ruido producido por el corte del zenner cuando se supera el valor de éste.

Todo cable de bujía defectuoso produce ruido por descarga de un porcentaje de la tensión en el block del motor o partes de él, si los cables están resecos no lo dudes producen ruido.

Coloca un electrolítico en la entrada de la alimentación de por lo menos 4700uF, a veces se deben usar dos.... y cerámicos de .1uF 50v directamente sobre la soldadura del microcontrolador, (en la alimentación y la entrada de señal, entre éstos y masa)

Espero que te sirva, a mí sí me funcionó

Saludos!

Título: Re: Hablemos del Ruido
Publicado por: juankah72 en 28 de Octubre de 2010, 21:31:11


Hola Pelacable, mil gracias por tu aporte, creo que me servirá muchísimo para corregir el problema.
Hace bastante tiempo tuve una experiencia con unos transmisores RF en unos buses cuando trabajaba para una empresa.
Cuando se hacían transmisiones el receptor no aceptaba los datos, pues recibía demasiado ruido. Luego de mucho buscar,
y por casualidad se cambiaron los cables de alta (del distribuidor a las bujías), y santo remedio!!!!
Nos dijeron que los cables de carbono (creo que era el material), generaban ruido de RF muy alto.

Todo esto me sucedió hace tiempo pero creía que solo afectaba las transmisiones Radio pero no pensé que también afectara los pic... :?

Haré también lo que mencionas de los condensadores y diodos para ver como me va... espero que muy bien.
Gracias de nuevo.



Hola a todos.. He realizado una pequeña alarma para el auto con el pic 16f84a y me funciona muy bien en autos inyección pero he intentado montarla en autos a carburador y en el momento de encender el carro la alarma se resetea y me apaga el auto, o se enloquece o no funciona nada.
He leido el tema desde el principio y aún me cuestiono pues de electricidad de autos ...pocon pocon....y no sabría cuales son las fuentes que lo producen, la frecuencia de la señal de ruido o cómo saberlo.
He conseguido unas bobinas q usan para instalar en los equipos de audio de autos (disque para eliminar ruido), pero no me sirve de nada.... Y por software :?... pues después de que se apague el carro de qu vale preguntar si fue por un ruido o por una orden verdadera? ya apagado estaría :(

Si alguien sabe como corregir esto se lo agradezco.


Hola juankah72!

Te comento que yo tenía un vehiculo a nafta y gas, le puse un super equipo de control de gas con microprocesador y todos los chiches, decían que era lo mejor que existía en el mercado,
lo pagué carísimo porque pensé que ya se me acabarían los problemas con el uso del gas.
La cuestión fué que no funcionó nunca bien, falla tras falla, fueron pasando los días y no encontraban de donde venía.
La empresa que lo colocó no lo podía creer, hicieron de todo en el equipo para filtrar ruido y nada, (menos mal que era un control fabricado especialmente para autos) pero en el mio no andaba.

Chequearon toda mi instalacion eléctrica y no encontraron la causa.
Un día, sin querer, con el motor en marcha, pasé mi brazo cerca de los cables de las bujías y me dió tremenda descarga, entonces decidí cambiarlos.
Cuando los fuí a comprar el vendedor me dijo que convenía poner los cables que vienen ya preparados para que la radio no hiciera ruido......... no lo dudé y los compré.

Al otro día voví a la casa que me instaló la computadora para el gas y le mostré como funcionaba, no podían creer como se había arreglado sola, ya que ellos no lo pudieron hacer,
Les dije que lo había reparado yo, y que si querían saber que fué lo que hice que le pregunten a Pepe,  :D :D :D (Pepe fué el que me vendió los cables). :D :D :D

Con ésta pequeña anécdota, podrás darte cuenta que hasta un cable de encendido produce ruido, y ni hablar de la bocina o la bobina de encendido, que generan tensiones en contrafase superiores a 12000v.

Te recomiendo colocar un diodo a la entrada del micro (en la patilla que sensa los pulsos) como si lo hicieras con un relé entre ésta y masa seguido de un capacitor y un zenner limitando la tensión de entrada a 5 volts, luego otro capacitor que elimine el ruido producido por el corte del zenner cuando se supera el valor de éste.

Todo cable de bujía defectuoso produce ruido por descarga de un porcentaje de la tensión en el block del motor o partes de él, si los cables están resecos no lo dudes producen ruido.

Coloca un electrolítico en la entrada de la alimentación de por lo menos 4700uF, a veces se deben usar dos.... y cerámicos de .1uF 50v directamente sobre la soldadura del microcontrolador, (en la alimentación y la entrada de señal, entre éstos y masa)

Espero que te sirva, a mí sí me funcionó

Saludos!


Título: Re: Hablemos del Ruuuido
Publicado por: LOCOdsPIC en 18 de Noviembre de 2010, 10:45:11
Hola Amigo,está interesante el tema éste de masa a tierra y queria comentarte de un problema sumamente raro,y es que estoy haciendome un entrenador para PIC18F452 con grabador incluido en la misma tarjeta,el grabador que he montado es el de GTP-USB Summer 2005,estoy siguiendo al pie de letra los esuqemas del diseño de su creador pero me va mal,y es que graba cuando rozo con mi dedo la pista,soldadura,etc,que hace contacto con la linea que une el pin Vpp del grabador con el pin #MCLR del PIC,y si no hago esto,pues no puedo grabar,he repaso todas las soldaduras,probado continuidad,verificando el cable conector cuando quiero trabajar en modo grabación..y todo anda bien...lo único que diferencia el diseño que he realizado con los que se mencionan en este foro y de un grabador que me presto un amigo es que he puesto masa a tierra en toda la placa,en top y botton sin criterio alguno mas que de estética,las tierras estan unidas por cierto por 3 pads,creo que el problema es ese,pero quisera saber la opinion de alguien que parece,ya inverstigó del tema.

Estaré atento a tu respuesta

Gracias
Título: Re: Hablemos del Ruido
Publicado por: Slalen en 18 de Noviembre de 2010, 11:35:29
prueba a cambiar el zócalo del pic
Título: Re: Hablemos del Ruido
Publicado por: pablolode en 18 de Noviembre de 2010, 13:59:32
tengo dudas acerca del calculo para  seleccionar valor de bobinas que usaria para separar el circuito de logica y driver tal como muestra el diagrama del compañero charly29 ,mi circuito consta de un pic que controla 4 reles
(http://)
Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 18 de Noviembre de 2010, 14:19:11
Con la formula de filtro pasa bajos LC.

una calculadora (http://ampbooks.com/home/amplifier-calculators/LC-ripple-filter/LC-lowpass.gif) (http://ampbooks.com/home/amplifier-calculators/LC-ripple-filter/)

Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 24 de Septiembre de 2011, 20:01:20
wenas maestros del ruido  :lol: tenia una duda, quiero hacer un circuito el cual una señal va hacia otro circuito simple, la distancia entre circuitos sera de 2m o asi, el cable puede pasar cerca de distintas fuentes de ruido, como motores, bobinas...

Unicamente es un circuito el cual el pic le envia una señal para activar/desactivar un mosfet. Os pongo el circuito, la parte de la derecha seria la placa 1 y la izquierda la placa2, donde esta el cable azul sera el cable que ira externamente de una placa a otra.

(http://img822.imageshack.us/img822/2729/asdmsx.th.png) (http://imageshack.us/photo/my-images/822/asdmsx.png/)

Tendre algun problema?? Por el cable iran aproximadamente 14mA, y el voltaje varia de +0,1V a +13V, es una señal PWM de 60hz como mucho, pero no es critico.
Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 24 de Septiembre de 2011, 22:14:09
Se recomienda que la señal del gate sea lo más corta posible ya que esa pista o cablecito puede actuar como una bobina,nada bueno.

No se si entendi bien , 2metros de longitd seria el cable , osea , ¿lo que esta marcado de color azul ?
Es muy larga! no lo recomiendo para nada!

Saludos!
Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 25 de Septiembre de 2011, 10:37:40
entonces como lo podria solucionar? tendria que dejar el mosfet en la placa 1 y llevar unicamente el cable de alimentacion al dispositivo?? Es decir, poner la fuente del mosfet a +13V y luego el drain llevarlo al dispositivo a encender??

De esta forma lo queria hacer para ahorrar cable, aqui solo usaba 1 cable, y si dejo todo en la placa necesitaria poner un cable de ida y otro de vuelta.
Título: Re: Hablemos del Ruido
Publicado por: Slalen en 25 de Septiembre de 2011, 14:22:20
es mejor la segunda opción que das, aunque no te ahorres un cable.

En la primera, como dice AKENAFAB vas a tener muchos problemas
Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 25 de Septiembre de 2011, 14:44:45
pues nada, lo tendre que hacer asi, era unicamente para evitar mas lios de cables xD
Título: Re: Hablemos del Ruido
Publicado por: Slalen en 25 de Septiembre de 2011, 15:10:33
usa un cable trenzado y apantallado, para evitar ruidos
Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 25 de Septiembre de 2011, 15:26:15
no creo que eso sea necesario, mas que nada porque el mismo dispositivo tiene su cable el cual hace un buen recorrido y no esta ni apantallado ni nada, yo lo unico que quiero hacer es ponerle un sistema de "conmutacion" on/off.

originalmente va asi:

+12Vbateria->dispositivo->unidad control(gnd)

y yo lo quiero poner asi:
+12Vbateria->conmutador(mosfet)->dispositivo->unidad control(gnd).
Título: Re: Hablemos del Ruido
Publicado por: pablolode en 08 de Noviembre de 2011, 17:37:34
he visto este  choque en modo comun ,SUPRESSOR TOROIDAL 1MHY 1A LFV129-102U  http://www.3lcoil.com/3l/upfile/lfu%28t%29.pdf ,tiene algun sentido colocarlo a la salida de la fuente 12v de continua??

Título: Re: Hablemos del Ruido
Publicado por: pablolode en 24 de Noviembre de 2011, 12:25:00
no tiene sentido ya que para el ruido en modo comun nesesita 3 hilos, linea ,neutro y tierra, y al ser de continua (2 hilos) ese ruido sera diferencial.
Título: Re: Hablemos del Ruido
Publicado por: Marioguillote en 24 de Noviembre de 2011, 12:52:40
no tiene sentido ya que para el ruido en modo comun nesesita 3 hilos, linea ,neutro y tierra, y al ser de continua (2 hilos) ese ruido sera diferencial.

Podrías explicar mejor este concepto? Gracias

Saludos!
Mario
Título: Re: Hablemos del Ruido
Publicado por: pablolode en 24 de Noviembre de 2011, 13:32:56
 estube viendo varias notas de una empresa de ups y protecciones electricas
, esta es una de sus notas http://www.c-mos.com/pdfsproductos/ECNPV_004.pdf
en la que explica algo de  ruidos en modo comun y normal


Título: Re: Hablemos del Ruido
Publicado por: Marioguillote en 24 de Noviembre de 2011, 21:20:05
bien
Título: Re: Hablemos del Ruido
Publicado por: LuNaTk en 08 de Diciembre de 2011, 16:33:43
Hola compañeros, les contare mis experiencias en la lucha con el verdugo de un proyecto que tengo jja, el ruido!!!!

El proyecto esta montado en un chasis metalico en forma de cuadro.

El proyecto activa varias cargas de corriente alterna de 127 VAC de alimentacion especificamente un Hopper(motor) que consume alrrededor de 3 amp, un generador de ozono que consume 2 amp y una lampara de luz UV la cual consume 2 amp, tambien dos valvulas selenoides de 24 VAC de 1 amp. Bien el circuito lleva aislada la parte de potencia (CA) de la parte de control mediante optoacopladores con salida a triac, fisicamente la PCB tambien tengo este aislamiento.

El circuito de control lleva  asu vez 4 botones de configuracion que van conectados a la parte frontal de la maquina, un LCD 16x2 lineas, y un validador de monedas con interfaz paralela de datos.

Utilizo un micro 18F4620 corriendo a 4Mhz, el programa esta hecho en CCS.

El programa se cuelga mandando caracteres raros en el LCD cuando activo las valvulas selenoides (no siempre) y cuando activo el motor.

Utilizo un transformador de 24 vca 2 Amperes con derivacion central para la fuente con un puente completo usando la derivacion (2 diodos) pero estoy usando el mismo transformador para alimentar las selenoides, no se si esto me afecte demasiado, puesto que tambien las eh alimentado de forma externa y me da el mismo problema.

Fisicamente las selenoides estan fuera del chasis, Solo el motos esta dentro que es el encargado de dar el cambio.

Les adjunto la PCB, el ruteo es manual yo lo hize quiza este cometiendo algun error de diseño, aunque considero que no.

El programa activa las valvulas por un tiempo configurable. dependiento de la seleccion del usuario mediante los botones.

Manejo interrupcion de Timer1 para controlar el tiempo el cual las valvulas permanecen encendidas, y manejo interrupcion del puerto B para el manejo de los botones.

Ahora la falla no se presenta siempre es aleatoria pero es cuando se activan los selenoides ó el motor. Quisiera saber si el problema se podria solucionar con la implementacion de checkpoints, porque el problema es que al manejar dinero no puedo reiniciar el sistema usando WDT solamente debido a que necesito recuperar el estado de funcionamiento y mas aun el tiempo que llevaba contado y continuar desde ahi.

Espero algun consejo, ya eh intentado aterrizando el transformador a la tierra fisica, aterrizando a tierra fisica la tierra de la tarjeta (tierra digital) y nada, moviendo de lugar la placa alejandola del motor, pero me sigue presentando la falla.

Tambien eh notado que ammm si no conecto el LCD a la tarjeta la tarjeta no inicaliza, se queda esperando la inicializacion del LCD no se si esto sea normal ó tengo algo mal configurado con el LCD, de aqui me surge la idea de que el LCD podria estar siendo el que se cuelgue originalmente (por los caracteres raros) y que de ahi el pic se quede esperando una respuesta, la cual no recibe.

Thanks in advance!!!

Victor.
Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 08 de Diciembre de 2011, 22:26:35
Sube el esquemático!
Título: Re: Hablemos del Ruido
Publicado por: MGLSOFT en 08 de Diciembre de 2011, 23:01:26
Citar
Tambien eh notado que ammm si no conecto el LCD a la tarjeta la tarjeta no inicaliza, se queda esperando la inicializacion del LCD no se si esto sea normal ó tengo algo mal configurado con el LCD, de aqui me surge la idea de que el LCD podria estar siendo el que se cuelgue originalmente (por los caracteres raros) y que de ahi el pic se quede esperando una respuesta, la cual no recibe.

Las librerias de CCS estan hechas para utiliar el pin R/W, realizando una lectura del bit de busy cada vez que se escribe en el display, de esa forma optimizas los tiempos y se adapta tu circuito a diferentes temperaturas de trabajo, pero esto genera dos problemas:

De ambos problemas, el mayor es el segundo, porque una vez que ocurre el micro debe resetearse.
Si tu placa no tiene soldado el display directamente, seguramente llevas un cable plano hasta el display, en ese caso deberas envolver el cable con papel aluminio u otro, apantallandolo, o comprar cable apantallado plano o buscar una opcion similar.

En el pcb, deberas hacer que tus hilos de datos y señales esten lo mas aislados posibles de los que manejan cargas y ademas sean lo mas cortos posibles tambien.
Título: Re: Hablemos del Ruido
Publicado por: LuNaTk en 09 de Diciembre de 2011, 15:06:35
Citar
Las librerias de CCS estan hechas para utiliar el pin R/W, realizando una lectura del bit de busy cada vez que se escribe en el display, de esa forma optimizas los tiempos y se adapta tu circuito a diferentes temperaturas de trabajo

0.0 no tenia idea que tenia que ver con la temperatura de trabajo, entiendo que al momento de mandar a imprimir datos al LCD se verifica si este esta ocupado antes de mandar el siguiente caracter, pero hay alguna manera de mandar los caracteres "al vuelo" sin tener que confirmar o esperar al LCD???

Hay alguna manera de mejorar el hardware contra el ruido?

Sube el esquemático!

Ya lo he puesto, es a grandes rasgos como esta conectado, solo excluyo la parte de potencia porque finalmente esta aislada, acoto hasta los optoacopladores.
Título: Re: Hablemos del Ruido
Publicado por: MGLSOFT en 09 de Diciembre de 2011, 17:46:02
Por aqui en el foro anda una libreria que tiene la posibilidad de no utilizar el pin R/W, haciendo una temporizacion despues de cada escritura.
eso si, si tu aplicacion es comercial te lees la temperatura minima de trabajo de tu lcd y lo haces trabajar unas horas en ese rango de temperatura, de modo que la temporizacion justa para siempre recibir el dato sea la correcta.
Busca flex-lcd, que es el nombre de esa libreria.
Para no usar el pin R/W creo que comentas o descomentas un #define.
Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 09 de Diciembre de 2011, 18:33:16
usar el R/W es lento, lo mas sencillo es crear un buffer de RAM en el pic, editar este buffer para añadir/borrar pixeles, y luego volcar todo el buffer al glcd sin necesidad de hacer una lectura.
Título: Re: Hablemos del Ruido
Publicado por: MGLSOFT en 09 de Diciembre de 2011, 22:07:56
Merlinz, es un lcd lo que tiene, no un glcd.
Título: Re: Hablemos del Ruido
Publicado por: MerLiNz en 09 de Diciembre de 2011, 22:38:32
creo que tambien se puede hacer lo mismo no? Aunque sera un buffer mas pequeño, el R se utiliza para leer de la LCD, si en vez de tener que estar leyendo/escribiendo para no pisar datos anteriores se utiliza la ram y se envia todo junto sin necesidad de tener que leer. Por lo menos lo que yo recuerdo del unico lcd que use es esto, que se escribian datos en la ram del lcd, pero hace mucho de eso, no se si me equivoco.
Título: Re: Hablemos del Ruido
Publicado por: MGLSOFT en 09 de Diciembre de 2011, 23:29:47
Si que se escribe en la ram, pero el lcd no tiene buffer interno, por lo tanto siempre hay que enviarle el nuevo dato para que se actualize, o sea es obligatorio tener los mensajes en el PIC...
Título: Re: Hablemos del Ruido
Publicado por: AKENAFAB en 10 de Diciembre de 2011, 00:56:15
Prueba la liberia que te comenta MGLSOFT , RW lo mandas a gnd.

Veo que si tienes el capacitor de bypass , en mis circuitos uso dos , uno de 0.1uF y 0.01uF , con uno solo basta pero no hay rollo con pegarle otro.

He trabajado con ese pic y lcd en ambiente ruidoso(industrial) sin problemas.
Yo creo que se arregla con lo de la libreria.
Título: Re: Hablemos del Ruido
Publicado por: LuNaTk en 02 de Enero de 2012, 16:23:32
Segui algunos de los consejos que me aportaron, utilize la libreria flex_lcd.c para el manejo del display, rediseñe la PCB dejando un plano de tierra solo para el control (dc) y a la parte de potencia se lo quite, coloque algunos diodos a las salidas de sensores (switch), utilize bypass con 100n y 10n de Tantalio, ya no le meti ceramicos, e implemente WDT con Checkpoints y hasta ahora no me ha fallado de nuevo... sigo haciendo pruebas para determinar si la solucion se obtuvo con el resideño al 100% ó si los checkpoints estan trabajando... esto mediante auditorias ya que tengo una auditoria de reinicios diferenciando entre reinicio por alimentacion ó por WDT.

Espero poder subir unas fotos de como quedo la placa.

Saludos, buen inicio de año.
Título: Re: Hablemos del Ruido
Publicado por: fabianjsm en 23 de Marzo de 2012, 20:47:03
Que gran trabajo PalitroqueZ!!!
Felicitaciones... y gracias!
Título: Re: Hablemos del Ruuuido
Publicado por: jamesoro en 25 de Marzo de 2019, 13:29:57
Yo también en su día aporté este documento:

http://www.4shared.com/file/17980580/819aee8f/El_diseo_de_las_tarjetas_de_CI_y_ruido_SMI.html

Un saludo



excelente articulo, gracias por el aporte