航电设备

我在这枚火箭中,搭载了基于单片机的简易航电系统。
当下在这枚火箭中实现的功能不多,仅仅是加速度触发和延时开伞。
主控使用了常见的ATmega328p单片机,使用Arduino环境进行功能的开发。预留的了六路IO口(均使用舵机信号接口线序),其中四路可以输出PWM信号来驱动舵机,另外两路可以作为普通IO或是模拟信号输入。另外板载两路MOS管,可以输出最大3A的电流,用来实现自身点火或是用来带动电热丝开伞。航电可以使用1s锂电池供电,也可以使用2s或以上电源通过板载整流供电。传感器方面,备有I2C接口,我安装了GY87模块,用来读取加速度值。
原理图参考:https://github.com/LazemanCY/RocketController/blob/master/LazeSky328.pdf
 Arduino代码请见:https://github.com/LazemanCY/RocketController/tree/master/LRC328
这套航电中使用的加速度延时开伞的主要原理依据是,火箭发动机工作的时候,火箭的加速度一般将达到7个G以上。航电开始工作以后,持续读取z轴方向加速度值,当加速度值超过预设的值的时候(我设为3个G),则认为发动机开始工作,计时开始。通过OpenRocket软件,可以模拟得出火箭从点火到最高点的时间,假设是4s,那么计时达到4s的时候,单片机就输出信号驱动MOS管,将电热丝导通,电热丝切断绳索,弹簧释放,实现开伞。
使用的时候先给设备通电,板载LED慢速闪烁,当所有准备工作完毕,按下PCB上的轻触开关,LED快速闪烁,表示进入待命状态,从这时开始,超过3个G的加速度将触发开伞定时器!
该航电还有很多扩展的空间,例如可以通过传感器计算出当前的姿态,再通过舵机通道驱动舵面进行姿态控制;或是加装别的传感器和存储模块进行数据的采集;串口还可以直连无线透传模块进行实时的数据传输等等。