w嵌入式分享合集125
自己的原文哦~ https://blog.51cto.com/whaosoft/14165530
一、常用电路基础公式
1.欧姆定律计算
计算电阻电路中电流、电压、电阻和功率之间的关系。
欧姆定律解释了电压、电流和电阻之间的关系,即通过导体两点间的电流与这两点间的电势差成正比。说明两点间的电压差、流经该两点的电流和该电流路径电阻之间关系的定律。该定律的数学表达式为V= IR,其中V是电压差,I是以安培为单位的电流,R是以欧姆为单位的电阻。若电压已知,则电阻越大,电流越小。
2.计算多个串联或并联连接的电阻的总阻值
3.计算多个串联或并联连接的电容器的总容值
4.电阻分压计算
计算电阻分压器电路的输出电压,以实现既定的阻值和电源电压组合。
什么是分压器?
分压器是一个无源线性电路,能产生一个是其输入电压(V1)一部分的输出电压(Vout)。分压器用于调整信号电平,实现有源器件和放大器偏置,以及用于测量电压。欧姆定律解释了电压、电流和电阻之间的关系,即通过两点间导体的电流与这两点间的电势差成正比。
这是一个说明两点间的电压差、流经该两点的电流和该电流路径电阻之间关系的定律。该定律的数学表达式为V= IR,其中V是电压差,I是以安培为单位的电流,R是以欧姆为单位的电阻。若电压已知,则电阻越大,电流越小。
5.电流分流器,电阻计算
计算连接到电流源的多至10个并联电阻上流过的电流:
6.电抗计算
计算指定频率下电感器或电容器的电抗或导纳大小。
感抗/导纳
容抗/导纳
7.RC 时间常数计算器
计算电阻与电容的积,亦称RC时间常数。该数值在描述电容通过电阻器进行充电或放电的方程式中出现,表示在改变施加到电路的电压后,电容器两端的电压达到其最终值约63%所需的时间。同时该计算器也会计算电容器充电到指定电压所存储的总能量。
如何计算时间常数:时间常数(T)可由电容(C)和负载电阻(R)的值确定。电容器(E)中存储的能量(E)由两个输入确定,即由电压(V)和电容决定。
8.LED串联电阻器计算器
计算在指定电流水平下通过电压源驱动一个或多个串联LED所需的电阻。注意:当为此目的选择电阻器时,为避免电阻器温度过高,请选择额定功率是下方计算出的功率值的2至10倍之间的电阻器。
9.dBm转W换算
10.电感换算
11.电容器换算表
换算包括pF、nF、μF、F在内的不同量级电容单位之间的电容测量值。
12.电池续航时间
电池续航时间计算公式:电池续航时间=电池容量(mAh)/ 负载电流(mA)
根据电池的标称容量和负载所消耗的平均电流来估算电池续航时间。电池容量通常以安培小时(Ah)或毫安小时(mAh)为计量单位,尽管偶尔会使用瓦特小时(Wh)。
将瓦特小时除以电池的标称电压(V),就可以转换为安培小时,公式如下:Ah= Wh /V安培小时(亦称安时),是一种电荷度量单位,等于一段时间内的电流。一安时等于一个小时的一安培连接电流。毫安小时或毫安时是一千分之一安培小时,因此1000mAh 电池等于1Ah电池。上述结果只是估算值,实际结果会受电池状态、使用年限、温度、放电速度和其它因素的影响而发生变化。如果所用电池是全新的高质量电池,在室温下工作且工作时间在1小时到1年之间,则这种预估结果最贴近实际结果。
13.PCB 印制线宽度计算
使用IPC-2221标准提供的公式计算铜印刷电路板导体或承载给定电流所需“印制线”的宽度,同时保持印制线的温升低于规定的极限值。此外,如果印制线长度已知,还会计算总电阻、电压降和印制线电阻引起的功率损耗。由此求得的结果是估算值,实际结果会随应用条件而发生变化。我们还应注意,与电路板外表面上的印制线相比,电路板内层上的印制线所需的宽度要大得多,请使用适合您情况的结果。
如何计算印制线宽度:首先,计算面积:面积[mils^2]= (电流[Amps]/(k*(温升[℃])^b))^(1/c)
然后,计算宽度:宽度[mils]= 面积[mils^2]/(厚度[oz]*1.378[mils/oz])用于IPC-2221内层时:k= 0.024、b= 0.44、c= 0.725用于IPC-2221外层时:k= 0.048、b= 0.44、c= 0.725其中k、b和c是由对IPC-2221曲线进行曲线拟合得出的常数。
公值:厚度:1oz 环境温度:25C 温升:10C
.
二、RF射频PCB板布局布线经验总结
射频(RF)电路板设计由于在理论上还有很多不确定性,因此常被形容为一种“黑色艺术”,但这个观点只有部分正确,RF电路板设计也有许多可以遵循的准则和不应该被忽视的法则。
不过,在实际设计时,真正实用的技巧是当这些准则和法则因各种设计约束而无法准确地实施时如何对它们进行折衷处理。当然,有许多重要的RF设计课题值得讨论,包括阻抗和阻抗匹配、绝缘层材料和层叠板以及波长和驻波,所以这些对手机的EMC、EMI影响都很大,下面就对手机PCB板的在设计RF布局时必须满足的条件加以总结:
1.1尽可能地把高功率RF放大器(HPA)和低噪音放大器(LNA)隔离开来。
简单地说,就是让高功率RF发射电路远离低功率RF接收电路。手机功能比较多、元器件很多,但是PCB空间较小,同时考虑到布线的设计过程限定最高,所有的这一些对设计技巧的要求就比较高。这时候可能需要设计四层到六层PCB了,让它们交替工作,而不是同时工作。高功率电路有时还可包括RF缓冲器和压控制振荡器(VCO)。确保PCB板上高功率区至少有一整块地,最好上面没有过孔,当然,铜皮越多越好。敏感的模拟信号应该尽可能远离高速数字信号和RF信号。
1.2 设计分区可以分解为物理分区和电气分区。
物理分区主要涉及元器件布局、朝向和屏蔽等问题;电气分区可以继续分解为电源分配、RF走线、敏感电路和信号以及接地等的分区。
1.2.1 我们讨论物理分区问题。元器件布局是实现一个优秀RF设计的关键,最有效的技术是首先固定位于RF路径上的元器件,并调整其朝向以将RF路径的长度减到最小,使输入远离输出,并尽可能远地分离高功率电路和低功率电路。
最有效的电路板堆叠方法是将主接地面(主地)安排在表层下的第二层,并尽可能将RF线走在表层上。将RF路径上的过孔尺寸减到最小不仅可以减少路径电感,而且还可以减少主地上的虚焊点,并可减少RF能量泄漏到层叠板内其他区域的机会。在物理空间上,像多级放大器这样的线性电路通常足以将多个RF区之间相互隔离开来,但是双工器、混频器和中频放大器/混频器总是有多个RF/IF信号相互干扰,因此必须小心地将这一影响减到最小。
1.2.2 RF与IF走线应尽可能走十字交叉,并尽可能在它们之间隔一块地。正确的RF路径对整块PCB板的性能而言非常重要,这也就是为什么元器件布局通常在手机PCB板设计中占大部分时间的原因。在手机PCB板设计上,通常可以将低噪音放大器电路放在PCB板的某一面,而高功率放大器放在另一面,并最终通过双工器把它们在同一面上连接到RF端和基带处理器端的天线上。需要一些技巧来确保直通过孔不会把RF能量从板的一面传递到另一面,常用的技术是在两面都使用盲孔。可以通过将直通过孔安排在PCB板两面都不受RF干扰的区域来将直通过孔的不利影响减到最小。有时不太可能在多个电路块之间保证足够的隔离,在这种情况下就必须考虑采用金属屏蔽罩将射频能量屏蔽在RF区域内,金属屏蔽罩必须焊在地上,必须与元器件保持一个适当距离,因此需要占用宝贵的PCB板空间。尽可能保证屏蔽罩的完整非常重要,进入金属屏蔽罩的数字信号线应该尽可能走内层,而且最好走线层的下面一层PCB是地层。RF信号线可以从金属屏蔽罩底部的小缺口和地缺口处的布线层上走出去,不过缺口处周围要尽可能地多布一些地,不同层上的地可通过多个过孔连在一起。
1.2.3 恰当和有效的芯片电源去耦也非常重要。许多集成了线性线路的RF芯片对电源的噪音非常敏感,通常每个芯片都需要采用高达四个电容和一个隔离电感来确保滤除所有的电源噪音。一块集成电路或放大器常常带有一个开漏极输出,因此需要一个上拉电感来提供一个高阻抗RF负载和一个低阻抗直流电源,同样的原则也适用于对这一电感端的电源进行去耦。有些芯片需要多个电源才能工作,因此你可能需要两到三套电容和电感来分别对它们进行去耦处理,电感极少并行靠在一起,因为这将形成一个空芯变压器并相互感应产生干扰信号,因此它们之间的距离至少要相当于其中一个器件的高度,或者成直角排列以将其互感减到最小。
1.2.4 电气分区原则大体上与物理分区相同,但还包含一些其它因素。手机的某些部分采用不同工作电压,并借助软件对其进行控制,以延长电池工作寿命。这意味着手机需要运行多种电源,而这给隔离带来了更多的问题。电源通常从连接器引入,并立即进行去耦处理以滤除任何来自线路板外部的噪声,然后再经过一组开关或稳压器之后对其进行分配。手机PCB板上大多数电路的直流电流都相当小,因此走线宽度通常不是问题,不过,必须为高功率放大器的电源单独走一条尽可能宽的大电流线,以将传输压降减到最低。为了避免太多电流损耗,需要采用多个过孔来将电流从某一层传递到另一层。此外,如果不能在高功率放大器的电源引脚端对它进行充分的去耦,那么高功率噪声将会辐射到整块板上,并带来各种各样的问题。高功率放大器的接地相当关键,并经常需要为其设计一个金属屏蔽罩。在大多数情况下,同样关键的是确保RF输出远离RF输入。这也适用于放大器、缓冲器和滤波器。在最坏情况下,如果放大器和缓冲器的输出以适当的相位和振幅反馈到它们的输入端,那么它们就有可能产生自激振荡。在最好情况下,它们将能在任何温度和电压条件下稳定地工作。实际上,它们可能会变得不稳定,并将噪音和互调信号添加到RF信号上。如果射频信号线不得不从滤波器的输入端绕回输出端,这可能会严重损害滤波器的带通特性。为了使输入和输出得到良好的隔离,首先必须在滤波器周围布一圈地,其次滤波器下层区域也要布一块地,并与围绕滤波器的主地连接起来。把需要穿过滤波器的信号线尽可能远离滤波器引脚也是个好方法。
此外,整块板上各个地方的接地都要十分小心,否则会在引入一条耦合通道。有时可以选择走单端或平衡RF信号线,有关交叉干扰和EMC/EMI的原则在这里同样适用。平衡RF信号线如果走线正确的话,可以减少噪声和交叉干扰,但是它们的阻抗通常比较高,而且要保持一个合理的线宽以得到一个匹配信号源、走线和负载的阻抗,实际布线可能会有一些困难。缓冲器可以用来提高隔离效果,因为它可把同一个信号分为两个部分,并用于驱动不同的电路,特别是本振可能需要缓冲器来驱动多个混频器。当混频器在RF频率处到达共模隔离状态时,它将无法正常工作。缓冲器可以很好地隔离不同频率处的阻抗变化,从而电路之间不会相互干扰。缓冲器对设计的帮助很大,它们可以紧跟在需要被驱动电路的后面,从而使高功率输出走线非常短,由于缓冲器的输入信号电平比较低,因此它们不易对板上的其它电路造成干扰。压控振荡器(VCO)可将变化的电压转换为变化的频率,这一特性被用于高速频道切换,但它们同样也将控制电压上的微量噪声转换为微小的频率变化,而这就给RF信号增加了噪声。
1.2.5 要保证不增加噪声必须从以下几个方面考虑:首先,控制线的期望频宽范围可能从DC直到2MHz,而通过滤波来去掉这么宽频带的噪声几乎是不可能的;其次,VCO控制线通常是一个控制频率的反馈回路的一部分,它在很多地方都有可能引入噪声,因此必须非常小心处理VCO控制线。要确保RF走线下层的地是实心的,而且所有的元器件都牢固地连到主地上,并与其它可能带来噪声的走线隔离开来。此外,要确保VCO的电源已得到充分去耦,由于VCO的RF输出往往是一个相对较高的电平,VCO输出信号很容易干扰其它电路,因此必须对VCO加以特别注意。事实上,VCO往往布放在RF区域的末端,有时它还需要一个金属屏蔽罩。谐振电路(一个用于发射机,另一个用于接收机)与VCO有关,但也有它自己的特点。简单地讲,谐振电路是一个带有容性二极管的并行谐振电路,它有助于设置VCO工作频率和将语音或数据调制到RF信号上。所有VCO的设计原则同样适用于谐振电路。由于谐振电路含有数量相当多的元器件、板上分布区域较宽以及通常运行在一个很高的RF频率下,因此谐振电路通常对噪声非常敏感。信号通常排列在芯片的相邻脚上,但这些信号引脚又需要与相对较大的电感和电容配合才能工作,这反过来要求这些电感和电容的位置必须靠得很近,并连回到一个对噪声很敏感的控制环路上。要做到这点是不容易的。
自动增益控制(AGC)放大器同样是一个容易出问题的地方,不管是发射还是接收电路都会有AGC放大器。AGC放大器通常能有效地滤掉噪声,不过由于手机具备处理发射和接收信号强度快速变化的能力,因此要求AGC电路有一个相当宽的带宽,而这使某些关键电路上的AGC放大器很容易引入噪声。设计AGC线路必须遵守良好的模拟电路设计技术,而这跟很短的运放输入引脚和很短的反馈路径有关,这两处都必须远离RF、IF或高速数字信号走线。同样,良好的接地也必不可少,而且芯片的电源必须得到良好的去耦。如果必须要在输入或输出端走一根长线,那么最好是在输出端,通常输出端的阻抗要低得多,而且也不容易感应噪声。通常信号电平越高,就越容易把噪声引入到其它电路。在所有PCB设计中,尽可能将数字电路远离模拟电路是一条总的原则,它同样也适用于RFPCB设计。公共模拟地和用于屏蔽和隔开信号线的地通常是同等重要的,因此在设计早期阶段,仔细的计划、考虑周全的元器件布局和彻底的布局*估都非常重要,同样应使RF线路远离模拟线路和一些很关键的数字信号,所有的RF走线、焊盘和元件周围应尽可能多填接地铜皮,并尽可能与主地相连。如果RF走线必须穿过信号线,那么尽量在它们之间沿着RF走线布一层与主地相连的地。如果不可能的话,一定要保证它们是十字交叉的,这可将容性耦合减到最小,同时尽可能在每根RF走线周围多布一些地,并把它们连到主地。此外,将并行RF走线之间的距离减到最小可以将感性耦合减到最小。一个实心的整块接地面直接放在表层下第一层时,隔离效果最好,尽管小心一点设计时其它的做法也管用。在PCB板的每一层,应布上尽可能多的地,并把它们连到主地面。尽可能把走线靠在一起以增加内部信号层和电源分配层的地块数量,并适当调整走线以便你能将地连接过孔布置到表层上的隔离地块。应当避免在PCB各层上生成游离地,因为它们会像一个小天线那样拾取或注入噪音。在大多数情况下,如果你不能把它们连到主地,那么你最好把它们去掉。
1.3 在手机PCB板设计时,应对以下几个方面给予极大的重视
1.3.1电源、地线的处理
既使在整个PCB板中的布线完成得都很好,但由于电源、地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电、地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证产品的质量。对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因,现只对降低式抑制噪音作以表述:
(1)、众所周知的是在电源、地线之间加上去耦电容。
(2)、尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最经细宽度可达0.05~0.07mm,电源线为1.2~2.5mm。对数字电路的PCB可用宽的地导线组成一个回路,即构成一个地网来使用(模拟电路的地不能这样使用)
(3)、用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。
1.3.2数字电路与模拟电路的共地处理
现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整人PCB对外界只有一个结点,所以必须在PCB内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的它们之间互不相连,只是在PCB与外界连接的接口处(如插头等)。数字地与模拟地有一点短接,请注意,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。
1.3.3信号线布在电(地)层上
在多层印制板布线时,由于在信号线层没有布完的线剩下已经不多,再多加层数就会造成浪费也会给生产增加一定的工作量,成本也相应增加了,为解决这个矛盾,可以考虑在电(地)层上进行布线。首先应考虑用电源层,其次才是地层。因为最好是保留地层的完整性。
1.3.4大面积导体中连接腿的处理
在大面积的接地(电)中,常用元器件的腿与其连接,对连接腿的处理需要进行综合的考虑,就电气性能而言,元件腿的焊盘与铜面满接为好,但对元件的焊接装配就存在一些不良隐患如:①焊接需要大功率加热器。②容易造成虚焊点。所以兼顾电气性能与工艺需要,做成十字花焊盘,称之为热隔离(heatshield)俗称热焊盘(Thermal),这样,可使在焊接时因截面过分散热而产生虚焊点的可能性大大减少。多层板的接电(地)层腿的处理相同。
1.3.5布线中网络系统的作用
在许多CAD系统中,布线是依据网络系统决定的。网格过密,通路虽然有所增加,但步进太小,图场的数据量过大,这必然对设备的存贮空间有更高的要求,同时也对象计算机类电子产品的运算速度有极大的影响。而有些通路是无效的,如被元件腿的焊盘占用的或被安装孔、定们孔所占用的等。网格过疏,通路太少对布通率的影响极大。所以要有一个疏密合理的网格系统来支持布线的进行。标准元器件两腿之间的距离为0.1英寸(2.54mm),所以网格系统的基础一般就定为0.1英寸(2.54mm)或小于0.1英寸的整倍数,如:0.05英寸、0.025英寸、0.02英寸等。
1.4进行高频PCB设计的技巧和方法如下:
1.4.1传输线拐角要采用45°角,以降低回损
1.4.2要采用绝缘常数值按层次严格受控的高性能绝缘电路板。这种方法有利于对绝缘材料与邻近布线之间的电磁场进行有效管理。
1.4.3要完善有关高精度蚀刻的PCB设计规范。要考虑规定线宽总误差为+/-0.0007英寸、对布线形状的下切(undercut)和横断面进行管理并指定布线侧壁电镀条件。对布线(导线)几何形状和涂层表面进行总体管理,对解决与微波频率相关的趋肤效应问题及实现这些规范相当重要。
1.4.4突出引线存在抽头电感,要避免使用有引线的组件。高频环境下,最好使用表面安装组件。
1.4.5对信号过孔而言,要避免在敏感板上使用过孔加工(pth)工艺,因为该工艺会导致过孔处产生引线电感。
1.4.6要提供丰富的接地层。要采用模压孔将这些接地层连接起来防止3维电磁场对电路板的影响。
1.4.7要选择非电解镀镍或浸镀金工艺,不要采用HASL法进行电镀。这种电镀表面能为高频电流提供更好的趋肤效应(图2)。此外,这种高可焊涂层所需引线较少,有助于减少环境污染。
1.4.8阻焊层可防止焊锡膏的流动。但是,由于厚度不确定性和绝缘性能的未知性,整个板表面都覆盖阻焊材料将会导致微带设计中的电磁能量的较大变化。一般采用焊坝(solderdam)来作阻焊层。的电磁场。这种情况下,我们管理着微带到同轴电缆之间的转换。在同轴电缆中,地线层是环形交织的,并且间隔均匀。在微带中,接地层在有源线之下。这就引入了某些边缘效应,需在设计时了解、预测并加以考虑。当然,这种不匹配也会导致回损,必须最大程度减小这种不匹配以避免产生噪音和信号干扰。
1.5电磁兼容性设计
电磁兼容性是指电子设备在各种电磁环境中仍能够协调、有效地进行工作的能力。电磁兼容性设计的目的是使电子设备既能抑制各种外来的干扰,使电子设备在特定的电磁环境中能够正常工作,同时又能减少电子设备本身对其它电子设备的电磁干扰。
1.5.1选择合理的导线宽度
由于瞬变电流在印制线条上所产生的冲击干扰主要是由印制导线的电感成分造成的,因此应尽量减小印制导线的电感量。印制导线的电感量与其长度成正比,与其宽度成反比,因而短而精的导线对抑制干扰是有利的。时钟引线、行驱动器或总线驱动器的信号线常常载有大的瞬变电流,印制导线要尽可能地短。对于分立元件电路,印制导线宽度在1.5mm左右时,即可完全满足要求;对于集成电路,印制导线宽度可在0.2~1.0mm之间选择。
1.5.2采用正确的布线策略
采用平等走线可以减少导线电感,但导线之间的互感和分布电容增加,如果布局允许,最好采用井字形网状布线结构,具体做法是印制板的一面横向布线,另一面纵向布线,然后在交叉孔处用金属化孔相连。
1.5.3为了抑制印制板导线之间的串扰,在设计布线时应尽量避免长距离的平等走线,尽可能拉开线与线之间的距离,信号线与地线及电源线尽可能不交叉。在一些对干扰十分敏感的信号线之间设置一根接地的印制线,可以有效地抑制串扰。
1.5.4为了避免高频信号通过印制导线时产生的电磁辐射,在印制电路板布线时,还应注意以下几点:
(1)尽量减少印制导线的不连续性,例如导线宽度不要突变,导线的拐角应大于90度禁止环状走线等。
(2)时钟信号引线最容易产生电磁辐射干扰,走线时应与地线回路相靠近,驱动器应紧挨着连接器。
(3)总线驱动器应紧挨其欲驱动的总线。对于那些离开印制电路板的引线,驱动器应紧紧挨着连接器。
(4)数据总线的布线应每两根信号线之间夹一根信号地线。最好是紧紧挨着最不重要的地址引线放置地回路,因为后者常载有高频电流。
(5)在印制板布置高速、中速和低速逻辑电路时,应按照图1的方式排列器件。
1.5.5抑制反射干扰
为了抑制出现在印制线条终端的反射干扰,除了特殊需要之外,应尽可能缩短印制线的长度和采用慢速电路。必要时可加终端匹配,即在传输线的末端对地和电源端各加接一个相同阻值的匹配电阻。根据经验,对一般速度较快的TTL电路,其印制线条长于10cm以上时就应采用终端匹配措施。匹配电阻的阻值应根据集成电路的输出驱动电流及吸收电流的最大值来决定。
1.5.6电路板设计过程中采用差分信号线布线策略 布线非常靠近的差分信号对相互之间也会互相紧密耦合,这种互相之间的耦合会减小EMI发射,通常(当然也有一些例外)差分信号也是高速信号,所以高速设计规则通常也都适用于差分信号的布线,特别是设计传输线的信号线时更是如此。这就意味着我们必须非常谨慎地设计信号线的布线,以确保信号线的特征阻抗沿信号线各处连续并且保持一个常数。在差分线对的布局布线过程中,我们希望差分线对中的两个PCB线完全一致。这就意味着,在实际应用中应该尽最大的努力来确保差分线对中的PCB线具有完全一样的阻抗并且布线的长度也完全一致。差分PCB线通常总是成对布线,而且它们之间的距离沿线对的方向在任意位置都保持为一个常数不变。通常情况下,差分线对的布局布线总是尽可能地靠近。
电机的基本概念
电机是依据电磁感应定律和电磁力定律,由电路和磁路构成的能实现机电能量转换或信号传递与转换的装置。
电机的分类
按运动方式分类
电机中使用的材料
导电材料:铜线。构成电路。
导磁材料:硅钢片。构成磁路。
结构材料:铸铁、铸钢和钢板。承受力。
绝缘材料:聚酯漆、环氧树脂、玻璃丝带等。用于导体之间和各类构件之间的绝缘处理。电机常用绝缘材料按性能划分为A、E、B、F、H、C等6个等级。如B级绝缘材料可在130℃下长期使用,超过130℃则很快老 化,但H级绝缘材料允许在180℃下长期使用。
铁磁材料特性
一、铁磁材料的磁导率
二、磁化曲线
在外磁场H作用下,磁感应强度B将发生变化,二者之间的关系曲线称为磁化曲线,记为B=f(H)。
三、磁滞与磁滞损耗
不同铁磁材料有不同的磁滞回线,且同一铁磁材料,Bm愈大,磁滞回线所包围的面积也愈大。
磁滞损耗:铁磁材料在交变磁场作用下的反复磁化过程中,磁畴会不停转动,相互之间会不断摩擦,因而就要消耗一定的能量,产生功率损耗。这种损耗称为磁滞损耗。
磁滞损耗的大小与磁滞回线的面积、电流频率f 和铁心体积V 成正比。
由于硅钢片的磁滞回线面积很小,而且导磁性能好。因此,大多数电机、变压器或普通电器的铁心都采用硅钢片制成。
四、涡流与涡流损耗
涡流:铁磁材料在交变磁场将有围绕磁通呈涡旋状的感应电动势和电流产生,简称涡流。
涡流损耗:涡流在其流通路径上的等效电阻中产生的I2R损耗称为涡流损耗。
涡流损耗与磁场交变频率f、厚度d和最大磁感应强度Bm的平方成正比,与材料的电阻率成反比。
要减少涡流损耗,首先应减小厚度,其次是增加涡流回路中的电阻。电工钢片中加入适量的硅,制成硅钢片,显著提高电阻率。
五、铁耗
铁耗:铁磁材料在交变磁场作用时,磁滞损耗和涡流损耗是同时发生的。因此,在电机和变压器的计算中,当铁心内的磁场为交变磁场时,常将磁滞损耗和涡流损耗合在一起来计算,并统称为铁心损耗,简称铁耗。
电机中的基本电磁定律
一、全电流定律
全电流定律(安培环路定律):磁场强度沿任意的闭合路径的线积分等于闭合路径包围的导体电流的代数和。
电流是产生磁场的源。
二、电磁感应定律
只要与线圈交链的磁链Ψ发生了变化,线圈内就会感应出电动势。
感应电动势倾向于在线圈内产生电流,以阻止Ψ的变化。
当电动势的正方向与磁通方向符合右手螺旋法则,则
三、电磁力定律
磁场对电流的作用是磁场的基本特征之一。对于长直载流导体,若磁场与之垂直,则计算电磁力大小的公式为 F=B l i 。这就是通常所说的电磁力定律,也叫毕奥--萨伐电磁力定律。式中电磁力F、磁场B和载流导体 l 的关系由左手定则确定。普通电机中,l 通常沿轴线方向,而B沿径向方向。
磁路基本定律及其计算方法
一、磁路基本定律
磁路:与电路相仿,将磁通比拟为电流,则磁路是磁通行经的路径。
磁路基尔霍夫第一定律:ΣΦ = 0
进入或穿出任一封闭面的总磁通量的代数和等于零,或穿入任一封闭面的磁通量恒等于穿出该封闭面的磁通量。
磁路基氏第二定律:
ΣF=ΣNi=ΣHl=ΣΦRm
任一闭合磁路上磁动势的代数和恒等于磁压降的代数和。
磁路与电路的比较
自感和互感自感
N ——线圈匝数
Λm——自感磁通所经磁路的磁导
自感的大小与匝数的平方和磁路的磁导成正比;
铁心线圈的自感要比空心线圈的大得多;
铁心线圈的电感不是常数,当磁路饱和程度增加时,自感下降。
互感
N1 ----线圈1的匝数
N2 ----线圈2的匝数
Λm----互感磁通所经磁路的磁导
互感的大小与两线圈匝数的乘积和互感磁通所经磁路的磁导成正比。
.
三、经典单片机供电电路原理图
一个经典的单片机供电电路,电路的原理图如下图所示:
上图,开关电路简化后的电路。
在电路上电之前。开关"TEST"断开,单片机也没有通过VCC加电。此时,T1的基极通过R9(100k)接地,处于截止状态。T3的基级电阻R7所连接的Test,T1都处于截止状态,所以T3也处于截止状态。
电源+9V被T3隔离,没有加载稳压芯片IC2上,IC2的输出VCC保持低电平。
上图,电路关闭状态。
按动按钮“TEST”启动电路,T3的基极通过R7,Test,T2的b-e接地,从而使得T3导通。此时+9V通过T3加到IC2稳压芯片。IC2输出VCC是加到单片机上。
单片机工作后,通过IO2输出高电压,通过R8使得T1导通。此时即使Test松开,T3的基极也可以通过R7,LED1,T1接地,实现电源自锁打开。
上图,按动TEST,启动电路。
上图,电路启动后,由MCU提供T1基极电压,从而维持T3导通。
之后,单片机软件可以来使得IO2端口重新变成低电平,使得T1截止,进而使得T3截止。
可以根据IO1端口,读取T2的开关状态,进而判断用户是否按动功能键。判断用户按动Test之后,等到用户释放Test之后,便可以将IO2置低电平。
也可以根据软件功能,实现自动延迟掉电,进而减少对供电电源的消耗。
.
四、解析桥式整流电路
这个桥式整流电路出场率很高,看着一定眼熟。
事实证明,强行灌输的东西总是难以下咽。记得读书那会,第一次看到这个电路时被吓到了,以至于直到这门课结束了也没搞清楚。
本文就来分析一下此电路中电流的走向,进而理解它是如何实现整流的。
分析之前要注意,上图黑框处相交导线不相接。
顺便科普一下电路图中交叉导线的画法:
- 相交不相接导线,不加点的画法
- 相交不相接导线,用弧跨线画法
- 导线相交且相接,常见的一种画法
电流走向
1 变压器u2正半周时电流通路
2 变压器u2负半周时电流通路
输出波形
由上面两图可见,在u2正、负半周时,通过负载RL的电流方向是一致的。
整流之后,原先的负半周期波形反转,如下图所示。
总结电路特点
- 画图时要注意4只整流二极管连接方法;
- 电源变压器次级线圈不需要抽头;
- 每一个半周交流输入电压期间内,有2只整流二极管同时串联导通,另2只整流二极管截止;
- 桥式整流电路输出波形是全波波形。
.
五、5种单片机常用恒流源电路
恒流电路有很多场合不仅需要场合输出阻抗为零的恒流源,也需要输入阻抗为无限大的恒流源,以下是几种单极性恒流电路。
类型1
特征:使用运放,高精度
输出电流:Iout=Vref/Rs
类型2
特征:使用并联稳压器,简单且高精度
输出电流:Iout=Vref/Rs
检测电压:根据Vref不同(1.25V或2.5V)
类型3
特征:使用晶体管,简单,低精度
输出电流:Iout=Vbe/Rs
检测电压:约0.6V
类型4
为什么不设置让,①的位置电阻R小一点,这样电流大一点,就不需要上拉电阻了呢?因为单片机是控制单元,设计时最好把强电流设计到外围电路里,如果设计到单片机内部,会烧坏板子。
特征:减少类型3的Vbe的温度变化,低、中等精度,低电压检测
输出电流:Iout=Vref/Rs
输出电流:由JEFT决定
检测电压:与JEFT有关
类型5
特征:使用JEFT,超低噪声
输出电流:由JEFT决定
几种类型电路对比
其中类型1为基本电路,工作时,输入电压Vref与输出电流成比例的检测电压Vs(Vs=Rs×Iout)相等,如下图所示。
注:Is=IB+Iout=Iout(1+1/hFE)其中1/hFE为误差。
若输出级使用晶体管则电流检测时会产生基极电流分量这一误差,当这种情况不允许时,可采用下图所示那样采用FET管。
上图中,Is=Iout-IG 。
类型2,这是使用运放与Vref(2.5V)一体化的并联稳压器电路,由于这种电路的Vref高达2.5V,所以电源利用范围较窄
类型3,这是用晶体管代替运放的电路,由于使用晶体管的Vbe(约0.6V)替代Vref的电路,因此,Vbe的温度变化毫无改变地呈现在输出中,从而的不到期望的精度
类型4,这是利用对管补偿Vbe随温度变化的电路,由于检测电压也低于0.1V左右,应此,电源利用范围很宽
类型5,这是利用J-FET的电路,改变Rgs可使输出电流达到漏极饱和电流IDSS,由于噪声也很小,因此,在噪声成为问题时使用这种电路也有一定价值,在该电路中不接RGS,则电流值变成IDSS,这样,J-FET接成二极管形式就变成了“恒流二极管”
以上电路都是电流吸收型电路,但除了类型2以外,若改变Vref极性与使用的半导体元件,则可以变成电流吐出型电路。
.
六、PLC程序的监控与调试
程序编写完成后,需要检查程序能否达到控制要求。检查方法主要有:
一是从头到尾对程序进行分析来判断程序是否正确,这种方法最简单,但要求编程人员有较高的PLC理论水平和分析能力;
二是将程序写入PLC,再给PLC接上电源和输入/输出设备,通过实际操作来观察程序是否正确,这种方法最直观可靠,但需要用到很多硬件设备并对其接线,工作量大;
三是用软件方式来模拟实际操作,同时观察程序运行情况来判断程序是否正确,这种方法不用实际接线又能观察程序运行效果,所以适合大多数人使用,这篇文章就介绍这种方法。
一、用梯形图监控调试程序
在监控调试程序前,需要先将程序下载到PLC,让编程软件中打开的程序与PLC中的程序保持一致,否则无法进入监控。进入监控调式模式后,PLC中的程序运行情况会在编程软件中以多种方式同步显示出来。
用梯形图监控调试程序操作过程如下。
单击“调试”菜单下的“程序状态”工具,如图3-23(a)所示,梯形图编辑器中的梯形图程序马上进入监控状态,编辑器中的梯形图运行情况与PLC内的程序运行保持一致。图3-23(a)所示梯形图中的元件都处于“OFF”状态,常闭触点I0.1、I0.2中有蓝色的方块,表示程序运行时这两个触点处于闭合状态。
(2)强制I0.0常开触点闭合(模拟I0.0端子外接启动开关闭合)查看程序运行情况。
在I0.0常开触点的符号上右击,在弹出的快捷菜单中选择“强制”,会弹出“强制”对话框,将I0.0的值强制为“ON”,如图3-23(b)所示;这样I0.0常开触点闭合,Q0.0线圈马上得电(线圈中出现蓝色方块,并且显示Q0.0=ON,同时可观察到PLC上的Q0.0指示灯也会亮),如图3-23(c)所示,定时器上方显示“+20=T37”表示定时器当前计时为20×100ms=2s,由于还未到设定的计时值(50×100ms=5s),故T37定时器状态仍为OFF,T37常开触点也为OFF,仍处于断开状态。5s计时时间到达后,定时器T37状态值马上变为ON,T37常开触点状态也变为ON而闭合,Q0.1线圈得电(状态值为ON),如图3-23(d)所示。定时器T37计到设定值50(设定时间为5s)时仍会继续增大,直至计到32767停止,在此期间状态值一直为ON。I0.0触点旁出现的锁形图表示I0.0处于强制状态。
(3)强制I0.0常开触点断开(模拟I0.0端子外接启动开关断开)查看程序运行情况。
选中I0.0常开触点,再单击工具栏上的“取消强制”工具,如图3-23(e)所示,I0.0常开触点中间的蓝色方块消失,表示I0.0常开触点已断开,但由于Q0.0常开自锁触点闭合,使Q0.0线圈、定时器T37、Q0.1线圈状态仍为ON。
(4)强制I0.1常闭触点断开(模拟I0.1端子外接停止开关闭合)查看程序运行情况。
在I0.1常闭触点的符号上右击,在弹出的快捷菜单中选择“强制”,会弹出“强制”对话框,将I0.1的值强制为“ON”,如图3-23(f)所示,这样I0.1常闭触点断开,触点中间的蓝色方块消失,Q0.0线圈和定时器T37状态马上变为OFF,定时器计时值变为0,由于T37常开触点状态为OFF而断开,Q0.1线圈状态也变为OFF,如图3-23(g)所示。
在监控程序运行时,若发现程序存在问题,可停止监控(再次单击“程序状态”工具),对程序进行修改,然后将修改后的程序下载到PLC,再进行程序监控运行,如此反复进行,直到程序运行符合要求为止。
用状态图表的表格监控调试程序
除了可以用梯形图监控调试程序外,还可以使用状态图表的表格来监控调试程序。
在项目指令树区域展开“状态图表”,双击其中的“图表1”,打开状态图表,如图3-24(a)所示。在图表1的“地址”栏输入梯形图中要监控调试的元件地址(I0.0、I0.1……),在“格式”栏选择各元件数据类型,I、Q元件都是位元件,只有1位状态位,定时器有状态位和计数值两种数据类型,状态位为1位,计数值为16位(1位符号位、15位数据位)。
为了更好地理解状态图表的监控调试,可以让梯形图和状态图表监控同时进行。先后单击“调试”菜单中的“程序状态”和“图表状态”,启动梯形图和状态图表监控,如图3-24(b)所示,梯形图中的I0.1和I0.2常闭触点中间出现蓝色方块,同时状态图表的“当前值”栏显示出梯形图元件的当前值。比如,I0.0的当前值为2#0(表示二进制数0,即状态值为OFF),T37的状态位值为2#0,计数值为+0(表示十进制数0)。在状态图表I0.0的“新值”栏输入2#1,再单击状态图表工具栏上的“强制”,如图3-24(c)所示,将I0.0值强制为ON,梯形图中的I0.0常开触点强制闭合,Q0.0线圈得电(状态图表中的Q0.0当前值由2#0变为2#1),T37定时器开始计时(状态图表中的T37计数值的当前值不断增大,计到50时,T37的状状态位值由2#0变为2#1),Q0.1线圈马上得电(Q0.0当前值由2#0变为2#1),如图3-24(d)所示。在状态图表T37计数值的“新值”栏输入+10,再单击状态图表工具栏上的“写入”, 如图3-24(e)所示,将新值+10写入覆盖T37的当前计数值,T37从10开始计时,由于10小于设定计数值50,故T37状态位当前值由2#1变为2#0,T37常开触点又断开,Q0.1线圈失电, 如图3-24(f)所示。注意:I、AI元件只能用硬件(如闭合I端子外接开关)方式或强制方式赋新值,而Q、T等元件既可用强制方式也可用写入方式赋新值。
用状态图表的趋势图监控调试程序
在状态图表中使用表格监控调试程序容易看出程序元件值的变化情况,而使用状态图表中的趋势图(也称时序图),则易看出元件值随时间变化的情况。
在使用状态图表的趋势图监控程序时,一般先用状态图表的表格输入要监控的元件,再开启梯形图监控(即程序状态监控),单击状态图表工具栏上的“趋势视图”工具,如图3-25(a)所示,切换到趋势图,然后单击“图表状态”工具,开启状态图表监控,如图3-25(b)所示。可以看到随着时间的推移,I0.2、Q0.0、Q0.1等元件的状态值一直为OFF(低电平)。在梯形图或趋势图中用右键快捷菜单将I0.0强制为ON,I0.0常开触点闭合,Q0.0线圈马上得电,其状态为ON(高电平),5s后T37定时器和Q0.1线圈状态值同时变为ON,如图3-25(c)所示。在梯形图或趋势图中用右键快捷菜单将I0.1强制为ON,I0.1常闭触点断开,Q0.0、T37、Q0.1同时失电,其状态均变为OFF(低电平),如图3-25(d)所示。 .
七、多层板PCB设计中电源平面相对地平面要进行内缩?
有一些人绘制的PCB,在GND层和电源层会进行一定程度的内缩设计,那么大家有没有想过为什么要内缩呢。
需要搞清楚这个问题,我们需要来先了解一个知识点,那就是“20H”原则:
20H原则主要是为了减小电路板电磁辐射问题提出来的,在电路板上如果存在高速电流,就存在与之相关的磁场,在各个层的边缘,电磁场的辐射方式如下图所示:
可以看到在我们地层和电源层上下平面大小一致的时候由于电源层和地层之间的电场是变化的,在板的边缘会向外辐射电磁干扰,那一般这个解决方法是将电源层内缩一定的距离,这样就可以使电场只在地层的范围内传导,从而达到抑制边缘辐射效应,提高电磁兼容性(EMC)。那么我们一般要内缩多少距离呢,我们内缩的距离就是我们之前说的“20H”的距离,这个H指的是电源层与地层之间的介质厚度,“20H规则”的采用是指要确保电源平面的边缘要比0V平面边缘至少缩入相当于两个平面间层距的20倍。
如上图所示就是内缩后的电源平面与地平面,我们可以看到现在的电磁场大部分不会向外辐射出去了,这样就减小了对外EMI辐射,但是我们为什么会说大部分不会向外辐射出去了呢?因为我们发现电源相对于地层的边缘缩进20H,那么电磁场的密度可以减小约70%,并不是说可以减小到0,那如果我们需要将更多的电场限制在内则可以内缩“100H”,一般来说,内缩100H可以将98%的电场限制在内,所以这就是为什么我们的板子需要内缩的一个原因。
但是由于叠层的设计,在通常的一些PCB板上,严格满足20H的话,无法进行PCB布线了,所以一般的处理方式是电源GND 相对GND 内缩1MM,这样我们板子的性能也得到一定的保障。
我们也需要注意一下,我们的20H原则是在一定的前提下才可以有明显的效果。
1 电源平面要处在PCB内部,并且与他相邻的上下两个层都为0V平面,这两个0V平面向外延伸的距离至少要相当于他们各自与电源平面间层距的20倍。
2 PCB的总层数要大于或等于8层
.
八、用二极管实现不同电压的输出
利用二极管的单向导电性可以设计出好玩、实用的电路。
分享本文,分析限幅电路和钳位电路,是如何用二极管来实现的。
限幅电路
如下图所示,当在正半周期,并且VIN大于等于0.7V,二极管正向导通。此时,
VOUT会被钳位在0.7V上。
而当VIN小于0.7V时二极管是截止状态,在负半周期时相当于电流反向,二极管也是截至状态,此时VOUT=VIN,VOUT波形跟随VIN变化。
限辐电路示意图
根据上面限辐电路的原理,可以设计如下双向限辐电路。
双向限辐电路示意图
然而有时候0.7V电压不能满足要求,那么,怎么产生不同大小的限幅电压?
在电路中加入偏置电压VBIAS,只有当VIN大于等于VBIAS时二极管才能导通。此时VOUT被钳位,其值是0.7V+VBIAS,如下图所示。
偏压限幅电路示意图
钳位电路
下面是二极管结合电容实现的钳位电路。分析中不考虑二极管的导通压降,假设RC时间常数足够大,从而使输出波形不会失真。
钳位电路原理
当输入Vin在负半周期为负时,电流如下图中红色箭头所示。二极管导通,电容逐渐充电至V,在此过程中Vout=0。
当输入Vin在正半周为正时,电流如蓝色箭头所示。二极管截止,Vout等于电容上电压加上正半周电压V,此时Vout=2V。
钳位电路原理
偏压钳位电路
跟限幅电路类似的,为了获得所需要的钳位值,要在电路中加入偏置电压,如下图所示。
偏压钳位电路
当所加的偏压与二极管导通方向一致,钳位值会提高V1,Vout=2V+V1。
双向二极管钳位电路应用举例
在某些电路中会利用两个二极管的钳位作用进行保护,如下图所示,假设0.7V为D1和D2的导通电压。
- Vin大于等于Vmax,D1导通,Vout会被钳位在Vmax
- Vin小于等于Vmin时,Vout被钳位在Vmin
.
九、微波炉电路
在厨房电器中,微波炉可以说是最具技术含量的电器,它的工作原理不像其他电器那样一眼就能看个明白,于是拆解了一个微波炉,分析内部电路。
微波炉的结构
微波炉由箱体、磁控管、变压器、高压电容器、高压二极管、散热风扇、转盘装置及一系列控制保护开关组成,大多数微波炉还装了电热管,兼有烧烤功能。
微电脑控制式微波炉
机械控制式微波炉
微波炉的关键元件是磁控管,磁控管除了微波炉有这个东西,其他家用电器上是看不到的。更主要的是这个磁控管不能拆解,要想弄清他的结构,只能破坏性地解剖。好在网上还有“秀才”,视频能够很清楚地表达磁控管的内部结构。
磁控管灯丝
磁控管阳极
清楚了内部结构,没有相当的电磁电子学理论基础,也是云里雾里,不知道它怎么能产生微波。这微波不像石英电加热管能看得到红彤彤的发热体,它看不见也摸不着,却能把食物烹熟,可知这微波对人也是很具杀伤力的。
为了防止微波泄漏,微波炉在安全方面采取了很严格的防护措施。微波炉有三个门联开关就是防止微波伤人事故的。也就是因为有这三个门联开关,微波炉的电路图也复杂了许多。
微波炉的电路
这是LG微波炉(WD700)的电路图。初级开关、监控开关、次级开关是三个门联微动开关。初级开关、次级开关是常开型微动开关,炉门开着时,微动开关触点断开,监控开关是常闭型微动开关,炉门开着时,微动开关触点闭合。
上电状态
关闭炉门,初级开关、次级开关闭合,监控微动开关断开;插上电源,微波炉电路板通电,因为电路板上有芯片,显示屏显示“0”,这种情况也称上电状态。图中RY1并不是常闭继电器,上电状态下炉灯形不成回路,炉灯不亮。
开门状态
门打开时,初级开关断开火线,次级开关PK断开微波与烧烤继电器回路,监控开关闭合,将高压变压器初级线圈短接,目的是防止误意外因素产生微波,危及人生安全。开门时次级开关PK断开,微处理器获得信号,驱动芯片向RY1继电器线圈供电,RY1触头接通,炉灯亮。因初级开关处于断开位置,风扇、托盘不工作。
烧烤状态
上电状态下按烧烤按钮,开始按钮指示灯闪亮,旋转开始旋钮设定烧烤时间,按下开始按钮,RY3接通,形成烧烤回路。同时主继电器RY1接通,风扇、托盘、炉灯同时工作。值得注意的是,托盘是用21V同步电动机驱动的,电压来自于散热风扇罩极异步电动机线圈抽头。
微波状态
上电状态下按开始键,或按任何其它按钮,设置重量或时间再按下开始按钮,RY2闭合,就形成微波状态。其中灯丝回路电压为交流3.3V。磁控管回路电压为-4000V直流电,该回路可以把高压变压器二次侧的电压分解为正半周与负半周分别分析。在正半周,高压二极管导通,向高压电容器充电,电压约为2000V;在负半周,高压二极管截止,高压电容器放电,与二次侧的电压叠加,形成约4000的直流电压,阴极电子逆电流方向射向阳极形成微波。
控制板电路
控制电路板也就是PCB板上的二次回路,LG微波炉(WD700)程序比较多,二次回路还是比较复杂的。PCB板上的按键输入信号并不是直接触发晶闸管,而是把信号输入到了微处理器,PCB板上的3个继电器是由STCC02模块来驱动的。
PCB板上的开始键下字母EN是enable的缩写,也称“使能”键,触按EN键,电源芯片才会有输出。
继电器线圈供电回路
轻触开关操作电路
时间与重量设置
有些时候,不分析电路图,电器的功能也许并不是很清楚。通过分析,可以明白微波炉尽管有很多按键,但总归是调节微波工作的时间,至于微波炉火力调节,实际上是工作时段内微波断续工作的比例。
.
十、步进电机的速度控制
在制作一个使用全向轮的机器人底盘,对于全向轮,电机的精度是影响效果的重要因素。所以使用了步进电机,使用步进电机的优点是可以不使用编码器,开环控制即可达到高精度的效果。
调整占空比或者调整周期
众所周知,PWM有两个重要参数,周期与占空比。
步进电机的运动方式是,每收到一个脉冲,就旋转指定的角度。因此影响电机速度的唯一参数就是PWM的频率。以下附图两张来说明调整占空比与调整周期的区别。
周期固定,调整占空比
上图中有4个PWM,它们的周期是一样的,不同之处是拥有从80%至20%的占空比。可以看出,无论占空比为多少,在1s内,它们产生的高电平的数量是一样的,即无论占空比为多少,PWM的频率都一致。因此也就无法调整步进电机的速度。因为步进电机的速度仅与PWM的频率有关。
占空比固定,调整周期
上图中有4个PWM,它们的占空比都固定为50%,却拥有不同的周期。可以看出,即使占空比固定,只要动态调整周期,PWM就能在相同时间内产生数量不同的脉冲。因此,固定占空比,动态调整PWM周期,即可达到控制步进电机速度的效果。
基于STM32的实现
在STM32F1中,定时器具有PWM模式,可以用来产生PWM。但是,STM32的PWM模式,只要确定了时基单元(即确定了PWM周期),改变输出比较寄存器,仅可改变PWM的占空比。
若需要改变PWM周期,需不停地改变定时器的时基单元。但时基单元与硬件相关,不适合频繁变更。因此,步进电机的调速,不适合使用STM32下定时器的PWM模式来控制。
在多方查找资料后,确定了一种利用输出比较精确控制PWM周期的方式。
利用输出比较产生频率可变的PWM
利用输出比较产生频率可变的PWM,原理简单介绍如下:
首先配置定时器时基单元,确定脉冲最小长度单位CK。
然后开启定时器的输出比较,设置模式为翻转模式,并开启输出比较中断。
将定时器内计数器CNT当前值,加上脉冲长度X(单位为CK),写入输出比较寄存器。
在X个CK后,将会触发输出比较中断。同时电平翻转。
在中断中再次将当前计数器CNT的值,加上脉冲长度X,写入输出比较寄存器。
在X个CK后,将会触发输出比较中断。同时电平翻转。
在中断中再次将当前计数器CNT的值,加上脉冲长度X,写入输出比较寄存器。
如此往复……
以此即可得到一个占空比为50%,周期为2X个CK的PWM。
确定最小单位CK,配置时基单元
首先确定一个最小的间隔CK,规定PWM的高电平长度和低电平长度的单位都是CK。
即高电平的长度一定是CK的整数倍。低电平亦然。
然后配置定时器的时基单元,通过CK的长度确定预分频系数。
已知STM32F103的主频为72MHZ,则时基单元中预分频系数为:
PSC = 72M / (1/CK)
例如,rtz所确定的CK长度为10us(0.00001s),即可得出方程。
预分频系数确定为720后,由高速晶振产生的72MHZ的时钟信号被720分频,得到100000HZ的时钟信号。即时钟信号每秒变动100000次。每次10us。同时可将重装载值设定为0XFFFF(16位定时器的最大值)。因为本次使用的输出比较模式不使用更新中断,该值可随意设置。
TIM_TimeBaseStructure.TIM_Period = 0XFFFF;
TIM_TimeBaseStructure.TIM_Prescaler =720;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
开启输出比较通道,设置输出比较模式为翻转模式,并配置NVIC,开启输出比较中断,配置输出比较通道:
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;
TIM_OCInitStructure.TIM_Pulse = 500;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
TIM_OC1Init(TIM2, &TIM_OCInitStructure);
开启输出比较中断,配置NVIC优先级:
TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
编写中断服务函数
在输出比较中断中,唯一要做的事情就是把当前CNT的值取出,加上脉冲长度X,写入输出比较寄存器。
当计数器达到0XFFFF(之前设定的重装载值)后,再加一会自动变为0。
例如,当前CNT值为0XFFFF,脉冲长度为5,很明显,输出比较寄存器应设置为0X0004才可触发下一次中断,而不是0X10004,这样会造成溢出。
因此将CNT的值与脉冲长度相加后,需要取0XFFFF的余数后,再写入输出比较寄存器。
int t_m=5;//低电平和高电平的长度
void TIM2_IRQHandler(void)
{
if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET) {TIM_SetCompare1(TIM2,(TIM2->CNT+t_m)%0XFFFF);TIM_ClearITPendingBit(TIM2, TIM_IT_CC1);}
}
动态调整中断服务函数中的变量t_m,即可达到修改PWM频率的效果。
.