基于单片机通信的飞机模型

更新时间:2024-04-01 作者:用户投稿原创标记本站原创 点赞:33033 浏览:155071

摘 要:通过分析无人机飞行控制系统的工作原理以及功能需求,给出了基于IAP15L2K61S2单片机的无人机飞行控制系统模型.该模型具有上升下降、前进后退、左右反向、自动起飞、自动着陆、悬停和小速度飞行等功能.

关 键 词:IAP15L2K61S2CC2500单片机

一、研究背景及意义

进入21世纪后,国外无人直升机研究的步伐加快,而国内因2008年的冰雪灾害、、传统农林畜牧业向现代农业转变等因素,民用无人直升机的技术需求和应用需求十分迫切.为了推动无人直升机技术的发展,自1926年起,国际航空运动联合会每年都举办国际航空模型展,飞机模型将会在未来为航空发展做出巨大的贡献.

二、系统硬件设计

1.IAP15L2K61S2芯片引脚结构

选用40引脚的IAP15L2K61S2芯片作为主控制器,IAP15L2K61S2的I/O分别由P0(P0.0-P0.7)、P1(P1.0-P1.7)、P2(P2.0-P2.7)、P3(P3.0-P3.7)、P4(P4.1-P4.2,P4.4-P4.5)、P5(P5.4-P5.5)、VSS和VDD组成,共40位.其中完整的8位I/O只有P0、P1、P2、P3四个端口,该芯片不需要外部复位以及外部晶振电路,高速ADC,8通道10位,速度可达30万次/秒,3路PWM还可以当D/A使用.

2.最小系统设计

最小系统:它主要由为芯片提供时钟信号的晶振电路和复位电路两部分组成,如图1所示.

3.通信部分设计

通信作为整个系统中连接两个设备的纽带,起到了至关重要的作用.这里用的是2.4GHz的CC2500通信模块,该模块具有成本低、功耗低、体积小、操作简单、灵活高效等特点,如图2所示.

4.机载部分设计

机载端主要是将遥控端发送过来的数据进行处理,实现对飞机模型的电机及舵机的控制,对电机以及舵机的控制都是通过PWM来完成.

IAP15L2K61S2的内部资源只有一个PWM定时器和三路PWM输出,但是要控制电机及舵机的PWM频率是不一样的,因此只能使用微控制器自带的PWM来控制电机,使用I/O模拟来实现舵机的PWM控制,如图3所示.

在使用PWM控制电机时,对于PWM的频率有一定的要求.频率太低会导致电机的转速达不到额定值甚至不转,还容易导致电机共振“鸣响”,对于舵机的驱动,由于微控制器内部的资源限制只能通过I/O来模拟PWM输出,这里的I/O模拟其实就是通过定时器来控制单片机的I/O输出高低电平.

三、系统程序设计

头文件

#include<,string.h>,

#include<,stdlib.h>,

#include<,runtime_configuration.h>,

_EWL_BEGIN_EXTERN_C

#ifSUPPORT_SEMIHOST_ARGC_AR

#define__MAX_CMDLINE_ARGS10

staticchar*ar[__MAX_CMDLINE_ARGS]等于{0},

#else

staticchar*ar[]等于{0},

#endif

#if__GNUC__

#define__call_static_initializers__init_cpp

#endif

#ifSUPPORT_SEMIHOST_ARGC_AR

externint__argc_ar(int,char**),

#endif/*SUPPORT_SEMIHOST_ARGC_AR*/

externvoid__call_static_initializers(void),

externintmain(int,char**),

#ifdef__VFPV4__

externvoid__fp_init(void),

#endif/*__VFPV4__*/

externvoid__init_registers(),

四、结束语

这款飞行模型用来平衡旋翼旋转时产生的使直升机同螺旋桨一起旋转的力是由尾桨还是自身反方向旋转的螺旋桨来平衡,已经能够实现上升下降、前进后退、左右反向、自动起飞、自动着陆、悬停和小速度飞行功能.