刘佩霞,丁 翀,刘 硕,魏 凯,王晓莹
(河南科技大学信息工程学院,河南 洛阳 471023)
随着科技的发展,自动化开始逐渐深入贯彻到我们的生活中,慢慢的,具有完整编程意识的机器人开始出现,并且代替人类做一些重复而机械性的操作,例如生产线运作,货运等。现如今,人们在提高物质生活质量的同时越来越注重生活品质的提升,科技来源于生活,也受益于生活,如语音助手、人脸识别,智能摄像头、扫地机器人等等,艺术与科技的搭配也将引起越来越多的人去关注与探索[1]。在闲暇时分听一首悠扬婉转、动人心弦的琴曲,会让人身心放松愉悦,自动弹琴机器人便应运而生,它可用于各种展示厅、音乐厅或者家庭演奏。只要时间和运行电量足够,自动弹琴机器人就可以二十四小时连续工作,让用户体会到智能科技的迅速发展,也能感受音乐的另一番动感呈现。本机器人采用集成化的方式将各种功能集合到一起,提供统一智能化的服务,给人们生活带来轻松快乐。
弹琴机器人的机械部分主要由机械手和琴键两部分组成,机械手由线性滑杆、57二相四线混合式步进电机[2]、20 kg数字舵机和琴棒构成。四个舵机上下组合实现左右、上下两个自由度的运转,组合成二自由度机械臂[3]完成敲琴动作,57步进电机驱动滑杆,带动机械臂控制多个琴键的敲击。
图1 二自由度机械臂
本次设计使用的是STM32F103C8T6单片机[4]作为主控制器,采用最小系统板设计控制电路。驱动电路采用TB6600步进电机驱动器控制电路,共阴极接法,32细分,输出电流为3A,输入电压为20V,具有过流过热保护、输入电压防反接保护、抗高频干扰功能。稳压电路采用LM2596S DC-DC直流可调降压电源模块稳压板,使用固态电容,高Q值大功率电感,带输出LED指示灯。
图2 STM32F103C8T6最小系统原理图
图3 TB6600共阳极接法以及与控制器、电机、电源接线示意图
软件设计主要包括步进电机和舵机的运动控制、上位机通信以及蓝牙控制。本次设计采用的是HC-05蓝牙串口通信模块[5],蓝牙与单片机使用串口通信[6],无线工作频段为2.4 GHz ISM,调制方式是GFSK,模块最大发射功率为4dBm,接收灵敏度-85dBm,板载PCB天线,可以实现10 m距离通信。舵机接收的是PWM信号,当信号进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。一般来说,舵机接收的PWM信号频率为50 Hz,即周期为20 ms。当高电平的脉宽在0.5 ms~2.5 ms之间时舵机就可以对应旋转到不同的角度。在步进电机的运动控制上加入梯形加减速算法,用于控制步进电机的运动过程,让电机启动或者停止更加平滑,避免抖动。
图4 系统总体设计图
上位机采用LabVIEW编写人机交互界面。LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言,传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序,VI指虚拟仪器,是LabVIEW的程序模块[7]。弹琴机器人使用的上位机labVIEW通过安装VISA插件,实现与STM32单片机的串口通讯,进行信息与数据的传输,通过调用windows底层语音识别接口,进行语音识别,识别操作者的各种语音指令,还进行对PC机所按下的按键进行采集,进行相应的滤波消抖处理,获得正确的按键值,触发相应的事件分支,发送所需的操作给单片机,并且对PC机采集操作者的鼠标轨迹信息,通过点击相应的区域,触发相应的事件分支,发送所需的操作给单片机。
图5 LabVIEW上位机操作界面(前面板)
本文主要进行了弹琴机器人的设计与研究,分为弹琴机器人的机械设计、控制系统软硬件设计、LabVIEW人机交互界面以及语音控制模块设计、蓝牙模块设计等部分。自动弹琴机器人实现了上位机与STM32单片机串口通信、语音输入点歌、机械臂准确弹奏歌曲、蓝牙远程操作等功能,界面友好,使用便捷,曲目完成度高,机械手操作灵活准确,带给用户良好的体验。自动弹琴机器人是顺应社会文化生活需求产生的一种设备,它将促进科技与艺术的结合,使音乐披上人工智能化的裙摆在未来中生生不息源远流长。
图6 LabVIEW上位机操作界面(部分后面板)