找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8823|回复: 3
打印 上一主题 下一主题
收起左侧

用stm32 pwm控制舵机的程序

[复制链接]
跳转到指定楼层
楼主
ID:161929 发表于 2017-7-31 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,并且在keil的位置最好能将文件发给我
就是用pwm驱动舵机的程序
我的舵机只能九十度转并伴随卡壳的声音
程序是网上找的
这里是程序

单片机源程序如下:

  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "timer.h"

  7. /************************************************
  8. ALIENTEK战舰STM32开发板实验9
  9. PWM输出实验  

  10. ************************************************/

  11.        
  12. int main(void)
  13. {               
  14.         u16 led0pwmval=0;
  15.         u8 dir=1;       
  16.         delay_init();                     //延时函数初始化          
  17.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  18.         uart_init(115200);         //串口初始化为115200
  19.         LED_Init();                             //LED端口初始化
  20.         TIM3_PWM_Init(899,0);         //不分频。PWM频率=72000000/900=80Khz
  21.            while(1)
  22.         {
  23.                 delay_ms(100);         
  24.                 if(dir)led0pwmval++;
  25.                 else led0pwmval--;

  26.                 if(led0pwmval>300)dir=0;
  27.                 if(led0pwmval==0)dir=1;                                                                                 
  28.                 TIM_SetCompare2(TIM3,led0pwmval);                  
  29.         }         
  30. }



复制代码

所有资料51hei提供下载:
stm32 PWM输出实验.rar (290.76 KB, 下载次数: 358)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:309715 发表于 2018-6-26 21:58 | 只看该作者
谢谢楼主
回复

使用道具 举报

板凳
ID:359652 发表于 2018-6-26 22:12 | 只看该作者
谢谢楼主
回复

使用道具 举报

地板
ID:248705 发表于 2018-6-26 23:13 | 只看该作者
TIM3_PWM_Init(1999,719); led0pwmval的值控制在50到250之间,看一下舵机的工作原理就明白为什么舵机抖动了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表