以降壓控制器XL1509芯片為核心器件,設(shè)計(jì)并制作一個(gè)降壓型直流開關(guān)穩(wěn)壓電源。額定輸入直流電壓為12V時(shí),額定輸出直流電壓為5V,輸出電流最大值為2.0A 。具有過流保護(hù)功能,動(dòng)作電流1.5A±0.1;輸出電壓程控可調(diào),調(diào)節(jié)范圍:3-7V。 要求: (1)額定輸入電壓12V下,輸出電壓偏差<100mV; (2)額定輸入電壓12V下,最大輸出電流:>2.0A; (3)具有過流保護(hù)功能,動(dòng)作電流1.5A±0.1; (4)實(shí)現(xiàn)輸出電壓程控可調(diào),調(diào)節(jié)范圍3-7V,步進(jìn)0.1V
電路原理圖如下:
捕獲7.PNG (41.78 KB, 下載次數(shù): 99)
下載附件
2018-12-20 20:53 上傳
捕獲8.PNG (34.61 KB, 下載次數(shù): 93)
下載附件
2018-12-20 20:53 上傳
R3是DA,R4過流保護(hù),R5是采樣電阻,接AD
單片機(jī)源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "adc.h"
- #include "dac.h"
- #include "key.h"
- int main(void)
- {
- u16 adcx;
- float temp;
- u8 t=0;
- u16 dacval=3300;
- u8 key;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
- delay_init(168); //初始化延時(shí)函數(shù)
- uart_init(115200); //初始化串口波特率為115200
-
- LED_Init(); //初始化LED PD.12
- Adc_Init(); //adc初始化 PA.5
- KEY_Init(); //按鍵初始化
- Dac1_Init(); //DAC通道1初始化 PA.4
- DAC_SetChannel1Data(DAC_Align_12b_R,dacval);//初始值為0
-
- while(1)
- {
- //GPIO_SetBits(GPIOD,GPIO_Pin_2);
- //程控輸出
- if(KEY==1)
- {
- //LED=!LED;
- if(dacval>1500)
- dacval-=200;
- else if(dacval==1500)
- dacval=3300;
- delay_ms(500);
- }
- Dac1_Set_Vol(dacval);
- adcx=Get_Adc_Average(ADC_Channel_5,10); //得到ADC轉(zhuǎn)換值
- temp=(float)adcx*(3.3/4095); //得到ADC電壓值*/
- if (temp >= 0.75)
- {
- GPIO_ResetBits(GPIOD,GPIO_Pin_2);
- }
- else
- {
- GPIO_SetBits(GPIOD,GPIO_Pin_2);
- }
- }
- }
- /*ADC用法
- adcx=Get_Adc_Average(ADC_Channel_5,10); //得到ADC轉(zhuǎn)換值
- temp=(float)adcx*(3.3/4096); //得到ADC電壓值*/
- /*DAC用法
- DAC_SetChannel1Data(DAC_Align_12b_R, dacval);//設(shè)置DAC值
復(fù)制代碼
所有資料51hei提供下載:
DC POWER_guo.7z
(304.6 KB, 下載次數(shù): 124)
2018-12-18 23:35 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|