基于STM32单片机皮影戏机器人的设计与实现
2016-04-21程欣宇
程欣宇
江汉大学
基于STM32单片机皮影戏机器人的设计与实现
程欣宇
江汉大学
摘要:本次设计通过STM32单片机输出五路PWM波分别控制五个舵机形成的三组舵机组。通过每个舵机的不同转速与转角可以完成皮影的动作。同时采用AD采样监控电压,然后换算成所需的坐标点,显示在彩屏上方便记录。皮影的左右移动通过步进电机所控制的导轨实现,构成“猪八戒打妖怪”的皮影戏。
1 引言
随着科学的发展,机械化的作业执行逐渐成为了社会的主流发展趋势。在本次设计中以使用单片机控制机械复原皮影戏为例,展现单片机在传播传统文化中的作用。
2 方案设计
机器人皮影使用32位单片机STM32进行其余电机的控制以及采样;采用一共三组的五个舵机进行操控皮影的三只长杆的操作;使用遥控分别控制,且通过彩屏显示长杆转动的角度方便记录;同时皮影放置在横向的步进电机控制轨道,轨道长约50cm。
3 机器人皮影的工作原理
通过舵机以及步进电机控制,数组设定输入舵机的PWM波占空比,分别控制每个长杆的平面内移动,又通过输入给步进电机的高低电平控制步进电机的正反转以此达到控制皮影左右移动。这个系统可分为中心控制模块,舵机模块,步进电机模块等部分。
3.1舵机控制电路
系统中,舵机通过控制长杆带动皮影戏运动,要使舵机能够带动长杆,经过详细的对比之后,选择使用DS3115数码舵机:15KG 0.15sec/60度 4.8-7.2V。如图。
图1 仿真各舵机波形
3.2步进电机模块
步进电机采用三厢混合式步进电机,步进电机驱动使用24V开关电源供电。通过单片机的B6引脚给步进电机驱动PUL口时刻输入高频率脉冲。同时单片机的C14引脚控制输入给步进电机驱动的高低电平,输高电平是步进电机正转带动皮影往左移动;反之往右移动。
3.3采样模块
首先设定一个初始坐标,然后通过遥控修正初始坐标值。遥控分别接入单片机的C1与C2引脚。由单片机进行处理。彩屏上显示当前长杆顶端位置的横纵坐标值,方便记录事后输入程序进行动作编辑。
3.4舞台搭载难点
将所有硬件模块固定在幕后。要考虑电机所控制长杆可能交错的情况。控制右手的长杆需要适当缩短。同时控制左手的长杆放置在略微靠前的位置。控制头部的长杆和控制右手的长杆几乎处于有相同长度。
4 软件设计
软件采用C语言编写。程序采用模块化设计,包括一个主程序,几个子程序。整体流程示意图如图所示:
4.1AD采样调试程序
AD采样时每次只对一组两个舵机进行控制,横向移动控制杆控制水平放置舵机的转动,纵向移动控制杆控制竖直放置舵机的转动。
4.2皮影控制程序
4.2.1通过坐标对占空比的计算 皮影控制程序中,先定义全局数组,方便在主函数模块和舵机模块直接调用其数据。共定义了6组数组,分别表示三组舵机所控制的三只长杆的坐标值,然后再用坐标值换算成角度计算控制所需要的占空比。
4.2.2通过坐标数组的循环输出 步进电机只需要执行持续正转,持续反转,停止这三个基本动作,于是在系统中把这三个动作模块化成了函数,在主程序中判断到达其执行动作的计次后直接调用模块中预定好的函数进行控制,简单方便。
图2 软件设计方案
4.3软件设计过程中的难点
考虑到一共要控制五个舵机,STM32 位单片机才可满足设计的需求。在软件设计时想到可以将AD值转换为坐标值,然后通过坐标值计算转角来调控占空比。在局部变量和全局变量的定义和使用方面需要反复考虑。
5 结语
本次设计舞台长67.4cm,宽47.8cm,高58.7cm。使用猪八戒这一西游记形象作为皮影戏机器人。本次设计表明,基于STM32所设计的皮影戏机器人可以完成预想中的简单皮影动作。
参考文献
[1]罗杰,谢自美.电子线路设计•实验•测试.第4版:电子工业出版社,2006
[2]张凡.华县皮影戏的民俗文化研究.北京:高等教育出版社.2010(05)
[3]谢宋和.单片机模糊控制系统设计[M].北京:电子工业出版社,1999.
程欣宇,男,1984.02.26,安徽,硕士研究所,计算机,实验员,江汉大学。
作者简介
关键字:单片机 皮影戏 步进电机