基于MSP430的四旋翼飞行器的S-BUS通信协议的设计与实现
2018-11-06张雨辰孙琛林奎秦生辉
中小企业管理与科技 2018年11期
关键词:程序
张雨辰,孙琛,林奎,秦生辉
(北方工业大学,北京100000)
1 引言
四旋翼机器人是一种灵巧的、电动的、可以垂直起降的,能够遥控或自主飞行并执行任务的一种空中机器人。四旋翼机器人具有4个螺旋桨并呈十字形交叉结构,相隔的螺旋桨为一组,两组的旋转方向不同,相邻两个螺旋桨旋转方向不同来抵消水平反扭力矩,保证自身不发生自旋。与其它空中机器人相比,其灵活性体现在只通过改变螺旋桨的速度就可以执行飞行任务。
本课题采用msp430g2553作为主要控制系统,通过使用C语言编写程序,使用S-BUS协议实现对飞机的通信。选用msp430微控制器作为控制系统是因为该系列控制器已经广泛用于家用电器和工业控制之中,而且价格便宜,易于购买和自主设计。微控制器系统降低了外围硬件设备的投资,省去了遥控器等设备的麻烦,无论是日常生活还是工业生产也都会随之更加的方便。
2 S-BUS概况
Futaba S-BUS通信协议是一种用来控制舵机的串口通信协议。最多可以包含16个舵机的数据,它是由经典的RS232串口通信协议发展过来的,逻辑取反。它的长度为25字节,每字节包括1位起始位0,8位数据位,1位奇偶校验位(若8为数据位中有奇数个1,则奇偶校验位取1,若有偶数个1则奇偶校验位取0),2位结束位11。信号周期为14毫秒,其中前3毫秒是数据,后11毫秒是延时,置低电平。用来发送数据的3毫秒中,共发送25*(1+8+1+2)=300位数据,也就是说,每位数据(高或低电平)持续10微秒的时间。
该协议有25个字节。其中第一个字节是起始字节,然后是22个包含数据的字节,最后是一个标志字节和结束字节。……
登录APP查看全文
