论文部分内容阅读
[摘 要]本文以STM32F103ZET6单片机为主控制器,舵机、佩带螺旋桨的直流电机和GPS接收模块为控制对象,上位机和单片机之间进行无线通信,对充有氦气的鱼体气囊进行遥控控制,实现在空中自由飞行。飞艇鱼是以0.4立方米的鱼形气囊为鱼体,内充氦气,STM32F103ZET6为主控芯片,用C语言编程,实现对飞艇鱼的速度、高度和方向的控制。用上位机向单片机发送控制命令,以及显示飞艇鱼的飞行状态和定位信息。
[关键词]STM32F103ZET6;舵机;直流电机;上位机;飞艇
中图分类号:TM743 文献标识码:A 文章编号:1009-914X(2015)26-0259-01
随着现代科技的进步,微型机器人在生产和军事领域得到迅猛发展。低成本低功耗的要求也越来越苛刻。飞艇鱼作为一种小体积、低功耗、高机动性的飞行装置,可以利用浮力减少一定的功耗。实现对要求作业时间长、范围广,人进出不易的地方进行勘测。如地理监控、军事侦查等。在军用方面:由于飞艇鱼成本低、体积小、机动性好。将在侦查、攻击等方面发挥巨大作用。在娱乐方面。目前,机器人也越来越多的用于玩具业,如日本索尼公司推出的机器狗,日本三菱重工业推出的观赏性机器鲤鱼。
1 控制系统硬件设计
1.1 整体设计方案
本控制系统希望通过以STM32F103ZET6 ARM为核心控制器,利用无线模块NRF24L01远距离控制直流电机和舵机,其中直流电机带动螺旋桨产生动力,舵机改变方向,进而控制一个充有氦气的鱼形气囊,对此气囊的飞行状态是在上位机上实现的,包括速度、方向、高度。并且利用GPS模块将飞行器的位置(经纬度)实时显示。控制系统采用模块化设计思想,自上而下的设计思路,以保证系统开发的可靠性,系统的各个模块分开设计,通过模块间的接口来组合整个系统,控制系统框图如图1:
1.2 系统主要硬件部分介绍
电机部分
由于飞艇鱼自身浮力有限,所以要用直流电机带动螺旋桨产生先上的作用力来克服飞艇鱼自身的重力。鱼体后面是一个舵机和一个直流动力电机,舵机电机用于控制方向,电机带动一个小螺旋桨提供前进动力。鱼体下面是一排用直流电机带动的小螺旋桨,通过控制转速和吹风方向来改变浮力分量和动力分量。舵机9g舵机(SG90),电机选用9*15的永磁直流电机和配套小螺旋桨,转速达到20000r/min,电机驱动选用芯片BTS7970,此电机可以提供要求的风力。本系统选择M20微型直流电机,此电机工作电压范围是1.5V-7.5V,最高转速达到42000rpm。根据实测,要用到四个这样的电机同时工作才能克服这个硬件电路的重力。
整个系统的所有通信都是串行通信,包括GPS和单片机的通信,以及处理器和上位机之间的通信。处理器和上位机之间的通信就需要用到无线串口收发模块。在本系统中,无线串口收发模块的作用是作为单片机和上位机通信的媒介,单片机通过它给上位机发送解析后的GPS数据,上位机通过它给单片机发送控制命令。
GPS接收模块在本系统中的作用是接收GPS卫星所发送的数据,然后以串行数据形式发送给单片机。我们选用体积和重量都比较小的U-blox GPS模块。U-blox GPS模块遵守的是NMEA-0183协议。
2 控制系统的软件设计
在本程序中,主函数主要是数据的计算和上位机进行通信。另外,有两个中断函数。一个是接收上位机发送过来的控制命令;另一个是接收GPS接收器发送给单片机的定位数据,并加以解析。主程序流程图如图2所示:
要实现本系统所有功能,软件设计量较大,其中包括很多模块只有写好各个模块才有可能通过整合实现预想功能,这些模块包括:延时函数、舵机控制函数、电机控制函数、初始化函数、外部中断、串口通信、GPS数据的接收与解析,然后在主函数里进行整合。
2.1 主控芯片程序设计
STM32F103ZET6是本控制系统的主控MCU,主要程序包括时钟初始化、串口初始化、PWM初始化,对各个数据进行处理,包括时间数据、经度数据、纬度数据、日期数据和航速数据的解析,解析完毕,即可发送数据到控制界面进而显示飞行器的状态以便控制。单片机产生使机器鱼飞行的PWM波,无论在什么状态,只要串口接收到命令就会产生中断,就需要根据命令改变PWM波的占空比,从而改变直流电机和舵机的转动,进而改变机器鱼的飞行速度和方向。这些控制实现都是建立在STM32与无线模块和GPS的通信基础上的,因此本系统使用到了VB程序编写的上位机软件。
在本系统中,单片机和上位机之间通信的数据信息包括:
(1)单片机给上位机发送的数据:当前电机控制占空比、定位信息经度值、定位信息纬度值、当前时间、当前日期、航速。
(2)上位机给单片机发送的控制命令:舵机打角的增加、舵机打角的减小、电机转速的增加、电机转速的减小、直行、左转、右转。
4 总结
本系统采用STM32F103ZET6作为核心处理器,产生PWM波对直流电机和舵机进行控制,外围电路有无线接发收模块和GPS定位模块,具有传输速度快,实时操作性好,数据处理强等特点,能满足在军事、娱乐场合的某些要求,具有一定的应用价值,本文的研究设计工作为进一步研究设计自主机器鱼以及多鱼协作提供了较好的软硬件设计基础。
参考文献
[1] 李建中编著.单片机原理及应用[M].西安电子科技大学出版社.2008.2(P32-P48).
[2] 曾磊,王立峰,甄静伟.基于DSP的小型无人飞艇控制系统设计[J].工业控制计算机.2011.24卷.10期:P6-P7.
[3] 曹毅,姜戎,王宏力.基于单片机的小型自控飞艇舵控系统设计[J].电子技术应用.2007.33卷02期.P13-P16.
[4] 易福华.VisualBasic典型系统实战与解析[M].电子工业出版社.2007.01.
[5] 刘波文.ARM Contex-M3应用开发实例详解[M].北京:电子工业出版社,2011.
[6] 金敏,周翔,金梁.嵌入式系统:组成、原理与设计编程[M].北京:人民邮电出版社,2006.
作者简介
俞竣瀚(1990—),湖南省常德市,硕士研究生,专业:控制理论与控制工程。
[关键词]STM32F103ZET6;舵机;直流电机;上位机;飞艇
中图分类号:TM743 文献标识码:A 文章编号:1009-914X(2015)26-0259-01
随着现代科技的进步,微型机器人在生产和军事领域得到迅猛发展。低成本低功耗的要求也越来越苛刻。飞艇鱼作为一种小体积、低功耗、高机动性的飞行装置,可以利用浮力减少一定的功耗。实现对要求作业时间长、范围广,人进出不易的地方进行勘测。如地理监控、军事侦查等。在军用方面:由于飞艇鱼成本低、体积小、机动性好。将在侦查、攻击等方面发挥巨大作用。在娱乐方面。目前,机器人也越来越多的用于玩具业,如日本索尼公司推出的机器狗,日本三菱重工业推出的观赏性机器鲤鱼。
1 控制系统硬件设计
1.1 整体设计方案
本控制系统希望通过以STM32F103ZET6 ARM为核心控制器,利用无线模块NRF24L01远距离控制直流电机和舵机,其中直流电机带动螺旋桨产生动力,舵机改变方向,进而控制一个充有氦气的鱼形气囊,对此气囊的飞行状态是在上位机上实现的,包括速度、方向、高度。并且利用GPS模块将飞行器的位置(经纬度)实时显示。控制系统采用模块化设计思想,自上而下的设计思路,以保证系统开发的可靠性,系统的各个模块分开设计,通过模块间的接口来组合整个系统,控制系统框图如图1:
1.2 系统主要硬件部分介绍
电机部分
由于飞艇鱼自身浮力有限,所以要用直流电机带动螺旋桨产生先上的作用力来克服飞艇鱼自身的重力。鱼体后面是一个舵机和一个直流动力电机,舵机电机用于控制方向,电机带动一个小螺旋桨提供前进动力。鱼体下面是一排用直流电机带动的小螺旋桨,通过控制转速和吹风方向来改变浮力分量和动力分量。舵机9g舵机(SG90),电机选用9*15的永磁直流电机和配套小螺旋桨,转速达到20000r/min,电机驱动选用芯片BTS7970,此电机可以提供要求的风力。本系统选择M20微型直流电机,此电机工作电压范围是1.5V-7.5V,最高转速达到42000rpm。根据实测,要用到四个这样的电机同时工作才能克服这个硬件电路的重力。
整个系统的所有通信都是串行通信,包括GPS和单片机的通信,以及处理器和上位机之间的通信。处理器和上位机之间的通信就需要用到无线串口收发模块。在本系统中,无线串口收发模块的作用是作为单片机和上位机通信的媒介,单片机通过它给上位机发送解析后的GPS数据,上位机通过它给单片机发送控制命令。
GPS接收模块在本系统中的作用是接收GPS卫星所发送的数据,然后以串行数据形式发送给单片机。我们选用体积和重量都比较小的U-blox GPS模块。U-blox GPS模块遵守的是NMEA-0183协议。
2 控制系统的软件设计
在本程序中,主函数主要是数据的计算和上位机进行通信。另外,有两个中断函数。一个是接收上位机发送过来的控制命令;另一个是接收GPS接收器发送给单片机的定位数据,并加以解析。主程序流程图如图2所示:
要实现本系统所有功能,软件设计量较大,其中包括很多模块只有写好各个模块才有可能通过整合实现预想功能,这些模块包括:延时函数、舵机控制函数、电机控制函数、初始化函数、外部中断、串口通信、GPS数据的接收与解析,然后在主函数里进行整合。
2.1 主控芯片程序设计
STM32F103ZET6是本控制系统的主控MCU,主要程序包括时钟初始化、串口初始化、PWM初始化,对各个数据进行处理,包括时间数据、经度数据、纬度数据、日期数据和航速数据的解析,解析完毕,即可发送数据到控制界面进而显示飞行器的状态以便控制。单片机产生使机器鱼飞行的PWM波,无论在什么状态,只要串口接收到命令就会产生中断,就需要根据命令改变PWM波的占空比,从而改变直流电机和舵机的转动,进而改变机器鱼的飞行速度和方向。这些控制实现都是建立在STM32与无线模块和GPS的通信基础上的,因此本系统使用到了VB程序编写的上位机软件。
在本系统中,单片机和上位机之间通信的数据信息包括:
(1)单片机给上位机发送的数据:当前电机控制占空比、定位信息经度值、定位信息纬度值、当前时间、当前日期、航速。
(2)上位机给单片机发送的控制命令:舵机打角的增加、舵机打角的减小、电机转速的增加、电机转速的减小、直行、左转、右转。
4 总结
本系统采用STM32F103ZET6作为核心处理器,产生PWM波对直流电机和舵机进行控制,外围电路有无线接发收模块和GPS定位模块,具有传输速度快,实时操作性好,数据处理强等特点,能满足在军事、娱乐场合的某些要求,具有一定的应用价值,本文的研究设计工作为进一步研究设计自主机器鱼以及多鱼协作提供了较好的软硬件设计基础。
参考文献
[1] 李建中编著.单片机原理及应用[M].西安电子科技大学出版社.2008.2(P32-P48).
[2] 曾磊,王立峰,甄静伟.基于DSP的小型无人飞艇控制系统设计[J].工业控制计算机.2011.24卷.10期:P6-P7.
[3] 曹毅,姜戎,王宏力.基于单片机的小型自控飞艇舵控系统设计[J].电子技术应用.2007.33卷02期.P13-P16.
[4] 易福华.VisualBasic典型系统实战与解析[M].电子工业出版社.2007.01.
[5] 刘波文.ARM Contex-M3应用开发实例详解[M].北京:电子工业出版社,2011.
[6] 金敏,周翔,金梁.嵌入式系统:组成、原理与设计编程[M].北京:人民邮电出版社,2006.
作者简介
俞竣瀚(1990—),湖南省常德市,硕士研究生,专业:控制理论与控制工程。