# Problema con Cny70... solo detecta una vez.



## chess98 (May 29, 2012)

primero, Hola, 
soy estudiante de bachillerato tecnologico y estoy 
haciendo un proyecto de un sigue lineas en el cual uso los sensores CNY70
conectados a un trigger schmitch CD40106BCN, pero, resulta que al encender el Cto y 
mantener los sensores en la posicion Blanco, funciona bien... lo cambio a negro, 
y resive la Señal, pero al devolverlo a blanco, Ya no se acciona... no es el programa, puesto que al hacer unas conecciones por medio de cables, donde se supone que van los fototransistores y funciona perfectamente... Las R de los fototransistores son de 10K, las cambie a 13K y 7K... y lo unico que paso fue que ya no me resivia nada, ni al inicio... no se la vdd cual sea el problema... por cierto las baterias que estoy usando son 4 AA de 1.2v y 2450mhA (me dan 5.2V)
alguna idea de cual puede ser el problema? anexo las imagenes de los Ctos que use...


----------



## elprofetellez (May 29, 2012)

Por supuesto ya sabes que la pieza que dice PIC16F84A se tiene que cargar con un programa, verdad?. 

Por cierto, en uno pones el 84A y en el otro diagrama, MUY diferente, pones el 628A, decídete.

Bueno, sube ese programa para checarlo y veremos.


----------



## chess98 (May 30, 2012)

Segun tengo entendido, el Pic16F84A y el Pic16F628A son casi lo mismo con excepcion del oscilador interno del 628a que me elimina la necesidad de usar un Cristal... Si, es muy diferente el otro por que en el que esta en una hoja que es de un libro, fue del que me base para hacer el segundo, hecho en proteus, y de ahi a Ares... por lo del programa creo que no es el problema... lo unico que no se por que no sirve vendria siendo la funcionalidad de los sensores... alguna idea? igual cuando pueda subire el programa, puesto que no estoy en la pc que uso regularmente para programar... Gracias de antemano


----------



## elprofetellez (May 30, 2012)

no es lo mismo. y en caso del programa, le hiciste los cambios para utilizar el oscilador interno y el reset en la configuración o solo cargaste el mismo programa del 84A en el 628A?.

no revise bien tu sengundo diagrama que dices utilizaste real, mas tarde lo veo y comento si hay algo.

mientras alguien más seguro lo verá.


----------



## chess98 (May 30, 2012)

No, el programa lo realice yo mismo para utilizar el Oscilador interno y el Reset como I/O... aunque no lo tengo utilizado...  Anexo el Programa... los programo en microcode Studio, en Basic supongo...
@ DEVICE PIC16F628A
@ DEVICE INTRC_OSC_NOCLKOUT,PROTECT_OFF, WDT_ON,PWRT_OFF,MCLR_OFF, BOD_OFF,LVP_OFF, CPD_OFF
Cmcon = 7
Trisb = 0

Sensor1 var porta.0
Sensor2 var porta.1
Sensor3 var porta.2
ByN Var porta.3

Input1 var portb.0
Input2 var portb.1
Enable1 var portb.2

Inicio:
High Enable1
if byn = 1 then Blanco
if byn = 0 then negro
goto inicio

Negro:
If ((sensor1 = 0) and (sensor2 = 0) And (sensor3 = 0)) then derecha
If ((sensor1 = 0) and (sensor2 = 0) And (sensor3 = 1)) then derecha
If ((sensor1 = 0) and (sensor2 = 1) And (sensor3 = 0)) then avance
If ((sensor1 = 0) and (sensor2 = 1) And (sensor3 = 1)) then derecha
If ((sensor1 = 1) and (sensor2 = 0) And (sensor3 = 0)) then izquierda
If ((sensor1 = 1) and (sensor2 = 1) And (sensor3 = 0)) then izquierda
If ((sensor1 = 1) and (sensor2 = 1) And (sensor3 = 1)) then avance
goto inicio

blanco:
If ((sensor1 = 0) and (sensor2 = 0) And (sensor3 = 0)) then avance1
If ((sensor1 = 0) and (sensor2 = 0) And (sensor3 = 1)) then izquierda1
If ((sensor1 = 1) and (sensor2 = 0) And (sensor3 = 1)) then avance1
If ((sensor1 = 0) and (sensor2 = 1) And (sensor3 = 1)) then izquierda1
If ((sensor1 = 1) and (sensor2 = 0) And (sensor3 = 0)) then derecha1
If ((sensor1 = 1) and (sensor2 = 1) And (sensor3 = 0)) then derecha1
If ((sensor1 = 1) and (sensor2 = 1) And (sensor3 = 1)) then derecha1
goto inicio

Derecha1:
high Input1 : Low Input2
goto blanco

Izquierda1:
High input2 : low input1
goto blanco

Avance1:
low input1 : low input2
goto blanco

Derecha:
high Input1 : Low Input2
goto negro

Izquierda:
High input2 : low input1
goto negro

Avance:
low input1 : low input2
goto negro

End

Por cierto, Es mejor usar el Voltaje de entrada hacia los motores aparte del de entrada?
me refiero a que el voltaje que es de 5V y el otro de 5v a 34v?


----------



## 300 KVA (May 30, 2012)

ya probaste medir el voltaje del circuito?, los cny70 son engorrosos de conectar porque las terminales se parecen, yo usaba resistencias de 1K si la memoria no me falla y el cny a tierra se calcula como un divisor de voltaje con el valor de la resistencia en obscuro para un punto y en blanco para el otro


----------



## elprofetellez (May 30, 2012)

no veo bien el segundo esquema que dices utilizaste, pero lo poco que veo:

como por qué, está conectada una de las salidas (pin3) del L293 a la resistencia (R3) y parece que tambien a R4, del CNY que supongo esta en el colector?

y el pin 2 del motor R2 está directo a positivo?

y no lo conectaste a 12 volts, verdad?

y el ENABLE por qué viene del pic?, nomas como curiosidad.

10K en pull up se me hace altito, pero no creo que se problema.


----------



## fhruben_d (May 31, 2012)

Definitivamente en tu plano hay un par de errores, no creo que le hayas metido 12v al pic!... si lo hiciste ya puedes botarlo aunque parezca que no le paso nada, ya no es fiable. Verifica esa conección que hiciste en el motor, ninguno de los dos pines debe ir a positivo, ambos tienen que ir a las salidas del puente H.

2.- Si la batería es de 12v con 220 ohm estas muy pegado a la Icmax... no te van a durar mucho los CNY. El envejecimiento prematuro de cualquier componente electrónico lo hace pasar temporalmente por un pto de operación inestable e impredecible antes de dejar de funcionar de manera definitiva. Prueba sustituirlos. (Con la resistencia de 10k no hay problemas mientras no acerques los CNY al motor.

3.- Si la batería es de 5.2 entonces debes corregir las R de 220 porque no excitarán debidamente a los CNY, sustitúyelas por 82 ohm

3.- Revisaste a que distancia esta la línea de los CNY?... comparaste esa distancia con el rango de detección que aparece en el catálogo?. (En dependencia de tus objetivos puede ser mejor que utilices otra cosa, un sensor con una distancia de detección ligeramente mayor o incluso puedes fabricarlo tu mismo a partir de el diodo emisor y el fototransistor que hay dentro de los interruptores ópticos que se utilizan en las impresoras, de seguro tienes alguna que ya no sirva a tu alrededor... emplearás algunas horas de mas pero obtendrás un sensor con una distancia de detección físicamente ajustable hasta los 2cm)

4.- No hay ni un solo filtro en tu plano... reducir el número de componentes hasta lo ridículo puede ahorrarte algunos centavos pero SIEMPRE te expondrás a fenómenos raros en situaciones no previstas que pueden estar relacionadas con un montón de factores al azar como pueden ser: bajo voltaje, iluminación residual, interferencias, temperatura ambiente y una larga lista de etc´s.

5.- Al programar el pic cerciórate de inhabilitar el MCLR

6.- No revisé tu firmware... no tengo tiempo... pero te sugiero que lo hagas. Date una vuelta y cuando tengas la cabeza fría analizalo con lupa. La mayoría de los problemas inexplicables y difíciles de resolver se basan en que descartamos la solución.



Sugerencias...

1.- Suprime interferencias. Agrega aunque sea un filtro de al menos 100uf/10v en el riel de alimentación y al menos un condensador de 0.1uf en paralelo a los pines de alimentación del pic. (aunque la betarería entrega CD el funcionamiento del motor genera espúreas, especialmente si es de escobillas).
Agrega también un condensador cerámico de 0.1 entre los terminales del motor.

2.- Reduce el consumo... puedes prolongar considerablemente la vida de la batería si aprovechas los pines libres del pic para activar cada CNY a modo de encuesta (uno a la vez) en lugar de conectarlos todos permanentemente a la batería

3.- Trata de independizar la alimentación del pic y la del motor, si no puedes al menos interpón un choque entre ambos y mejora el filtraje del lado del pic.

Suerte


----------



## chess98 (May 31, 2012)

Muchas gracias por sus respuestas 
300 KVA:
No es muy pequeño ese valor de resistencia? o bien, en que le afecta un menor o mayor valor en el fototransistor?
Elprofetellez:
perdon por las molestias...
pero no, no se encuentran conectados, es un error de diseño en Isis, simplemente. No el motor no se encuentra directo a positivvo, no los doce volts solo eran para referencia, el voltaje de alimentacion es de 5.3V, el enable lo pase del micro por que tenia planeado usarlo como paro del motor, y solo utilizar dos salidas, pero desisti de esta idea, pero aun asi le deje el enable por parte del micro. Cual crees que podria ser una mejor resistencia del Pull up (si te refieres al fototransistor), puesto que las cambie de 10k a 13.5k y posteriormente a 6.8k...
fhruben_d:
no, los 12V no son de alimentacion son 5.2, los motores no se encuentran conectados a la bateria directamente (solo por parte de los Diodos), Si los sustitui, pero me da el mismo problema... tambien me di cuenta de algo... hay un sensor, que SI Sirve, y me eh dado cuenta que tiene "TFK 680 CNy70" a diferencia de los que no sirven que tienen "TFK6(2 invertido)80" podria tener algo que ver esto?. los sensores, tienen 6mm de distancia, el MClr si esta desactivado, de hecho, no esta siendo utilizado ese pin, y si... eliminare un Sensor en la programacion y lo probare asi. Por cierto, me podrias explicar un poco eso de los Capacitores? porque, segun yo con los puentes de diodos, se eliminan los picos de motor... tambien a que te refieres con "Choque"?
Muchas gracias de antemano,  espero poder arreglarlo hoy, es de entrega para mañana xP aunque tengo uno en equipo, quisiera poder entregar uno propio... Gracias de nuevo


----------



## elprofetellez (May 31, 2012)

Debido a la urgencia, por qué no ocupas el del compañero?

https://www.forosdeelectronica.com/f19/seguido-linea-dos-sensores-pic16f628a-67660/


----------



## chess98 (May 31, 2012)

No, no creo que sea una opcion :/
puesto que ya es algo tarde, aqui... y dudo encontrar una Tienda de componentes electronicos abierta...
si logro arreglarlo, Genia... pero si no pues que se le va a hacer... xP

PD. Saben la diferencia entre un TFK280 CNY 70 y un TFK680 CNY70?
Puesto que tengo 6 sensores... 5 son "280" y 1 es "680" y solo el 680 funciona...
los otros solo cuando le paso una luz excesiva :/


----------



## chess98 (Jun 1, 2012)

Muchas Gracias por Sus comentarios y ayudas x)
Ya logre hecharlo a andar... solo tenia que cambiar las Resistencias de los "280" que eran de 6.8K por unas de 150K y ya funciona... No tengo idea porque funcionan de manera diferente... pero asi me quedo asi que... Gracias


----------



## 300 KVA (Jun 6, 2012)

tus resistencias actuan como un divisor de voltaje, si la caída de resistencia del cny al pasar a la luz no es suficiente, el voltaje de la salida no va a variar lo suficiente.


----------

