Skip to content

dpneko/nichijou

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

本源码包由 红蚂蚁实验室 发布。由四轴组成员 编写 ,用于captain飞控板在330机架上。
用于实现悬停、寻迹、避障功能。

支持上位机为AHRS_Captain_FlightV29\30 以及 由营长编写的labview飞控。在编译前需在fly_config.h文件中配置要使用的上位机。
-------------------------------------------------------------------------------------------------

这是一个说明文档,用于解释飞控程序各种模块大致功能。和简单的调试方法

程序文件说明:
	路径   			      文件功能
\HardWareDriver 	  传感器和各种硬件的驱动程序,每个驱动由一个.C文件和一个.H文件组成。
					  .C源文件的开头部分,会有该驱动的基本说明,和连线方式
					  .H头文件 引出了该驱动向外部提供的接口程序,例如初始化,读取参数,或者是供外部程序调用的变量

\HardWareDriver\ADC   STM32内部的ADC驱动,用于读取飞控板上的舵机电压和外部电池电压。

\HardWareDriver\AT45DB	 飞控板上的Flash芯片的驱动程序,通过SPI2连接AT45DB。提供了读写数据的接口
						 AT45DB用于存放 关键的配置参数。如PID参数,PWM偏置,磁标定的数据等等

\HardWareDriver\GCS_Protocol   与上位机软件的通信协议,包含发送目标信息,发送系统状态,发送位置信息等协议

\HardWareDriver\GPS     GPS模块的驱动,用于接收GPS数据,并解出位置‘时间’高度等信息。GPS模块需要连接到USART3
						GPS的波特率要与USART3的波特率对应,并且要能输出NEMA0183语句,
						$GPGGA   和   $GPRMC   语句

\HardWareDriver\HMC5883L  飞控板上的HMC5883L驱动程序。包含 初始化HMC5883L,读取HMC5883的数据

\HardWareDriver\IMU     姿态解算的程序,

\HardWareDriver\LED     飞控板上的LED 驱动程序。建议使用 LED_Set_Blink 子程序设置LED的闪烁

\HardWareDriver\Math     数学运算相关的子程序。

\HardWareDriver\MPU6050  MPU6050的驱动程序,提供初始化和读取加速度和陀螺仪数据

\HardWareDriver\MS5611   气压高度计MS5611的驱动程序。初始化和读取气压值,并转换成高度。

\HardWareDriver\PWM_Input  PWM输入,只需调用一次初始化后,所有的通道都在中断里完成采集

\HardWareDriver\PWM_Output  PWM输出,用户可以在.H头文件中,配置各通道的PWM的频率。

\HardWareDriver\Quadrotor   四轴控制程序,PID控制环,手动和自动的切换,等等关于四轴的飞行控制

\HardWareDriver\Service    底层的服务程序,提供精确定时,提供整个系统的时间us级,同时软件I2C的驱动

\HardWareDriver\UART1    串口驱动程序,USART1用于连接电脑,发送遥测数据。并接收上位机软件的命令

\HardWareDriver\Ultrasonic  超声波模块的驱动程序。

-------------------------------------
\HardWareDriver目录下 有两个关键的头文件。它们分别是:
datamap.h    AT45DB内部关键数据的存储结构 

fly_config.h  目标飞行器的一些关键参数配置,如机型选择,航向反向 

-----------------------------------------------------------------------------------------------
如果你希望将它用于四轴控制,请按以下步骤进行:
安装飞控到四轴机架上的方法可以参考文档   [如何安装和调试Captain.pdf]
1. 安装飞控,并确定四轴是X型的  还是十字型的 使用上位机选择对应的机型
2. 确定GPS的波特率。将main.c里的 GPS接口波特率改成与GPS模块对应的波特率值
3. 初始化电调:
	1)四个电调都分别接到对应的通道。请参考 如何安装和调试Captain.pdf 文档操作
	2)将接收机连接到飞控的 PWM输入端口。请参考 如何安装和调试Captain.pdf 文档操作
	3)确保给飞控提供了 5V的工作电压。供电可参考 如何安装和调试Captain.pdf 文档操作
	4)将遥控器油门推到最大,然后给飞控和电调同时上电。此时会触发飞控进入电调行程调试模式
		四个电调对应的PWM都由 PWM输入3控制
	5)按电调的说明 进行。
4. 试一下电机同步启动:
	1)手动模式下,静放四轴,按好电源
	2)轻推油门,看四个电机是否同时启动
	3) 如果不是同时启动,请再做一次电调初始化工作。
5. 首次飞行,确定航向控制方向:
	1)将飞控工作模式设置在 手动模式
	2)手拿四轴,轻推油门,启动电机,感觉四轴动力接近超过重力,将要起飞的状态
	3)手转动四轴(绕着Z轴),看在YAW角度上是否有一个反馈力,阻碍转动。
	4)如果没有阻碍力,或者有一个力顺着转动方向的。我们认为YAW的控制输出反向了。
	5)连接上位机,设置[航向输出的方向]是否反向
	6)同样是在手动模式下,左倾和右倾四轴,看飞控有没有输出一个阻碍的力
	7)同样在手动模式下,前倾和后倾,测试飞控是否有一个阻碍的力。
6.  以上的测试都 OK,那就进入PID调试。
	1)将飞控工作在	 平衡模式。
	2)参考 PID入门.pdf 进行PID参数的设置。此步骤需要连接上位机软件。


----------------------------------------------------------
飞行注意事项:
在起飞前,请先确认是否进行过以下的操作:
1. 在四轴平放并且静止下,采集陀螺仪的零偏和重力加速度
2. 至少做过一次磁标定 
3. 选择的飞行模式是否和飞行器对应,[默认是十字模式的四轴]
4. 飞行航向控制。是否需要反向。测试方法见前述。
	3)手转动四轴(绕着Z轴),看在YAW角度上是否有一个反馈力,阻碍转动。





注意,飞控中关于THROTTLE_LOCKed功能的代码只适用于十字型四轴和x型四轴。如果要用于其他多轴飞行棋,在pwmoutput.c文件完善相应代码。


About

nichijou pilot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages