Contador programable para Bobinadora

No creo que necesite mas corriente ... dejando solamente conectado el display sin los sensores con 5 voltios pasa lo mismo tengo que subirle a 5.5v con mi fuente con LM317 y cuando se sube el programa empieza a fallar. el pic y el display estuvieron expuesto a una fuente vieja que daba 8.5 v pero al conectar caía la tension a 5.5 v quizás estén dañados? Comprare otro display y pic en ese caso ... me juego mas por el display ya que tiene el pote de 10k para el contraste pero no es suficiente y no creo que consuma mucho ... o quizás
 
El pic y el display estuvieron expuestos a una fuente vieja que daba 8.5 v, pero al conectar caía la tensión a 5.5 v. ¿Quizás estén dañados? Compraré otro display y pic en ese caso. Me juego mas por el display, ya que tiene el potenciómetro de 10k para el contraste pero no es suficiente y no creo que consuma mucho, o quizás.
Por seguridad cambia el PIC y la pantalla. :cool:

Me sucedió una vez, que un PIC estaba recibiendo más de 5V en un pin de entrada,
cuando esto pasaba, el PIC bajaba su resistencia en el pin de VCC y subía el consumo de corriente del circuito calentando demasiado al regulador 7805. :eek:

La solución fue colocar un diodo Zener de 5.1V en el pin que usé como entrada.

Suerte.
 
Última edición:
Señor darkbytes, cansado de renegar con el programa que había planteado en un principio y con todas sus ayudas , me decidí armar su proyecto de una ves por todas(lo que debí hacer al principio) (usted sabe como somos los adolescentes). Me decidí por el primero que armo el cual nuestro amigo Carmant desarrollo. Descargue la carpeta descargue el 4.140, compilo bien, pienso hacerles cambios pero muy pequeños para no tener problemas. Pero no entiendo un par de cosas , el puerto a1 tiene un circuito con un rele, para que sirve? me imagino que es para conectar el motor a bobinar no? En mi caso no lo necesito no es una bobinadora, tengo que hacerle algún cambio? , 2do punto: El tipo de sensor que uso es una barrera infrarroja casera el cual tiene UN cable que antes iva a ra4 , ahora tengo que moverlo a ra3 o a ra2? uno de estos va a quedar libre? Lo demás lo mantendré igual. Le adjunto el esquemático del sensor un foto diodo y un foto transistor , al pasar entre medio el objeto se genera el pulso que me hace aumentar una unidad el display , las resistencias son de 330, Muchas gracias.
 

Adjuntos

  • Imagen15.jpg
    Imagen15.jpg
    28.2 KB · Visitas: 96
el puerto a1 tiene un circuito con un rele, ¿para qué sirve? me imagino que es para conectar el motor a bobinar ¿no? En mi caso no lo necesito no es una bobinadora, ¿tengo que hacerle algún cambio?
Así es, cuando se inicia el conteo se activa el relevador para hacer funcionar el motor de la bobinadora.
Puedes realizar los cambios que creas convenientes para el uso que le vas a dar.
El tipo de sensor que uso es una barrera infrarroja casera el cual tiene un cable que antes iba a ra4, ¿ahora tengo que moverlo a ra3 o a ra2? uno de estos va a quedar libre?
Por el pin RA2 se ingresan los pulsos de conteo ascendente y por el pin RA3 los de conteo descendente.
Así que puedes omitir el pin RA3 y también la rutina de conteo descendente.

Esa opción la hice para poder descontar vueltas al girar el motor en sentido contrario.
Ahora he cambiado esas rutinas y modifiqué el código para usar un encoder de cuadratura.

Suerte.
 
Hola tengo una pregunta, como puedo hacer en ccs compiler para crear un contador, por ejemplo.
quiero encender un led cada 10 segundo mas o menos no tiene que ser tan exacto, pero sin detener la ejecución del programa (no utilizando un delay_ms(10000).
Se me ocurrió usar un contador normal VGF_Time_Luz = VGF_Time_Luz + 1; y cuando llega a un numero X que entre a un if. If( VGF_Time_Luz == X) y que encienda el led.

pero cuando pongo a correo el programa y monitoreo el incremento de los numero en una pantalla lcd, se nota que la duración es 10 a 12 seg .

y cuando quieto el monitor y corro el programa no dura el recorrido ni 3 segundo

pregunta: a que se deberá esto ? y como puedo hacer un contador que tenga un tiempo de duración mas o menos contante.
 
Hola tengo una pregunta, como puedo hacer en ccs compiler para crear un contador, por ejemplo.
quiero encender un led cada 10 segundo mas o menos no tiene que ser tan exacto, pero sin detener la ejecución del programa (no utilizando un delay_ms(10000).
Mira por aquí: Base de 1 segundo usando TMR1
Analiza ese programa y verás que usando un contador puedes hacer lo que requieres sin afectar al programa principal.
 
Darkbytes le hago una preguntas, si declaramos el oscilador interno no es necesario ponerlo afuera con sus dos cap. cerámicos, hay alguna diferencia si usamos el interno o uno externo? usted que recomienda?.
Otra cosa para el proyecto anterior habia usado 1 metro de cable plano para la conexion del lcd pero leí por ahí que era mucho, cuanto recomienda? Muchas gracias, ni bien termine subiré pcb...
 
D@rkbytes le hago una preguntas. ¿Si declaramos el oscilador interno, no es necesario ponerlo afuera con sus dos capacitores cerámicos?
Obviamente si se usa el interno no se requiere poner nada exteriormente y hasta tenemos la posibilidad de usar los pines del oscilador como entradas o salidas.
¿Hay alguna diferencia si usamos el interno o uno externo? ¿Usted que recomienda?
En este proyecto no se necesita precisión, el conteo se realiza cada vez que el sensor manda un pulso.
Por lo tanto con usar el oscilador interno es suficiente.
Otra cosa, para el proyecto anterior había usado 1 metro de cable plano para la conexión del lcd, pero leí por ahí que era mucho. ¿Cuanto recomienda?
Siempre es mejor usar una conexión directa del LCD al PCB del circuito o con cables cortos.
No sé cual sea la distancia máxima de cable que se pueda usar, pues puede variar de una pantalla a otra.
En estos casos lo mejor es la experiencia propia porque los fabricantes tienen diferentes parámetros en la construcción de sus pantallas y es difícil dar una longitud de cable máxima recomendada.
Muchas gracias, ni bien termine subiré pcb.
Ok. Esperamos que pronto termines con tu proyecto y nos muestres como quedó.

Suerte.
 
Darkbytes veo que en tu proyecto el sensor se conecta a una resistencia de 10k , eso es creo para que no circule mucha corriente y dañe al pic, en mi caso tengo que conectar al ra2 el colector del transistor , se necesita alguna resistencia limitadora para no dañar al pic? Gracias.
 
D@rkbytes veo que en tu proyecto el sensor se conecta a una resistencia de 10k , eso es creo para que no circule mucha corriente y dañe al pic, en mi caso tengo que conectar al ra2 el colector del transistor , se necesita alguna resistencia limitadora para no dañar al pic? Gracias.
Supongo que te refieres a R4 y R5.
Esas resistencias son pull-down y sirven para tener una referencia de voltaje negativa porque el conteo se realiza con pulsos positivos.
Dependiendo del tipo de sensor que uses, será el tipo de interfaz que debes usar.
Si el sensor trabaja con los 5V de alimentación del PIC, no es necesaria ninguna protección.
Pero si el sensor trabaja con fuente externa de más de 5V, y en su salida supera los 5V, si se puede dañar el PIC.
En ese caso si es necesario colocar una resistencia limitadora y un diodo Zener de 5V. para proteger la entrada.
 
Monte el circuito sin sensores ni teclado , el lcd no me muestra el texto ... la primera fila se ilumina al maximo y al rato de queda prendida pero con mucho menos brillo, mande la pata Vo a tierra , y 30 ohms en la pata 15, (el anodo), Alguna sugerencia?

Edit: el programa es el 4.140 , compila lo mas bien, en proteus va todo bárbaro, me surgió una duda, usando el pickit2 hay una sección donde dice MCLR (y un cuadrado para tildar) debería tildarlo no? ya que el programa incluye el MCLR. Gracias.

Edit2: El pic y el lcd funcionan por separado.
 
Última edición:
Monté el circuito sin sensores ni teclado, el lcd no me muestra el texto.
La primera fila se ilumina al máximo y al rato se queda prendida pero con mucho menos brillo.
Mandé la pata Vo a tierra y 30 ohms en la pata 15, (el ánodo) ¿Alguna sugerencia?
¿Cual es el pin Vo? ¿Te refieres al pin 3 (VEE)?
Si es el pin que te menciono, ese pin es para el contraste de la pantalla y si está en 0V el contraste es máximo.
Coloca un preset de 5k entre VSS y el pin 3 de la pantalla
Si no consigues que funcione, sube fotos nítidas de la conexión de la pantalla con el PIC y mira por aquí.
me surgió una duda, usando el pickit2 hay una sección donde dice MCLR (y un cuadrado para tildar) debería tildarlo no? ya que el programa incluye el MCLR.
Coloca el pin 4 (MCLR) hacia VDD directamente o con una resistencia de 4.7k.
Esto es por si está habilitado el Master Clear, teniendo este pin hacia VDD no debes tener problemas por eso, se use o no.
 
Ya he hecho la prueba de conectar con el pote de la siguiente forma:

thump_8972241sin-ttulo.png


He probado con programas en basic ya con la configuración de pines default que trae el Pic basic pro y tampoco me funciona .... debo decir que cuando conecte todo por primera ves , llegue a ver un fragmento del programa, decía ULTIMO CONTEO , luego se fue y no pude verlo mas ..., emprolijare la conexión y sacare fotos.
Tengo conectada una r de 10k desde el pin4 a Vdd. Saludos y muchas gracias.

La pantalla prende los primeros cuadros nomas, es como si el lcd no tendría rutina de inicializacion, pues la pantalla ni se mueve. No creo que sean problemas las conexiones, cabe destacar que estoy haciendo esta conexión, por ahora no conecte ni teclado ni sensores.


Subido en subir imagenes
 
Última edición:
Porfin pude hacerlo andar, el display anda perfecto , también anda perfecto el teclado. El reset externo también funciona. Aviso a los que quieran hacerlo, que tienen que poner si o si el potenciometro y una resistencia de 10 a 30 ohms, en la pata 15.

Mi pregunta ahora es, el sensor de incr. , al presionar el pulsador, quizás cuente de 5 o 6, hay alguna forma de eliminar estos "rebotes"? quizás darle un delay mayor luego de presionar el pulsador?
 
Mi pregunta ahora es, el sensor de incr. , al presionar el pulsador, quizás cuente de 5 o 6. ¿Hay alguna forma de eliminar estos "rebotes"? ¿Quizás darle un delay mayor luego de presionar el pulsador?
Ese quizás suena como si no hubieras probado el circuito físicamente.
Si puedes poner un retardo para eliminar rebotes pero no tan alto para que no pasen vueltas sin contar.
También puedes poner algún capacitor en el sensor, ahí necesitas hacer pruebas para encontrar un valor correcto.
 
Juro que lo probé , si colocas la resistencia y haces contacto con un "cable" , cuenta de 5 a 6 por cada ves que cierres el circuito con el cablesito. Obviamente no usaras un cable. Luego cambie el cable por el sensor que había pensado y todo funciona a la perfección. El buzzer también funciona. Ya emprolijo un poco el pcb y lo subo.
Se agradece por TODA LA AYUDA que me dio usted Darkbytes.

Aquí luego de tanto tiempo dejo el PCB modificado a mis necesidades el circuito funciona perfectamente.
Posee 3 borneras, 1 de alimentación y otras dos para los sensores exteriores. Saludos.
 

Adjuntos

  • bobinadora.rar
    6.2 KB · Visitas: 227
Hola el programa del contador para 16f628 anda perfecto en cambio para el 16f88 cunado lo compilo con CCS v4.140 no me da ningun error pero cuando lo cargo al pic usando el PICKit2 me sale este error "Programming failed at Program Memory address 0x000000" alguien sabe por que puede suceder esto???
Saludos
 
Hola el programa del contador para 16f628 anda perfecto en cambio para el 16f88 cunado lo compilo con CCS v4.140 no me da ningun error pero cuando lo cargo al pic usando el PICKit2 me sale este error "Programming failed at Program Memory address 0x000000" alguien sabe por que puede suceder esto???
Saludos

Hola...Seguramente tenes o mal conectado el PIC o esta mal. El aviso es que fallo la programación de la dirección de memoria 0x000000 o sea la primera.
Saludos.

Ric.
 
Hola y gracias por responder y si efectivamente tenia algo raro en mi super programador Pickit2 y lo solucione ahora que tengo funcionando el proyecto me encuentro con que apenas le doy al conteo me avisa en el LCD que "OCURRIO UN CORTE O PAUSA" cuando en realidad nada de eso paso. Estoy usando el mismo esquematico de la contadora para el 16f628. Habra que hacerle algunas correcciones para poder usar el nuevo soft y poder usar el 16f88???
Saludos



Ah algo que me olvide de aclarar es que estoy haciendo unos cambios en el harware ya que voy a usar el proyecto no como contadora de vueltas sino como contador de cospeles o fichas. Con el proyecto del 16f628 todo anda ok pero me interesa el del 16f88 ya que cuenta con otra funcion que seria la de guardar el ultimo conteo ante un corte de energia que suele suceder jajaja.
Y nuevamente gracias Ric.
 
Última edición:
Atrás
Arriba