前言
- 之前答应学妹要发这个,一直拖着,哈哈哈,鸽王了。我这里简单介绍一下我们当时的仿生蝴蝶电控部分设计思路吧,机械部分不太懂,我只知道是曲柄连杆结构。
- 个人感觉,机创的仿生蝴蝶赛制存在比较大的问题,运气成分很大。 后面在电池部分我会介绍原因,同时也会介绍相应的风险应对措施。
- 个人邮箱:zhangyixu02@gmail.com
- 微信公众号:风正豪
电路设计
思路
- 电路设计上,我们采用非对称设计,例如蓝牙耳机和手机的关系就是非对称设计。蓝牙耳机本质上只要做两件事,接收蓝牙信号,DAC 转成音频信号。
- 参考蓝牙耳机,我们也是使用的非对称设计,即遥控器负责扩大传输距离,而蝴蝶上的主控板尽可能小巧简单。
- 为了让主控板尽可能的小,我们肯定就需要使用拥有无线通讯的芯片,考虑到开发难度和资料的广泛性,我最终采用了 TI 的 zigbee 芯片 CC2530。
- 采用 CC2530 的原因很简单,他能够进行无线通讯,同时软件开发很简单,资料非常多。
- 在电路设计中,要考虑的核心只有两个:
- 电源:CC2530 为 3.3V 系统,他的耐压范围在
2.7V ~ 3.7V
。但是市面上最接近这个供电区间的只有3.7V
电池,而3.7V
理论满电是 4.2V,这明显超出了 CC2530 的耐压范围,会导致芯片烧毁。 - 天线:通讯的距离和稳定性和天线的设计息息相关,关于天线的设计是一个值得思考的问题。
- 电源:CC2530 为 3.3V 系统,他的耐压范围在
遥控器
天线
-
天线设计的一个非常有门道的事情,这个我也不懂,这个是 layout 的队友给出的解决方案,即采用全向胶棒天线。PCB 上采用的RF射频同轴连接器是 BWSMA-KWE-Z001。
-
所有天线中棒状天线效果最好,因为遥控器是不要考虑重量问题的,所以这个天线虽然重一点,但是可以有效拓展传输距离。
电源
- 我们设计了一个充放电电路,遥控器不要考虑重量,直接裸板放外面一是不好看,同时怕水一倒板子就坏了,所以我们给遥控器设计了一个简单的外壳。而设计了外壳,换电池感觉也麻烦,就直接搞个充电电路了。
- 题外话:所以比赛的时候,其他队对我们的遥控器感觉很奇怪,问我们带个垂直干嘛,哈哈哈哈。(全向胶棒天线+方形外壳,是有一点点像)
按键和显示屏
- 按键就是并联104电容硬件滤波(懒得软件上滤波)
- 显示屏就是 SPI OLED,CC2530没有硬件 SPI ,所以我是用的软件模拟 SPI。OLED 可有可无吧,当时至少觉得只有个按键,遥控器太单调了。
主控
思路
- 主控设计的极其简单,因为我们要追求足够的轻,所以两路 PWM 口,一个天线,一个稳压电路。
天线
- 对于蝴蝶上的主控,对重量的需求就很苛刻了。一开始我们是打算采用 PCB 板载天线,设计完测试发现,传输效果太糟糕了(笑,这东西太难了,第一次设计确实有点难崩)。而且 PCB 板载天线会导致 PCB 面积增加,最终变重。
- 为了确保重量足够轻,同时有一定的传输距离,所以我们采用如下天线,PCB 上的 RF 射频同轴连接器采用 BWIPX-1-001E
稳压电路
- 因为电池 4.2V 需要将其稳压到 3.7V,只有仅仅 0.5V 的压降空间,当时我还觉得 DCDC/LDO 做不到这么低的压降,所以一开始给电路串联一个二极管,因为有些二极管存在 0.7V 的正向压降。
Multisim 14.0
仿真了一下,似乎可行,但是没有实操,不知道实操会不会存在问题。 - 虽然二极管有正向压降可能实现超低压降,但是不知道会不会有问题,最终去一些技术交流群请教了一些大佬,在他们的推荐下采用 PW2057 芯片。(似乎停产?嘉立创找不到了)
PCB 设计
- PCB 我们采用的是四层板设计,既可以方便布线,又可以压缩体积。
- PCB 板材不知道 layout 同学是怎么选的,反正他告诉我,我们的 PCB 材料是选的比较轻薄的一种。
程序设计
代码实现简述
- 程序设计就很简单了,遥控器的按键和软件 SPI 这个就不想浪费时间介绍了。
- 无线通讯,我们采用的是 TI 提供的 BasicRF 无线通讯方案,学习资料可以看:(第四章. 无线点对点传输)实验1.CC2530 BasicRF(无线点灯)
- CC2530 好像是没有硬件 PWM 的,所以两路 PWM 我们是用一个定时器模拟出来的。
为什么不推荐用 PID
- 在交流群里面,看到一些人嘎嘎讨论,用 PID,用陀螺仪,用气压计。当时我队友也询问我软件要不要这样实现,我直接一口咬定,不要这么做!
- 为什么我不推荐使用 PID 理由有三:
- 一个自动控制过程,需要引入反馈,而反馈就需要额外的传感器,那样会增加蝴蝶上主控的重量。
- 引入 PID,如果 PID 调的好,那么能让飞行效果大大提高,但是如果没调好,那样反而会起到反作用。因为当时我需要实习,太忙了,不想搞,而且我也觉得 PID 没必要,所以没搞。
- 法国遥控仿生鸟飞行器,我们买来测试了一下,发现它这个方向控制也很难,我简单看了一下内部结构,我猜他们也没有引入自动控制算法。(还有一个原因,假设他们引入了自动控制算法,还飞的这么拉跨,那么我们几个学生凭什么有自信说做的比他们好?)
程序烧录
- 一开始我们的主控板上是有烧录接口的,采用如下这种探针烧录器,这样可以减小我们的 PCB 体积。
2. 但是最终的方案我们否决了这种做法,如果你近距离观察我们的蝴蝶主控板,会发现,我们是没有烧录接口的。这个时候小白可能会问,那么程序烧录如何做到?
3. 很简单,我们做了一个评估板,一开始编程先在评估板上做。评估板就不用考虑体积问题,做程序调试也方便,可以直接拿示波器抓波形。等我们在评估板上程序测试通过后,就将评估板上的芯片拆下来,放在最终的蝴蝶主控板上。这样既可以方便编程调试,又实现了对蝴蝶主控体积的压缩。
材料
齿轮
- 齿轮我们是使用的光固化打印机打的,因为光固化打印机的打印精度相对大一点。
- 但是即使光固化打印机精度大一点,但是还是有缺陷,所以打印出来后,还需要拿尺子自己磨。
- 虽然光固化打印的精度大一点,但是材料的硬度很差!很容易坏!不过还好,我们的光固化打印机是负责 layout 队友手搓的(他用来打手办用的)
- 如果没有打印机条件,可以上嘉立创的 3D 猴,不过有点贵,哈哈哈哈。
电池
- 电池是一个大问题,具体买的是什么型号已经忘记了,好像是 70mA 的动力电池,具体多少C不太清楚了,但是,一定要记得,买动力电池!!!
- 为什么我说机创的赛制有问题,因为电池存在自然放电现象。一个电池,即使你不用,时间一长,他也会自己将电量放干。而比赛时候,你是需要将设备放在一个小房间里面,第二天才开始比,所以一天的时间间隙,如果选用容量比较低的电池,那么第二天比赛可能电池电量就自然流的没多少了。
- 电池电量会影响到电压大小,而电压越小,其电机的满转会有影响。(做过智能小车都懂)
- 这个时候有人会说,那我带着电池走,比赛的时候临时换呗。不行! 搞机械的队友跟我说,不能这么搞,因为换电池,最终会导致电池的位置不对,其重心会产生偏移,最终飞的很差!
- 比赛的时候,你拿到你的作品到开始比赛调试的时间很短,根本来不及调重心。所以这也是为什么,很多人出现了,明明在学校调的很好,一比赛就很糟糕的原因之一。
- 你要知道,仿生蝴蝶赛道运气很重要!存在很大的随机性!
- 因此,我们要合理利用规则,机创是允许一个人同时参加两个队伍的,所以,我们可以搞两个队伍,然后随便找一个人换一下就行了。这样可以一定程度提高获奖概率!
电机
- 我们用的是空心杯,直接淘宝搜空心杯电机即可。
转向
- 转向一开始我想用 PWM + 一阶低通滤波 + 电压比较器 + 空心杯 实现一个舵机。
- 不懂的小白可以看如下两个视频:
- 后面发现,如果按照上述说法做,还不如买一个淘宝 2g 的舵机,简单,重量还比上述做法轻。
后续优化思路
- 电源供电部分采用无线供电,可以简化充电电路。蓝牙耳机就是采用的无线充电,例如蓝牙耳机插入蓝牙耳机盒就可以自动充电。
- 采用封装更小的无线通讯芯片。
- 转向用舵机是一个非常愚蠢做法,虽然我知道有更好的办法,就是汉王蝴蝶的这种,采用电感实现转向。我们当时买了汉王仿生鸟,想把它电感拆下来用,但是发现拆下来后,电感线就乱了。后面就放弃了。
- CC2530 是使用的 2.4GHZ 频段,后续可以使用频段更低的协议,因为频段更低,传输距离越远。