Paso 5: Firmware
Si usted necesita un programador PIC, considerar mi mayor Junta de programador JDM2 publicada también en instructables (
Operación básica:
1 cuando se aplica energía comienza el PIC.
2 retrasos de PIC durante 1 segundo para permitir estabilizar los voltajes.
3 PIC lee la realimentación de tensión de fuente y calcula valores períodos y ciclo de trabajo óptimo.
4 PIC registra la lectura ADC, ciclo de deber y los valores de período en la EEPROM. Esto permite algunos problemas y ayuda a diagnosticar fallas catastróficas. Dirección 0 de la EEPROM es el puntero de escritura. Un registro de 4 byte se guarda cada vez que se la SMPS (re-) comenzó. Los primeros 2 bytes son ADC alta-baja, tercer byte es 8 bits inferiores del valor del ciclo de deber, cuarto byte es el valor de período. Se registran un total de 50 calibraciones (200 bytes) antes de que el puntero de escritura da la vuelta y comienza otra vez en la dirección EEPROM 1. El registro más reciente estará ubicado en el puntero-4. Estos pueden leerse en el chip mediante un programador PIC. El superiores 55 bytes quedan libres para futuras mejoras (ver mejoras).
5 PIC entra en bucle infinito - se mide el valor de retroalimentación de alto voltaje. Si es por debajo del valor deseado se cargan los registros de ciclo de trabajo PWM con el valor calculado - Nota: los dos bits más bajos son importantes y deben ser cargados en CPP1CON 5:4, 8 bits superiores entran CRP1L. Si la regeneración está por encima del valor deseado, el PIC carga los registros del ciclo de deber con 0. Este es un sistema de pulso de skip. Me decidí por pulso skip por dos razones: 1) a estas altas frecuencias no hay mucha anchura deber jugar con (en nuestro ejemplo, mucho menos en voltajes más altos de la fuente 0-107), y 2) modulación de frecuencia es posible y da mucho más espacio para el ajuste (35-255 en nuestro ejemplo), pero sólo deber es doble búfer en HARDWARE. Cambio de la frecuencia mientras está funcionando el PWM puede tener efectos 'extraños'.
Usando el firmware:
Varios pasos de calibración están obligados a utilizar el firmware. Estos valores deben ser compilados en el firmware. Algunos pasos son opcionales, pero le ayudará a aprovechar al máximo su alimentación.
v_ref const como float = 5.1 ' flotador
supply_ratio const como float = 11,35 ' flotador
osc_freq const como float = 8 ' flotador
L_Ipeak const como float = 67 ' flotador
const fb_value como palabra = 290 ' palabra
Estos valores pueden encontrarse en la parte superior del código de firmware. Encontrar los valores y la siguiente manera.
v_ref
Esta es la referencia del voltaje del ADC. Esto es necesario para determinar la tensión de alimentación real para incluir en las ecuaciones descritas en el paso 1. Si el PIC se ejecuta desde un regulador de 5 voltios 7805 podemos esperar alrededor de 5 voltios. Usando un multímetro Mida la tensión entre el pin de alimentación PIC (PIN1) y la tierra en el terminal de tornillo. Mi valor exacto era 5,1 voltios. Especifica este valor.
supply_ratio
El divisor de voltaje de fuente consiste en un 100K y una resistencia de 10K. Teóricamente la respuesta debe ser igual al voltaje dividido por 11 (véase tabla 5. Fuente de voltaje retroalimentación red cálculos). En la práctica, las resistencias tienen diferentes tolerancias y no son valores exactos. Para encontrar la proporción exacta de la regeneración:
1 Mida la tensión entre los terminales de tornillo.
2 mida el voltaje de retroalimentación entre PIC pin 7 y tierra en el borne de tornillo.
3 dividir suministro V por V de FB para conseguir un cociente exacto.
También se puede utilizar "tabla 6. Fuente de calibración de retroalimentación de voltaje".
osc_freq
Simplemente la frecuencia del oscilador. Utilizo el 12F683 oscilador interno de 8Mhz, por lo que introducir un valor de 8.
L_Ipeak
Multiplique la bobina inductor uH por los amperios de continuo máximo para obtener este valor. En el ejemplo el 22r104C es una bobina de 100uH con un puntaje de .67amps continua. 100 *. 67 = 67. Multiplicando el valor aquí elimina una variable de punto flotante de 32 bits y el cálculo que de lo contrario tendría que hacerse en el PIC. Este valor se calcula en "Tabla 1: bobina de cálculos para alta tensión de alimentación".
fb_value
Este es el valor de número entero real que el PIC va a utilizar para determinar si la alta tensión de salida está por encima o por debajo del nivel deseado. Utilice la tabla 3 para determinar la relación entre el alto voltaje salida retroalimentación cuando el accesorio cortador lineal está en la posición central. Utilizando el valor de centro da sala de ajuste en ambos lados. A continuación, entrar en esta relación y su referencia exacta de la tensión en la "tabla 4. Alto voltaje retroalimentación ADC conjunto valor"para determinar la fb_value.
Cuando haya encontrado que estos valores les introduce el código y compilación. Grabar el HEX para el PIC y listo ir! Recuerde: EEPROM byte 0 es el puntero de escritura de registro. Establezca en 1 para comenzar el registro a 1 byte en una imagen fresca.
Debido a la calibración, el FET y el inductor no deben nunca convertirse en calientes. Tampoco se escuchará un sonido de llamada de la bobina del inductor. Estas condiciones indican un error de calibración. Compruebe el registro de datos en la EEPROM para ayudar a determinar donde podría ser su problema.