TODOPIC

Microcontroladores PIC => - Flowcode - => Mensaje iniciado por: homer32 en 29 de Diciembre de 2014, 19:04:01

Título: pwm con flowcode y pic 12F675
Publicado por: homer32 en 29 de Diciembre de 2014, 19:04:01
Hola quería hacer el siguiente proyecto:
Con dos potenciometros  regular dos salidas pwm con un pic pequeño como el 12F675, estos PIC no lleva el modulo CCP incorporado, los de mayores como algunos de la series 16F, 18F que llevan estos modulos CCP y con flowcode es relativamente facil hacerlo.
pero con uno pequeñito como el 12F675 no se como hacerlo, alguien me podria ayudar?
Título: Re: pwm con flowcode y pic 12F675
Publicado por: KILLERJC en 29 de Diciembre de 2014, 19:38:07
no se flowcode pero para no dejarte asi nomas. Podrias configurar un timer para que el periodo de tu PWM sea igual a 1024 pasadas por la interrupcion del mismo (suponiendo el AD de 10 bit, si es de 8 mucho menos ). Y luego con lo leido del ADC cuando se supere la cantidad que desactive la señal... haber si me explico un poco mejor.

Cada interrupcion del timer (overflow del mismo) incrementa una variable hasta 1024 ( 10 bits ) o 256 ( 8 bits ) , elegi esos valores para que sea mas comodo. obviamente tu periodo o intervalo del timer va a ser periodo/1024  o perdiodo/256  ( segun los bits que manejes el ADC ).

Si tu ADC tiene un valor de 700

Tu programa mientras cuenta desde 0 a 700 va a tener la salida en alto y luego de 701 a 1024 la salida en bajo. Si varias el potenciometras vas de 0% a 100% de duty.

Lo importante es que se cumpla el tiempo del periodo.
Tu rutina de interrupcion solo seria aumentar una variable, resetearla a 0 cuando llegue a 1024, cargar el nuevo valor del timer ( si es necesario), limpiar flag y salir
El principal es revisar esas condiciones y activar o desactivar la salida

Hacer esto implica en cierta medida de no poner delays, o directamente manejar las salidas desde la interrupcion si lo haces. Para que no afecte el periodo de la salida del PWM
Título: Re: pwm con flowcode y pic 12F675
Publicado por: lucegiar2005 en 30 de Diciembre de 2014, 08:29:28
Hola, Felices fiestas. La apreciación de KILLERJC es correcta y funciona bien, lo he hecho en Flowcode y en Niple con el 12F675 y otros tomando como ciclo el determinado por TMR0 y leyendo el valor de un registro incrementado para determinar cuando cambiar el estado de las salidas. Si el registro es igual al A/D hago algo, si es igual al maximo invierto. TMR0 determina la frecuencia para ambos PWM, ciclicamente se lee los A/D para su actualización. Un abrazo y si los encuentro en casa los subo.
Título: Re: pwm con flowcode y pic 12F675
Publicado por: homer32 en 10 de Enero de 2015, 12:01:39
ok gracias a los dos ya lo tengo hecho y en flowcode funciona ok.
saludos