当前位置: 首页 > wzjs >正文

中国建设银行网站忘记密码网片加工厂家

中国建设银行网站忘记密码,网片加工厂家,蒙古网站后缀,建设平台网站目录 前言: 一、硬件准备与接线 1.1 硬件清单 1.2 接线 二、 SG90舵机简介 1.1 外观 1.2 基本参数 1.3 引脚说明 1.4 控制原理 1.5 特点 1.6 常见问题 三、 单片机简介 四、 程序设计 4.1 定时器配置 4.2 角度控制函数 4.3 主函数调用 五、 总结 …

目录

前言:

一、硬件准备与接线

1.1 硬件清单

1.2 接线

二、 SG90舵机简介

1.1 外观

 1.2 基本参数

1.3 引脚说明 

1.4 控制原理

1.5 特点

1.6 常见问题

三、 单片机简介

四、 程序设计 

4.1 定时器配置

4.2 角度控制函数

4.3 主函数调用

五、 总结


前言:

STM32F103C8T6 是一款性价比极高的ARM Cortex-M3内核微控制器,广泛应用于嵌入式开发。SG90舵机 则是小型舵机的代表,常用于机器人、智能家居等场景。本文将通过硬件连接、PWM信号配置、代码实现等步骤,详细讲解如何用STM32F103C8T6控制SG90舵机。

一、硬件准备与接线

1.1 硬件清单

器件数量备注
STM32F103C8T6最小系统板1核心控制器
SG90舵机1工作电压4.8-6V,信号线需PWM
5V电源模块1独立供电,避免板载电流不足
杜邦线若干连接电路

1.2 接线

SG90舵机           STM32F103C8T6        外部电源

棕色线(GND)  →    GND引脚            →  GND
红色线(VCC)  →    连外部5V             →  5V
橙色线(信号)   →    PB0(TIM3_CH3)

注意:若需驱动多个舵机,建议使用独立电源供电,避免STM32板载电源过载。

二、 SG90舵机简介

1.1 外观

 1.2 基本参数

参数数值
工作电压4.8V - 6V(典型5V)
电流消耗100mA(空闲),250mA(运行)
扭矩1.2kg·cm(4.8V),1.6kg·cm(6V)
转速0.12秒/60°(4.8V),0.10秒/60°(6V)
重量9克
尺寸22.2mm × 11.8mm × 31mm
转动角度180°(部分型号支持360°)
齿轮材质塑料(部分型号为金属齿轮)
接口类型3针(信号、电源、地)

1.3 引脚说明 

SG90舵机通常有3根线

棕色线(GND):接地。

红色线(VCC):接电源(4.8V-6V)。

橙色线(信号线):接收PWM信号控制角度。

1.4 控制原理

PWM信号控制

  • 信号周期:20ms(50Hz)。

  • 脉冲宽度:0.5ms - 2.5ms,对应角度0° - 180°。

1.5 特点

优点

  • 体积小、重量轻:适合空间受限的项目。

  • 价格低廉:成本低,适合批量使用。

  • 易于控制:标准PWM信号接口,兼容性强。

缺点

  • 扭矩较小:仅适合轻负载场景。

  • 塑料齿轮易磨损:长时间高负载工作可能导致损坏。

1.6 常见问题

1)舵机抖动或不转动

  • 检查电源电压是否足够。

  • 检查PWM信号是否正确。

2) 舵机发热严重

  • 检查是否超负荷运行。

  • 确保转动范围内无机械卡阻。

3) 角度不准确

  • 校准PWM信号脉冲宽度。

  • 检查舵机齿轮是否磨损。

三、 单片机简介

STM32F103C8T6最小系统板:

本文使用的开发板为STM32F103C8T6最小系统板,SG90舵机使用到的引脚为PB0引脚。 

四、 程序设计 

4.1 定时器配置

使用 TIM3的通道3(PB0)生成PWM,步骤如下:

1) 时钟配置

  • 系统时钟设为72MHz(默认配置)。

  • TIM3时钟源为APB12总线(72MHz)。

2) 定时器参数计算

  • PWM频率:50Hz → 周期20ms 。

  • 预分频值(PSC):72MHz / (719 + 1) = 1MHz → 每个计数周期10μs。

  • 自动重装载值(ARR):20,000μs / 10μs = 2000 → ARR = 1999(从0计数)。

3) 脉冲宽度计算(以90°为例):

  • 1.5ms = 1500μs → 占空比 = 1500 / 20000 = 7.5%。

  • 比较寄存器(CCR):1500 → CCR = 1500 - 1 = 1499

定时器初始化代码如下:

void SG90_PWM_Init(u16 arr, u16 psc)
{GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;// 使能定时器TIM3时钟,注意TIM3时钟为APB1,而非APB2RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);// 使能PWM输出GPIO口时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;       // 定时器TIM3的PWM输出通道3,TIM3_CH3GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure); // 初始化GPIOTIM_TimeBaseStructure.TIM_Period = arr;//自动重装值TIM_TimeBaseStructure.TIM_Prescaler =psc; //时钟预分频数TIM_TimeBaseStructure.TIM_ClockDivision = 0;TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//TIM向上计数模式TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //初始化TIM3//初始化TIM3_CH3的PWM模式TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = 0;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;TIM_OC3Init(TIM3, &TIM_OCInitStructure);TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);//使能通道的预装载寄存器TIM_ARRPreloadConfig(TIM3, ENABLE); //使能重装寄存器TIM_Cmd(TIM3, ENABLE);//使能定时器TIM3,准备工作 
}

初始化参数如下: 

SG90_PWM_Init(1999,719);  //初始化舵机

4.2 角度控制函数

将角度转换为对应的占空比,角度最大为180° 。

void SG90_Set_Angle(uint8_t angle)
{if (angle > 180)angle = 180;uint16_t duty = 10 * (angle + 45) / 9; // 角度转化为占空比TIM_SetCompare3(TIM3, duty); // 设置占空比    
}  

4.3 主函数调用

SG90_Set_Angle(0);  //占空比2.5%,0度
delay_ms(1000);
SG90_Set_Angle(90);  //占空比7.5%,90度
delay_ms(1000);

五、 总结

        通过STM32F103C8T6的定时器PWM功能,可精准控制SG90舵机角度。关键在于正确配置定时器的预分频值和自动重装载值,并合理映射角度到脉宽。本方案成本低、可靠性高,适合机器人、智能家居等应用场景。


文章转载自:

http://sbjtKMOb.rmxwm.cn
http://zBlz3cUo.rmxwm.cn
http://SrHhayCi.rmxwm.cn
http://kVDYB0uP.rmxwm.cn
http://4ynGAWPA.rmxwm.cn
http://nGZAX0Pc.rmxwm.cn
http://g5mHsuzO.rmxwm.cn
http://KBBJyFED.rmxwm.cn
http://totJLm73.rmxwm.cn
http://rGUGUJpb.rmxwm.cn
http://JwNEtBHi.rmxwm.cn
http://aobyZwRk.rmxwm.cn
http://2iLoDpvp.rmxwm.cn
http://6RH7Qe6W.rmxwm.cn
http://0Uvli7Nu.rmxwm.cn
http://AKqvSTSY.rmxwm.cn
http://SYV5Qpi9.rmxwm.cn
http://TIajysWh.rmxwm.cn
http://0VUWtYqV.rmxwm.cn
http://MsGb2Vqj.rmxwm.cn
http://MeoT9Pq4.rmxwm.cn
http://nrhEqtre.rmxwm.cn
http://eatuJaS6.rmxwm.cn
http://goP8RHkc.rmxwm.cn
http://aLnlrgFM.rmxwm.cn
http://NtY1hqfX.rmxwm.cn
http://xTWM562A.rmxwm.cn
http://DhBLXgHt.rmxwm.cn
http://iwrbh4LQ.rmxwm.cn
http://hD5PC02Q.rmxwm.cn
http://www.dtcms.com/wzjs/755265.html

相关文章:

  • 股票订阅网站开发饰品网站设计方案
  • 网站丢失了怎么办啊网站建设及发布的流程图
  • 雅安市建设工程招投标网站工程建设领域专项治理工作网站
  • 自己的公网ip可以做网站wordpress播放本地mp4
  • 手机网站百度关键词排名查询盐城工程造价信息网
  • 绍兴建站服务中国石化工程建设有限公司设计许可证编号
  • 水利工程建设信息网站php网站开发背景
  • 济南建设网站企业报价app是怎么开发的
  • 如何建立一个大型的网站做公司网站视频
  • 怎么用2级目录做网站推荐做任务网站
  • 网站开发设计知乎新人做外贸哪个平台好做
  • 网站开发模块学些什么软件前端网站开发工具
  • 做网站怎么配电脑品牌建设实施方案
  • 推荐常州微信网站建设重庆今天重大新闻
  • 凡科网做网站收费吗怎么在网站上做模式题库
  • mc做地图画网站wordpress文章同步插件
  • 太原怎样优化网站建设梵讯企业网站建设
  • 品牌网站分析网站后台html5模板
  • 做网站被骗五千多如何判断网站做的关键词
  • 中国建设工程网官方网站咋么做网站
  • 郑州哪家公司给国外做网站网站建设与管理A卷
  • 可以做问卷挣钱的网站自适应网站建设软件
  • 集团网站开发费用html5网站开发工具
  • 做的好的茶叶网站买空间送网站模板
  • 做网站编程的待遇酒店推广平台有哪些
  • 织梦调用网站备案号郴州新网手机版新
  • 做网站挣外快seo优化有百度系和什么
  • 青岛做教育的网站建设企业营销是啥意思
  • 网站建设的英文中国企业500强公司
  • 做网站费用走什么科目网站运营系统