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.My problems until now
- 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.
 
i attached my circuit and code so that you can help me
- 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
 
cct.pdfCode: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


		
		
						
					

Bookmarks