项目合作:19522928201
前言
`博主已经做了部分的原理图绘制,为了最后真的能把电路板制作出来并且可以稳定使用,前期设计阶段要考虑的东西太多了,特此做一次记录,顺便捋清楚思路
一、设计思路
这是之前学习到的设计思路:
在制作过程的任何阶段都不要太冒进。如果你每次只作一个改变或添加一个东西,那么当机器突然不能工作的时候找原因就会容易得多。
调试从本质来说就是要确定哪些工作和哪些不工作。由于设计的复杂性越来越高,从而发现硬件和设计中的错误的难度也就越来越大了。
用这种各个击破的方法,你就可以分离出问题的所在。设计测试来检验系统操作的各个方面。
你经常会碰到一些意想不到的错误。有的东西本应该正常工作却没有正常工作。你所测试的每一项都好像是对的,但是总系统却不能运行,这令人困惑。这在于你犯了一个普通的错误—— 你作了某种假设。对于某个尽管你并不十分清楚的细节,你假设它是正确的,事实上却是错的。
这是最难克服的。当你对自己说:“这应该是在运行的,但它却没有,这应该无关紧要” 的时候,你要对自己说:“还有地方我还没有测试到。”
于是去搜寻它,如果你搜寻不到,那就是你的努力还不够。 当设计系统和布线 PCB时,记住你必须调试它。于是,在设计的时候心里就在对它进行调试。
你还将需要用示波器来观察信号,所以在电路板上设计一个接地引脚来接示波器。你还必须使示波器的探棒能到达板上的每个电路单元来测试它们是否工作。如果你不能到达某个走线,你就不能保证在某个特殊的信号下它没有问题。
因此,甚至早在设计期间,就要想好如何来测试子系统和如何来分离问题,并且在你的设计中置入必要的支持。
- 总结这段话就是:设计的时候最好就能对自己画的电路逻辑(设计原理图)有足够的把握,对怎么搭建实际的电路(绘制pcb板)有足够的把握;做到这之后实际上也不能保证绘制出来的电路板真的能用,因为有些你认为是对的,万无一失的其实也可能也是错的,所以还需要在设计的时候就想好,万一出了问题,怎么调试,想好调试方法,做好调试所需要的支持(留出测试点等)。
- 制作pcb板需要从本质上认识它,不能只学形式(先画原理图再画pcb)。实际上pcb制作和纯手工焊接出一些可用的电路是一样的,需要考虑电路连接的原理是否可以通过(比如电池+电阻+led灯的简单电路,需要计算电流是否满足led亮,是否会把led烧坏),以及如何制作电路板会让原理通过的电路制作出来真的可用(铜要多大面面积多厚,有没有电磁干扰)。
- 要设计出一款实际可用电路板,需要模块化电路。将整个电路分解,模块之间有依赖关系,一个模块确定没有问题,再叠加一个新的模块,验证没有问题,再叠加新的模块;如果模块之间没有依赖关系,则可以先单独验证没有问题,再把两个模块一起测试。
- 对于Crazyflie 2.1 Brushless的设计就要先模块化,把电路分为飞控模块、电调模块、电脑PA模块、deck模块(最简单实用的是光流deck模块)。飞控模块和电调模块可以单独分开验证好坏,飞控模块可以先看看能否正常运行代码,点亮led、读取imu数据,最后的验证可以用一个成品PA模块连接到地面站看看姿态是否都正常。原本的Crazyflie 2.1 Brushless电调和飞控在同一块pcb板上,任何一个电路有问题,都可能导致另外一个模块不好使用,不利于调试,所以我想把电调模块直接做成AIO的形式,也就是留出4个电机的接口(无刷电机端的三相),控制信号(飞控端的GND和电机转速信号),电源(电池的电源和地),可以找成品1s无刷电调来验证。飞控确定没有问题后就可以接入deck模块,看看与deck模块联调是否有问题。最后就是制作电脑端的PA模块,和飞控通信,看通信是否会断连和连接之后的距离能保持多远。
- Crazyflie 2.1 Brushless的设计制作其实挺难的,主要是天线部分(高频电路)和电调部分(功率器件大电流),所以这两个部分需要多多的去学习怎么设计和布线。
- 考虑好了设计和调试思路,还有少不了的焊接过程。一般后期稳定了可以直接直接找嘉立创贴片,但是前期的需要一步一步调试确认,整块电路板直接贴片就不太好了,所以需要自己想验证什么就贴什么,可以用低温焊锡膏(带针孔)或者钢网把要贴片的部分贴上去,其余部分先不贴,用热风枪吹,就能焊接上去了。想要贴片其他部分,可以高温胶带隔热,就不会把原先贴好的元器件重新融化了。
- 设计电路还有EDA选择的问题。市面上的有altium designer 、PADs、cadence、立创EDA等。altium designer入门最简单;PADs、cadence功能更强大,专业做电路设计的都是用这两个;最近几年嘉立创开始依靠设计生产一条龙服务推广立创EDA,设计好了可以直接生产,更加方便普通硬件开发者,并且完全免费使用,不存在版权问题,并且立创推出了很多发烧友们开源的硬件方案,设计图纸都可以免费获取,可以用于学习或者生产,操作也有很多的教程,学习起来应该问题。综上的信息,博主选择了立创EDA,主要是方便学习别人的作品,操作也容易学习。
- 如何确定有没有把握把模块电路设计制作成功?我的想法是设计和制作的时候,作假如,假如现在设计制作出来了,没有达到预期的效果,是哪里的问题?一下子就能发现心里面没底的部分。比如现在飞控起不来了,是哪里的问题?单片机最小系统是否正常,这个好检测,看晶振是否起振了;烧写操作led的代码,这个也好发现问题;要是直接就是烧写好了,晶振起振了,还是起不来怎么办?是nrf51822的问题吗?nrf51822会控制单片机的复位操作,所以需要在nrf51822控制单片机复位的线路中间加一个0欧姆的电阻,到时候先不接,把单片机和nrf51822分开,单独验证这两个芯片工作是否正常。nrf51822又怎么验证好坏呢?不停的想,现在出问题了,我应该怎么办?是电路逻辑的问题还是哪里布线的问题?怎么确保电路逻辑没有问题?怎么确保布线没有问题?怎么定位问题?要不要提前给个测试点?这个测试点的电压应该是多少?电路应该是多少?波形应该是什么样子的?
二、待做工作
1.模块化设计
无线模块
nrf51822、天线部分、BQ24075(供电和充电芯片)
- PCB绘制
- 验证方法
- 调试准备
- 注意事项:电路保护、天线选择、PCB布线、电阻电容电感选择
飞控模块
stm32f405、BMI088(imu)、BMP390(气压计)
- 固件烧写:swd烧写bootloader再烧写飞控固件
- PCB绘制
- 验证方法:与无线模块独立来,控制led亮灭,烧写飞控固件看地面站无人机姿态
- 调试准备
- 注意事项:电路保护、PCB布线、电阻电容电感选择
电调模块
EFM8BB21(mcu)、MCMNP2065(N mos + P mos)
- 固件烧写:C2模式,仿真器烧写
- PCB绘制
- 验证方法
- 调试准备
- 注意事项:电路保护、PCB布线、电阻电容电感选择
PA模块
nRF52840(mcu)、nRF21540(rf)、TPS62A01(电源芯片)
- 固件烧写
- PCB绘制
- 验证方法
- 调试准备
- 注意事项:电路保护、天线选择、PCB布线、电阻电容电感选择
光流模块
PMW3901(光流)、VL53L1X(激光)
- 验证方法
- 调试准备
- 注意事项:PCB布线、电阻电容电感选择
2.固件的烧写
无线模块
飞控模块
电调模块
不需要bootloader
固件
PA模块
光流模块
不需要bootloader和固件
3.EDA软件的学习
总结
初步做了一些原理图设计,来来回回考虑了很多遍,发现要考虑的东西很多,想清楚了一部分,还有很多都没考虑清楚,所以先整理一下思绪。把想清楚的和没想清楚的都记录一下。