完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
在编写用PWM来控制舵机转动的32程序中,因为找不到如何让它转动适当的角度,所以询问了学长,知道了舵机转动0度代表它的占空比是2.5%,转动180度代表它的占空比是12.5%。
即设arr(自动重装载值)为x时。 转动角度所对应的值=(x+1)*(1-占空比)(将PWM极性设置为TIM_OCPolarity_High时) 程序如下: int main(void) { delay_init(); //延时函数初始化 LED_Init(); //LED端口初始化 TIM2_PWM_Init(1999,719); //不分频,PWM频率=72000000/720/2000=50hz while(1) { TIM_SetCompare2(TIM2,1950); //对应0度 2.5% delay_ms(1000); TIM_SetCompare2(TIM2, 1900); //对应45度 5% delay_ms(1000); TIM_SetCompare2(TIM2, 1850); //对应90度 7.5% delay_ms(1000); TIM_SetCompare2(TIM2, 1800); //对应135度 10% delay_ms(1000); TIM_SetCompare2(TIM2,1750); //对应180度 12.5% delay_ms(1000); } } 转动角度所对应的值=(x+1)*占空比(将PWM极性设置为TIM_OCPolarity_Low时),程序如下: int main(void) { delay_init(); //延时函数初始化 LED_Init(); //LED端口初始化 TIM2_PWM_Init(1999,719); //不分频,PWM频率=72000000/720/2000=50hz while(1) { TIM_SetCompare2(TIM2,250); //对应180度 12.5% delay_ms(1000); TIM_SetCompare2(TIM2, 200); //对应135度 10% delay_ms(1000); TIM_SetCompare2(TIM2, 150); //对应90度 7.5% delay_ms(1000); TIM_SetCompare2(TIM2, 100); //对应45度 5% delay_ms(1000); TIM_SetCompare2(TIM2,50); //对应0度 2.5% delay_ms(1000); } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1632 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1559 浏览 1 评论
985 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1605 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
652浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
522浏览 3评论
539浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
508浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 13:09 , Processed in 0.843200 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号