手把手教你详细的硬件电路设计

手把手教你详细的硬件电路设计

  献给那些刚开始或即将开始设计硬件电路的人。时光飞逝,离我最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。

  1) 总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。

  2)理解电路。如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。

  3) 没有找到参考设计? 没关系。先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。

  4) 硬件电路设计主要是三个部分,原理图,pcb ,物料清单(BOM)表。原理图设计就是将前面的思路转化为电路原理图。它很像我们教科书上的电路图。pcb涉及到实际的电路板,它根据原理图转化而来的网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线)连接其电信号(布线)。完成了 pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。

  5)用什么工具?Prote,也就是alTImuml容易上手,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。

  6)to be conTInued。

  其实无论用简单的protel或者复杂的cadence工具,硬件设计大环节是一样的(protel上的操作类似windwos,是post- command型的;而cadence的产品concept & allegro 是pre-command型的,用惯了protel,突然转向cadence的工具,会不习惯就是这个原因)。设计大环节都要有1)原理图设计。 2)pcb设计。3)制作BOM表。现在简要谈一下设计流程(步骤):

  1) 原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚))。protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞清楚ic body,ic pins,input pin,output pin, analog pin, digital pin, power pin等区别。

  2) 有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。在相关的地方添加line和 text注释。wire和line的区别在于,前者有电气属性,后者没有。wire适用于连接相同网络,line适用于注释图形。这个时候,应搞清一些基本概念,如:wire,line,bus,part,footprint,等等。

  3)做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。原理图是我们能认知的形式,电脑要将其转化为pcb,就必须将原理图转化它认识的形式netlist,然后再处理、转化为pcb。

  4) 得到netlist,马上画pcb?别急,先做ERC先。ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。(但是一定要仔细检查自己的原理图,不能过分依赖工具,毕竟工具并不能明白你的系统,它只是纯粹地根据一些基本规则排查。)

  5)从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。

  6) 确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。当然了,叠层也得考虑好。(叠层的意思就是,板层有几层,怎么应用,比如板总共4层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。

  7)to be conTInued.。

  先解释一下(2)中的术语。post-command,例如我们要拷贝一个object(元件),我们要先选中这个object,然后按ctrl+C,然后按ctrl+V(copy命令发生在选中object之后)。这种操作windows和protel都采用的这种方式。但是concept就是另外一种方式,我们叫做pre-command。同样我们要拷贝一个东西,先按ctrl+C,然后再选中object,再在外面单击(copy命令发生在选中 object之前)。

  1) 确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。但是这些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊^_^)。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的拓扑就可以了。

  2) 接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。如果有些地方难以布线还需要改动布局。对于fpga设计来说往往还要改动原理图来使布线更加顺畅。布线和布局问题涉及的因素很多,对于高速数字部分,因为牵扯到信号完整性问题而变得复杂,但往往这些问题又是难以定量或即使定量也难以计算的。所以,在信号频率不是很高的情况下,应以布通为第一原则。

  3)OK了?别急,用DRC检查检查先。这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。

  4)有些pcb还要加上敷铜(可能会导致成本增加),将出线部分做成泪滴(工厂也许会帮你加)。最后的pcb文件转成gerber文件就可交付pcb生产了。(有些直接给pcb也成,工厂会帮你转gerber)。

  5) 要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小批量或研究板而言,用excel自己管理倒也方便(大公司往往要专业软件来管理)。而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将bom 的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。

  6)to be conTInued.。

  再谈谈调试吧。

  1) 拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就。。.。。.

  2)电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。

  3) 电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查倒底是什么地方短路了,是pcb的问题(一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。关于检查短路还有一些技巧,这在今后登出。。.。。.

  3)电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络。。.。。.

  4) 电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。

  5)电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看着个,嘿嘿。。.。。.专业人士还是要看的~)

  6)To be continued.。

  • 18
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Odrive是一种用于驱动电机的开源硬件电路。它的设计目标是提供高性能,并且能够支持各种类型的电机,如步进电机和无刷直流电机。Odrive通过使用现代的FPGA(现场可编程门阵列)来实现高速和高精度的控制。 Odrive电路主要由以下几个部分组成: 1. 控制部分:Odrive采用了32位的STM32微控制器作为主控制器,用于执行各种控制算法和处理输入输出信号。它可以通过USB、UART或CAN总线与上位机或其他设备进行通信。 2. 电源部分:Odrive需要一个适当的电源供电。通常情况下,它可以使用12V到24V的直流电源。此外,它还提供了过压保护、欠压保护和反向电压保护功能,以确保电路的正常工作和安全运行。 3. 驱动部分:Odrive使用了高功率的MOSFET(金属氧化物半导体场效应晶体管)来驱动电机。MOSFET可以将微控制器的输出信号转换为高电压和高电流的驱动信号,以驱动电机的旋转。 4. 传感器接口:Odrive有一个用于连接传感器的接口,例如霍尔效应传感器、编码器或位置传感器。这些传感器可以提供电机位置和运动的反馈信息,并用于闭环控制电机的速度和位置。 总之,Odrive硬件电路提供了一个灵活的、高性能的电机驱动解决方案,可以广泛应用于机器人、无人机、3D打印机等各种自动化设备中。其开源的设计使得用户可以根据自己的需求进行修改和定制,满足不同应用的要求。 ### 回答2: ODriver是一种开源的高性能电机驱动器硬件电路,采用了先进的电子元件和设计原理,可以用于控制各种类型的电机。ODriver的设计目标是提供一个灵活、可靠且高效的解决方案,以满足各种应用的需求。 ODriver的硬件电路包括了多个关键组件,其中最重要的是芯片和模块。芯片部分采用了先进的控制器芯片,以实现高速电机控制、精确的位置控制以及高效的动态响应。模块部分包括了功率模块和信号模块,用于提供足够的电流和电压来驱动电机,并通过各种信号输入和输出接口与外部设备进行通信。 ODriver的硬件电路还具有一定的可扩展性,可以根据不同的需要添加额外的模块或接口,以满足特定应用的需求。例如,可以添加额外的传感器模块来实现更精确的电机控制,或者添加额外的通信接口来实现与其他设备的无线或有线通信。 总的来说,ODriver的硬件电路是精心设计和选取的,具有高性能、可靠性和灵活性的特点。它为各种电机控制应用提供了一个强大而经济高效的解决方案,使得电机控制更加便捷和可靠。 ### 回答3: odrive是一种开源的高性能直流电机驱动器,它通过一个嵌入式电路来控制直流电机的速度和位置。它的硬件电路包括处理器、电源管理电路、电机功率级驱动电路、编码器接口电路等。 首先,处理器是odrive的核心部分,它负责接收来自用户的指令并进行相应的处理。处理器可以是ARM Cortex-M4或其他的微控制器,具有高性能和低功耗的特点,能够快速响应用户的操作。 其次,电源管理电路用于提供稳定的电源给odrive系统。它包括电源滤波电路、稳压电路和电池连接接口等。电源管理电路能够通过稳压和滤波等技术,使得odrive系统在不同的电压和电流条件下工作正常,提高系统的可靠性和稳定性。 再次,电机功率级驱动电路是odrive的关键部分,它能够将处理器输出的信号转换为适合直流电机的驱动信号。电机功率级驱动电路通常采用MOSFET或IGBT等功率开关器件,能够在短时间内向直流电机提供高电流和高电压的驱动信号,从而控制电机的转速和位置。 最后,编码器接口电路用于读取直流电机的转速和位置信息。编码器通常是光电式或磁性式的,能够将转速和位置转化为数字信号,然后传输给odrive的处理器进行处理。编码器接口电路具有低失真、高精度和可靠性的特点,能够准确地获取电机的转速和位置信息。 综上所述,odrive的硬件电路是由处理器、电源管理电路、电机功率级驱动电路和编码器接口电路等组成的,它们共同工作,实现odrive对直流电机的高性能控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值