TODOPIC

Microcontroladores PIC => - Flowcode - => Mensaje iniciado por: gg.tecnico en 12 de Abril de 2018, 14:54:50

Título: Temporizador por monedas
Publicado por: gg.tecnico en 12 de Abril de 2018, 14:54:50
Buenas tardes a todos, hace mucho que no entro en el foro, he estado un poco ausente de la electronica y este año he vuelto a ella.
Estoy intentando hacer un temporizador como los utilizados en las maquinas de limpieza para los vehiculos, osea al depositar una moneda el temporizador te da un tiempo para utilizar dicha maquina.
Lo que llevo hecho hasta ahora es muy poco y ademas me he quedado sin ideas de como seguir adelante. Lo que pretendo es lo siguiente, por si alguien me puede echar una mano. Cada vez que se introduce una moneda el temporizador nos da un tiempo prefijado, si son mas monedas habria que mlutiplicar el tiempo, pero si una vez a empezado a descontar y en ese transcurso introducimos otra moneda el tiempo que ya a empezado a descontar se debe sumar con el que aun resta por terminar.
Subo lo que tengo que como digo es muy poco.
Agradezco por adelantado si pueden colaborar conmigo.

Saludos....
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 13 de Abril de 2018, 07:37:37
Tal como yo o veo creo que:

1º Deberías cambiar la entrada de las monedas a un puerto que tenga interrupción por ejemplo el pin B0.
2º Configurar la interrupción por flanco ascendente o descendente, según veas.
3º Crear una macro(subrutina) nueva en la cual dentro de la misma solo tengas un bloque de cálculo, en este caso sumar un número determinado al valor de a la variable "count" que tenga en ese momento.
4º y dentro de tu programa main esperar, comprobando cuando dicha variable llega a cero. En ese caso pararía el tiempo.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 13 de Abril de 2018, 13:53:05
Gracias por responder Fer_TACA, la cuestión es que no se como hacerlo.
¿podrías crear un ejemplo en Flowcode?

Saludos.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 13 de Abril de 2018, 15:34:54
Encontré esto en internet y he intentado modificarlo un poco a lo que necesito, pero me gustaría que al incrementar el tiempo este se sume a lo que va restando. Ahora lo que hace es sumar fracciones completas´


Muchas gracias.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 14 de Abril de 2018, 08:42:37
Sigo pensando que deberíais utilizar el pin RB0(por ejemplo) como entrada por interrupción para utilizarlo como entrada de las monedas.
De esa forma cada vez que detecte el paso de una moneda, dentro de la "macro" de la interrupción solo tienes que realizar la suma (del tiempo que estimes por paso de moneda) al registro que cuenta (en tu caso de decremento)  el tiempo de funcionamiento.
Después en tu programa "main", independientemente de la visualización que requieras, solo tienes que ir descontando el tiempo y comprobando que llega a 0.
En ese punto activas/desactivas lo que requieras, reseteas la cuenta del tiempo y esperas a una nueva moneda.
Básicamente sería:

1º Inicializo los bloques que necesites, por ejemplo LCD y configuras las señales.
2º Espero constantemente la entrada de una moneda. Si no hay moneda no hago nada y si la hay paso al punto siguiente.
3º Al haber una moneda activas/desactivas lo que requieras.
4º Esperas el final de la cuenta a esa moneda.
5º Como tienes una interrupción esa siempre se va a atender independientemente del punto del programa donde te encuentres. es decir el programa parará lo que estaba realizando, saltará a realizar lo de la interrupción En este caso solo sumar el tiempo y al final de la interrupción volverá al programa principal al sitio donde lo dejo pero con el incremento del tiempo por el paso de una(s) nueva(s) moneda(s).
6º Al salir de interrupcion, si no hay monedas tu programa solo se dedicará a atender a lo indiado en el punto 4º.
Título: Re:Temporizador por monedas
Publicado por: AcoranTf en 14 de Abril de 2018, 13:07:06
Una pregunta, ¿mediante que mecanismo piensas sensar la entrada de monedas?.
Lo digo porque a menos que sea con un selector electronico, puedes tener el problema de que engañen a tu circuito. Hay cientos de metodos para hacerlo y los amigos de lo ajeno los conocen todos.
En caso de utilizar un selector de monedas de cierta calidad, debes tener en cuenta que estos no disponen de una unica salida de conteo, sino que pueden tener una por cada tipo aceptado o varios bit que reflejen igualmente mediante un codigo, que tipo de moneda se introdujo. Algunos selectores tambien tienen una salida de habilitacion, que seria la que dispararia la interrupcion y en base al bit o codigo de moneda, haria el incremento proporcional al valor de dicha moneda.
Respecto a tu consulta no te puedo ayudar, ya que no domino el Flow Code, pero estoy de acuerdo con lo que te comenta Fer_Taca.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 15 de Abril de 2018, 05:12:59
Hola Fer_TACA, serie pedir mucho que me iniciaras el programa, se lo que dices peor me cuesta empezarlo. No se como hacer que sume a lo que va consumido.

Si no te es mucha molestia te agradecería me iniciaras el programa.


Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 15 de Abril de 2018, 08:53:30
Bueno intentaré dentro de mis básicos conocimientos:

Fijándonos en mi primer respuesta y dejando de momento la visualización en LCD, podemos empezar por ver como se haría la suma para que lo vayas adaptando a tu proyecto:

1º Crear una variable de entrada, llámala moneda o como quieras y otra de salida, llámala como relé, por ejemplo. ambas deben de ser del tipo booleano.
La salida puedes ponerla en pin C2 como en tus ejemplos y la entrada en el pin A2, según tu ejemplo y micro utilizado ya que según el datashet es el que soporta la interrupción.

2º Debes de crear una variable de contaje por ejemplo "cuenta_1sg" del tipo byte y otra llamada "Flag_T1s"

3º Antes de los bloque dl While inicializas la salida y las variables a 0. A continuación insertas el bloque de interrupción. realizas doble clic sobre el y en las propiedades en Interrumpir seleccionas TMRO y después en propiedades eliges como quieres que sea la interrupción de alto a bajo o al revés. Para finalizar eliges crear Macro le das un nombre y seleccionas oK y después OK&editar. Con esto se te creará una nueva pestaña que será donde vamos a colocar lo que tiene que hacer la interrupción.

4º  Interrupción: tendrás inicialmente 2 bloques: inicio y fin. Pues insertas uno de calculo. Realizando doble clic en sus propiedades de calculo pones:"cuenta_1sg=cuenta_1sg+1". Le das a OK y regresas al entorno "main".

5º Acá ya dentro del While ya puedes poner el bloque de decisión "cuenta_1sg" ha llegado al valor que desees si es si cambias de estado la salida y si no, pues no haces nada.

Esto seria lo básico con 2 consideraciones. La primera es que el tiempo de un segundo va a depender del cristal del oscilador y del valor del predivisor del TMR0 que hayas seleccionado. Esto ya es un calculo que deberías de realizar-
La segunda consideración es que esto no va a funcionar a la perfección. ¿Dirás porque?  No te has dado cuenta que no hemos utilizado la segunda variable "Flag_T1s".
La respuesta esta es que el TMR0 va a contar muy rápido y necesitas saber cuando ha pasado un segundo. para ello dentro de la rutina de interrupción debes incluir el bloque de decisión de si cuenta ha llegado aun valor proporcional al valor del segundo que hayas calculado.
A continuación si la respuesta es no, no haces nada; pero si es si añades otro bloque de decisión para saber si la variable "Flag" es 0, si la respuesta es no cambias el flag a 0 y si es si lo pones a uno. Después ambas salidas las llevas a un bloque de calculo donde reseteas el contador.
Con esto habrás creado una base de tiempo de 1sg, que incluso te puede servir para futuros usos.
Ahora bien con esto no has terminado ya que debes cambiar tu programa "main" de forma que en vez de preguntar si el registro de cuenta ha llegado a un valor, debes cambiarlo pro preguntar el estado de la variable "Flag" y dependiendo de ello ahora si ya pueds cambiar la salida a tu gusto.

Bien todo esto que es un poco rollo de explicar se realiza con pocos bloques en flowcode. No te adjunto el ejemplo porque dispongo de una versión superior a la tuya y no podrías abrirlo. Te adjunto unas capturas de imagen de una base de tiempos de 1 sg que suelo utilizar. Solo tienes que cambiar tus nombres y pines a utilizar según lo explicado.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 15 de Abril de 2018, 08:57:13
Muchas gracias Fer_TACA, seguiré estos consejos que me indicas y comenzare a realizar pruebas, en realidad el LCD no me hace falta para donde implementaría este proyecto.

Muchisimas gracias de nuevo.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 15 de Abril de 2018, 14:08:23
De nada.
ya sabes por dónde estamos para cualquier consulta que podamos responder.

Ojo que con los bloques que te adjunte de mi base de tiempos tiene un valor de cristal determinado, se utiliza el TMR1 en vez del TMR0.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 16 de Abril de 2018, 05:58:10
Sigamos.
Dirás es que lo adjuntado no se parece a lo que pretendo realizar. ¡Cierto! Lo importante es que hayas comprendido el funcionamiento de la base de tiempos. Falta todo lo de la detección de monedas y la resta de tiempos, aunque ya en el post del adjunto ya te adelante como realizarlo de forma simplificada.
En la base de tiempos creamos una variable "Flag_T1s", ésta solo es para saber cuando ha pasado un segundo y poder hacer oscilar una salida dentro del entorno del "main". En tu proyecto no se va a utilizar y vamos a pasar directamente a el.
Voy a suponer que por cada paso de moneda se va a incrementar el tiempo en 1 minuto=60 segundos (tu podrás cambiar y poner el que desees). También voy a suponer que no existe un limite superior de tiempo (después se podrá limitar). Por lo tanto vamos a necesitar una nueva variable que vamos a llamar "tiempo_total" y vamos a declararla como "int".
A continuación nos toca modificar ya las rutinas:
1º Al inicio hay que poner a 0 el valor de "tiempo_total"
2º Crear una nueva interrupción, ésta para detectar el paso de la moneda. La llamanos "interrupcion_tiempo" y dentro de ella solo ponemos un bloque de calculo de forma que "Tiempo_total0Tiempo_total+60.
3º Ahora pasamos a modificar la rutina de interrupcion del TMR0 de la siguiente forma:
a.- Incrementamos el registro cuenta_1s en una unidad.
b.- Si el cristal es de 4MHz, añadimmos el bloque de decision y comparamos si es mayor o igual de 122 (valor para que pase 1sg.)
c.- Si no lo es salimos de la interrupción y si es se cumple (> o =) entonces hacemos dos cosas: Restamos una unidad a la vatriable tiempo_total y reseteamos el contador de la base de tiempos.
4º Lo siguiente es modificar el entrono del Main. Para ello dentro del while colocamos un blque de comparacion para ver si la variable "tiempo_total" ha llegado a 0 o no. Si no llega es porque ha pasado alguna moneda y entonces activas la salida. Por contra si es que si es que o bien no ha pasado moneda o que el tiempo llego a 0 y por tanto desactivas la salida.

Basicamente esto es lo que pretendias realizar. A partir de ahi, ya que bajo mi punto de vista hay cosas que mejorar y variables a tener en cuenta, pero como no conozco todos los detalles de tu proyecto pues de momneto lo dejo ahi. Esto es lo basico y a partir de ahi podemos seguir hablando.

Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 16 de Abril de 2018, 07:40:36
Muchas gracias Fer_TACA, me he puesto a crear lo primero que me enviaste pero estoy totalmente atascado con este tema que no veo como hacerlo. Se que solo hay que pedir ayuda y no que te hagan el trabajo, pero aqui en esta ocasión lo necesito, si puedes por favor enviamelo en flowcode y así podré solucionar un problema que tengo.


Muchas gracias y perdona.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 16 de Abril de 2018, 13:54:19
Te adjunto lo que he realizado en Flowcode.
No se si lo podrás abrir. Pienso que mi versión es posterior a la tuya y quizás no puedas. No obstante en mi post anterior te puse las imágenes de esto mismo.
Es muy simple y deberías de poder realizarlo. Ya te dije que lo importante es conocer y saber porque se hacen las cosas.
No obstante lo adjuntado es básicamente lo que pretendes pero con las limitaciones de no saber en profundidad todo lo que necesitas. Además es tan básico que hay cosas que deberías de ser consideradas e implementadas.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 16 de Abril de 2018, 15:30:49
Hola Fer_TACA, lo he podido abrir ya que también tengo la versión 6 de Flowcode, lo que pasa es que es una versión que he tocado poco.

Perdona si pregunto algo absurdo, pero no entiendo lo del pulsador, en el panel está, pero la entrada en el diagrama no.
Estoy muy perdido, de ahí que te pida tanta ayuda.

Mil gracias.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 16 de Abril de 2018, 16:57:08
El pulsador lo tienes que tener asignado al pin RA2 del pic que has utilizado y que es el que dispone de la interrupción "INT".
Lo he cambiado en este ultimo adjunto ya que como base utilicé tu primer ejemplo y allí lo tenis puesto a RA0.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 16 de Abril de 2018, 17:54:21
Fer_TACA, te agradezco mucho todo el tiempo que has empleado en ayudarme, pero no tengo mas remedio que abandonar.
No logro entender lo que me mandas, entiendo que es superior a mis conocimientos y lo único que voy a conseguir es agobiarte. Pensaba que iba a ser un proyecto mas sencillo y sin embargo a para mi está siendo muy difícil de entender.

Como te decía dejamos aquí este tema dándote mi mas sincero agradecimiento.


Saludos amigo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 17 de Abril de 2018, 05:26:05
No sabes cuanto siento el que lo dejes. Me queda el mal sabor de boca y pensar de no haber sabido hacerme entender. No obstante voy a intentarlo una vez más.
El fichero que te adjunté hacia lo siguiente:
Nada mas comenzar, dar tensión al equipo, empieza a funcionar tu programa main; que solo hace el estar comprobando si la cuenta total ha llegado a 0. Inicialmente como no detecta ninguna moneda, el programa se va por el "no" y no hace nada". En el momento que hubiese pasado una moneda y el tiempo se hubiese decrementado y llegado a 0 te cambiaria el estado que hubieses puesto al detectar un paso de moneda.

Además, digamos que en 2º plano, el micro está esperando que se detecte el paso de una moneda. Cuando la detecta, por hardware (pulsador) se manda un pulso que es detectado por el pic. El main se para y salta a realizar el entorno "incremento de tiempo". Este lo único que realiza es sumar a la variable "tiempo_total" el valor de 60 y regresa al entorno del main prosiguiendo el programa donde lo dejó.

En este momento como todavía esa variable  no se ha descontado y llegado a 0, pro tanto el entorno del main sigue sin realizar nada.

Por otra parte, también bajo 2º plano, el pic por medio del oscilador esta contando pulsos. Eso se realiza en el entorno de "interrupción TMR0". En el se incrementa, cada vez que el contador se desborda y pasa de FF a 00, una unidad la variable cuenta_1sg. Después de compara para ver si llega, en este caso a 122, que con la configuración del TMR0 que tenemos indica que ha pasado 1 sg. Cuando lo hace, las acciones que realizamos== decrementar en una unidad el tiempo total y resetear el contador de 1sg para una nueva cuenta.

Como tu main sigue funcionando a la vez que el TMR0 cuando la cuenta total llega a 0, realizas la acción de cambiar la salida.

Esto es mas o menos lo que te entendí, pero además habría algún detalle mas a mejorar pero eso seria para mas adelante pues lo importante era que entendieses lo anterior.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 17 de Abril de 2018, 09:33:11
Hola Fer_TACA, la cuestion es que llego a entenderlo, pero no tengo suficiente conocimiento para poder implementar o eliminar partes del programa, por ejemplo; al encender no debe de activarse el led C2, solo se activa cuando se introduzca una moneda, ademas si le hemos programado un tiempo por moneda y antes de que finalice ese tiempo introducimos una nueva moneda este nuevo tiempo se ha de sumar con el resto de lo que queda por consumir de la primera moneda que habiamos depositado.

Es igual a como funciona una maquina para lavar coches.

Pues bien, es este funcionamiento que no veo en lo que tu me mandas y ademas soy incapaz de terminar tu proyecto para que funcione como lo necesito. Por ello lo de abandonar y sobre todo para no agobiarte, ya que veo tu interés y por mi parte no puedo avanzar.

Si no te importa y ya casi de manera por necesidad te pediria ¿me lo podías terminar?

De nuevo muchas gracias por tu interes de ayudarme.

Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 17 de Abril de 2018, 13:25:29
al encender no debe de activarse el led C2,

Eso no es problema, basta con que cambies en la parte del Main las asignaciones de C2 para que si no hay moneda en vez de 1 se ponga a 0 y en la parte del si se ponga a 1.

ademas si le hemos programado un tiempo por moneda y antes de que finalice ese tiempo introducimos una nueva moneda este nuevo tiempo se ha de sumar con el resto de lo que queda por consumir de la primera moneda que habiamos depositado.

Eso ya lo hace. Cuando hay una moneda nueva estas sumando el tiempo que hayas prefijado. Yo en el ejemplo he puesto 1minuto= 60 segundos. Por eso hacemos  "Tiempo_total = Tiempo_total + 60". Pero tu puedes poner el tiempo que estimes.
Aquí, como te dije anteriormente si veo un pequeño problema y es ¿Cuál es el tiempo máximo? Me imagino que debería haber un tope. Si es asi basta con añadir un par de bloques más, pero habría que saberlo.
te adjunto los cambios de la inicialización.

Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 17 de Abril de 2018, 15:28:27
Si, Fer_TACA, había pensado en un máximo de 5 monedas. ¿Habría posibilidad de encender un led por cada moneda y que al final del tiempo consumido se apaguen? Osea, 3 monedas 3 leds encendidos, acaba el tiempo acumulado por el total de monedas introducidas y se apagan los 3 leds.

De nuevo un millón de gracias.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 17 de Abril de 2018, 16:24:46
si se puede hacer perfectamente. Pero ¿Cuánto tiempo por cada moneda?
Otra cosa, mañana casi seguramente no podré hacer nada. El jueves continuaré. Si se te ocurre alguna cosa nueva indícamelo y vemos como realizarlo.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 17 de Abril de 2018, 16:48:22
Gracias Fer_TACA, serian 6,5 minutos por moneda.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 19 de Abril de 2018, 10:38:35
Como te dije ayer, no pude hacer nada.
Te adjunto lo que me has pedido. Lo he realizado de forma simple para que puedas entenderlo.
No es la mejor forma ya que se puede optimizar mucho, pero es plenamente funcional y podrás seguir la simulación si quieres y lo entenderás.
Ahora solo haría falta que lo probases realmente para ver si te funciona, ya que las pruebas solo han sido simuladas y puede haber algun pequeño desajuste de los tiempos.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 19 de Abril de 2018, 13:21:02
De acuerdo Fer_TACA, así lo haré, lo probaré en físico y te comentaré los resultados. De todos modos funcione bien o hubiera que modificar algo te estaré siempre agradecido.
Por mi parte intento de aprender Flowcode todos los días, pero en ocasiones me resulta bastante difícil, por ello lo de pedir ayuda.
Como te decía, muchisimas gracias por toda la ayuda que me has prestado.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 19 de Abril de 2018, 13:41:36
 :) :)

Pero al probarlo revisa las conexiones u asignaciones de pines de salida que he puesto. Como no me has dicho nada he elgido los que me han parecido mas lógicos y como entrada he usado el RA2.

Ya me dirás
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 19 de Abril de 2018, 15:19:35
La distribución de pines me parece perfecta.
Mañana lo pruebo y te comento.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 20 de Abril de 2018, 08:41:21
Hola de nuevo Fer_TACA, he creado el código HEX y se lo he volcado al pic sin ningún problema, he polarizado el pin RA2 con 10K a masa ya que está en activación alta y he colocado los 5 leds, pero no funciona, no hace nada, no llega a lucir ningún led. He grabado un segundo pic y sigue sin funcionar.

¿Que crees que puede ser?

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 21 de Abril de 2018, 08:25:40
¿Cómo tienes configurado el pin RA3 que el pin de reset dentro del proyecto?
Lo primero que haría seria configurarlo como externo y colocar una resistencia de unos 4,7K a +5V ya que puede que se esté reseteando continuamente. Otra buena cosa es siempre poner un condensador de 0,1microfaradio entre los pines de la alimentación del micro y siempre lo mas cerca posible a los pines de dicho micro.
Por otra si en la simulación funciona, salvo que no se compile bien el proyecto, y si tienes bien realizadas las conexiones no entiendo porque no debe funcionar. Otra cosas seria que los tiempos no fueran exactamente los indicados o programados, necesitando ser reajustados, pero funcionar debería de funcionar.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 21 de Abril de 2018, 08:39:31
Hola Fer_TACA, el RA3 lo he dejado como tu lo tienes en el diseño, está como interno, y el condensador tambien lo tiene colocado entre los pines de alimentacion del pic, voy a configurar RA3 como externo y le colocaré la resistencia a +5 y ya te comentaré.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 21 de Abril de 2018, 08:43:46
Espero.
Porque en la simulación funciona. Si no hace debe ser algún tema de la configuración y/o problema del compilador.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 21 de Abril de 2018, 08:54:04
Hasta el lunes no lo podré probar. En cuanto tenga resultados te comento.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 25 de Abril de 2018, 05:50:57
Hola Fer_TACA, hasta ahora no he podido hacer pruebas referente al temporizador por monedas, pero de cualquier manera no funciona. He pasado el pulsador de trabajar con nivel alto a hacerlo con nivel bajo, cambiando por supuesto la resistencia de polarización de 10k, he revisado que utiliza el oscilador interno, he revisado que el Master Clear también lo tienes programado como interno.
Ya no se me ocurre nada mas que comprobar, pero no funciona.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 25 de Abril de 2018, 07:38:04
Hola gg.técnico
Mira acabo de simularlo directamente el programa con otro micro y en una placa de desarrollo  y funciona bien.
Tienes que poner el oscilador como interno, colocar una resistencia de unos 4,7 K a positivo y al MCLR que es el pi RA3 en tu pic y configurarlo como Externo.

Va bien tanto simulado como en el físico.
¿puedes adjuntar el esquema de las conexiones que has realizado?
Te adjunto de nuevo, con mejoras el flowcode.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 25 de Abril de 2018, 10:30:58
Ahora si, si funciona, en estos momentos estoy comprobando que los tiempos estén correctos. El único problema que existe es que al dar sobre el pulsador a veces se encienden todos los leds. Imagino que por software se podrá solucionar. Pero no lo tengo muy claro de como hacerlo.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 25 de Abril de 2018, 11:10:28
A veces al actuar sobre el pulsador luce el primer led, pero no llega a apagarse.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 25 de Abril de 2018, 14:39:36
Ahora si, si funciona, en estos momentos estoy comprobando que los tiempos estén correctos. El único problema que existe es que al dar sobre el pulsador a veces se encienden todos los leds. Imagino que por software se podrá solucionar. Pero no lo tengo muy claro de como hacerlo.

Para evitar los rebotes, dentro de la rutina "Incremento tiempo" puedes añadir un delay de no más de 30msg para probar que por ese efecto no  de tiempo a detectar varias acciones del pulsador.

A veces al actuar sobre el pulsador luce el primer led, pero no llega a apagarse.

No entiendo porque no se apaga porque cuando la cuenta llegue a 0 se está poniendo a =0 todo el puerto C que es el de las salidas.
No obstante te adjunto un fichero con una ligera modificación para forzar el apagado.

Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 25 de Abril de 2018, 14:48:04
Gracias Fer_TACA, mañana lo pruebo y te comento.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 25 de Abril de 2018, 14:49:41
Otra cosa,
en la prueba que hiciste de los tiempos ¿Cómo fueron?
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 25 de Abril de 2018, 15:35:21
No pude comprobarlo, ya que cuando conseguía que solo se encendiera el primer led este no se apagaba.

Algo que he comprobado en el simulador es que al introducir una nueva moneda no descuenta lo que lleve consumido de la primera, ejemplo;
pulsamos una vez y nos da en esta ocasión 8 seg., pues si cuando van consumido 6 seg, volvemos a pulsar no nos da 10 seg. vuelve a darnos 16 seg., no se si es que no se puede ver bien en el simulador, pero de no ser así no descuenta lo que va consumido.

De todas formas mañana probaré este ultimo archivo que has publicado y ya te comento.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 26 de Abril de 2018, 04:50:06
Buenos días Fer_TACA, he utilizado el ultimo archivo que subiste y he colocado un delay de 30 seg. tal y como me indicaste, con esto he corregido el anti rebote del pulsador, pero lamento decirte que en el primer pulso se enciende perfectamente el primer led y lo he dejado para controlar el tiempo de encendido y no llega a apagar nunca. Lo he tenido mas de 3 horas y no se a apagado.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 26 de Abril de 2018, 10:17:21
Perdon el delay es de 30 milisegundos......
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 26 de Abril de 2018, 14:08:25
Eso de 3 hora no puede ser:
si el timer TMR0 esta configurado como "internal clock" y con un preescaler de 1:32 con una frecuencia de reloj de 4Mhz sale una interrupcion cada 112,070Hz esto traducido a segundos da que la interrupcion se produce cada 8,192milisegundos.
Como el contador esta puesto en 122 sale un tiempo de 999,424 milisegundos. Prácticamente un segundo.
Es decir que el tiempo de la moneda se descontará cada 1segundo aproximadamente y si me dijiste que lo querías en 6.5minutos=390segunddos. eso es lo que hay puesto por lo que no puede ser.
Te adjunto 2 capturas de imagen de como debes tener la interrupción del TMR0 (si lo tienes como transición en TCKIN es evidente que no te va a funcionar) y también el proyecto con el delay que has puesto de 30 milisegundos. Quizás sea muy grande y deberías después de intentar bajarlo a lo máximo que puedas.

No pude comprobarlo, ya que cuando conseguía que solo se encendiera el primer led este no se apagaba.
Algo que he comprobado en el simulador es que al introducir una nueva moneda no descuenta lo que lleve consumido de la primera, ejemplo;
pulsamos una vez y nos da en esta ocasión 8 seg., pues si cuando van consumido 6 seg, volvemos a pulsar no nos da 10 seg. vuelve a darnos 16 seg., no se si es que no se puede ver bien en el simulador, pero de no ser así no descuenta lo que va consumido.
De todas formas mañana probaré este ultimo archivo que has publicado y ya te comento.

esto depende de la velocidad con que lo hayas simulado, si es lenta la suma evidentemente no la hace correctamente pues no da tiempo a decrementarse el contador de los 6 minutos. Si la simulacion es rapida la suma la realiza correctamente. ¡Es un simulador!
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 26 de Abril de 2018, 14:30:22
Fer_TACA, "no es en el simulador" donde no llega a apagarse el led, "es hecho en físico", no obstante mañana volveré a revisar y probar lo que has subido.

Muchas gracias.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 26 de Abril de 2018, 16:36:33
Lo de no apagarse Esta problems de la configuracion del TMR0. Lo de suma de tiempos que indicas si es  por el simulador.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 27 de Abril de 2018, 06:53:34
Hola Fer_TACA, con este ultimo archivo que subiste he hecho una prueba en físico y funciona, solo tiene un problema que no entiendo porque lo hace, cuando finaliza el tiempo de una o varias monedas en lugar de apagarse los les lo que hace es que se encienden todos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 27 de Abril de 2018, 10:04:25
Hola,

No entiendo porque el programa realiza eso pues al finalizar "siempre" el tiempo de 1 moneda (la ultima) siempre se quedan todos apagados.

El esquema que adjuntaste estaba bien, pero ¿con que alimentas el sistema? Puede ser que el sistema coja ruidos porque por lo que es el programa no puede hacerlo.

Con esto creo que tienes ya la cosa casi realizada, solo te queda entender como se hacen o se han hecho las cosas y por mi parte solo me queda ayudarte en las dudas que puedas plantear dado que te han realizado el proyecto. Espero que lo revises y que si encuentras mejoras a realizar las puedas implementar las vayas añadiendo. Te guiaré en lo que necesites.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 27 de Abril de 2018, 12:10:25
Hola Fer_TACA, en estos días he aprendido mucho sobre lo que has publicado y que he podido llevar a la practica, pero no es la primera vez que fabrico algo en electrónica y tampoco con Flowcode, solo he buscado ayuda con algo de lo que jamas he utilizado. Debes de entender que lo he alimentado con una buena fuente de alimentación con sus debidos filtros y protecciones, no soy nuevo en electrónica, si en programación. También es cierto que yo solo he hecho lo que tu has publicado, es mas, solo he creado el código HEX sobre tus archivos publicados.

Te agradezco toda tu ayuda pero sintiéndolo mucho no funciona. No se si todas tus publicaciones las has podido probar en físico, pero creo que si lo hiciste seguro que te dieron errores.

Ahora bien quedo eternamente agradecido por toda tu colaboración y hago saber en este foro que debes de ser una buena persona por todo lo que te preocupas por ayudar a personas que ni si quieras conoces.

Aquí lo dejamos para no molestarte mas, me hubiera encantado que este proyecto hubiese funcionado bien ya que yo no soy capaz de conseguirlo.

Un fuerte abrazo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 27 de Abril de 2018, 19:42:23
Para mi no es ningun problema el seguir ayudandote en responder a todas tus dudas y me alegro si conseguiste aprender algo.
Por mi forma de ser nunca tiraria la toalla y tampoco pongo en duda tu experiencia electronica, solo intento ayudar y que puedieras conseguir tu finalidad.
Mira los adjuntos todos los he probado fisicamente, si bien es  cierto que no con tu micro, los probe sobre la placa EB006 de Matrix, fabricante y distribuidor de Flowcode. Lo que sucede es quen en esta placa se utiliza El PIC1937 y despues de  probar que funcionaba lo traspasa al micro que ibas a utilizar. Pero te puedo asegurar que los programas funcionan y no dieron en ninguna ocasion errores.
¿Probaste el ultimo ejemplo? En todos el desarrollo es el mismo y solo he modificado pequenas cosas para que lo entendieras mejor.
No necesitas darme las gracias, solo pretendo ayudar y yo que tu si dispones, de tiempo no lo dejaria.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 28 de Abril de 2018, 03:12:39
Buenos días Fer_TACA, las pruebas las hice con el ultimo ejemplo y aparentemente funciona bien, solo que al finalizar el tiempo elegido según monedas depositadas los les quedan todos prendidos, es mas , si vuelves a dar un nuevo pulso se apagan todos los leds y solo prende el primero. En cuanto a los tiempos los hace cada 5 minutos aprox. eso para mi no es problema por que con tus ejemplos los puedo modificar, lo que no entiendo es porque se encienden todos al finalizar el conteo.

Y llevas razón, a mi tampoco me gusta tirar la toalla ni rendirme, pero cuando dependo de alguien que me ayude me cuesta molestar tantas veces.

Yo suelo hacer mis ""programas"" con flowcode 5 y la verdad se me dan bien, pero con esto del temporizador acumulable me tiene fuera de juego.

Continuaré ya que te brindas e intentaré conseguir con tu ayuda este proyecto.

Sabes si debería de cambiar de micro? y si fuera así cual me aconsejas? 

Muchas gracias por todo tu apoyo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 28 de Abril de 2018, 08:26:29
Yo tampoco se porque se quedan los leds encendidos al finalizar el tiempo de las monedas ya que si ves en la captura se comprueba que si el tiempo es <=0, se apagan todos los leds.
He cambiado un poco el programa para ver si se te corrige, ya te digo que a mi en mis placas(EB006+EB083 de Matrix Multimedia) no lo hace. Solo he cambiado de posición la comprobación de si ha llegado a 0.
http://www.matrixtsl.com/resources/files/datasheets/EB083-30-1.pdf
http://www.matrixtsl.com/resources/files/datasheets/EB006-30-9.pdf

En cuanto a los tiempos, tampoco se porque solo da 5minutos, aunque me imagino que es por la precisión del reloj interno. No he mirado el datasheet de este micro, pero algunos micros pequeños se entregan de fabrica con un par de bytes, en la ultima posición de la memoria grabados con unos datos para su calibración y precisión. Si en este micro es así y no lo has tenido en cuenta al grabar un nuevo programa esos datos se han perdido y de ahí quizás esa diferencia de tiempo. Hay micros con oscilador interno que esto no pasa como puede ser el PIC16F88, un poquitín mas grande.

La diferencia entre la versión 5 y 6 de Flowcode no debe ser problema la 6 solo tiene mejoras y una forma distinta de presentar algunas cosas dentro del entorno de programación.

Por la ayuda no te preocupes que mientras pueda, aunque algunas veces tarde en responder, la tendrás.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 29 de Abril de 2018, 04:23:20
Mañana haré una prueba con esta nueva publicación y si me da algún error voy a probar con el 16F88 y te comento los resultados.

De nuevo muchas gracias Fer_TACA.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 29 de Abril de 2018, 07:17:22
Lo de los leds la verdad es que no sé porque te pasa, por mas que lo reviso y repaso en mi placa no se me produce ese efecto. No se por donde mirar y que modificaciones poder realizar, ya que si me pasara sabría buscar el porque pero así es que no encuentro nada que produzca ese efecto.

Si lo cambias al 16F88 tienes que tener en cuenta varias cosas:

- Pasar el pulsador al Pin B0
- Si utilizas el puerto A como activación de las salidas y usas el pin A4 no te olvides de poner una resistencia a positivo ya que este pin su salida es de colector abierto.

Adjunto el fichero cambiado al 16F88 con el puerto A como salida espero que todas las configuraciones estén correctas, no obstante revísalas por si acaso.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 29 de Abril de 2018, 08:15:13
Gracias fer_TACA, mañana probaré los 2 archivos a ver que tal resulta.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 29 de Abril de 2018, 14:15:10
Buenos dias, un abrazo a ambos. Hoy le brindè unos momentos a la programacón con Flow y me puse ha hacer algo de este tema, salió lo que subo y que parece funcionar pero no he podido probar en placa. Lo dejo a criterio de ustedes su utilidad y corrección si así lo desean. Estoy haciendo muy poquito de este tema y he perdido la gimnasia (y la cintura, jajaja). Si sirve como aporte a un modo diferente de encarar el modo de realizaciòn ya es positivo.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 29 de Abril de 2018, 14:19:44
Ups, ¿y el adjunto?  :) :) - Tienes que ingresar para ver archivos adjuntos -
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 29 de Abril de 2018, 23:34:51
Unas modificaciones y funcionando.

 - Tienes que ingresar para ver archivos adjuntos -
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 30 de Abril de 2018, 08:34:54
Gracias Santiago,
es otra forma de realizar las cosas, espero que el amigo gg.tecnico entienda el desarrollo del programa.
Lo realizas controlando el tiempo en función de las monedas, siendo estas las que se van decrementando según va pasando el tiempo, yo se lo propuse el ir comprobando directamente la cantidad de tiempo total disponible en función de las fichas introducidas.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 30 de Abril de 2018, 09:58:24
Gracias a ambos por vuestras aportaciones, no podré hacer mas pruebas hasta el miercoles, pero en cuanto tenga resultados los públicos.

Gracias de nuevo.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 30 de Abril de 2018, 13:12:44
Hola Fermín, hola gg.tecnico. Si, genero un patrón de tiempo tras el cual decremento una ficha, por otro lado el conteo de fichas introducidas, y si el conteo es 0 se inicia nuevamente el programa desde la espera a que que sea mayor a cero la cantidad de fichas. Para seguir con debug el programa hay que bajar los tiempos o se hace eterno, pero andá bien en el Flow. Un abrazo a ambos. RB2 es la salida.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 30 de Abril de 2018, 13:25:59
Los tiempos que hay puestos son de seis minutos y medio (390segundos) que son los que se han propuesto.
Claro que para el debug son eternos, Yo para el debug pongo unos valores mucho as cortos pues si la secuencia es correcta luego solo queda poner los tiempos finales y listo.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 30 de Abril de 2018, 14:12:50
Si, usé prescaler=16, segundo en 2 y tiempo en 4, por ahí conviene un poco más de tiempo pues si metés varias fichas jode un poco al montarse interrupciones, cosa que en los tiempos reales no ocurrirá seguramente. En fin, probar y mejorar se lo dejamos al amigo gg.tecnico. Abrazos
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 30 de Abril de 2018, 19:29:55

http://www.matrixtsl.com/resources/files/datasheets/EB083-30-1.pdf
http://www.matrixtsl.com/resources/files/datasheets/EB006-30-9.pdf

Unavez actualizados los tiempos, el  micro y la frecuencia en las places adjuntas van bien ambas formas.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 07:20:34
Buenos días lucegiar2005, voy a probar los archivos que subieron tanto Fer_TACA como tu, pero con el tuyo me surge una duda, en la programación tienes colocado el oscilador como RC CLKOUT.

¿Me podrías indicar que valores tengo que usar? ese calculo no lo se hacer.

Muchas gracias.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 02 de Mayo de 2018, 07:34:13
Buenos dias. Nada cambia si lo colocas como interno, siempre que sean 4Mhz, eso determinalo según tu conveniencia y circuito. De hecho está con un pic distinto al que usas en tu proyecto original, esto porque me resulta más facil su prueba en placa, cosa que no he hecho por estar alejado del tema desde hace un tiempo. Lo importante era brindarte un modo distinto de hacer lo mismo que ya había hecho Fermín, ni mejor ni peor, distinto. Un abrazo.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 07:55:59
Muchas gracias, entonces lo voy a colocar como oscilador interno y comento como va.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 02 de Mayo de 2018, 08:16:34
Puedes dejarlo como el adjunto
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 08:31:53
Lo he probado y no me funciona no luce ningun led., no se si he hecho algo mal. El oscilador lo he colocado como me indicas, he creado el código HEX y el checksum que muestra el grabador al grabar es el mismo que al leer el pic. He hecho esto por si hubiera un problema en la grabacion.

Subo el esquema para que le eches un vistazo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 02 de Mayo de 2018, 08:44:12
No has adjuntado nada.
¿que es lo que has probado? ¿has actualizado los pines a las señales si has usado el proyecto adjutado por Santiago?
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 10:12:04
Hola Fer_TACA, he utilizado tal y como esta distribuido el programa creado por lucegiar2005.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 02 de Mayo de 2018, 10:38:20
Mira el pin del reset.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 10:45:41
Pin 4 MCLR con una resistencia de 4K7 a +5V, ¿no es así?
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 02 de Mayo de 2018, 10:48:57
Ok, me confundí de pin, recien bajo el datasheet pues estoy en el trabajo. Me disculpo.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 10:52:53
Sin problemas, cuando tu puedas le hechas un vistazo a ver que puede hacer que no funcione.

Gracias.

Mientras tanto voy a probar el archivo de Fer_TACA con el pic 16F88.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 02 de Mayo de 2018, 12:38:05
Hola Fer_TACA, he utilizado tal y como esta distribuido el programa creado por lucegiar2005.

Me referia a que el programa de Santiago utiliza pines diferentes al que te había estado realizando yo, por eso te preguntaba que si lo habias cambiado. Por lo demás el programa si has cambiado el oscilador no debería de haber problema para que funcione,

Mira el pin del reset.

Si ese es el pin de reset.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 02 de Mayo de 2018, 13:02:15
Mira en el programa del 16F88 le falta el tener una salida adicional para activar lo que necesites mientras los leds estén indicando el tiempo actual.
Te lo adjunto con esa salida adicional y la he puesta en el pin 3 del puerto B.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 02 de Mayo de 2018, 14:12:17
Buenas Fer_TACA, tengo ahora mismo en funcionamiento el ultimo archivo que has subido y estoy probando los tiempos, he encendido solo el primer led y veo que tiene un pequeño retardo al encender, pero por ahora lleva encendido 13 minutos y no se apaga.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 02 de Mayo de 2018, 16:17:27
Pues hay algo que se debe de estar pasando.
No comprendo que sol cambiando el tipo de micro, sin cambiar ninguna otra configuración (oscilador, tmr0 y divisor) que exista tanta diferencia. Antes solo 5 minutos y ahora más de treinta.

Se me ocurre una cosa ¿Qué programador usas para pasar el hexadecimal al micro? ¿Has comprobado que las opciones de configuración de reset, oscilador coincidan en el programador con lo indicado en lo que hay puesto en el programa?

Lo del retardo no lo entiendo tampoco, al funcionar por interrupción debería ser casi inmediato.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 03 de Mayo de 2018, 04:37:02
El grabador que utilizo es el PICkit 2, lo vengo utilizando desde hace mucho tiempo, hasta ahora no he tenido problemas, es mas estoy trabajando en un programa para un nivel de liquidos y todas las pruebas salen correctas.
Lo de configurar el programador es algo que nunca lo habia oido. Si puedes te agradecería me lo explicaras.

Muchas gracias Fer_TACA
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 03 de Mayo de 2018, 04:49:32
Fer_TACA, cuando tu haces las pruebas ¿que utilizas? el valor Checksum habrá de ser igual sea el grabador que sea ¿no es así?
¿me puedes decir que valor te da en tus pruebas?
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 03 de Mayo de 2018, 13:57:41
A ver, no digo que lo estes haciendo mal. Es por buscar una causa para determinar porque hay esa diferencia de tiempos entre 5 minutos y mas de 13 cuando no se ha cambiado la base de tiempos ni la configuración ni el oscilador ni el divisor, vamos nada de nada.

En el software del grabador del pickit2 me imagino que una vez que has elegido el pic a grabar tendrá alguna pestaña de configuración pues para: habilitar el reset, elegir el tipo de oscilador, proteger la memoria flash,....
Yo dispongo de WINPIC8000 y siempre procuroo que las configuraciones de este software coincidan con las elegidas dentro del Flowcode.

Me imagino que el Checksum será diferente según el grabador pero no sabría confirmarte.

Lo que no es normal que solo cambiando el tipo de pic y sin ningún cambio mas haya esa diferencia de tiempo.

Para no estar esperando mucho tiempo en las pruebas, lo que puedes hacer es cambiar(reducir) bastante el tiempo por ejemplo cada moneda 20...30 segundos.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 04 de Mayo de 2018, 05:37:17
Hola Fer_TACA, el PICkit 2 indica una entrada de configuración que al pulsar sobre ella aparece la imagen que adjunto.
De todas formas voy a intentar de hacerme de un grabador como el tuyo porque necesito este proyecto.

Saludos.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 04 de Mayo de 2018, 07:07:49
Hola,
mira lo que te adjunte en la imagen es el software programador WINPIC800. Pero solo es el software, luego necesito el hardware que es donde se pone el micro para grabar o se realza la grabación en modo ICD (sin desmontar el pic del pcb). Este hardware se llama "GPT-USB+".
Aquí encuentras todo:
http://www.winpic800.com

Pero ya te digo esa diferencia de tiempos es muy, muy rara.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 04 de Mayo de 2018, 10:37:40
No se Fer_TACA, en muchas ocasiones he pedido ayuda y no he tenido nunca problemas, ya hasta aquí no llego, no se como hacer para que funcione lo que me mandas, queda una ultima prueba, durante años antes de empezar a conocer Flowcode pedía diseños de programas a amigos incluso a una empresa que se dedica al diseño de electrónica, ellos me enviaban solo el código HEX y jamas he tenido inconveniente con los trabajos que he hecho. Es mas tenía la intención de pedirte ayuda con otro diseño. La cosa de pedirlo en Flowcode es para poder yo modificar cualquier parte del funcionamiento al que va aplicado cualquier diseño. Como te decía queda una ultima prueba, sube por favor solo el código HEX del temporizador y lo vuelco en el pic. Así he venido haciéndolo como te comentaba con algún amigo o empresa y siempre ha funcionado todo lo que me han enviado.

Título: Re:Temporizador por monedas
Publicado por: KILLERJC en 04 de Mayo de 2018, 11:37:02
gg.tecnico el problema es que algunos compiladores en conjunto con el software que te permite grabar el micro no se llevan bien.

Ya me paso que en algunos compiladores se incluyen los bits de configuracion, y luego por ejemplo el Pickit2 no lo reconoce a esos bits, seguramente porque espera el codigo formado de otra forma. No se si culpar al compilador o al soft del Pickit2. Seguramente Flowcode genera el .hex con el valor de los FUSES, pero el Pickit2 no lo toma como correcto, y tambien las otras personas utilicen XC8 para hacerte tu programa y tu .hex que pediste. Si alguno te pasa el mismo .hex tal ves tengas el mismo problema y con cualquier .hex que generes vos vas a tener problemas.

Por eso mismo Fer_TACA te ofrece que intentes con otro software de programacion, el cual reconosca el formato de los bits de configuracion que ofrece flowcode.

En la imagen que adjuntas los bits de configuracion no estan seteados. Estan todos en 1. Por lo tanto no lo cargo desde el .hex O simplemente no los tiene. Es tan simple como ver que hace cada bit y ponerle el valor adecuado.

Si me dicen que fuses desean te digo que valores debes poner en los bits esos. Por ejemplo MCLR OFF, OSC XT, etc
Si usas los FUSES que te paso Fer_TACA pone los valores

CONFIG1 : 0x3F7C  = desde el bit13 poner los bits en 11 1111 0111 1100
( es decir cambia solo 3 bits a 0 en tu bits de configuracion los bits 0,1 y 7)

CONFIG2 esta con sus bits correctos.

Y proba grabarlo con esos bits, imagino que con el .hex que te paso Fer_TACA, si el de lucegiar utiliza otros valores entonces no va a funcionar igual.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 04 de Mayo de 2018, 11:55:49
De acuerdo KILLERJC, haré ese cambio y probaré.

Gracias.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 04 de Mayo de 2018, 17:43:46
Te adjunto 3 ficheros:

Uno con el pic 16F628 de Santiago
Otro con el pic 16F88 del mio
Y el ultimo que pone "Tiempo corto" es para que pruebes antes que el anterior. Lo he compilado con tiempos menores para que no tengas que estar esperando demasiado. aprox. 20 segundos por moneda.

Pero como te dice KillerJC no se si te va a servir de algo.

Otra cosa para que funciones las salidas tanto en el de Santiago como en el mio están actualizadas a :
Monda1=B3
Moneda2=B4
Moneda3=B5
Moneda4=B6
Moneda5=B7

La deteccion  de entrada esta en B0.
Recuerda poner la resistencia en MCLR y los demas consejos de siempre que valen para todo: tension bien filltrada, condensador cerca de los pines de alimentacion,.....
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 04 de Mayo de 2018, 17:44:17
El tercer archivo
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 04 de Mayo de 2018, 18:17:43
Hola a todos. Hola KillerJC, un gustaso. Espero que le funcionen los programas a gg.tecnico, yo no puedo guiarme más que por el mismo Flow por ahora.
Fermín: ¿tienes problemas en el oficial de Niple?
Un abrazo y a la espera de resultados positivos del proyecto.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 04 de Mayo de 2018, 18:39:50
Hola Santiago,

Respecto a Niple parece que si hay algún problema.
Te he contestado por privado y mail.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 04 de Mayo de 2018, 20:46:38
Gracias Fermín por tu gestión siempre al momento. Un abrazo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 05 de Mayo de 2018, 10:22:08
Otra cosa para que funciones las salidas tanto en el de Santiago como en el mio están actualizadas a :
Monda1=B3
Moneda2=B4
Moneda3=B5
Moneda4=B6
Moneda5=B7

La deteccion  de entrada esta en B0.
Recuerda poner la resistencia en MCLR y los demas consejos de siempre que valen para todo: tension bien filltrada, condensador cerca de los pines de alimentacion,.....

Me falto añadir que la salida de activación del contacto del agua es por B2. El resto eran las indicaciones del tiempo disponible.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 08 de Mayo de 2018, 10:44:33
Buenas tardes Fer_TACA, hasta hoy por motivos de trabajo no he podido continuar con las pruebas. De tu ultima publicación los 3 archivos los he probado y no hay manera. También he cogido uno de los primeros y en la configuración el apartado 0x2007 son idénticos el de tu proyecto y el que presenta el grabador, no se si 0x2008 tiene que coincidir, pero en este grabador no es posible modificar.

Llevo mas de 10 años trabajando a una empresa en la que en muchas ocasiones me piden pequeños y no tan pequeños trabajos de electrónica, unas veces los hago yo con Flowcode 5 y otras cuando han sido de mas complejidad he contactado con empresas de diseño que mediante pago les he enviado esquema de lo que necesitaba y ellos me han enviado únicamente el código .hex.

Hasta ahora siempre he utilizado el mismo grabador (PICKit 2) y jamas se ha resistido el funcionamiento de todo lo que yo humildemente he podido crear ni tampoco lo que por mi han diseñado dichas  empresas.

En cualquier caso te quiero agradecer todo tu interés para que este proyecto funcionara, no quiero seguir molestando ya que si el problema es mi grabador hasta no tener otro va a ser difícil que esto salga.

Muchas gracias por toda tu ayuda y si algún día lo hago funcionar no dudes que lo comentaré.

Un fuerte abrazo.
Título: Re:Temporizador por monedas
Publicado por: KILLERJC en 08 de Mayo de 2018, 13:35:14
Es simple probar el programador, decime que PIC es, y alguna salida que tengas a algun led, de esa forma puedo hacer un .hex con un codigo que encienda y apague el led.
Yo manejo XC8 nomas, asi que esta prueba ya no tiene nada que ver con flowcode.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 08 de Mayo de 2018, 13:45:34
Hola,
Varias cosas: Para mi no es problema el ayudar, por el momento tengo mucho tiempo libre y me puedo dedicar a lo que sea. No quiero ser pesado ni insistente. Si decides dejarlo así por mi no hay problema.

En ningún momento dije que el problema fuera tu grabador, solamente quise hacer esa constancia de una posible causa de que no te este funcionando. Por que la verdad es muy raro que, el mismo programa con la misma finalidad y características, realizado de 2 formas distintas, en 2 maquinas distintas y realizado también por 2 personas distintas, no funcione ninguno de ellos.
Si además a todo esto añadimos las grandes diferencias de tiempos que has obtenidos en alguna prueba con la única diferencia de cambiar el micro, sin tocar nada del código que existan diferencias de mas de 10 minutos, pues como que ni es muy normal.

Por totra parte te puede certificar que en mis placas de desarrollo que te pase los links para que los vieras, el programa funciona de 10. La diferencia entre lo que te mando y lo que he realizado pruebas en real, esta en el tipo de micro. En mi placa se utiliza el pic 16F1937 que es de 40 pines. Una vez probado y visto que me ha funcionado, he procedido a cambiar el tipo de micro a los que indicastes. Una vez hecho lo anterior probé que al menos en la simulacion seguia funcionando (no disponia del pic que propusiste para haber probado en real).

Asi que lo dicho inicialmente. Ya se queda de acuerdo a lo que desees, si es que lo quieres dejar y no obstante puedes seguir preguntando lo que necesites.

F.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 08 de Mayo de 2018, 14:51:12
Gracias Fer_TACA, pero es que no se que mas hacer salvo cambiar de grabador, esta misma tarde he copiado el programa de Santiago y lo he pasado a Flowcode 5, simplemente por hacer una prueba, y nada no hay forma, es mas he bajado los tiempos y solo he utilizado el primer led y enciende pero no se apaga. Sin embargo en el ordenador lo hace perfectamente. También he probado cambiando el programa y colocarle un cristal de cuarzo con sus respectivos condensadores. No hay manera de que me funcione.



Yo estoy encantado con tu ayuda lo que no quiero es molestarte mucho, pero seguiré hasta que podamos dar con el problema, de todas formas estoy aprendiendo bastante.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 08 de Mayo de 2018, 17:38:08
Por eso te decia que es muy raro. 2 programas iguales realizados en sitios distintos y personas distintas.
Tambien era lo de probar con otro grabador y aunque lo hayas utilizado  ¿No se puede haber deteriorado? ¿No tienes a nadie que te lo grabe?
Cuando lo pruebas en real ¿Como lo haces, en una protoboard?

Por mi  no es problema me seguir, pero la verdad es que no sense mas que pensar que le puede pasta.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 09 de Mayo de 2018, 03:21:49
El grabador está bien porque estoy haciendo pruebas con un nivel de líquidos que lleva el 18F4480 y todas las pruebas salen perfectas.

Anoche hice una modificación sobre el programa de Santiago y la estoy probado ahora, en cuanto termine comento los resultados.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 09 de Mayo de 2018, 04:23:10
Fer_TACA, esto funciona, los tiempos los marca perfectamente. Como te decía he cogido el programa de Santiago y lo he pasado a Flowcode 5, aqui me daba un error y es que tenia que declarar las variables al principio del programa, pues bien lo he hecho así y funciona. De esta manera me da el servicio que necesito, pero para afinarlo del todo necesitaría lo siguiente "si es que se puede hacer":

Si introducimos 3 monedas una tras otra la suma del tiempo es perfecta y los leds se van apagando según el tiempo consumido, pero si introducimos una moneda y a los 3 minutos introducimos otra, es verdad que también suma el tiempo perfectamente, pero el segundo led se apaga antes de lo previsto; y me pregunto ¿se puede hacer que los leds se apaguen del primero al ultimo y no del ultimo al primero? o sea, echamos una moneda y nos da 6.5 min, cuando van consumidos 3 min echamos una segunda moneda la cual nos da otros 6.5 min, pues bien se debería apagar primero el primer led y dejar encendido el segundo hasta llegar a consumir esos 6.5 min.

He subido el programa en Flowcode 5.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 09 de Mayo de 2018, 07:48:28
Hola, buenos dias. No me he ido, solo me quedé callado. Jajaja. Si puedo esta tarde lo veo en Flow 5, pero lo de tener que declarar las variables te comento que quizá se deba al tipo de variables, creo que usé globales en general, para que que no quedaran declaradas de otro modo. Lamentablemente entre unos problemas de fin de semana, y que sigo enredado en unos compromisos gastronónicos vacunos y porcinos, no asiento el traste lo suficiente para ponerme a armar el circuito correspondiente para probarlo. Tengo ganas de que salga como se debe. Un abrazo y suerte. Sigo el hilo.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 09 de Mayo de 2018, 08:27:00
Pinso que si se puede.  Bastara con que en la zona de comprobacion de  monedas  se  coloque solo el Led que necesites iluminado y  dejando el resto apagados.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 09 de Mayo de 2018, 17:05:40
Otra cosa que se me acaba de ocurrir es que si te funciona con la versión 5 de Flowcode, el mismo proyecto sin tocar nada lo abras con la versión 6, lo compiles y pruebes en el circuito real y si no te va entonces el problema casi seguro se encuentra en el compilador de la versión 6 que no funciona correctamente.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 09 de Mayo de 2018, 17:32:26
Eso lo he probado y no funciona.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 09 de Mayo de 2018, 17:38:22
Pues si has hecho eso con la versión 5 y funciona y con la versión 6 no, la cosa está clara que la cosa de que la compilación de la 6 no sea la correcta, toma todos los papeles de que así sea.

¿Puedes poner una captura de pantalla de la verson de Flowcode 6?

Gracias
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 09 de Mayo de 2018, 18:01:53
Es una versión Libre/Demo v6.1.3.2 (18.02.2016), lo mismo es ese el problema, que se trate de una versión Demo y yo al descargarla no me di cuenta.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 09 de Mayo de 2018, 18:08:46
Puedes adjuntar la captura de la version 6 y de la 5?
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 10 de Mayo de 2018, 05:27:52
Estos son los programas que tengo, si bien la V6 solo la descargué para poder ver lo que subías, la V5 me la pasó un compañero y es con la que he hecho todos los programas desde que manejo humildemente esta versión.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 10 de Mayo de 2018, 05:28:31
.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 10 de Mayo de 2018, 05:29:53
La ultima imagen se ha duplicado por error....
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 10 de Mayo de 2018, 05:58:53
Quizás ahí está la diferencia.
Adjunto imagen.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 10 de Mayo de 2018, 06:10:46
Puede ser, solo que la V6 profesional no la he podido encontrar, y algunos conocidos solo disponen de la V5.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 10 de Mayo de 2018, 16:14:03
Ahora lo tengo profesional, haré pruebas y comentaré. - Tienes que ingresar para ver archivos adjuntos -
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 10 de Mayo de 2018, 17:23:51
 ((:-)) ((:-)) ((:-))
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 10 de Mayo de 2018, 20:15:41
Yo reinstalé y me rebota la clave. Grrrr
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 11 de Mayo de 2018, 08:31:27
He probado el mismo programa en la versión profesional V6 y no funciona, solo luce el primer led al primer pulso, ademas el led no llega a apagarse, sin embargo el mismo programa en V5 con el único cambio de declarar las variables al principio si que va perfecto. Hasta aquí no lo entiendo, porque en V5 va bien y en V6 no.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 11 de Mayo de 2018, 15:51:40
Si el mismo proyecto,  sin ningun cambio en uno funciona y en otro no, pocas  cosas se me ocurren .
¿Has comprobado que todas las configuraciones son iguales?
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 12 de Mayo de 2018, 05:23:10
El único cambio que hago en V5 es declarar las variable al inicio, es mas he hecho lo mismo en V6 y sigue sin funcionar. Por lo demás creo que todo está igual.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 12 de Mayo de 2018, 05:29:31
Fer_TACA una pregunta al margen de todo esto.

He fabricado un teclado con un pic para instalar en un camión y estoy teniendo una serie de problemas. Resulta que este teclado lo único que hace es abrir y cerrar unas electroválvulas, osea un pulso abre y un pulso cierra, pues bien en ocasiones al activar cualquier electroválvula hay veces que unas se activan o desactivan solas.

Sabrías decirme cual es el mejor filtro para evitar que el pic capte interferencias electromagneticas?
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 12 de Mayo de 2018, 08:24:30
El único cambio que hago en V5 es declarar las variable al inicio, es mas he hecho lo mismo en V6 y sigue sin funcionar. Por lo demás creo que todo está igual.

Respecto a las configuraciones que sean iguales en ambas versiones me refería a lo adjunto
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 12 de Mayo de 2018, 08:32:56
Fer_TACA una pregunta al margen de todo esto.

He fabricado un teclado con un pic para instalar en un camión y estoy teniendo una serie de problemas. Resulta que este teclado lo único que hace es abrir y cerrar unas electroválvulas, osea un pulso abre y un pulso cierra, pues bien en ocasiones al activar cualquier electroválvula hay veces que unas se activan o desactivan solas.

Sabrías decirme cual es el mejor filtro para evitar que el pic capte interferencias electromagneticas?

Seguramente ese efecto se te produce por causa del efecto inductivo de las bobinas de las electroválvulas.
¿Las electroválvulas tienen algún tipo de protección en sus bobinas como: varistor, diodo, snuber,...?
Si no la tiene, en la parte que las activa en tu placa ¿tienes puesto algo similar?
Desde luego el tema de los ruidos es un gran problema para solucionarlo de una manera sencilla pues hay que conocer muy bien el origen del mismo para poderlo atacar con eficacia, en caso contrario vas a tener que hacer lo que se llama "prueba y error". Es decir ir probando e intentando aislarlo por partes. pero siempre teniendo en consideración las reglas mas elementales:
- Buen filtrado de la alimentación.
- Situación del control lo mas lejos posible de la parte de potencia.
- Aislamiento de la alimentación de cada una de las partes para que no haya inducciones entre una y otra.
- Correcta separación entre la parte de potencia y la de control.
- A ser posible un buen apantallamiento del alojamiento de la parte de control.
-.....
-....
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 13 de Mayo de 2018, 03:52:30
Hola Fer_TACA, respecto a las configuraciones creo son iguales, subo imágenes.

Y sobre los problemas de ruidos creo haberlo solucionado, colocaba diodos en paralelo con las bobinas pero lo hacia en la placa, y lo que he hecho a sido colocar el diodo en la misma bobina, hice muchas pruebas y no volvió a presentar ningún síntoma raro.

Muchas gracias Fer_TACA.

Se me olvidaba preguntarte ¿podrás modificar el programa del monedero?

Si introducimos 3 monedas una tras otra la suma del tiempo es perfecta y los leds se van apagando según el tiempo consumido, pero si introducimos una moneda y a los 3 minutos introducimos otra, es verdad que también suma el tiempo perfectamente, pero el segundo led se apaga antes de lo previsto; y me pregunto ¿se puede hacer que los leds se apaguen del primero al ultimo y no del ultimo al primero? o sea, echamos una moneda y nos da 6.5 min, cuando van consumidos 3 min echamos una segunda moneda la cual nos da otros 6.5 min, pues bien se debería apagar primero el primer led y dejar encendido el segundo hasta llegar a consumir esos 6.5 min.
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 13 de Mayo de 2018, 10:17:38
Si introducimos 3 monedas una tras otra la suma del tiempo es perfecta y los leds se van apagando según el tiempo consumido, pero si introducimos una moneda y a los 3 minutos introducimos otra, es verdad que también suma el tiempo perfectamente, pero el segundo led se apaga antes de lo previsto; y me pregunto ¿se puede hacer que los leds se apaguen del primero al ultimo y no del ultimo al primero? o sea, echamos una moneda y nos da 6.5 min, cuando van consumidos 3 min echamos una segunda moneda la cual nos da otros 6.5 min, pues bien se debería apagar primero el primer led y dejar encendido el segundo hasta llegar a consumir esos 6.5 min.

Esto es debido a que en el programa de Santiago, que es el que estas utilizando, la suma se realiza sobre las fichas y suma tiempos en función de cada ficha añadida, ya que estas tienen un valor unitario en función del tiempo. Para corregir lo normal seria colocar la activacion del TMR en la ruina de control de tiempo, pero hay que cambiar el programa con mucho cuidado y logica para que el tiempo no esté siempre funcionando.

Respecto a la otra consulta de que los leds se apaguen al reves si seria posible, pero ya te complicará el circuito pues necesitas en todo momento conocer el valor de la ficha, el tiempo y el led encendido. Particularmente no lo veo sentido que se vayan apagando al reves. Imaginate que solo introduces una moneda, ¿como se encenderia el led, ya que estás en la ultima fase del tiempo?
Yo lo dejaria como está.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 13 de Mayo de 2018, 21:41:04
Hola gente, un abrazo. Tal como dice Fermín mi programa suma fichas y con ellas tiempo, pero es correcto. Tomemos como ejemplo que transcurra la mitad del tiempo de una ficha e introdusca una ficha, con lo que se mostrará el segundo led, pero por la mitad del tiempo que sumó, ello es porque cada x tiempo resta una ficha, sea la que sea que este indicando se apagará porque el tiempo de una ha transcurrido. Te dejo un .hex para que lo pruebes, es del 7, en el Flow cumple lo programado, fijate en placa si la armaste. Surte y saludos.


 - Tienes que ingresar para ver archivos adjuntos -

Nota: Agregá un led, si gustas, a A1 que sirve como testigo del ingreso al programa de visualización. Lo puse porque tenía un error no encontrado.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 18 de Mayo de 2018, 13:09:51
Buenas tardes, hola Santiago, el ultimo archivo que subiste "a mi" no funciona, el problema no se cual es. Te puedo decir que ya me es imposible saber en donde reside el error, como le comentaba a Fer_TACA, ya no se que hacer. Hice una pequeña placa, he probado todo lo que habéis subido, y no hay manera de que funcione, si bien es cierto que tu software lo pasé a Flow V5 y sí que va.



Os doy muchas felicitaciones y un fuerte abrazo.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 23 de Mayo de 2018, 08:52:07
Ok, lamento que así ocurra. No quiero prometer nada pues poco estoy en el tema, pero apenas pueda busco una placa para probar y los trato de hacer funcionar, o al menos fracasaré con todo exito. Ciertamente funcionan en el debuger de Flowcode, pero algunos ni en Proteus lo hacen. Perdí las versiones 6 y 7 y no creo recuperarlas, por lo que me quedó la 5 como unica posibilidad. Recordá que en los casos en que el oscilador sea interno el masterreset no debe declararse on. En fin, si logro algo te comento. Un abrazo a ambos.
Título: Re:Temporizador por monedas
Publicado por: Robert76 en 23 de Mayo de 2018, 09:19:57
Hola Amigo gg.tecnico, yo he realizado exactamente el proyecto que pretendes. En mi caso, cuando el tiempo ya está corriendo y luego se inserta otra moneda, lo que hago es acumular en un contador la cantidad de monedas insertadas.
Por otro lado cuando transcurre el tiempo seteado, es decir llega a 0, lo que hace es decrementar una cuenta al acumulador de monedas y el tiempo se reestablece otra vez.
Ahora si el acumulador de monedas llega a 0, el proceso se interrumpe apagando la máquina que da servicio.
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 23 de Mayo de 2018, 12:06:54
Hola Robert76, como estás? Es exactamente lo que hacen los ultimos que subí, el tema es si a vos te funcionó en placa o no, pues en Flowcode va, pero no en placa. Un abrazo.
Título: Re:Temporizador por monedas
Publicado por: Robert76 en 23 de Mayo de 2018, 12:14:47
Que tal lucegiar2005, el proyecto quedó instalado y funcionando. Y se encuentra replicado en varios clientes. Por el momento no tengo fotos, ya que ésto data de hace varios años.
Tengo dos versiones, uno con LCD y otro con display a LEDs, éste último es más robusto ante la humedad que el LCD.
Básicamente cuenta con un pequeño menú que permite modificar, cantidad de monedas para iniciar, el tiempo minutos, tiempo de segundos(fraccionado de 5" en 5"), por último al ingresar a un párametro Z, muestra la cantidad de monedas acumuladas(guardadas en EEPROM) para hacer la gestión administrativa.
Además cuando quedan 55" antes de finalizar el tiempo, da un aviso acústico, para advertir al cliente de insertar otra moneda o apurar el trámite :D
 Abrazo.-
Título: Re:Temporizador por monedas
Publicado por: lucegiar2005 en 23 de Mayo de 2018, 13:24:54
Ok, gracias por comentarlo, es que no he tenido mucha experiencia en Flow y no todas han sido de exito, todo bien en el debug pero en placa fallan mucho o no funcionan. Si tienes algún aporte al respecto se que muchos lo apreciarán enormemente. Un abrazo grande.
Título: Re:Temporizador por monedas
Publicado por: Robert76 en 23 de Mayo de 2018, 15:47:03
Bueno, el principal problema que puede haber al montar todo en placa sin buen resultado, para empezar el microcontrolador debe contar con condensador de 100nF, lo más próximo posible a sus dos pines de alimentación, eso por un lado.
Por otro lado, si una señal que ingresa al PIC, proviene del exterior, lo más seguro es optoacoplarla, por el tema interferencias, además de la seguridad galvánica.
En algunos casos he recurrido, a pasar todo el grupo de cables que ingresan/egresan del módulo por un núcleo toroide de ferrite.
Con 5 vueltas, me quite de encima de dolores de cabeza que interferían con el funcionamiento del PIC.
El diseño del PCB, también es determinante, usar planos de GND en la mayor área posible.
Espero te sirva.
                                   Saludos.-
Título: Re:Temporizador por monedas
Publicado por: Fer_TACA en 23 de Mayo de 2018, 16:50:46
Bueno, el principal problema que puede haber al montar todo en placa sin buen resultado, para empezar el microcontrolador debe contar con condensador de 100nF, lo más próximo posible a sus dos pines de alimentación, eso por un lado.
Por otro lado, si una señal que ingresa al PIC, proviene del exterior, lo más seguro es optoacoplarla, por el tema interferencias, además de la seguridad galvánica.
En algunos casos he recurrido, a pasar todo el grupo de cables que ingresan/egresan del módulo por un núcleo toroide de ferrite.
Con 5 vueltas, me quite de encima de dolores de cabeza que interferían con el funcionamiento del PIC.
El diseño del PCB, también es determinante, usar planos de GND en la mayor área posible.
Espero te sirva.
                                   Saludos.-

Gracias Roberto,
muchas de estas cosas que indicas ya se las indique al otro usuario que había que comprobar y tener muy en claro.
Título: Re:Temporizador por monedas
Publicado por: gg.tecnico en 24 de Mayo de 2018, 16:13:50
Hola a todos, muchas gracias por todas vuestras opiniones y respuestas, pero hay algo raro ya que como comenté hace unos días el programa de Santiago lo copié en Flowcode V5 generé el código hex lo volqué en el Pic y ahí si que funciona. Lo único que modifiqué fue declarar las variables al inicio del programa.

Si funciona habiéndolo generado en Fowcode V5, me pregunto que no existen problemas de filtrado, u otro que pudiera interferir en el Pic.

Saludos.