高玲玲,李 红,李宇舰
(合肥学院 计算机科学与技术系,合肥 230601)
基于Arduino的机器人写字系统的设计与实现
高玲玲,李 红,李宇舰
(合肥学院 计算机科学与技术系,合肥 230601)
以DOODLE BOT为基础,通过控制小车的运行轨迹,实现写字功能。机器人写字系统由控制板、舵机、霍尔传感器、电池组以及蓝牙、红外传感组成,规划字体的书写路线,通过设计、调试,系统最后能够实现所有英文字母、阿拉伯数字的书写。通过对字母的不同组合,可以完成单词的书写,进而实现对英文句子的书写,也可以实现对指定汉子的书写。写字机器人可以用在科研、教学上。
舵机;霍尔传感器;写字算法;蓝牙;红外
机器人写字系统由控制板、舵机、霍尔传感器、电池组以及蓝牙模块和红外传感模块组成。各个模块协作完成系统的功能。用180°旋转的舵机控制起笔和落笔,当舵机臂转到一定的角度后,实现支撑功能,笔尖会离开地面,这样就能实现提笔功能。落笔刚好相反,显然能够实现。用两个360°旋转的舵机控制车轮,给一个参数,通过PWM(Pulse-width modulation)转换、H桥控制,就可以实现舵机的转动,即可以实现前进功能。因为H桥除去防反接电路,可以实现舵机的倒转。转弯功能只需让一个轮子前进,另一个轮子倒退,可以实现转弯功能。[1]
1.1 硬件设计
1.1.1 舵机模块功能和作用 本设计中用到3个舵机,一个是控制笔的升落,另外两个是驱动车轮。如图1,靠近车轮的两个舵机驱动车轮,两个舵机是对称的。带有白色舵机臂的舵机控制笔的升落,当舵机臂转到不同的角度,笔尖离桌面的高度就会不一样。
控制车轮的两个伺服马达有两条线,是电源线和地线。其中红色的是电源线,黑色的是地线。控制车轮的舵机的驱动采用的是H型PWM驱动系统。舵机采用的是电压控制,转动速度取决于加在其两端的平均电压的大小,PWM脉冲的占空比越大,舵机的转动速度就越快。通过PWM系统不仅可以实现舵机对车轮的驱动,而且可以改变车轮的速度。[2]
1.1.2 霍尔传感器模块功能和作用 霍尔传感器的作用是记录车轮的行程[3]。在两个车轮上分别有两个圆形的金属片,这两个金属片是有磁性的,而且磁性不连续,当车轮转动时,霍尔元件就会在这个变化的磁场中产生变化的电压,每变化一次就记录一次,记录采取中断的方式。电压发生变化的时候,会引起中断,调用中断函数进行计数。计数一次,轮子行驶一步,即为1.57cm。
1.2 软件设计
小车的写字方法是将字体的笔画设置成小车行驶的路径。写字的思想是将大写的英文字母放在一个表格中,表格形式可以多样化,例如下面的4×6表格(见图2)。通过Go()函数和Turn()函数的不同组合,来对字母进行书写。放在表格中,能够使所有的字母字形大小不致差别太大,另外,每个方格可以代表轮子“一步”的距离,这样,根据格子数就可以知道车需要行驶的距离。
图2 字体规划示例图
1.2.1 起笔、落笔的方案 起笔和落笔是通过驱动舵机旋转实现的,给控制线一定的脉冲波,舵机就会转到指定的位置。输入一个周期性的正向脉冲信号,就可以驱动马达,脉冲的高电平时间一般是1~2毫秒之间,低电平的时间是5~20毫秒之间。高电平维持的时间不同,转到的角度就会不同。[4]
起笔就是让舵机的臂作为支撑,设置为90°角,信号脉冲中的高电平的时间是1.44毫秒,落笔的时候,舵机臂不再有支撑作用,转到零度角,信号脉冲中的高电平的时间是2.0毫秒。因为每个脉冲会使舵机转到一定的角度,所以要有多个脉冲才能达到指定的位置。一旦达到了指定的位置,舵机就不会再继续转动了。表1是脉冲与角度位置的关系。
1.2.2 前进功能的设计 前进的时候分别驱动控制两个车轮的两个电机。设定一个0~255的速度值[4],控制板通过PWM转换,将其转换成数字脉冲,这些脉冲通过H桥,驱动电机的运转。前进距离的控制,通过霍尔传感器的计数与参数的比较实现。霍尔传感器是在轮子每次行驶1.57cm时计数一次,如果需要前进5cm就要进行3次计数。运动的过程中两个轮子的两个霍尔传感器的计数都要实时的与参数进行比较,只有在两个计数都达到参数的要求时,车子才会停止运动(如图3)。
表1 舵机脉冲驱动与角度位置对应表
图3 前进子程序流程图
1.2.3 转弯功能的设计 小车转弯的时候采取的是一个轮子前进一个轮子倒退的方法。在这个过程中,两个轮子间的中心点是固定不变的。笔尖到该点的直线是两个轮子间直线的中垂线,依靠这个中心点,可以找到笔的位置。两个轮子间的距离大约是7.7cm,转出的圆的周长约为24.2cm,如果转45°,就是圆周的八分之一,约为3.0cm,相当于霍尔传感器计数两次。
如图4所示,为方便起见,简化了小车的模型,去掉了笔的部分,只考虑两个车轮的转动情况。L为两个车轮间的距离7.7cm,n为小车车轮要前进的步数。小车转过45°角所要行驶的步数计算过程如下:
n=3.14×7.7×(45÷360)÷1.57
(1)
转弯不是一个只重视过程而忽略结果的动作,转弯是为了进行下一个笔画的书写,相比转弯过程,笔尖的位置更重要。
如图5是小车的转弯过程。因为转弯过程中小车的中心点不变,所以在转动之前要将小车的中心点与下一个笔画的起点重合,转动指定角度后,倒退一个笔尖到中心点的距离即可。
图4 字体规划示例图
1.2.4 无线传输设计
a.红外传感控制的设计。红外传感设计中,字体的书写方法采用上述基础设计中的算法,写字的控制命令由在程序中固化,改成通过红外传感传输。遥控器上的0~9按键,代表A~J的字母,即如果按下遥控器上的0键,小车就会实现对字母A的书写。
b.蓝牙控制的设计。蓝牙模块和红外传感一样,对书写进行控制,不改变写字算法。蓝牙模块接收到命令后进行相应的函数调用。[5]
为了方便的进行调试,本设计直接用蓝牙串口通信助手进行信息的传输。
通过蓝牙模块可以将安卓手机与Arduino主控板进行通信。本设计中采用的是CSR主流蓝牙芯片,采用的协议标准是蓝牙V2.0协议标准,波特率设置为9600,配对密码为1234。
通过调试,小车能够实现全体英文字母、阿拉伯数字的书写,将这些英文字母组合就可以实现单词、句子的书写。另外,对一些指定汉字也能够实现其书写。
从结果可以看出,写出的字体存在一定的误差。不过,误差在合理范围内,字体还是清晰可见的(如图6)。书写的结果证明了这种书写方法的可行性。在原有的写字算法基础上,小车能够实现红外传感器和蓝牙的控制,使得对写字小车的控制更加灵活。
[1] 王光建,廖志勇,陈雪华.机器人写字技术及其运动参数[J]. 重庆大学学报,2003(12):6-9.
[2] 马晓花,孔庆忠,马卫民,等.四自由度写字机器人轨迹规划研究[J].机械工程与自动化,2010(5):161-163.
[3] 崔才豪,张玉华,杨树财 . 用 Arduino 控制板的光引导运动小车设计 [J].自动化仪表,2011(9):29-32.
[4] 何彪,周开班 . 基于 NFC 技术的蓝牙对象交换方法 [J]. 微计算机信息,2009(6) :133-134.
[5] 郑昊,钟志峰,郭昊,等. 基于Arduino/Android的蓝牙通信系统设计[J].物联网技术 , 2012(5):50-51.
[责任编辑:张永军]
Design and Implementation of Robot Writing System Based on Arduino
GAO Ling-ling,LI Hong,LI Yu-jian
(Department of Computer Science and Technology,Hefei University, Hefei 230601,China)
This paper is based on the DOODLE BOT, by controlling the trajectory of the robot , to realize the writing algorithm. The hardware system has the following modules, like control panel, servo, sensor, battery and bluetooth, infrared sensor. Planning the font’s writing route, the robot moving along the route, the traces is the writing of font. After the design and debugging, the system can complete the writing of all English letters and Arabic numerals. Combining the letters, can realize the words’ writing, then to realize English sentences’ writing. The system can also realize the writing of some Chinese words. The font’s accuracy, is connected with the program’s arithmetic, and also to a large extent depends on the hardware equipment’s accuracy. To arise the writing robot’s accuracy, more precise hardware equipment is needed. The writing robot can be used in scientific research and teaching.
hydraulic actuator; hall element; writing algorithm; bluetooth; infrared
2016-04-04
2016-07-10
安徽省教育厅自然科学基金重点项目(KJ2015A162)、安徽省高等学校省级质量工程项目(2015zjjh026,2015zdjy141)、2016年度合肥学院科研发展基金自然科学重大项目(16ZR11ZDA,16ZR12ZDA)资助。
高玲玲(1981—),女,辽宁沈阳人,合肥学院计算机科学与技术系讲师;研究方向:物联网和智能处理。
TP391
A
2096-2371(2016)04-0054-05