您的位置 首页 新能源

根据STM8S103F3的简易Boost电路设计

由于不需要建立复杂的数学模型,大部分PID控制器靠良好的PID系数整定就能工作的很好。而STM8S103F属于很小的8位单片机,它开发简单便捷、价格适宜,是一种非常好用的单片机。本文中我们运用STM8

因为不需要树立杂乱的数学模型,大部分PID控制器靠杰出的PID系数整定就能作业的很好。而STM8S103F归于很小的8位单片机,它开发简略快捷、价格适合,是一种十分好用的单片机。本文中咱们运用STM8S103F3来制造一个安稳简略的升压电路。

STM8S103F3是一种TSSOP20封装很小的8位单片机,具有价格低、外设多、开发便利、以及宽作业电压等长处,均匀只需1块多就能买一片。这儿咱们要用到3个守时器、一个UART串口、一个I2C串口、一个SPI串口、一个10位16通道的高速AD,还有看门Doge等。简直每一个IO口都有自己的外部中止,内部具有多个一直源。

这儿暂时只用了两个守时器和ADC。IM1这个高档16位守时器用于发生固定频率可变占空比的PWM波,经过一个引脚进行输出TIM4这个一般8位守时器用于隔一段时间进行PI运算,然后安稳输出电压ADC中的4通道(AIN4)用于检测输出电压,而3通道(AIN3)用于供给一个参阅电压,约0.6-0.7V,这个电压运用二极管正导游通压降发生的。

运用参阅电压是因为ADC出来的成果是一个整数,还需要乘以单片机电源电压再除以2的10次放才是真实的电压。单片机的供电或许不安稳,假如没有这个参阅,那或许会形成输出不安稳。

电路图

运转时装备好守时器TIM1 TIM4还有ADC即可。然后在TIM4中守时运转PID算法。初始化TIM1,由主时钟直接驱动不分频,把它弄成向上计数模式:

TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, DUTYCYCLE_RESOLUTION, 0);

然后把输出通道1装备成PWM形式,高电平有用,一起敞开反向的输出,能够给同步整流的管子用wTIM1_OC1Init (TIM1_OCMODE_PWM1,TIM1_OUTPUTSTATE_ENABLE,TIM1_OUTPUTNSTATE_ENABLE,0,TIM1_OCPOLARITY_HIGH,TIM1_OCPOLARITY_HIGH,TIM1_OCIDLESTATE_RESET,TIM1_OCIDLESTATE_RESET);

发动守时器和PWM输出

TIM1_CtrlPWMOutputs(ENABLE);

TIM1_Cmd(ENABLE);

设置占空比为1/320

TIM1_SetCompare1(1);

初始化TIM4,由64次分频的主时钟驱动,当计数抵达255的时分触发一次中止。

TIM4_TimeBaseInit(TIM4_PRESCALER_64, 0xFF);

上来就得触发一次更新事情还有中止,让TIM4_PRESCALER_64收效。

TIM4_SetCounter(0xFF);

TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);

开总中止

rim();

开TIM4

TIM4_Cmd(ENABLE);

电路设计中的PWM频率计算办法及成果如下:STM8中的主时钟为16MHz。本制造中让STM8全速作业:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1),也就是说驱动TIM1的预分频器的频率为16MHz,没有进行分频。当计数到320时主动重装计数器的值,得出PWM频率=16MHz/320=50KHz, PWM的分辨率为100/320%。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/247556.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部