IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 四/六旋翼迷你无人机设计制造(一)硬件设计制作 -> 正文阅读

[嵌入式]四/六旋翼迷你无人机设计制造(一)硬件设计制作

四旋翼,小飞机
飞到东,飞到西
上日天,下怼地
我的飞机真神奇
——鲁迅

很早就有弄个小飞机自己玩的想法了,因为疫情拖到现在。不过感谢时间,过滤掉了很多不成熟的想法,也有足够的机会去尝试新的东西。唯一的缺点就是主控芯片的价格涨了10倍还多,真难受。

机械结构部分还是设计异形板的老办法,在solidworks里面画好模型之后转成step文件,然后导入ad,选择3D元件体作为板外形。
设计的时候还搞了个电机支架。然后发现很难装上去。双上去之后也很难固定。本来是在支架上拼接处留了俩焊盘,可以用焊锡直接固定。然后我忽视了电机是有磁性的,烙铁在靠近的时候老是自己往电机上怼。下次注意要改进一下这个设计。
还有就是,电机线到板子接口,我是直接预留焊盘焊上去的。想想还是应该用插针,尤其是像这样四六轴可切换的设计。看来还是需要再弄一版这个六轴了。
(卧槽这个结构,一开电吓死我了,电机直接脱离机体自己飞了,下次必须换个设计了)
硬件的设计很常规,用成品模块的都是屑,全部自己搭建。

电源部分:

包括第一次使用锂电池充电芯片tps4056,升压芯片tp61222,降压芯片xc6221,这几块芯片构成了电源部分。

  • 似乎好多类似的小飞机都没有3.7升5v这个环节,都是直接电池4.2v出来接LDO给到控制系统。个人感觉还是可以搞一个的,防止电池电压突然降低带来的问题。尤其是当电机负载过大,电池放电电流接近放电倍率的极限的时候,电池电压很容易突降,造成单片机死机。当然造成这种情况的根本原因是电池放电倍率不足,建议换个电池。
    4056充电电路

升降压电路

整个板子电源模块大概就这几种电压等级:

  • 电池3.7~4.2V
  • 充电口5V(直接连锂电池充电管理芯片tp4056)
  • 升压5V出来的5V(升压模块从电池取电,3.7v升5v)
  • LDO输出的3.3V(LDO从5V取电)

也就是说,系统及可以通过电池单独供电,也可以通过USB 5V供电。USB将同时给电池充电。充电的5V和升压输出的5V中间一定要加二极管,防止电流倒灌。我用的BAT54C,SOT-3封装的2路肖特基。2个5V输入,1个输出给LDO。要不然电池会通过升压模块得到的5V反过来给自己充电,唯一的结果就是烧坏升压,因为61222显然驱动不了4056。第一版做的时候就忘了考虑这个问题了。图发出去之后才意识到。郁闷死。电源部分就这样,看着复杂,好几个芯片,实际上也就那样。布局啥的参考手册就行,没啥坑。

充电路径管理

充电电路的拓扑结构还是有点点讲究的。这是一种很烂的充电路径,因为充电芯片Charger是根据充电电流来判断充电完成的。如果后级LDO和System的功耗大于设定的充电截止电流,那么即使电池已经充满了,充电也不会停止。此外,由于电池电压直接等于系统电压,当电池处于过放状态,插上电之后系统也没办法立即开机,就像很多年前老手机一样要先插着冲一会才能开机。充电路径 1改进方法是让USB直接对系统供电,同时增加开关。像图 路径2一样。但这个样子就必须在电池对系统的输出和USB对系统的输出之间增加二极管,防止电流倒灌。这个开关可以拿个mos管,也可以就用普通的手动机械开关。用mos的话就像蓝牙耳机一样,插上电,电池对自动停止对外放电。但由于USB可以独立供电,系统此时也可以正常工作。这样就很好地解决了没有设计电源路径的问题。但我还在电池输出和LDO之间加了个升5V的Boost,使得输出到系统的电压会更稳定,总体拓扑没什么变化。
在这里插入图片描述
但是这个开关这一版就没做那么复杂,直接用的手动的。这功能以后再说。

充电接口和USB:

充电接口用的mini usb。封装很小,引脚很短。焊的时候特别容易虚焊。我就是焊上去之后发现一直没法用,然后一查果然是虚焊了。狠狠补了一坨锡才弄好。后来画的时候自己把封装改了一下,焊盘弄长了一点。说到这里,QFN封装,如果用烙铁焊的话焊盘也可以加长一点,要不然太容易弄坏了感觉。

mini usb的线序:从母座屁股后面的方向看过去,从左至右:GND、NC、D+(绿色)、D-(白色)、VCC。一般原理图1脚为VCC
顺便贴一下几种常用USB线序:(均是从母座屁股方向看,从左至右)
USB-A(2.0):GND、D+、D-、VCC

mini usb一方面可以给电池充电,另一方面作为usb接口直接连单片机。stm32f103的usb口是PA11(DM)和PA12(DP),和CAN共用一组引脚。f1只能做从机,连线的时候在DP脚要一个上拉,标明是全速设备。但作为虚拟串口和上位机通信还是不错的,不需要其他任何额外的硬件。f4就可以做主机了。

USB的数据线是差分线。在AD里面使用差分线有几种办法:

  • 原理图里面添加,在更新PCB的时候会自动更新过去。顶部快捷菜单里有,直接放置就行。
  • PCB里面直接按照网络的名字添加

USB是差分线。要求差分阻抗90 ohm。一般双层板不太容易控制阻抗的,只能用走线周围大面积铺铜(GND)来代替参考层。这样子的话线宽10-12mil,线距6-7mil,然后周围铺地距离大概5-10mil,差不多是能用的,因为f1只支持全速而不支持高速。反正至少虚拟串口这个,貌似对阻抗的要求也不高,随便扯扯就能用了。
如果是四层板,可以用si9000算一下。试过线距6mil,线宽10-12mil,临参考地层,可以通信。

传感器:

信号部分,板子上用到了mpu6050和bmp280的iic总线,nrf24l01的spi通信,还有包括控制电机的pwm信号等。这些信号都是几十或者几百kHz的,不足为虑。
6050和bmp280按手册连线就行。没啥难度。iic对si要求没那么高。iic两根线都要上拉。可以按一般的链状总线走,也可以使用6050的外挂总线功能。

无线通信:

无线通信的话用的是Nordic的nrf24l01。算是比较古老的芯片了,下次可以考虑换52832或者esp32这种的。这个用的是标准单口spi通信。外围电路比较复杂。按芯片手册布局,基本能用。有自己的时钟晶振,用的是16MHz的。布局布线的时候就要注意干扰。一个很奇怪的就是,芯片在工作的时候万用表完全测不到晶振引脚上的电压。不知道为什么。说不定下次用示波器看看。还有一点,晶振的负载电容,在手册原理图里画的是22pf,然后手册电特性参数表里面又说最大12pf。很奇怪。反正12pf上去能用。
其实更关键的一点是天线设计。不搞通信,也看不懂各种天线形状有什么优缺点。直接用天线封装库解决。或者陶瓷天线这样的。天线周围还有邻近的参考层要挖空处理。其他部分铺地,并且多打过孔连接地层。过孔不能太过稀疏,否则会干扰。天线信号线要按单端50Ω走线。可以用Π电路匹配阻抗。
这一版在做的时候还不懂这么多。随便按照手册瞎画的。然后不知道是不是阻抗没有匹配的问题,搞出来通信距离贼短,不到10cm。我人都傻了,还在奇怪怎么搞都收不到信息。发现这一点的时候直接特喵的裂开。
真的吐了,等下一版吧。在这之前要好好研究一下射频相关了QwQ。

电机驱动:

电机控制直接用的AO3400 MOS管,电压电流都足够空心杯要求。在有的选的情况下肯定是选N-MOS,内阻低一点。采用典型的低端驱动,电机接在电源侧,MOS管门级通过一个1kΩ电阻直接接到单片机定时器输出。这个电阻其实还是有必要的,主要是防止过冲,但这个电阻也不能太大,否则由于栅极等效电容的存在,上电太慢,会让管子进入线性区,直接就炸了。栅源之间跨接10k的泄放电阻,这个没啥说的。

关于要不要给mos外部再反并联一个二极管,个人感觉没必要。空心杯电机一个电流不大,再一个无人机电机基本上只需要单向旋转,所以在电机两端反并联一个就行了。有的文档说电机正负极之间可以并联电容,效果比反并联二极管好。个人认为没什么道理。至少二极管加上去完全没有任何问题。
考虑到一块板子上要带多个电机,画图的时候可以采用多通道设计。省时省力。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:23:33  更:2021-10-06 12:23:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:26:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码