基于单片机的无线遥控移动机器人设计
2018-06-07包志家
包志家
摘要:在这个智能化时代背景下,为了能够更好地发挥出机器人的价值,文章主要设计了一个多功能的履带式机器人,其是将手持移动设备作为主要控制端,控制方式采用分布式控制,而在这一整个系统当中,单片机属于核心,并且还拥有较多的功能模块,上位机软件则主要是在嵌入式Linux下运行,而对于移动手持设备和机器人之间的信息交互,则主要是利用了WiFi传输技术。通过这_系统,操作人员在实际使用过程中能有效地利用无线远程对机器人移动情况进行监控,更好地保障机器人应用的效果。
关键词:单片机;无线遥控;移动机器人
在社会不断发展过程中,对于机器人的研究也是越发地频繁,就目前机器人设计工作来看,无线远程控制移动属于设计研究热点之一,因为这一项设计和研究能够代替我们完成一些较为危险的行动,又或者是在一些较为恶劣的环境下工作。而在无线传输过程中,目前应用较为普遍的就属于WiFi技术,这一项技术在应用过程中传输距离较长,并且网络也十分地稳定可靠,目前也成为人们生活以及工作中不可缺少的一项技术。本文在设计研究过程中,其核心主要是单片机,之后在履带式小车基础上加上六自由度机械臂、风扇、摄像头等功能模块,最后利用WiFi传输技术来对机器人进行控制和监控,并且设计出了一个基于单片机的无线遥控移动机器人,希望能够将其有效地应用到各个领域当中。
1 机器人硬件组成
在对机器人进行设计的过程中,本系统中主要是基于单片机来进行设计,设计过程中控制终端主要是使用了手持移动设备,WiFi这一技术的作用则是对控制对象进行遥控,以此来设计出了一个履带式机器人。该机器人在控制过程中,要想实现控制这一目的,其主要是在控制过程中采用了分布式控制,核心则是STC89S52单片机,其次则包括了以下几个功能模块:小车电机驱动模块、灭火模块、机械臂模块、电磁炮模块、集成电源供电模块、通信接口模块、WiFi模块、摄像头模块等。在整个系统当中,单片机主要的作用就是接收传感器的反馈信号,然后通过WiFi将所收到的信号传输到手持移动设备当中,操作人员则主要是利用手持移动设备来对其进行远程控制,同时以此来作出相应的决策,在这一过程中,其在手持移动设备中所获得的指令还可以经过单片机传输到各个功能模块当中,从而就能确保机器人能够完成相关任务要求。
1.1小车电机驱动模块
在小车电机驱动模块当中,主要为其配置了2个直流电机,因为驱动小车电机本身需求功率较大,所以单片机在发出脉冲宽度调制( Pulse Width Modulation,PWM)信号的过程中,还需要添加L298N驱动电路,这样才能对小车实际情况进行有效的控制和把握。
1.2电源供电模块
在对电源供电模块进行设计的过程中,因为驱动小车电机这一模块本身所需要的电流以及电压等方面都明显比单片机芯片需求要大很多,在这种情况下,本系统在实际设计过程中,其电源供电方式主要是采用了双电源供电的方式。其中,小车电机供电电源主要是7.4 V电源,8 000 mAh属于其电池容量,而单片机在实际供电过程中则主要是使用了5V电源,2 000 mAh属于其电池容量[1]。
1.3灭火模块
这一模块在实际安装过程中,主要是安装在履带式小车的正前上方,组成部位主要包括了风扇、火焰传感器以及马达,其中,光敏电阻属于火焰传感器的核心,一旦光敏电阻在收到火焰发出的近红外波长之后,就会立马出现高电平输出现象,同时还会将所获得的灭火信号反馈给单片机,而单片机就可以将这一信号传输给马达,最终就能带动风扇使其高速旋转吹灭火源。
1.4机械臂模块
在这一模块当中,手腕、底座、手指以及手臂属于其重要组成部分,在这4个组成部分当中,只有手臂存在3个舵机驱动,而另外3个组成部分都只是存在一个舵机。微型伺服直流电机就是舵机,其在实际应用过程中能够左右旋转180。,机端首末端2个手指还可以在舵机驱动下完成夹取动作。舵机接口主要是红、黄、黑这三线接口,分别对应着+5 V、控制信号、GND等端。
1.5摄像头模块
在无线远程控制过程中,实时监控属于最为关键的一点,而在本研究设计当中,对于机器人的单目视觉传感器在实际设计过程中主要是选择了CMOS图像传感器,这一传感器具备其自身所独有的优势,只需要使用一个电源就能将信号直接由光电转换获得,无论是获得还是读取方面都十分地快捷方便。之后就可以将所获得的图像或者是视频应用WiFi技术传输到手持移动设备当中,这样就能有效地实现实时监控这一目的。
1.6电磁炮模块
在本研究当中所使用的电磁炮主要是电磁线圈炮,其组成部分主要包括了100 m长合金铜炮管、5个并联330 μF/450 V电容、LED电容电压表、2砸铜线圈、可控硅以及DC500升压器。一旦钢珠发射电源,就会给环绕炮膛的固定线圈起到供电的作用,并且还会产生相应的移动磁场,从而让钢珠内部存在一个感应电流,同时还能生成相应的磁场,产生加速力;最后,在炮管整个长度上所存在的被加速的钢珠,就可以及时有效地发射出去[2]。
1.7 WiFi模块以及通信接口
在本研究设计当中,对于信息交互这一功能,主要还是在于手持移动设备和单片机这两者之间,而这两者要想实现这一目的,就必然要利用WiFi技术,因为WiFi模块本身功能就是加载了Openwrt系统的无线路由器,它连接摄像头,同时还能通过这一模块来接收控制命令。而单片机在实际应用过程中就能利用通信接口来对小车电机、摄像头、火焰传感器等模块进行控制。
2 机器人软件设计
2.1控制端軟件设计
在本研究中基于单片机的无线遥控移动机器人设计过程中,对于系统控制端的设计,嵌入式Linux系统的ARM开发板Tiny210属于其关键软件组成部分。嵌入式Linux本身就属于一个小型操作系统,在应用过程中具备较为显著的优势,其在使用过程中需要的存储空间也十分小,适合将其用在移植过程。而对于系统中的控制软件,本研究在实际编写过程中,所选择的语言主要是C++,而开发环境则主要是选择了Ubuntu下的QT Creator;套接字Socket编程则属于机器人控制软件,通过这一系列的控制端软件设计,就能将客户端和服务器之间的数据有效连接在一起,实现数据通信。在这一过程中,控制端和控制对象这两者一旦在无线路由器连接过程中属于同一个,就可以直接在控制软件当中对IP地址以及控制端口号进行设置,如果控制端和控制端对象能够成功配对,控制软件人机交互界面中所存在的Qt Web View这一模块就会直接接受mjpg流,也就是远端视频数据,从而就能有效地实现对移动机器人的实时监控这一目的。
2.2嵌入式程序运行
如果要在ARM板中安装控制软件,在此之前一定要已经搭建好嵌入式Linux系统的移植,因为其属于控制软件运行环境,只有具备这一项才能有效实现基于单片机的无线遥控移动机器人设计。针对这一点,首先在操作过程中,需要使用到SD-Flasher这一工具,而其主要的作用就是将Superboot烧写到SD卡之中,在完成烧写之后,还需要在SD卡当中建立起images文件夹,在建立好之后就可以在这一文件夹当中编写电容屏的烧写配置文件,这个时候ARM板,一旦在启动过程中是以SD卡模式来进行,就可以直接进入USB下载模式,同时连接电脑;此时就可以将之前已经编译完成的文件系统映像通过友善之臂所开发出的MiniTools拷贝到ARM开发板的NAND Flash之中,之后将开发板重启,对系统进行安装。
2.3单片机程序设计
在对STC89S52单片机程序进行编写的过程中,其开发环境主要就是Keil这一软件,这一软件本身和硬件系统存在一定的相似之处,单片机程序中会存在不同功能的一些子程序,比如说灭火、串口中断、监听上位机指令等子程序。单片机在上电初始化工作之后,等待接受上位机的16字节数据包主要包括了4字节的类型位、4字节的包头、8字节的数据位、4字节的结束位。
2.4系统调试
在基于单片机的无线遥控移动机器人设计过程中,对于系统软硬件的调试工作也是关键,而在进行这一项工作的时候,其主要是按照系统分布式控制设计理念来对各个模块进行一个个联调,在实际联调过程中,首先需要对ARM开发板以及单片机是否能够有效连接到网络进行检查,而后需要对ARM开发板的触摸屏是否能够准确接收到摄像头视频流进行检查,同时还需要对摄像头分辨率以及成像情况进行检查和分析[3]。其次,还需要对调试接收到的不同机器人指令的单片机进行调试,在各功能模块都调试完成之后,就可以再一次进行整机联调,从而结束调试工作。
3結语
综上所述,本文主要对基于单片机的无线遥控移动机器人的设计进行了分析,对机器人硬件以及软件设计进行了具体的研究,并且主要是基于单片机的无线遥控移动机器人设计,通过一系列的设计也实现了手持移动设备对于履带式机器人的无线远程控制以及实时监控,希望能够为机器人设计作出一定的贡献,真正提高机器人设计的效果,将其有效地应用在各个领域当中。
[参考文献]
[1]叶其含,陈劲杰,晏申良,等基于单片机的无线遥控移动机器人[J].信息技术,2016 (2):170-173.
[2]于惠,王晓飞,卢凯.空间站移动机器人无线控制系统设计[J].实验室研究与探索,2017(2):71-75.
[3]赵鑫鹏,程凯,黄泽兵,等基于ZigBee的无线遥控小车的设计与应用[J]电子世界,2017 (5):151-152