你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

用stm32单片机 控制 XL1509降压模块,实现数控稳压电源

[复制链接]
runber 发布时间:2021-1-12 11:52
以降压控制器XL1509芯片为核心器件,设计并制作一个降压型直流开关稳压电源。额定输入直流电压为12V时,额定输出直流电压为5V,输出电流最大值为2.0A 。具有过流保护功能,动作电流1.5A±0.1;输出电压程控可调,调节范围:3-7V
要求:
1)额定输入电压12V下,输出电压偏差<100mV
2)额定输入电压12V下,最大输出电流:>2.0A
3)具有过流保护功能,动作电流1.5A±0.1;
4)实现输出电压程控可调,调节范围3-7V,步进0.1V; b" j/ D: G& d6 n( L; n
电路原理图如下:
1.png
2.png
R3是DA,R4过流保护,R5是采样电阻,接AD

9 H4 u4 D& P' i, }; s  ~
单片机源程序如下:
  • #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);//设置系统中断优先级分组2
  •         delay_init(168);      //初始化延时函数
  •         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转换值
  •     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转换值
  • temp=(float)adcx*(3.3/4096);                                //得到ADC电压值*/
  • /*DAC用法
  • DAC_SetChannel1Data(DAC_Align_12b_R, dacval);//设置DAC值
    & u" p/ R, u" U7 D7 \* Q3 t
; `( v+ l6 z7 @& ^, B1 W

. j- |+ }& r4 z' [3 C* z3 d附件: DC POWER_guo.zip (529.46 KB, 下载次数: 23)
收藏 评论0 发布时间:2021-1-12 11:52

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版