ARM技术william hill官网
登录
直播中
疯壳科技
7年用户
1201经验值
擅长:嵌入式技术
私信
关注
[资料]
【开发教程5】人形街舞机器人-舵机的基本控制
人形机器人
舞蹈机器人
舵机
控制
开发教程
多自由度人形双足舞蹈机器人
舵机的基本控制
——疯壳·机器人开发系列
1 舵机简介
本章,我们将使用 IAP15W4K61S4
单片机
控制舵机的转动。
图 1
一般来说,舵机由舵盘、减速齿轮组、位置反馈电位计、直流电机、控制
威廉希尔官方网站
组成。
它的输入线一共 3 条,
电源
线、地线和控制线。
舵机是通过 PWM 脉宽调节角度,周期为 20ms,占空比 0.5ms 到 2.5ms 的脉宽电平对应舵机 0 度到 180 度角度范围。因此,我们就可以通过 IAP15W4K61S4 单片机产生不同占空比的方波,来控制舵机轴的不同位置,从而控制舵机的转动。2 硬件设计
由于单片机在实际中的输出电流很小,本次就使用了 74HC244 来增加输出电
流。另外,机器人的头部舵机的信号线是通过 P27 与 74HC244 相连间接控制的。
图 2
3软件设计
本次我们是通过定时器 T0 控制 IO 口输出高低电平的时间来输出 PWM。首先,我们介绍一下 IO 口以及定时器相关寄存器。
(1)数据寄存器 Px
Px 对应的输入输出数据,以 P0 为例,如下图所示:
图 3
(2)模式寄存器
每个引脚对应的两个模式寄存器共同决定了引脚的工作模式,以 P0 为例,
如下图所示:
图 4
(3)定时器/计数器 0/1 控制寄存器 TCON
图 5
TF0:T0 溢出中断标志。T0 被允许计数以后,从初值开始加 1 计数,当产生溢出时,由硬件 置 1TF0,向 CPU 请求中断,一致保持到 CPU 响应该中断时, 才由硬件清 0。
TR0:定时器的运行控制位。该位由软件社设置清零。
IE0:外部中断 0 请求源(INT0/P3.2)标志。IE0=1 外部中断 0 向 CPU 请求中断,当 CPU 响应外部中断时,由硬件清 0 。
IT0:外部中断源 0 触发控制位。IT0=0,上升沿或下降沿均可触发外部中断 0。IT0=1,外部中断 0 程控为下降沿触发方式。
(4)计时器/计数器工作模式寄存器 TMOD
图 6
M1,M0:定时器/计数器模式选择。C/T:清 0 作为定时器,置 1 作为计数器。
关于其它的寄存器,可以参考 IAP15W4K61S4 的数据手册。
代码中,我们首先将 IO 口初始化。
代码1
将 IO 口设置为准双向口,默认低电平,然后通过赋值给 P27 一或者零,来
控制 P27 口输出高低电平。
关于定时器的使用,首先进行初始化。
(1)设置辅助寄存器 AUXR,将定时器 0 设为传统 8051 速度的 12 分频。
(2)设置定时器 0 为 16 位不可重装载模式,TH0、TL0 全用。
(3)清除 T0 溢出中断标志。
(4)允许 T0 产生中断。
(5)打开总中断
代码2
完成定时器 0 初始化之后,就必须通过函数
ti
mer0(unsigned int us)给 TH0、
TL0 填值。当时间到了,程序就可以进入定时中断函数 T0_Inter(void) interrupt 1。当进入一次中断之后,如果还要再次进入定时中断函数,就必须再一次装载定时
器。
代码3
我们在中断函数中再次装载定时器,改变 PWM 的占空比,让舵机不停的更
换角度,从而达到使机器人做出摇头的效果。
代码4
4实验现象
首先打开下载软件 STC-ISP。
图 7
(1)点击 Keil
仿真
设置,添加 STC 相关的头文件。STC 的相关头文件路径是我们之前安装 Keil C51 的路径,如果之前采用的默认路径,那么选择 C 盘 Keil 文件夹。
图 8
(2)添加完 STC 相关的头文件,点击弹窗中的确定。
图 9
(3)设置单片机的型号、最低波特率、最高波特率如下图所示,硬件选项等选项默认即可。串口号根据实际情况选择。
图 10
(4)点击打开程序文件,选择我们例程中的.hex 文件。
图 11
(5)点击下载/编程,下载代码。
图 12
(6)按一下威廉希尔官方网站 板上面的 RST 按键,完成下载。
图 13
代码下载完成之后,打开机器人的电源开关,运行代码,就能看到我们的机器人在做摇头动作。
配套资料:
https://www.fengke.club/GeekMart/su_fV1WzKsGQ.jsp
配套视频:
https://www.fengke.club/GeekMart/su_fBdB1yTU0.jsp
套件地址:
http://shop115904315.taobao.com
文件下载请点击:
4_舵机的基本控制.pdf
(1.12 MB)
(下载次数: 0, 2022-5-13 15:59 上传)
更多回帖
rotate(-90deg);
回复
相关帖子
人形机器人
舞蹈机器人
舵机
控制
开发教程
【教程8】
人形
街舞
机器人
-多个
舵机
不同速率转动
2022-08-18
6748
【教程
5
】
人形
街舞
机器人
-
舵机
的基本
控制
2022-08-16
3889
【教程2】
人形
街舞
机器人
-机体组装及测试
2022-08-12
8768
【教程1】
人形
街舞
机器人
-套件检测教程
2022-08-12
8626
【
开发
教程8】疯壳·
人形
街舞
机器人
-多个
舵机
不同速率转动
2022-07-25
4774
【
开发
教程
5
】疯壳·
人形
街舞
机器人
-
舵机
的基本
控制
2022-07-20
5334
【
开发
教程1】疯壳·
人形
街舞
机器人
-套件检测教程
2022-07-15
7380
【
开发
教程2】
人形
街舞
机器人
-机体组装及测试
2022-05-10
5199
【
开发
教程1】
人形
街舞
机器人
-套件检测教程
2022-04-22
4086
推荐!蓝牙心率运动手环/MTK定位电话手表/
人形
街舞
机器人
开发
文档资料
2018-04-28
11563
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分