Flowcode 4

el archivo que le envió Edgard funciona nada mas que con el simulador de flow y si lo hace con proteus o en físico nunca va a funcionar



si se puede pero lo veo mas complicado y según mis conocimientos debe hacerlo como yo lo explique en post anteriores, primero la frecuencia de las interrupciones , después los minutos y luego las horas es la manera mas elemental y seguro que funciona ya lo he hecho en varias oportunidades
 
Última edición:
no queria enviarle el archivo que lo hice ayer o antiayer , porque la idea es que explore investigue para que aprenda si se lo envio tan rapido y no hay explicaciones despues no va a lograr hacer otro si no es con ayuda o hace la copia del que le facilitaron y tengo entendido que estos foros son de ayuda para que todos aprendamos

yo le envie uno que si usted hace lo que le indico funciona
 
Lo entiendo perfectamente, llevo algunos meses practicando con Flowcode y he conseguido aprender bastante, pero cuando entro en un nuevo apartado me sirve de mucho tener un ejemplo de alguien que maneje este software, porque después consigo modificaciones o incluso el intercalarlo en programas mas grandes, pero en este caso lo necesito porque prometí a un amigo realizarle este pequeño montaje y me veo con tener que abandonar. De ahí la insistencia de tener este archivo.

Gracias de todas formas por toda su colaboración.

Saludos.
 
Última edición:
hizo las pruebas que le indique con el archivo que le envié?



le voy a enviar uno pero usted tiene que cambiar los tiempos yo lo hice porque en un simulador hablar de 1 hora yo no tengo tiempo de verificarlo y para simularlo le coloco es segundos para la prueva y posteriormente modifico el tiempo y listo
 
Última edición:
Si, en el anterior archivo que me envío conseguí cambiar tiempos y entender bien el porque de las 61 veces,
de ahí el conseguir multiplicar la décimas de segundos y poder hacer tiempos mas largos, una vez que aprendo algo lo pongo en marcha, pero en este segundo caso se me hace un poco mas dificil.
 
primero que todo:
si esta utilizando el archivo que le envié el pic esta configurado para trabajar con el oscilador interno del pic y el TRM0 también esta configurado así y el masterclear también es interno por lo cual debe colocar los led nada mas con las resistencias limitadoras de corriente



segundo :
si esta utilizando el archivo que le envio edgard22 tiene unas incongruencias en la configuracion del TRM0 porque lo tiene configurado el pic en xt y la interrupcion la tiene configurada en oscilador interno, que pasa con esto ? que nunca va ha hacer las funciones que le esta indicando en el archivo

lee esto para que vea el porque no va a funcionar el de edgard
 
Si, RUIZ13, me refería a ese archivo de edgard22, ¿se pueden corregir esas incongruencias?.
Necesito realizar un temporizador de esas caracteristicas.

Hola, según tengo entendido, la forma de seleccionar el reloj de las interrupciones TMR0 es interna o externa, la opción interna es referente al reloj en sí del pic, independientemente de que sea generado fuera o dentro del mismo.
Seleccionando opción externa estaríamos usando el pin T0CKI/INT/COUT como entrada de reloj de interrupciones (GP2 en el caso del pic12F629/675).
Ahora, tampoco tengo del todo claro el porqué no funciona, en vez de eso decidí cambiar un poco la estructura del programa y funcionó correctamente, lo he probado seteando un lapso de 20 minutos.
El indicador ahora parpadea a una frecuencia más lenta, (0.5 Hz).
He usado un PIC12F675 porque es lo que tenía a mano (en el ejemplo anterior era el F629).
Saludos a todos. :)
 

Adjuntos

  • Timer 1 Hora v2.rar
    2.8 KB · Visitas: 139
Última edición:
Hola edgard22, he probado físicamente este último archivo, se ve que ha bajado la velocidad de intemitencia del led ACTIVIDAD, pero sigue sin cambiar de OUT1 a OUT2, se mantiene constantemente encendido OUT1.

(En el momento de escribir este post lleva encendido 2 horas y 36 minutos)

Saludos.



Edgard22, con código hex que subiste junto con el archivo de Flow si funciona, sin embargo si yo genero el código hex este no cambia de OUT1 a OUT2, me podrías comentar por que puede ser? seguramente el problema esté en la configuración, ¿me podrías comentar como lo tienes conf¡gurado?
 
Última edición:
Hola de nuevo a todos, estoy practicando con PWM y veo que esto debe ser un poco mas complejo de lo que aparece he tomado uno de los ejemplos de Flowcode y lo he puesto en practica, y esto funciona pero muy mal, entendiendo que falta algo mas para que un sistema PWM funcione correctamente.
Lo que intento es construir un regulador de intensidad para un equipo de electrolisis, el cual debe funcionar con 12Vdc. pensé que con PWM podía regular la potencia de salida y me dispuse a pasar el circuito a físico colocandole un IRF540 como interface y una lampara de 12V 15W, lo que me aparece en la lampara es una intermitencia muy acentuada, he manejado regualadores de PWM y en la carga no se nota esta intermitencia. Subo el archivo a ver si me pueden echar una mano.

Muy agradecido como siempre a todos.
 

Adjuntos

  • 1. ADC Controlled PWM 16F88 (1).rar
    1.6 KB · Visitas: 91
Hola, según tengo entendido, la forma de seleccionar el reloj de las interrupciones TMR0 es interna o externa, la opción interna es referente al reloj en sí del pic, independientemente de que sea generado fuera o dentro del mismo.
Seleccionando opción externa estaríamos usando el pin T0CKI/INT/COUT como entrada de reloj de interrupciones (GP2 en el caso del pic12F629/675).
Ahora, tampoco tengo del todo claro el porqué no funciona, en vez de eso decidí cambiar un poco la estructura del programa y funcionó correctamente, lo he probado seteando un lapso de 20 minutos.
El indicador ahora parpadea a una frecuencia más lenta, (0.5 Hz).
He usado un PIC12F675 porque es lo que tenía a mano (en el ejemplo anterior era el F629).
Saludos a todos. :)

ok edgar
en la configuracion del pic la pregunta del software pregunta si el oscilador con el que esta trabajando es interno o externo
1- en la configuracion del pic usted coloco oscilador xt o externo
2- y en la configuracion del TRM0 le pregunta que tipo de oscilador si interno o externo y usted configuro interno
3 por lo tanto le va a funcionar en el simulador de flow mas en proteus o en fisico va a tener problemas con el funcionamiento revise su archivo y espero su respuesta


ojo para los que no tienen experiencia
en flow code el simulador funciona y no importa la configuracion del pic mas no va a funcionar en proteus o en fisico
muchas personas desisten de flow code porque no toman en cuenta la configuracion del pic o como en este caso las interrupciones y dicen que este soft es malo cuando en realidad hoy en dia hay varias empresas que lo utilizan por lo rapido de su programacion a los pic

hasta pronto



una pregunta edgar, usted lo hizo en fisico o lo simulo con proteus



Hola de nuevo a todos, estoy practicando con PWM y veo que esto debe ser un poco mas complejo de lo que aparece he tomado uno de los ejemplos de Flowcode y lo he puesto en practica, y esto funciona pero muy mal, entendiendo que falta algo mas para que un sistema PWM funcione correctamente.
Lo que intento es construir un regulador de intensidad para un equipo de electrolisis, el cual debe funcionar con 12Vdc. pensé que con PWM podía regular la potencia de salida y me dispuse a pasar el circuito a físico colocandole un IRF540 como interface y una lampara de 12V 15W, lo que me aparece en la lampara es una intermitencia muy acentuada, he manejado regualadores de PWM y en la carga no se nota esta intermitencia. Subo el archivo a ver si me pueden echar una mano.

Muy agradecido como siempre a todos.

hola primero que todo no he podido bajar el archivo porque estoy fuera de casa y esto lo respondo por el movil
pero de acuerdo a lo que usted dice su problema es la frecuencia en la cual trabaja seguro que lo esta haciendo en 4Mhz y nota mucho el parpadeo
pruebe con la frecuencia mas alta que le permita el pic y me indica cual es el resultado, debería de mejorar
 
Última edición:
Hola RUIZ13, efectivamente lo estoy haciendo con 4Mhz con el PIC16F88, cambiaré la máxima frecuencia y y comentaré el resultado. En este caso si este es el problema habría que elegir otro PIC que admitiera mas frecuencia. ¿Cual me recomendaría?

Muchas gracias.
 
yo he hecho pruebas con 16f628a con diodos y me ha dado buenos resultados trabajandolo con el oscilador interno a la mas alta frecuencia y he logrado efectos muy buenos.
hagalo usted con el 16f88 que tambien tiene oscilador interno y lo coloca a 20Mhz
saludos
 
Al colocar la frecuencia del oscilador en 20Mhz y quisiera utilizar un display lcd, ¿afectaría en algo a el dislpay?

Quiero visualizar en un display el porcentaje de ajuste para la salida de PWM.

Le pregunto esto porque hace unos días hice un pequeño montaje utilizando el 16F88 y tuve el siguiente inconveniente; con el oscilador interno a 4Mhz el display no funcionaba, sin embargo lo volví a programar con oscilador externo y le coloque el cuarzo tambien de 4Mhz y el display lcd funcionó perfectamente. Aún no he podido entender el motivo.

Gracias
 
Última edición:
seguro tenias algún otro problema de configuración y usted lo corrigió y no se dio cuenta revise bien
por supuesto que le puede colocar un potenciometro y un lcd con el potenciometro controla el % de trabajo y lo puede representar en el lcd
 
Última edición:
Al colocar la frecuencia del oscilador en 20Mhz y quisiera utilizar un display lcd, ¿afectaría en algo a el dislpay?

Quiero visualizar en un display el porcentaje de ajuste para la salida de PWM.

Le pregunto esto porque hace unos días hice un pequeño montaje utilizando el 16F88 y tuve el siguiente inconveniente; con el oscilador interno a 4Mhz el display no funcionaba, sin embargo lo volví a programar con oscilador externo y le coloque el cuarzo tambien de 4Mhz y el display lcd funcionó perfectamente. Aún no he podido entender el motivo.

Gracias

Hola Manuel, a mí me pasó lo mismo, en un termómetro que hice para probar, si usaba oscilador interno funcionaba pero la presentación en el lcd era muy lenta, sin embargo, cambiando a externo con cristal, se solucionó.

Para invesel: Te adjunto una imagen que muestra la config que usé para compilar el hex.

Para RUIZ13:
Creo que no es correcto lo que dices, como dije antes, cuando seleccionas el oscilador del TMR0 se refiere a si se utilizará como referencia el oscilador que hace funcionar el PIC, no importando el origen de este. El concepto de interno o externo es diferente al de la configuración del pic y no tiene por qué ser el mismo para que funcione. Al elegir en configuración de TMR0 'interno' simplemente decimos que se usará el reloj del pic, el que lo hace funcionar, sin importar su origen, al elegir externo, tenemos la posibilidad de usar otro reloj, lo que nos permite controlar las interrupciones basándonos en una señal externa e independiente del reloj del pic. Si ves en el ejemplo que puse verás que no cambié la configuración del TMR0, sigue en interno, y estoy usando un cristal de 4MHz. También probé usando el reloj interno y no dió problemas. En cuanto a la simulación, mi experiencia (muy poca) me ha enseñado que no debe ser tomado como referencia definitiva, en el de flowcode, tiene bastantes errores de verificación, lo que permite que funcionen cosas que en la realidad no funcionarían o de hacerlo, lo haría de forma diferente. Con el proteus, más de una vez no me funcionó nada, y en la realidad, funcionaban sin problemas. Por eso, cuando realizo algo, generalmente lo llevo a la realidad para verificar que esté todo en orden.
Me ha pasado más de una vez con el simulador de flowcode, crear algo con lcd, por ejemplo y al armarlo no lograr hacerlo funcionar de ninguna manera (en el simulador todo funcionaba perfecto). Solamente funcionó al modificar la estructura del programa para que haga lo mismo pero de otra forma.

Nuevamente, saludos a todos.
 

Adjuntos

  • Config Timer 1 Hora.JPG
    Config Timer 1 Hora.JPG
    57.1 KB · Visitas: 54
Última edición:
Hola Manuel, a mí me pasó lo mismo, en un termómetro que hice para probar, si usaba oscilador interno funcionaba pero la presentación en el lcd era muy lenta, sin embargo, cambiando a externo con cristal, se solucionó.
hay que tomar en cuenta tambien la configuración del master clear al colocarlo interno o externo



lo de activación del TRM0 estoy de acuerdo depende con que señal vas ha hacer la interrupción pero creo que no me entendió o no me supe explicar, vamos a ver si me cachas la idea:
con la interrupción interna en el TRM0 no va a trabajar a la misma frecuencia que con el pic y oscilador xt
ya que va existir un desgaje en las dos frecuencias
ahora si utiliza el oscilador externo en el pic, para que utiliza el oscilador interno en TRM0 si xt es mas estable y preciso que el oscilador interno y estamos hablando de tiempo, puede haber una variacion de varios minutos con el oscilador interno .
dejeme ver si puedo simular en proteus tu circuito y llevarlo a fisico para ver su archivo creo que el fin de semana lo hago
 
Última edición:
El master clear generalmente prefiero deshabilitarlo (que quede como interno) para usar el pin en otra cosa. En su momento, fué motivo de que no me funcionara nada, ja ja, estaba habilitado y sin ponerle la R pull-up. :LOL:

ruiz, no entiendo porqué dices que uso el externo (XT) y el interno en TMR0, si al usar el XT el oscilador interno no se usa, la referencia es el oscilador XT, además, de hacerlo como tu dices, no tengo forma de usar oscilador externo en TMR0 sin utilizar otro oscilador aparte e ingresarlo en el pin GP2... :confused:
 
Última edición:
Hola a todos, me gustaría volver al tema de PWM, como comenté hace poco, estoy practicando con PWM en flowcode, tengo mucho interés en hacerlo bien, puesto que si funciona correctamente tendré que montar 10 equipos para producir electrolisis. El caso es que he leído en alguna parte de internet que para producir PWM se utilizan algunas formulas que desconozco si esto se hace en flowcode, os pongo un fragmento de un articulo también posteado en este foro.


FRAGMENTO COPIADO DE UN POST PUBLICADO EN ESTE FORO.
Re:pwm +pic16f877a
Hola pana para configurar la anchura del pulso solo tienes q hacer uso de las siguientes formulas:

El periodo se determina según la
fórmula T=(PR2+1)*4*Tosc*TMR2 preescaler. La duración del pulso(en estado activo) (d) se deter-
mina según d=(CCPR1L:CCPCON1<5:4>)*Tosc*TMR2 preescaler...


¿Alguien me puede decir si todo esto se realiza con Flowcode?

Muchas gracias a todos.
 
Si querés algo simple y que funciona bárbaro, podes usar un pwm hecho con un 555. Yo lo armé y anda muy bien. Lo que no tiene es control digital ni indicador, se varía el ancho del pulso con un potenciómetro.
 
Atrás
Arriba