[深入浅出多旋翼飞控开发]预备篇][一][元器件选型及飞控电路设计]
要让飞控程序跑起来,首先我们得要有一个硬件实体,也就是我们的飞控板。说实话,飞控电路可以很简单,单纯由几个简单的元器件组成,即使是刚学会画PCB的大学生,也能像模像样地设计一款飞控出来。接下来的这个飞控板,暂且命名为天穹V3,也将会由我这个连半桶水都算不上的硬件工程师来设计。
而要设计一款飞控,第一个工作便是元器件选型,即主控芯片和主要传感器的选型。
1.主控选型
十年前,飞控届的前辈们只能在资源少得可怜,运行慢如蜗牛的8位AVR单片机上苦苦挣扎,而如今32位的Cortex-M单片机被用得飞起,速度远超当初,极大方便了我们的开发工作。当然,类似于STM32之类的32位ARM单片机,也仅仅是相对而言快了不少,若碰上了更上层的运算密集型应用也要歇菜。不过主控的选型,要进行多方面衡量,而不仅仅是性能,如价格、购买的便利性、开发参考资料等,而且DIY飞控板时芯片需要自己动手焊接,那类似于BGA之类封装的芯片便可以直接排除了。
先评估性能,从目前现状来看,应用最多的主控芯片应该是STM32F4之类的高性能Cortex-M4单片机,如PX4之类的主流开源飞控使用了180MHz主频的STM32F427。从经验来看,若是一些简单的飞控程序,任务量不大,使用互补滤波之类的低运算量算法,那STM32F1已经足够,可以保证主任务在500Hz以上的高频率运行。但程序规模稍大,或者使用了更复杂的算法如多维卡尔曼之类的,那STM32F4可能正好可以满足要求。
电子产品使用较多的人可能会对跑分软件比较熟悉,而单片机上也有类似的应用:CoreMark,用在嵌入式系统中测量CPU性能的基准程序。
通过搜索引擎查询和官方发布等数据,我们可以看到STM32系列单片机的跑分(估计值,