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

Temas similares

31/07/2014 #1


Primer Proyecto en pic. optoacoplador para interruptor externo al pcb?
Buenas, me estoy iniciando en esto de los pic, como objetivo tengo elaborar un tele-mando de vehículo con un pic 16f628a o 18f2550 ya que estos tengo a mi alcance.

El circuito lo encuentro bastante simple en mi mente me parece tener la idea clara.
seria un interruptor para cada circuito de luces, Altas, Bajas, Intermitentes, posiciones, y altas permanentes si baja se encuentra activado.
y como salidas utilizare reles de 5v que cortan el negativo de cada circuito.

Ahora viene mi duda, encontré un esquema de un plc con pic. que se asemejas bastante a lo que necesito. pero me doy cuenta que este esquema para las entradas utiliza opto-acopladores lo cual me llevo a cuestionarme si utilizarlos o no ya que mi interruptor de entrada estará a unos 25cm del pcb. tal vez sea bueno utilizar opto acoplador o no?

Dejo el diagrama que encontré para que se entienda mejor lo que explico. agradecería me dijeran ventajas y desventajas de utilizar opto-acoplador. un punto importante es eliminar el efecto rebote ya que la velocidad de encendido y apagado cuando el conductor realiza cambio de luces constantemente es algo rápido.

De antemano muchísimas Gracias.

...
31/07/2014 #2

Avatar de Scooter

No entiendo para que usas operacionales si va directamente con la salida del pic y mas que de sobra.
No tiene sentido poner una resistencia de 390 ohm a negativo y luego en la base una de 5k6. Si el pic puede con la de 390 mucho mas podrá con la de 5k6.
Tampoco entiendo mucho el circuito de entrada, con una sola resistencia y el optoacoplador vale, puedes usar la resistencia interna de pullup del pic.
Vamos que yo lo haría con un tercio de componentes o menos.

Además tal y como está configuradas las entradas es totalmente absurdo, si pones un optoacoplador y usas la misma fuente no haces nada en absoluto, para eso no pongas optoacoplador.
El optoacoplador lo que hace es aislar el circuito de entrada del de la lógica, la idea aes que en caso de accidente, y que la entrada se conecte por ejemplo a 1000V se queme el circuito de entrad apero no el de la lógica que es mas caro (se supone) si es un solo circuito no hacemos nada.
También podría eliminar ruidos eléctricos siendo otro circuito, siendo el mismo no.
31/07/2014 #3


Mis disculpas creo que me mal explique, ese es un esquema que encontré por hay que asimila a lo que pretendo lograr en mi proyecto pero no es el esquema que utilizare, el punto de conflicto que tengo es saber si me convendría utilizar opto-acoplador o no.
haber si logro explicarme mejor :s..

Haber si con una imagen me explico mejor, El conexionado de la imagen esta mal y faltan componentes eso lo tengo claro. Mi duda es si me convendría utilizar o no opto-acoplador para mi caso al tener lejos del pcb el pulsador, el tema ruidos o malas lecturas es el que me preocupa. todo se alimenta de la misma fuente.



Nuevamente mis disculpas por el tiempo que le pude haber hecho perder por haberme explicado mal :( y gracias por darse el tiempo en responder.
31/07/2014 #4

Avatar de TRILO-BYTE

hijoles que piensas hacer
¿mover motores de licuadora o piezas de un coche real?

se me hace mucho circuito para mover unas luces

para lo del antirebote pues yo usaria solo un push botton sin mas ni mas
como dicen ya estan las resistencias pull up solo activalas y el antirrebote sale con software

no se que lenguaje usas supongo que es C de CCS
si me dices que es lenguaje C te paso mi algoritmo antirrebote

piensa bien tu circuito si es para mover luces basta y sobra con el transistor y el relè
el 2n2222 es la vercion de metal la vercion varata es la To-92 es el PN2222 igual el bc547 te sirve y el 2N3904 tambien solo lo mandas a saturacion y ya!

se me hacemuy inecesario el lm324 y los optoacopladores
01/08/2014 #5


la idea del optoacoplador es para la parte del pulsador por la distancia del mismo, mediante ese pulso activare o desactivare la luces altas bajas, eh intermitentes, pretendía hacer un circuito mas básico pero como no pude lograr el accionar altas solo si bajas están prendidas. termine en pic xD.

El Esquema grande del primer post es casi lo que are pero con menos componentes.

Salida pic --> R--> transistor--> rele y diodo
Entrada pic opto o pulsador con resistencia y condensador para el antirrebote.(mi duda es saber si me conviene o no utilizar optoacoplador ya que el pulsador estará lejos de la placa.)

Estoy programando en ccs ya que fue el lenguaje en el que se basa un muy buen videotutorial xD..

Gracias por la respuesta y consejos serán considerados .. saludos.

PDT: lo olvidaba, si es para instalarlo en una citroen parten realizando una instalacion independiente para todo lo que es luces pero utilizando el tele-mando sin su electrónica ya que la parte de luces esta mala.(es multiplexado :s franceses xD). (costo del mismo 800usd aproximados.) pic reles y cableado máximo unos 80USD. y el aprendizaje con pic en el camino INVALUABLE
01/08/2014 #6

Avatar de TRILO-BYTE

orale pues no
el antirrebote se soluciona por software
asi se gasta menos material nadams por que no se donde anda mi laptop pero el antirrebote se soluciona con un simple if
la idea es que dentro del main pregunte si el boton se apreto
si se apreto lo pasas por ya apretado

algo asi


char boton;

void soltar()
{
if (input(pin_B2))
boton=0;
}

void main()
{
.
.
.
soltar();

if((!input(pin_B2))&&(!boton)) ////chekeamos si se pulso la tecla y si ha sido soltada
{
boton = 1; ///indicamos que se ha predionado la tecla
//lo que debemos hacer
}

}


algo asi este codigo puede ser pulido aun mas con una interrupcion pero medio funciona no es muy eficiente pero para algo sencillo trabaja mediandamente bien
01/08/2014 #7


Si lo que quieres es que no haya rebote es mas simple usando un while por ejemplo.

if(input(pin_b2)==1){//depende del tipo de resistencia que uses pulll up o pull down
//lo que se quiere hacer.
while(input(pin_b2)==1);
}
con eso basta y te ahorras hardware.
01/08/2014 #8


wooo... genial lo probare ... gracias por el tiempo nvertido en responder . Finalmente igual quedo con la duda respecto al opto xD... veré como me va con el código sugerido nuevamente gracias
01/08/2014 #9


hacktek dijo: Ver Mensaje
wooo... genial lo probare ... gracias por el tiempo nvertido en responder . Finalmente igual quedo con la duda respecto al opto xD... veré como me va con el código sugerido nuevamente gracias
las ventajas del opto ya las puso scooter.

Scooter dijo: Ver Mensaje

Además tal y como está configuradas las entradas es totalmente absurdo, si pones un optoacoplador y usas la misma fuente no haces nada en absoluto, para eso no pongas optoacoplador.
El optoacoplador lo que hace es aislar el circuito de entrada del de la lógica, la idea aes que en caso de accidente, y que la entrada se conecte por ejemplo a 1000V se queme el circuito de entrad apero no el de la lógica que es mas caro (se supone) si es un solo circuito no hacemos nada.
También podría eliminar ruidos eléctricos siendo otro circuito, siendo el mismo no.
con las resistencias de pull up bastaría y correcciones por software para el rebote..
01/08/2014 #10

Avatar de Scooter

Hay alguna ventaja adicional; si tienes que conectar a un circuito desconocido con un opto es mas fácil pillar si el pulso es masa-aire positivo-aire positivo-negativo o como sea, tienes mas libertad al no tener masas comunes
01/08/2014 #11

Avatar de TRILO-BYTE

el problema de poner un delay o un while
es que atoras el micro hasta que deja de rebotar el boton el ejemplo que puse esta probado medio funciona por que no es un super codigo.

pero funciona sin trabar el micro

esto es notable cuando tienes un display o generas tonos con el micro cuando aprietas el boton se ve notablemente lento , el codigo que puse no alenta el micro habara quienes salgan rasguñando y jalandose los pelos que lo que pongo es sustituible con el while
solo es cuestion de probar y comparar
01/08/2014 #12

Avatar de el-rey-julien

hacktek dijo: Ver Mensaje
Mis disculpas creo que me mal explique, ese es un esquema que encontré por hay que asimila a lo que pretendo lograr en mi proyecto pero no es el esquema que utilizare, el punto de conflicto que tengo es saber si me convendría utilizar opto-acoplador o no.
haber si logro explicarme mejor :s..

Haber si con una imagen me explico mejor, El conexionado de la imagen esta mal y faltan componentes eso lo tengo claro. Mi duda es si me convendría utilizar o no opto-acoplador para mi caso al tener lejos del pcb el pulsador, el tema ruidos o malas lecturas es el que me preocupa. todo se alimenta de la misma fuente.

http://oi59.tinypic.com/9sxxue.jpg

Nuevamente mis disculpas por el tiempo que le pude haber hecho perder por haberme explicado mal :( y gracias por darse el tiempo en responder.


le falta agregar un capacitor de 100nf en paralelo a la resistencias ,es bueno para las interferencias que el cable pueda llegar a tener
01/08/2014 #13


TRILO-BYTE dijo: Ver Mensaje
el problema de poner un delay o un while
es que atoras el micro hasta que deja de rebotar el boton el ejemplo que puse esta probado medio funciona por que no es un super codigo.

pero funciona sin trabar el micro

esto es notable cuando tienes un display o generas tonos con el micro cuando aprietas el boton se ve notablemente lento , el codigo que puse no alenta el micro habara quienes salgan rasguñando y jalandose los pelos que lo que pongo es sustituible con el while
solo es cuestion de probar y comparar

pero que pasa si dentro de la función del if tiene un delay de varios segundos?? la comparación no se hará hasta que ese tiempo se cumpla y de igual forma el micro se traba, para mi es igual solo que con el while es menos código pero en fin es cuestión de gustos
01/08/2014 #14

Avatar de TRILO-BYTE

la idea no es usar delays
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.