PDA

View Full Version : i need a help here to accomplish my tasks



chitalula
- 2nd May 2012, 18:03
I am doing my final year project on designing constant current pic controlled boost converter, boost converter which as the load resistance changed the output current still remained constant.

Also Up to now i have a boost converter circuit and i managed to use pwm module to produce varying duty cycle, i managed to use this varying duty cycle to produce varying output voltage.
My problems until now


Earlier i adviced to use adc to read feedback signal i managed to do that but i failed to continue
I don't know how to do so that to have a constant current at the load, i lack a technique here on how to link this code so that to accomplish my task
i attached my circuit and code so that you can help me


DEFINE ADC_BITS 8
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
duty VAR WORD ' Duty cycle value (CCPR1L:CCP1CON<5:4>)
Feedback var word
Result var word
Reference var word
Value var word

ADCON1=%00000010
TRISA = %11111111
TRISB = %11111111
TRISC = %11111011 ' Set PORTC.2 (CCP1) to output
CCP1CON = %00001100 ' Set CCP1 to PWM
T2CON = %00000101 ' Turn on Timer2, Prescale=4


' Use formula to determine PR2 value for a 1KHz signal,
' 4MHz clock, and prescale=4. (4E6/(4*4*1E3))-1=249
PR2 = 249 ' Set PR2 to get 1KHz out

' Use formula to determine CCPR1L:CCP1CON<5:4> value for
' ends of range 0% to 100%. (249+1)*4*0.2=0 (0% value)
' (249+1)*4*1=1000 (100% value)
duty = 0 ' Set duty cycle to 0%
LED1 VAR PORTB.1
mainloop:
adcin 0, feedback
adcin 1, reference
CCP1CON.4 = duty.0 ' Store duty to registers as
CCP1CON.5 = duty.1 ' a 10-bit word
CCPR1L = DUTY >> 2
duty = duty + 10 ' Increase duty cycle
' Since the total sweep of duty is 600 (1000-0) and
' we are adding 10 for each loop, that results in 100
' steps min to max. 1 second divided by 60 = 10mS
Pause 10
TOGGLE LED1 ' Pause 1/60 of second
IF (duty < 1000) Then mainloop ' Do it again unless 80% duty cycle
duty = 0 ' Reset to 0% duty cycle
GoTo mainloop ' Do it forever
End



6458