基于弦乐器自动演奏机器人的控制系统设计
2017-11-16钱黎明郭峰
钱黎明 郭峰
【摘 要】本文设计的弦乐器自动演奏机器人,参照仿生学原理,它的执行机构分解为压弦机构、拨弦机构和消音机构。根据设计要求,选取气动系统作为拨弦和压弦机构的驱动装置,选取步进电机和微型伺服电机(舵机)作为平移机构的驱动装置。为了驱动这些装置,设计的电路硬件包含:主控电路、通讯电路、电源管理电路、电机驱动电路等,并设计了与之相对应的程序软件,最后对系统进行了验证。
【关键词】演奏机器人;仿生学;压弦;拨弦;消音
0 前言
近年来,随着人们生活水平的提高,娱乐机器人成为研究的热门项目[1]。其中音乐机器人以其较好的展示和互动效果获得了研究人员的青睐。乐器演奏机器人通过电子控制装置控制机械结构,达到模拟人类演奏乐器的效果,目前主要有非人形和拟人形两种形式。这是一项融合机械、计算机、自动化、电子以及音乐艺术的多学科交叉课题[2,3]。
本系统设计时通过分析人类在弹奏时的动作,参照仿生学原理设计演奏机构,完成各演奏机构的运动学、动力学分析,并选择合适的驱动装置。
1 系统架构设计
1.1 系统总体设计方案
根据仿生学提出了弦乐自动演奏系统的硬件设计要求,并进行了研究和实现:
①具有相互独立的拨弦和压弦机构。
②拨弦机构个数等同于弦乐器弦数,每个机构至少一个自由度,且运作时相互独立。
③压弦机构需快速到达发音位置,可采取移动方式(如贝斯)或点阵方式(如吉他)。
④移动方式实现的压弦机构需至少三个自由度。
⑤压弦机构需兼顾击弦要求,能调整击打力度。
⑥具有快速止震消音机构。
⑦可根据不同乐谱进行演奏。
设计时将拨弦机构固定在贝斯尾部,设计4个拨弦结构,对应贝斯4根弦,驱动方式采用直线气缸,控制方式采用二位三通电磁阀。压弦机构采用移动方式,通过步进电机驱动的直线滑轨實现沿琴体方向的横向移动;通过高速舵机驱动直线滑轨实现垂直琴体方向的移动;通过直线气缸实现上下动作。底层控制器采用STM32高速单片机实现对电磁阀、舵机、步进电机等执行机构的控制,实现对上位机发送的音符命令解码。控制系统总体设计方案如图1所示:
图1 系统总体设计
1.2 控制器硬件设计
1.2.1 控制器硬件总体设计
弦乐器自动演奏系统的控制器硬件包含主控电路、电源管理电路、限位开关、通讯电路、电磁阀驱动电路、微型伺服电机(舵机)驱动电路、步进电机驱动电路以及状态指示电路[2]。
1.2.2 主控电路
主控电路选用高性能、高速、低功耗的STM32F103R 8T6单片机为系统核心[3]。主控电路不仅需完成对电磁阀、微型伺服电机(舵机)、步进电机等执行器件的控制和驱动,还要完成不同等级电源的处理和输入信息(串口数据、限位开关)的处理,同时系统的运行状态也需要通过指示信息(LED灯、串口数据)反馈给用户。
1.2.3 电源管理电路
为保证系统正常工作,本控制系统涉及3种不同数值的直流电压源。其中电磁阀驱动电路和步进电机驱动电路需采用24V电源,由外部稳压电源直接提供;微型伺服电机(舵机)驱动电路和通讯电路采用5V电源;主控电路及其外围输入输出电路需要直流3.3V电源[4]。
LM2596S -5.0将24V转成5V,是一款开关型集成稳压芯片,需在输出引脚外加电感L1、肖特基二极管D20在输出关断的时候实现续流。LM1117-3.3芯片将5V转成3.3V,是一款低压降正压输出的三端线性稳压芯片。
1.2.4 电磁阀驱动电路
本设计选用单作用气缸,对应二位三通电磁阀,需匹配继电器进行控制。电磁阀型号为3V210-08-NC,继电器选用型号为HK4100F-DC12V。本设计采用了光耦TLP281-4将主控电路和电磁阀驱动电路进行电气隔离。U9为继电器驱动芯片,型号为ULN2803,是一款八路NPN达林顿晶体管阵芯片,输入电平与TTL标准相兼容,最大允许输出电压50V,最大负载电流500mA。
1.2.5 电机驱动电路
根据弦乐器(贝斯)整体设计方案,本设计中需控制4个微型伺服电机(舵机)和一个步进电机。微型伺服电机(舵机)选用型号为S9570SV的高速数字舵机,步进电机选用型号57BYG250B。
电机驱动接口电路包含微型伺服电机(舵机)和步进电机驱动电路,其中采用光耦进行电气隔离;达林顿管集成芯片进行输出,其中PWM1-PWM4分别连接4个微型伺服电机(舵机)的信号端,DR、PUL、EN分别连接步进电机驱动器TB6600的方向、脉冲和使能端。
1.3 气动系统设计
与机械、液压、电气相比,气动技术具有如下特点:易于实现快速的直线往返运动、摆动和高速移动;输出力、运动速度调节方便,改变运动方向简单。根据整体设计方案,本设计中使用9个气缸,需要设计一套气动系统来支持气缸的正常工作,如图3所示。
图3 气动系统示意图
其中空气压缩机和气罐提供气源,采用了一款型号为JUBA800-30的小型电动空气压缩机。选用型号为AFR2000的过滤调压阀,其滤芯精度为40μm。电磁阀型号为3V210-08-NC,气缸型号为CJ1B4-10SU4。
1.4 控制器软件设计
本设计程序包含上位机和下位机两部分:下位机控制器采用STM32高速单片机实现对电磁阀、舵机、步进电机等执行机构的控制,并实现对上位机发送的音符命令解码。自动演奏控制系统的程序开发基于STM32库函数,用户程序有19个程序,按不同功能划分为[5]:
(1)7个底层硬件控制类程序,分别对单片机内部资源、串口通讯、外部开关、步进电机、继电器和舵机等底层硬件进行控制;endprint
(2)5个基本动作类程序,分别实现了消音、击弦、拨弦、压弦和压弦机构横向位移功能;
(3)4个音效类程序;
(4)2个数据处理子程序;
(5)1个主程序。
2 测试及数据分析
此次测试所选用的乐谱为小星星(C大调),此曲共有24小节,每小节需演奏2个音符,实际演奏24小节,共演奏48个音符,演奏时常为1分23秒。在试验过程中,拨弦机构共工作48次,未卡弦,除气泵声音外未有杂音,按弦机构共工作24次,按压正常,音高准确,未有疵音。消音机构共工作6次,按压正常,消音效果显著。
3 总结
本文主要对机器人乐队的核心--自动演奏机构进行了研究,实现功能和创新点如下:
①在电脑上编辑乐谱,通过通讯端口将乐谱和演奏命令递给演奏系统控制器,演奏系统对接收到的乐谱进行分析、分解执行演奏动作,完成乐谱的自动演奏;
②通过分析人类在弹奏时的动作,根据仿生学设计演奏机构,完成各演奏机构的运动学、动力学分析,并根据结论选用适当驱动形式;
③设计并实现各驱动方式电控系统,实现各种驱动方式的实时控制;
④对贝斯和鼓手的功能进行了集成,创新了一种独特的演奏方式。
【参考文献】
[1]王田苗,陶永,陈阳.服务机器人技术研究现状与发展趋势[J].中国科技:信息科学,2012,42(9):1049-1066.
[2]Goto, M.; Hashiguchi, H.; Nishimura, T.; and Oka, R. 2003.RWC Music Database: Music Genre Database and Musical Instrument Sound Database. In Proc. of International Conference on Music Information Retrieval, 229–230.
[3]http://www.tiaozhanbei.net/project/17814/
[4]Lim A,Ogata T,Okuno H G.Towards expressive musical robots:A cross-modal framework for emotional gesture,voice and music[J].EURASIP Journal on Audio,Speech,and Music Processing,2012,201(1):1-12.
[5]韓文超,黄卫华.基于声信号反馈的葫芦丝演奏机器人仿真设计[J].传感器与微系统,2015,35(6):52-84.endprint