• 706查看
  • 0回复

[底层软件] 使用Simulink学习STM32-(5)PWM驱动舵机实验

[复制链接]


该用户从未签到

发表于 2-3-2024 14:38:26 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


实验环境

Matlab版本:2021b

操作系统:Win10专业版

硬件平台:YF-STM32-ALPHA 1R4

实验内容:硬件在环修改参数控制舵机转动

使用Simulink学习STM32-(5)PWM驱动舵机实验w1.jpg

模型与原理图

STM32 simulink驱动舵机效果如图5.1所示,本次实验用到的Simulink简易模型如图5.2所示,电路图接法如图5.3所示,YF-STM32-ALPHA开发板舵机接口位置如图5.4所示,通过改变“Constant”的值实现舵机不同角度转动,数值2.5~12.5对应0°~180°(或-90°~90°)。

使用Simulink学习STM32-(5)PWM驱动舵机实验w2.jpg

图5.1 硬件在环舵机转动效果

使用Simulink学习STM32-(5)PWM驱动舵机实验w3.jpg
图5.2 PWM 驱动simulink模型

使用Simulink学习STM32-(5)PWM驱动舵机实验w4.jpg

图5.3 STM32舵机驱动电路图

使用Simulink学习STM32-(5)PWM驱动舵机实验w5.jpg

图5.4 舵机接口位置



基础模型介绍与分析

PWM简介

PWM的全称是脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式;所以根据面积等效法则,可以通过对改变脉冲的时间宽度,来等效的获得所需要合成的相应幅值和频率的波形;

PWM实现不是单片机的专属,使用信号发生器产生的锯齿波结合LM393比较器,然后用一个可调电阻输出的电压作为参考电压,可以得到一个脉冲宽度可以调节的电路,如图5.5所示。

使用Simulink学习STM32-(5)PWM驱动舵机实验w7.jpg

图5.5 信号发生器与比较器组成PWM电路

       但是实际使用过程中,读者朋友不可能带着信号发生器走,所以实际电路中一般使用555定时器来产生脉冲宽度可调电路,如图5.6所示。

使用Simulink学习STM32-(5)PWM驱动舵机实验w8.jpg

图5.6 555定时器PWM可调电路
专用名词解释

       频率:是指每秒钟信号从高电平到低电平再回到高电平的次数,为一个PWM波周期的倒数。如图5.7和图5.8所示,频率=1/(高电平时间+低电平时间)。

使用Simulink学习STM32-(5)PWM驱动舵机实验w9.jpg

图5.7 单个脉冲周期

使用Simulink学习STM32-(5)PWM驱动舵机实验w10.jpg

图5.8 1S内相同脉冲的个数代表频率

        占空比:是指高电平持续时间占比一个周期持续的时间。如图5.9所示,占空比=高电平时间/(高电平时间+低电平时间),可以通过控制占空比,来控制输出的等效电压。

使用Simulink学习STM32-(5)PWM驱动舵机实验w11.jpg

图5.9 同频率下不同占空比波形等效电压

SG90舵机外观实物与引脚定义如图5.10所示,其本质是一个脉宽控制的伺服电机,通过接收不同占空比脉冲从而实现不同角度转动,其固有驱动频率为50Hz(周期20ms),脉冲占空比与角度对应关系为5ms(2.5%)->-90°,1ms(5%)->-45°,1.5ms(7.5%)->0°,2ms(10%)->45°,2.5ms(12.5%)->90°,括号里面内容对应实际“Constant”变量值,百分百表示高电平占空比,对应的角度如图5.11所示。

使用Simulink学习STM32-(5)PWM驱动舵机实验w12.jpg

图5.10 SG90舵机实物与引脚定义

使用Simulink学习STM32-(5)PWM驱动舵机实验w13.jpg

图5.11 SG90舵机脉冲宽度对应的角度

????注 意:实际使用中建议使用时电压不低于5V,并确保电流是否可以满足舵机驱动,≥500mA为宜,使用多个舵机同时工作时,确保足额的电流供给。

表5.1 SG90舵机参数表

产品型号

使用电压

工作扭矩

反应转速

使用温度

转动角度

SG90

3~7.2V

1.6kg/cm

0.12-0.13秒/60°

-30℃~60℃

180°

     “PWM Output”STM32专用模块与参数设置如图5.12所示,“Pin”参数栏用于配置PWM引脚,示例中使用"PA_7"对应到STM32的PA7引脚,“Initial frequency”用于设置初始频率,“Initial duty cycle”用于设置初始占空比。

使用Simulink学习STM32-(5)PWM驱动舵机实验w14.jpg
图5.12 “PWM Output”模块

       STM32F103RBT6在simulink模型中有多个引脚支持PWM脉冲输出,可以采用图5.13所示方式同时测试或使用多个PWM脉冲控制舵机或其他脉冲设备,表5.2为该芯片的PWM脉冲具体对应的引脚和通道,内容来参考自“Pinmap_NUCLEO_F103RB”图,表中已标示的证明已经测试过,其他的由于本开发板限制,请读者朋友自行测试。

使用Simulink学习STM32-(5)PWM驱动舵机实验w15.jpg

图5.13 同时多个PWM工作简易模型

????注 意:此表主要针对型号为STM32F103RBT6整理,其它芯片请参考此表自行测试或参考Pinmap图

表5.2 PWM对照表(F103RBT6)

STM32引脚编号

通道

PA1

PWM2/2

PB0

PWM3/3

PA15

PWM2/1

PC9

PWM3/4

PC8

PWM3/3

PC6

PWM3/1

PA11

PWM1/4

PB11

PWM2/4

PA6

PWM3/1

PA7

PWM3/2

PC7

PWM3/1

PA9

PWM1/2

PA8

PWM1/1

PB10

PWM2/3

PB4

PWM3/1

PB5

PWM3/2

PB3

PWM2/2

PA10

PWM1/3

PA2

PWM2/3

PA3

PWM2/4

PB1

PWM3/4

PB15

PWM1/3N

PB14

PWM1/2N

PB13

PWM1/1N

        图5.14~图5.16是作者输入不同值通过示波器测量到的实际脉冲占空比,供读者朋友参考。

使用Simulink学习STM32-(5)PWM驱动舵机实验w16.jpg
图5.14 50Hz-5%占空比PWM模型与示波器实际显示波形

使用Simulink学习STM32-(5)PWM驱动舵机实验w17.jpg

图5.15 50Hz-10%占空比PWM模型与示波器实际显示波形

使用Simulink学习STM32-(5)PWM驱动舵机实验w18.jpg

图5.16 50Hz-15%占空比模型与示波器实际显示波形



??总结

本节实验通过一个简单的PWM模型驱动舵机旋转,并验证多通道情况下PWM脉冲输出控制的可行性,为读者朋友下一步使用舵机驱动提供参考价值,大家可以思考下通过多个舵机的组合可以实现哪些好玩的东西?如图5.17~5.20所示为使用舵机驱动的场合,其中好几个制作纯使用舵机完成,大家结合已有设备自行去实现下。

使用Simulink学习STM32-(5)PWM驱动舵机实验w20.jpg

图5.17 机器狗(图片来源网络,侵删)

使用Simulink学习STM32-(5)PWM驱动舵机实验w21.jpg

图5.18 机械臂与小车转向(图片来源网络,侵删)

使用Simulink学习STM32-(5)PWM驱动舵机实验w22.jpg

图5.19 六足机器人(图片来源网络,侵删)

使用Simulink学习STM32-(5)PWM驱动舵机实验w23.jpg

图5.20 球形状变形机器人(图片来源网络,侵删)



?拓展延申

本节其实只使用到简单的PWM脉宽调制方式,其实在生活中还有一种用的非常广泛的脉冲电机也是使用PWM来控制的,那就是步进电机,只不过该电机接收的不是脉宽控制而是脉冲控制,即每接收一个脉冲,步进电机转动固定的角度,图5.21为工业常用步进电机参考测试电路,有条件的读者朋友可以结合本节内容实现下如何控制步进电机转动固定步数。另外读者朋友还可以结合前面小节学到的A/D采集知识或I/O输入知识制作一些好玩的东西,例如“追光向日葵”,“数字可调电源”等。

使用Simulink学习STM32-(5)PWM驱动舵机实验w25.jpg

图5.21 步进电机驱动测试电路



该用户从未签到

发表于 14-3-2025 21:08:00 | 显示全部楼层
针对您提供的实验环境、实验内容、模型与原理图,以下是专业的回复:

使用Simulink进行STM32的PWM驱动舵机实验,实验环境已明确。在Matlab 2021b版本下,基于Win10专业版操作系统,利用YF-STM32-ALPHA 1R4硬件平台进行操作。实验内容主要是通过硬件在环的方式修改参数控制舵机转动。

本次实验采用的Simulink简易模型,结合STM32的PWM输出,驱动舵机转动。通过调整模型中“Constant”模块的值,控制舵机在0°~180°或-90°~90°之间转动。实验涉及的电路图和开发板舵机接口位置也已给出。

建议实验前详细检查硬件连接,确保电路正确无误。同时,注意调整参数时,要逐步微调,避免舵机转动过快或过慢。实验过程中,请注意安全操作,避免意外发生。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:08:00 | 显示全部楼层
使用Simulink进行STM32的PWM驱动舵机实验时,实验环境配置如下:

操作系统为Win10专业版,Matlab版本为2021b。硬件平台采用YF-STM32-ALPHA 1R4开发板。实验内容主要是通过硬件在环的方式修改参数控制舵机转动。

本次实验采用的Simulink简易模型,通过PWM信号控制舵机。实验时,通过改变Simulink模型中的“Constant”模块值,实现舵机的不同角度转动。数值范围从2.5到12.5对应舵机的转动角度为0°到180°或-90°到90°。实验过程中需按照电路图正确接线,并熟悉YF-STM32-ALPHA开发板的舵机接口位置。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:08:00 | 显示全部楼层
回复帖子如下:

针对使用Simulink学习STM32进行PWM驱动舵机实验的环境配置,实验环境如下:

实验环境:
Matlab版本:2021b;
操作系统:Win10专业版;
硬件平台:YF-STM32-ALPHA 1R4开发板。

实验内容概述:
本次实验将通过Simulink简易模型实现硬件在环的舵机转动控制,通过修改参数“Constant”的值来控制舵机的转动角度。实验涉及的主要模型与原理图包括STM32 simulink驱动舵机效果图、Simulink简易模型、电路图以及YF-STM32-ALPHA开发板舵机接口位置图。通过调整“Constant”的值,实现舵机角度的精确控制,数值范围2.5至12.5对应舵机转动的0°至180°或-90°至90°。

以上内容仅供参考,具体实验步骤还需依据实际情况进行微调。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:08:00 | 显示全部楼层
根据您提供的信息,关于使用Simulink进行STM32的PWM驱动舵机实验,实验环境如下:

实验环境:

1. Matlab版本:2021b
2. 操作系统:Win10专业版
3. 硬件平台:YF-STM32-ALPHA 1R4

实验内容简述:

本次实验旨在通过Simulink简易模型,实现硬件在环修改参数控制舵机转动。实验将通过改变Simulink模型中“Constant”模块的值,来控制舵机在0°至180°(或-90°至90°)之间的不同角度转动。

实验原理及模型:

实验采用STM32 simulink驱动舵机模型(如图5.1所示)。通过Simulink简易模型(如图5.2所示)产生PWM信号,驱动舵机转动。电路图接法如图5.3所示,YF-STM32-ALPHA开发板舵机接口位置如图5.4所示。实验中可通过调整模型中“Constant”模块的值来改变PWM信号的占空比,从而实现舵机的精确控制。

实验注意事项:

在进行实验时,确保硬件连接正确无误,注意电路安全。同时,根据实际舵机的规格和要求,调整模型中“Constant”模块的值,确保舵机在正常工作范围内转动。
回复 支持 反对

使用道具 举报


  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 14-3-2025 21:08:00 | 显示全部楼层
    回复帖子如下:

    关于使用Simulink学习STM32的PWM驱动舵机实验:

    实验环境:
    操作系统为Win10专业版,Matlab版本为2021b。硬件平台采用YF-STM32-ALPHA 1R4开发板。

    实验内容:
    本次实验主要是通过Simulink简易模型,实现硬件在环的参数修改,控制舵机的转动。通过改变Simulink模型中的“Constant”模块的值,使舵机在不同角度进行转动,数值范围从2.5到12.5对应舵机的角度范围为0°到180°或-90°到90°。

    实验原理及模型:
    实验依据的模型与原理图如附件所示。其中,图5.1展示了STM32 simulink驱动舵机的效果,图5.2为本次实验使用的Simulink简易模型,图5.3为电路图的接线方法,图5.4展示了YF-STM32-ALPHA开发板的舵机接口位置。整个实验过程需遵循相关电路原理和操作方法,确保实验安全并获取准确结果。

    请按照此环境和步骤进行实验,并根据实际情况调整参数。
    回复 支持 反对

    使用道具 举报

    快速发帖

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

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 19-8-2025 12:32 , Processed in 0.480310 second(s), 41 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.