-
深入理解CNN
深入理解CNN,包括CNN的过程显示和前向后向推倒,以及CNN的应用举例。
- 2020-12-03下载
- 积分:1
-
利用PLL估算器和弱磁技术(FW)实现永磁同步电机(PMSM)的无传感器磁场定向控制
磁场定向控制(Field Oriented Control,FOC)是这样一种方法:将某一磁通量(转子、定子或气隙)作为创建另一磁通量参考坐标系的基准,目的是退去定子电流转矩分量和励磁分量的耦合。去耦可以简化对复杂三相电机的控制,从而能像以单独励磁控制直流电机那样控制三相电机。这意味着电枢电流负责转矩的产生,励磁电流负责磁通的产生。在本应用笔记中,将转子磁通作为定子和气隙磁通的参考坐标系对PMSM进行FOC的特別之处在于:定子的d轴基准根据电机的数学模型进行位置和速度估算。因此,模型电流对应于d轴上的电枢反应磁通)设置为零。越接近真实硬件,佔算器的执行效果就越好。PMSM的转子磁体产生转子磁链Y。这与ACM不同,ACM数学建模取决于其拓扑结杓,主要分为两类:表面贴装需要磁化电流具有恒定的基准电流值,才能产生转圯和内部贴装型永磁休。针对应用的需求,这两个类均子磁链。有其优缺点。围绕表面贴装型永磁同步电札川发了相应气隙磁迸等丁永磁体产生的转」磁链与定子电流产生的的控制方案(图2),与其他类型的PMSM相比,其优电枢反应磁链的和,对于FOC的恒定转矩模式,d轴气点是转矩纹波低、价柊低。表面贴裝型PMSM的气隙磁隙磁通仅与平相等,d轴电枢反应磁通为零通比较平滑,因此定子的电感值非凸极PMSM〕,且反电动势( Back Electromagnetic Force,与此相对,在恒定功率运行时,定子电流的励憾分量BEMF)呈正弦波。用于削弱气隙磁场,从而提高转速。由于此类PMSM的气隙(包含置丁定子齿和转子铁芯在无需位置或速度传感器的无传感器控制中,主要的困难是实现一个稳健的遮度估算器,能够抵御温度、电磁之间的表面贴装磁体)较大,此类PMSM相对于具有同样尺寸和标称功率值的其他类电机,具有更小的感应系噪声等干扰。对于成本非常敏感或不允许有诸如位置传数。电机的这些特性在一定程度上简化了速度和位置估感器等移动部件的应用或者电机在电气条件非常恶劣的算器使用的数学模型,同时使得FOC更有效。环境下运行时,通常需要釆用无传感器控制。然而,不应将对精确控制的要求,特别是低速时的要求,当作就持续保持电杌转子的磁链滞后电枢磁链90度可以获得给定应用选择控制方案的关键因素。每安培的FOC转矩最大(见图3)。图永磁体表面贴装型的横截面电机的横截面1.转子转轴是252.转子铁芯3.电枢(定子4.带电枢线圈的电枢槽5转子永磁体6.气隙C 2010 Microchip Technology IncDS01292ACN第3页图相位矢量图(基本转速警告:在对磁体表面贴装型PMSM进行弱磁q时,稍不注意或未遵照电机制造厂商的规范槳作,就有可能使转」遭受机械损坏,永憾体被退憾。通常使用环氧树脂粘贴或者使用不锈钢或碳素纤维环米固定永磁体。若转速超出制造厂商指定的最大转速,永磁伓就可能脱落或损坏,从而导致转子以及其他附着在电机转轴上的机械部件遭到破坏。若气隙憾通密度超过了磁通密度曲线的拐点,就会屮PW导致退磁,如图5所示图永磁体的迟滞曲线(理论上)在FOC恒定功率模式下,无法有效实现PMSM的弱磁,原因是较大的气隙室间会导致减弱的电枢反应磁通对转子永憾体的磁链产生丨扰。基于这个原因,所能获得的最大转速无法高于待测电机基本转速的两倍。图4给出了恒定功率—弱磁模式下的相位矢量方向。图相位矢量图(高速迟滞由线1.水磁体的固有特性。2.永磁体的一般特性。其中磁场密度=磁场感应永磁体感应磁通值ld矫顽磁性=固有矫顽磁性DS01292ACN第4页c 2010 Microchip Technology Inc类估算器公式本应用笔记屮使用的估算器就是AN1162《交流感应电a cos(p Bsin(p机(ACIM)的无传感器磁场定向控制(FOC)》(见参考文献)中采用的估算器,只是在本文中用于sin(pPMSM电机而已。估算器来用PLL结构。其工作原理基于反电动势采用固定的定子坐标系,公式4代表定子电路公式。(BEMF)的d分量在稳态运行模式中必须等于零。图6给出了佔算器的框图。公式如图6中的闭环控制回路所示,对转」的估算转速()进行积分,以获取估算角度,如公式1所示C公式阝阝阝在公式4中,包含-β的项通过经 Clarke变换的相将BEMF的q分量除以电压常量Kd得到估算转速系统的对应测量倌得到。以Y型(星犁)连接的定子相如公式2所示:为例,和分别代表每个相的定子电感和电阻。若电机采用△连接,则应计算等效的Y型连接相电阻和电公式并在上述公式中使用佟7表小估算器的参考电路模型。电机的A、B和C端n()·)连接到逆变器的输出端。电压、和代表施加给电机定子绕组的相电压。代表逆变器桥臂间的线电压,相电流为和考虑公式2中给出的最初估算假设(BEMF的d轴值在稳态下为零),根据 BEMF q轴值的符号,使用BEMF d轴值对BEMq轴值让行校正。经过公式3显示的Park变换后,使用一阶滤波器对 BEMF d-q分量值进行滤波。图:估算器的原理框图LPFa BLPFqC 2010 Microchip Technology IncDS01292ACN第5页图估算器的电路模型公式ARsVAB其中=Y犁连接的电机相电感=采样时间等于PWM周期BC为遊变器的直流链路电压BLS为每相的最大峰值电流B2·汇代表其中将控制系统中实现的公式做进一步的演化,估算器公式=Y型连接的电机相电阻4中的电压a和∨B是在FOC的前一训算环节中得到的结果,它们不仅在控制的前一步骤中馈送给空间向量调制( Space Vector Modulation,SVM)电路,而且在公式4的最后一项中,电流对时间的导数会对软件造成当前步骤屮馈送给估算器电路。la和lB是相电流经扰。因此,估算器的每次执行周期中都引入了电流变Clarke变换后得到的,在估算器的每个工作环节中都将化的极值,该值必须小于估算器每次执行周期的最大被读取电流变化值,每当发生PwM屮断都将执行该周期。公式4中定子电感()和电阻()经过了归一化根据公式3,将得到的 BEMF和B值通过Park变以便简化计算并满足软件表小要求,如公式5所小。換转换到转子磁通的旋转参考坐标系,得到和值。在Pak变换中使用的角度p,是估算器前一执行环节中计算得到的。基于等丁零,優用一阶滤波器对BEMF的dq值进行滤波,并将滤波后的值代入估算器的主程序。公式2给出了的计算,即如何得到电气转遼。对电气转达进行积分得到转子磁通与c-B固定定子坐标系之间的角度(p)。在公式2,K表示表1给出的电压常量。公式6给出了电气转速计算中使用的归化公式代表1000其中=极对数,以及前面指出的其他输入DS01292ACN第6页c 2010 Microchip Technology Inc使用与BEMF中所用的相同一阶滤波器对转速反馈进行确定这样的特性参数是个耗时的过稈,和预期一样,这滤波。该滤波器的一般形式见公式7些特性参数的线性度极差。公式:调整和实验结果(()-(-1)当转速低于基本抟速时,进行算法调整非常简单,此时用最大转矩模式。通常,由电机制造厂商测量或给出其中的参数添加到攴持文件中,该=当前滤波器的输出文件随本应用笔记一起提供(见附录:源代码),(-1)=上一次滤波器的输出从而得到归一化的参数供估算器使用。得到的值随后被()=当前滤波器的输入添加到项目文件中,准备运行。=滤波器常量要测量的参数包括转子电阻、转子电感以及电压常量Kd。滤波器输出的直流值应该不含有由ADC采集引起的噪声或软件计算引入的高频变化。滤波器的调整取决于要可在电机的接线端测量定子电阻和电感,然后将测得的滤波的值( beMF d-q分量和电气转速)的变化速度值除以2,得到和值。对于Δ型连接的电机,若调整的结果是要保证足够的带宽,降低冇用信号损失的电机制造厂商提供了相电阻和电感,则应将它们除以3得到星型连接的等效相电阻和电感可能性。对于BEMd-q分量,有两种情形:(1)高速,在弱嵫模式中,由于缺乏转矩瞬变或髙加速斜率,变化所有电机的制造厂商均会给出电压常量K其实,您缓慢:(2)低速,速度变化取决于电机的机械常量(以也可以采取非常简单的步骤来测量这个参数,即以恒定及电机转轴上的负载)和基准速度升高或下降的斜的速度旋转转子转轴,同时测量电机线端的输出电(取较快的那个值)压。如果在转速为1000RPM的情况下读数,测得的电瓜为典型的RMS值。将读到的数值乘以2的川平方即可得到以KRPM为单位表示的值。弱磁()对于测试的电机参数,表1中的数据就是米取上述步骤PMSM的弱磁意味着绘旋转坐标系d轴方向的定子电流测得的。施加一个负值,作用是削弱气磁链逆变器的电压输出在定子电阻和感应电阻上产生压降表剩下的电压用于消除BEMF。BEMF与电机的转速和电压常量K成正比。考虑到逆变器的最大输出电压限值电机类型电机单位通过降低与气隙磁链呈正比的电机电压常量Kb即可提高转速。气隙磁链的降低自然会导致转矩降低。连接类犁由丁控制气隙弱磁所涉及的电机特性参数之间的关系错L-L电阻1922综复杂,因此情况有些复杂。LL电感-1kHz2.672H电枢d轴电流对气隙弱磁的影响取决于从电枢齿到转子电压常量Ka7.24铁芯的磁烙的形状和磁性。如前所述,磁体表面贴装的KRPM类型对有效弱磁并无益处,因此设计电机磁路时很可能环温度22.7C仅针对电机以基本转速运行的情况,一旦超过基入转速就会出现饱和现象。饱和效应会导致电气参数发生变化其中之一就是定子的磁链电感,该值会在磁模式下减小。C 2010 Microchip Technology IncDS01292ACN第7页在 dS PICDEM MCLV开发板的两条并联攴路上分别读取要调整的开环参数包括锁定时间、最终加速度以及基准必需的相电流,在ADC采集之后,将读到的值缩放至电流值。锁定时闫代表转子对齐所必需的时间,它取决合适的范围。电流的总缩放因子取决于读取并联支路的于负载初始转矩和转动惯量(这两个值越大,锁定时间差分运放的增益和流经电机的电流的最大值。例如,在就越长)。起动时上升到的最终转速(以RPM表小)并联支路电阻为0.005Ω的情况卜,44A的峰值相电流应没置得足够高,以使估算器计算的BEMF具有足够的和75的增益会导致ADC输入端的电压为33V。对电精度,达到最终转速的时间取决于连接到电机转轴上的流使用缩放因子1,经过例1的转换,得到的电流值将阻性负载:负载越人,达到最终基准转遮所需的时间就为Q15格式,釆用软件实现方案时,必须使用该格式越长。例采用开环控制替代闭环控制起到简化的目的,其中转子磁通和圊定参考坐标系之间的估算角由开环増速控制中使用的强制角替换。强制角不关心转子的位置,而是使抟了位置增加一个角度,从而使转子的位置成为一个不断增加的量。图1给出了控制环的另一种简化形式,即在支持文件屮,电流缩放因子缺少速度控制器,并且q轴的基准电流是硬编码的是通过实验确定的,而并非使用上述步骤,因此消除了q轴基准电流用于提供在转速开环上升阶段流终电机的可能由电气元件公差导致的训算误差。公式8中显小的电流;初始负载越高,所需的电流就越人,负载决定基缩放常量与內部软件变量相乘得到实际电流值。准转短。公式:例2给出了基准电流设置的宏定义,将实际的电流值输入参数归一化至软件要求的范围,其算依赖于电流缩放常量(),最初是通过计算0确定的。作为输入的实际电流值的单位应为安培,并且处于[,]范围内。反之,要获取缩放常量,可以将实际电流值除以软件表示的十进制数。在稳态工作条件下,使用电流探针和例MPLAB③IDE的数据监视和捕捉接凵( Data monitorand capture Interface,DMc)功能,在示波器上测量峰值电流,并将测得的值除以DMCI给出的对应值即可完成上述操作。欲知有关DMC|用法的细节,请查询MPLAB IDE帮助文件。要使算法在开环系统中工作,从而禁止初始调节时的闭公式4显小在阻抗和感抗电压降计算中包含采集的电环控制环节,则应启用例3中给出的特定宏代码定义。流。由于采集过程中叫能存在噪声,需要对感抗电瓜降计算中包含的导数项进行限制以获得有效值。对于待测例电机来说,最人转速为5500PRM,峰-峰值电流为5A的情况下,最大电流变化为每50us025A就最初校准而言,电机起动时应带有负载,此时需要调整开环斜率参数。这对于在激活闭环控制之前,潜在P控制器的重新校准,甚全是一些初始过渡阶段的校验(比如强制角和估算角之间的角误差以及实验确定电流缩放常量),以及最初开环上升参数的精调非常有用。DS01292ACN第8页c 2010 Microchip Technology Inc对于采用弱磁后电机转速超过标称转速的情祝,由于系把这些考虑个内,并考虑公式6,当BEMF保持恒定时统参数呈现非线性,因而调节将更为复杂转速和1/a之间就呈玩比例关系,如公式9所示。从这点开始调整的目的,是要在无负载的条件下,实现测试电机标称转速的倍增。公式:警告:通常,电机制造厂商指出了不损坏电机时能够达到的最大转速(可能比额定电流时的制动点速度要大);如果未指出,电机的运行速度可能更高,但只能作一小段时间(断断续续地),还要承担前一节中于是对于转速倍增而言,为了弥衤感电压降,考虑每所述的退磁或机械损坏风殓电压常数1/d的上升超过一半(125%)的情沉。在查找衣中给出了1/d随转速的变化关系,查找索引在弱磁模式中,如果转速超过标称值而造成FOC失效,随时可能损坏逆变器。其原取决于转速。在开始韶分,查找表将表示1/φ随因在于,BEMF值将大于标称转速时产生转速ω的线性变化关系,不过稍后根据负载情况可对线性变化进行微调以便获得最佳能效。查找索引的获的BEMF值,从而超出DC母线电压值而这是逆变器的功率半导体和DC链路电容得,是把转了实际转速减去弱磁策略开始旄行之后的转速,再除以一个缩放因子。索引缩放因子给出了查找表不得不予以支持的电压。由于打算进行的调整意味着反复的系数校正,直至达到最的精细稈度度量,所以,对于相同的转速范围,缩放因优运行状况,为了防止在高速时电机停子越人,在查找表中得到的点就越少,而点代表的是加转,应确保使用相应电路对逆变器进行保以老虑的转速域。对于我们考虑的电机,最大转速是27500单位,其中5000单位表示1000RPM。考虑缩放因子为1024,弱磁开始转速是13000单位,结果是对调整原理的解释始于图4中的矢量图。考虑在(逆变(27500-13000)/1024=141。作表中有大致15项就器能够提供的)最大电压时生成每安培最大转矩所需的足以覆盖期望的转速范围。反过来计算,假如查找表中电流,低于标称转速时,它表示的只是q分量,这是转有17项,可能的最大转速将是17·1024+13000=矩生成所必需的。口前,等于;但是,弱磁策略开30408单位,约为6000RPM。由于估算的电流速度总始之后,定子电流将等丁d、q分量的矢量和。假设是存在某种程度的噪声,而且在速度值改变时索引的计定子电流及输入电压(绝对值)不变,定子电阻算可能不稳定,因此在软件屮计算索引时,使用的不是上的电压降也将不变,而感抗电压降将随转速成比例增(估算的)电流速度,而是基准速度。可以考虑基准速加。但是,由于表面贴装PM的感应系数值很小,在与度的变化斜率足够慢,从而估算速度能够很接近它。其他隐含指出的测量值进行比较时,可以忽略感抗的增考虑基准和最人遮度之间的线性变化关系,查找表值将加。把这一前提考虑在内,在对电机进行加速时,可以看上去类似于例4,且将使用实验获得的结果更新查找认为弱磁时BEMF是忸定的,由于感抗电压降的增加,BEMF的稍许下降是可以接受的。表值。表中的第一个值表示电机基时的1/d值,如同使用支持文件()所计算的那样。C 2010 Microchip Technology IncDS01292ACN第9页例:电压常数倒数初始化查找表电流的负d分量作用是减小电压常数Φ,在理想情况下是成比例的,如前所述,这为提升转速留下更人空另一方面是弱磁模式屮定子磁链电感的变化,它也是非线性的。为了消除它的影响,意味着要使用另一个査找表,其査找索引如前所述相同。表中的项表示的是转速①时的电感变化率(o),具体值是其索引除以基速时的两倍。表中第一项始终应该是,因为是基速电感除以两倍白身。此时,表中其余各项填充的值都好像其电慼是基速时的一半(例6)。例:电感变化初始化查找表使用标称电流运行电机,将不会导致磁铁的永久消磁。所以,强制d分量(亡负责气弥净磁通密度下降)为标称电流将不会有破坏性影响。在稳态时,由于缓慢的加速斜率以及没有阻抗转矩(除了轴承摩擦和风扇之外),无负载工作吋所需的q分量将非常小。实践中,d轴电流分量的设定通过查找表来进行,其索引与用来查找电压常数耷找表的索引相同。最初,表中填充的值将是电流与转速Q呈线性关系的值(表中的第一项表小的基速值,最后一项表小标称的电流值),如例5所示。例:轴基准电流初始化查找表出于测试目的,在软件中使用缓慢的斜率作为基准速度,使用如下的定义进行激活,如例7所示。例DS01292ACN第10页c 2010 Microchip Technology Inc
- 2020-12-12下载
- 积分:1
-
1-金属管与橡胶管过盈连接计算
过盈配合是橡胶工业中的一种常见的配合方式。橡胶为超弹性材料,有限元计算中通常假定为不可压或者几乎不可压,并且一般情况橡胶与金属配合的过盈量较大,采用经验公式得到的计算精度不高,因此有必要采用有限元方法,改进其计算精度,此外金属与橡胶配合在管路连接中用来评价其密封性也关键。
- 2019-11-09下载
- 积分:1
-
偏微分方程中对流方程的解法
用迎风格式、Lax-Wendroff格式的差分方法、Lax-Friedrichs格式的差分方法来解对流方程,并且有详细的matlab程序。
- 2021-05-06下载
- 积分:1
-
非线性系统线性化
非线性系统的反馈线性化是近年来引起人们极大兴趣的一种非线性控制系统设计方法。这种方法的思路是通过状态或输出的反馈,将一个非线性系统的动态特性变成(全部或部分)线性的动态特性,从而可以应用熟知的线性控制的方法对系统进行设计与控制。
- 2020-12-09下载
- 积分:1
-
matlab仿真RFID标签防碰撞算法 包括二进制和ALOHA
RFID标签防碰撞算法研究 详细包括二进制和ALOHA 毕业设计专用
- 2020-12-03下载
- 积分:1
-
校园失物招领系统源码
校园失物招领系统代码(开发工具及数据库 内附说明)。自己刚开始学习时做的,内容相对简单,适用于初学者。
- 2020-11-28下载
- 积分:1
-
路径规划势场栅格法程序
基于栅格地图的模型,势场法的原理,设置初始点与目标点的路径规划图个人心血
- 2020-12-07下载
- 积分:1
-
LeetCode cpp最新中文题解.pdf
LeetCode cpp最新中文题解.pdfLeetCode cpp最新中文题解.pdfLeetCode cpp最新中文题解.pdf目录3.4 Add binary615.1.5 Binary Tree Level Or-3.5 Longest Palindromic Substring. 62der traversal il3.6 Regular Expression Matching665.1.6 Binary Tree Zigzag3.7 Wildcard Matching67Level Order traversal. 963.8 Longest Common Prefix5.1.7 Recover Binary Search3. 9 Valid Number70Tree983.10 Integer to roman725. 1. 8 Same Tree3. 11 Roman to Integer735.1.9 Symmetric Tree1003.12 Count and Say745.1.10 Balanced Binary Tree.. 1023. 13 Anagrams755.1.11 Flatten Binary Tree to3. 14 Simplify Path76Linked List1033. 15 Length of Last Word775.1. 12 Populating Next RightPointers in each node ii 105第4章栈和队列7952二叉树的构建10641栈795.2.1 Construct Binary Tree4Valid Parentheses79from Preorder and In4.1.2 Longest valid Parenorder Traversa106theses805.2.2 Construct Binary Tree4.1.3 Largest Rectangle infrom Inorder and posHistogram82torder Traversal1074.1.4 Evaluate reverse pol-53二叉查找树108ish notation845.3. 1 Unique Binary Search4.2队列85Trees.1085.3.2 Unique Binary Search第5章树86Trees li.1105.1二叉树的遍历865.3.3 Validate Binary Search5.1.1 Binary Tree PreorderTreeTraversal865.3. 4 Convert Sorted array to5.1.2 Binary Tree InorderBinary Search Tree...112Traversal885.3.5 Convert Sorted List to5.1. 3 Binary Tree PostorderBinary Search Tree113Traversal9054二叉树的递归.1145. 1. 4 Binary Tree Level Or5.4.1 Minimum Depth of Bider traversal)2nary lree115目录5.4.2 Maximum Depth of Bi8.3.,2重新实现 next permunary Tree116tation1425.4.3 Path Sum11783.3递归.1435.4 4 Path Sum il118 8.4 Permutations II1445.4.5 Binary Tree Maximum8.4.1 next permutation... 144Path Suum11984.2重新实现 next permu5.4.6 Populating Next Righttation144Pointers in each node 120843递归1445.4.7 Sum Root to Leaf num8.5 Combinations146bers2185.1递归1468.5.2迭代147第6章排序1238.6 Letter Combinations of a phone6.1 Merge Sorted Array123umber1476.2 Merge Two Sorted Lists12486.1递归1486.3 Merge k Sorted Lists124862迭代96.4 Insertion Sort List125第9章广度优先搜索1506.5 Sort list1269.1 Word Ladder1506.6 First Missing Positive1279.2 Word Ladder il1546.7 Sort Colors1289.3 Surrounded regions162第7章查找94小结16413194.l适用场景1647.1 Search for a range131942思考的步骤7.2 Search Insert Position.13294.3代码模板1657. 3 Search a 2D Matrix133第10章深度优先搜索173第8章暴力枚举法13510.1 Palindrome Partitioning1738.1 Subsets13510.2 Unique Paths1768.1.1递归1350.2.1深搜1768.1.2迭代.1371022备忘录法.1768.2 Subsets il13810.23动规177821递归13810.24数学公式1788.2.2迭代.14110.3 Unique Paths Il1798. 3 Permutations14210.3.1备忘录法1798.3.1 next permutation14210.3.2动规.180目录10.4 N-Queens1813.4 Maximal rectangle21310.5 N-Queens II18413.5 Best Time to Buy and Sell Stock10.6 Restore ip addresses186.21410.7 Combination Sum18813.6 Interleaving String21510.8 Combination Sum Il18913.7 Scramble String21710.9 Generate Parentheses.19013. 8 Minimum Path Sum.22210.10 Sudoku solver19213.9 Edit Distance22410.11 Word Search.19313. 10 Decode Ways.22610.12小结19513. 11 Distinct sub22710.12.1适用场景19513. 12 Word Break22810.122思考的步骤19513 13 Word Break il2300.12.3代码模板197第14章图23210.12.4深搜与回溯法的区別.19714. 1 Clone Graph23210.12.5深搜与递归的区别..197第15章细节实现题235第11章分治法19915.1 Reverse Integer2351.1 Pow(x, n)19915.2 Palindrome Number.23611. 2 Sqrt(x)20015.3 Insert Interval237第12章贪心法20115.4 Merge Intervals23812.1 Jump game20115.5 Minimum Window Substring23912.2 Jump game II15.6 Multiply Strings24112. 3 Best Time to buy and Sell stock 20415.7 Substring with Concatenation12. 4 Best Time to buy and sell stock l205of all words24412. 5 Longest Substring Without re15.8 Pascal,s Triangle245peating Characters20615.9 Pascals Triangle Il24612.6 Container with Most Water.. 207 15.10 Spiral Matrix24715.11 Spiral matrix II248第13章动态规划20915.12 ZigZag Conversion25013. 1 Triangle20915.13 Divide Two Integers25113.2 Maximum Subarray15. 14 Text Justification25313.3 Palindrome Partitioning II1215.15 Max Points on a line255目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。判断一个整数是否是为奇数,用x%2!=0,不要用x%2=1,因为ⅹ可能是负用char的值作为数组下标(例如,统计字符串中每个字符岀现的次数),要考虑到char可能是负数。有的人考虑到了,先强制转型为 unsigned int再用作下标,这仍然是错的。正确的做法是,先强制转型为 unsigned char,再用作下标。这涉及C十整型提升的规则,就不详述了。以下是关于STL使用技巧的,很多条款来自《 Effective STL》这本书。vector和 string优先于动态分配的数组首先,在性能上,由于 vector能够保证连续内存,因此一旦分配了后,它的性能跟原始数组相当;其次,如果用new,意味着你要确保后面进行孓 delete,一旦忘记了,就会出现BUG,且这样需要都写一行 delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如int** ary = new int*[row_num];for(int i=0: i< row num; ++1)ary [i] new int [col_num]用 vector的话一行代码搞定vectorary(row_num, vector(col_num, 0))使用 reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。2数组2.1.1 Remove Duplicates from Sorted array描述Given a sorted array, remove the duplicates in place such that each element appear only onceand return the new lengthDo not allocate extra space for another array, you must do this in place with constant memoryFor example, Given input array A =[1, 1, 2Your function should return length =2, and a is now [1, 2]分析无代码1/ LeetCode, Remove Duplicates from Sorted Array//时间复杂度0(n),空间复杂度0(1)class Solution tublicint removeDuplicates(vector& nums)tif (nums empty o) return 0;int index =ofor (int i =1: i nums size: 1++ iif (nums [index] ! nums [i])nums [++index]= nums [i]return index 12.1数组代码2//LeetCode, Remove Duplicates from Sorted Array/使用STL,时间复杂度0(n),空间复杂度0(1)class Solution ipublicint removeDuplicates(vector& nums)treturn distance(nums begin(), unique(nums begin(), nums end ())代码3/ LeetCode, Remove Duplicates from Sorted Array/使用STL,时间复杂度0(n),空间复杂度0(1)lass Solution fublicint removeDuplicates(vector& nums)treturn distance(nums begin(, removeDuplicates(nums begin(, nums end(), nums begintemplateOutIt removeDuplicates(InIt first, InIt last, OutIt output)thile (first last)i*output++ = *firstfirst upper_bound(first, last, *firstreturn output相关题目Remove Duplicates from Sorted Array I,见§2.1.22.1.2 Remove Duplicates from Sorted Array II描述Follow up for"Remove Duplicates " What if duplicates are allowed at most twice?For example, Given sorted array a =[1, 1, 1, 2, 2, 3]Your function should return length=5, and A is now [1, 1, 2, 2, 3分析加一个变量记录一下元素出现的次数即可。这题因为是已经排序的数组,所以一个变量即可解决。如果是没有排序的数组,则需要引入一个 hashmap来记录出现次数。4第2章线性表代码1// Leet Code, Remove Duplicates from Sorted Array II//时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)class Solution tublicint removeDuplicates(vector& nums)tif (nums size(
- 2020-12-04下载
- 积分:1
-
数字万用表的设计
一个很不错数字万用表设计,内有详细的电路设计及介绍。流电阻或其他电参量的仪表,其功能可以任意组合并以十进制数字显示被测量结果,应用十分广泛,在传统的电工和电子测量中广泛使用的模拟测量仪虽然具有观察着可以自接看出表针偏转了多个格或满刻度的白分之儿等优点,但要对读数加以换算或说明尤其是不可避免的带来人为视差,不同的观察者可得出不同的结果,数字万用表则不同,他可以直接将测量结果用数字显示出来。数字万用表具有10大特点显示清晰直观,读数准确:为了提高观察的清晰度,新型手持式数字万用表(HDMM)已普遍用字高为26mm(约Lin)的大屏幕LCD(液晶显示器)。有些数字万用表还增加∫背光源,以便于夜间观察读数。为∫提高显示亮度,台式数字万用表大多选用LED数码管或数码管(VFD)。新型数字万用表还增加了标识符显示功能,包括测量项目符号(例如AC、DC、hFF、IOΩ2、IO(iIC、MFM),单位符号(例如mV、V、kV、μA、mA、A、g、k2、M2、nS、H、k、MHz、pF、n、、℃、),特殊符号(如低电压指示符号OBAT”、读数倮持符号“HOID¨或“DH、峰值保持符号“ PEAK HOLD或PH、自动量程符号AUIO、10倍乘符号“*10”、峰鸣器符号等)。有些数字万用表还在液晶显示器的小数点下面设置了量程标识符,例如当小数点下边显示200时,就表明所对应的量程为200,依次类推。为解决数字万用表不能反映被测电压的连续变化过程以及变化趋势这一难题,一种“数字模拟条图仪表也以问世。这里讲的模拟条图有双重含义:第一,被测量为连续变化的模拟量:第二,利用条图形来模拟被测量的大小及变化趋势。这类仪表将数字显示与高分辩率模拟条图显示集于一身,兼有数字万用表与指针万用表之优点,为用效字万用表完仝取代指针万用表创造了条件。智能数字万用表带微处理器与标准接口,可配计算机和打印机进行数据处理或自动打印,构成完整的测试系统。显示位数:字万用表的显示位数通常为312位~812位。具体讲,有31/2位、323位、334位、412位、43/4位、51/2位、612位、71/2位、812位供9种。判定数字万用表的位教有内条原则:第一,能显示从09所有数字的位是整数值;第二,分数位的数值是以最大显示值中最高位的数字为分子,用满量程时最高位的薮字作分母。例如某数字万用表的最大显示值为±1999,满量程计数值为200,这表明该仪表有3个整数位,而分数值的分子为1,分母是2,故称之为31/2位,读作三位半,其最高位只能显示0或1。需要指出的是,目前冇些新型能数字万用表的显示位数比较特殊。例如,VC8145型台式智能数字万用表的满量程值为33000,Ms8050型台式智能数字万用表的满量程值为53000,就很难将其归入哪一种显示位数。这中情况下,通常只给出满量程值。312位数字万用表设计准确度高:确度是测量结果中系统误差与随机误差的综合。它表示测量结果与真值的一致程度,也反映了测量误差的大小,真确度愈高,测量误差愈小。测量的绝对误差有以下三种表达式:△U士(a%RDG+b%KS)1-1)AU=士(a%RDG+(1-2)△U=士(a%RDG+b%S+n)式(1-1)中,RDG为读书值(即显示值),FS表示满量程值。拈号中第1项代表AD转换器和功能转换器(例如分压器)的综合误差,第2项是数字化处理所带来的误差。式(1-2)中,n是量化误差反映在末位数字上的变化量。若把n个字的误差折合成满量程的百分数,则变成式(1-1)。因此,上述二式是完全等价的。式(1-3)比较特殊,第三项通常表示由指针万用表,例如312位、412位数字万用表的准确度分别可达±0.3%、±0.05%1.14分辨力高数字万用表在最低电压量程上末位1个字所代表的电压值,称作仪表的分辨力,它反映了仪表灵敏度的高低。分辨力随显示位数的增加而提高。例如312位、412位、81/2位数字万用表的最高分辨力分别为100μV、10μVlnV。数字万用表的分辨力指标亦可用分辨率来袤示。分辨是指所能显示的最小数字(零除外)与最大数字的百分比。例如,31/2位数字万用表的分辨率为1/19990.05%。测试功能强:字万月表不仅可以测量官流电压(DCⅴ)、交流电压(ACV)、直流电流(DCA)、交流电流(ACA、电阻(g)、二极管正向压降(UF)、晶体管共发射极电流放大系数(hF),还能测量电容(C)、电导(G)、温度(T)和频率(f),而且利用峰鸣器挡(BZ)还可检查线路的通断。VC9850A+、VC9808、MS820H型数字万用表增加了电感挡。有的仪表还有信号发生器挡及AC/DC自动转换功能。新型数字万用表大多增加了下述测试功能:读书保持(HOLD)、逻辑( LOGIO)测试、真有效值(TRMS)测量、相对值(REL〕测量、自动关机( AUTO OFF POWER)、当电流挡拔错位置时的声音告警等。国产VC90型数字万用表具有语音报数功能。MS8209型五合一数字万用表,还可以测量站空比(测量范围是0.1%~999%,误差为±3.0%)、温度(测量范围是-20~400℃C或-20~-1000℃,误差为±3.0%)、相对湿度(测量范围是30%-95%,误差为±5.0%)、照度(测量范围是4000~40000x,误差为±5.0%)及噪卢(测量范围是35~10UB)。VC9808A+增加了2000M超高阻挡,VC8145A还能测量功率电平。最新丌发的33/4位~412位智能数字万用表,将高性能与低成本集于一身,大多具有下述功能:液晶条图显示( LCD Baryaph),多重显示,测量最小偵/最大值,峰值保持:数据储存,复位,数据输出,设定测量范围的上、下限,软件自动校准,快速测量等。国产MS9803R型智能数字万用表采用光电隔离的RS232C接口,还配有 PC Windows视窗软件,能在PC上记录数据及输出图表。利用MS9803R所提供的 DMM VIEW Version2软件,将MS9803R拔至直流200m挡,并通过RS-232C接口连到PC上,实测某一缓慢变化的直流电压。测量范围宽:41/2位手持式多功能数字万用表为例,其测量范围一般为:DCV(001mV~1000V),ACV(0.01mV~700V或750V),DCA(0.1A~20A), ACA DCA(1A~20A),g2(0.0192-20Mg,少数仪表可达200M92,甚至扩展到2000192),电导(0.1nS~100nS),电容(0.1pF~20pF),电感(1H~20H),频率(10Hz-20kHz,部分仪表可达200kHz,甚至扩展到10MHz),二极管正向压降UF(0~2V),晶休管电流放大系数Hf(0-1000),可满足常规电了测量的需要。智能数字万用表的测量范围更宽。测量速率快:字万用表在每秒钟内对被测电压的测量速率,单位是“次/秒”。它主要取决于AD转换器的转换速率。有的手持式数字万用表用测量周期来表示测量的快慢。完成次测量过程所需要的时间叫测量周期。显见,测量速率愈高,测量周期就愈短,二者呈倒数关系。312位数字万用表的测量速率一般为2~5次秒,多数仪表为2~3次秒。41/2位数字万用表可达20次/秒。5/2位~71/2位数字万用表一般为几十次/秒以上,有的能达到几百甚至上千次秒。H3458A型81/2位DMM工作在41/2位方式下的最高测量速率可达10万次秒,在81/2位、51/2位方式下分别为6次秒、5万次秒。测量速率与准确度指标存在矛盾,通常是准确度愈高,测量速率愈低,二者难以兼顾。解这一矛盾有两种方法:一种是增设快速测量挡,专配测量速率交快的AD转挨器;另一种方法是通过降低显示位数来大幅度提高测量速率,此法目前应用的比较普遍,可满足不同用户对测量速率的需要时。输入阻抗髙:字万用表电压挡具有很高的输入阻抗,通常为10-10000MQ,从被测量电路上吸取的电流极小,不会影响被测信号源的工作状态,能减小由信号源内阻引起的测量误差。集成度高,微功耗:持式数字万用表采用单片AD转换器,外围电路比较简单,只要少量铺助芯片和外围元件。近年来各种单片数宇万用表专用芯片竟相问世,使用片IC即可构成功能比较完善的自动量程式数字万用表,为简化设计和降低成本创造了有利条件。新型数字万用表普遍釆用CMOS大规模集成电路的AD转换器,整机功耗很低。31/2312位数字万用表设计位、41门2位手持式数字万用表的整机功耗仅几十亳瓦,可用9V叠层电池供电。51/2位~812位数字万用表的总功耗一般也只有十至几十瓦。侏护功能完善,抗干扰功能强:字万用表具有比较完善的保护电路,过载能力强,新型数字万用表还增加了高压保护器件,能防止浪用电压。使用时只要不超过规定的极限指标,即使出现误操作(例如用电阻挡去测量220V交流电压),一般也不会损坏仪表内部的大规模集成电路。当然应力求避免误操作,以免因外围元件〔如熔丝管、量程开关)损坏而影响正常使用。必须指出,仼何保护电路都不可能做到万无一失。换言之,倘若保护保护电路发生故障,仪表就失去的保护屏障。51/2位以下的数字万月表大多采用积分式AD转换器,其串模抑制比(SMR)共模抑制比(CMR)分别可达100dB、80~120dB。高档数字万用表还采用数字滤波、浮地、双重屏蔽等先进技术,进一步提高了抗干扰能力,CMR可达180dB数字万用表应用于国防、科研、工厂、学校、计量测试等技术领域,并随着技术的发展,其性能不断提高。13论文设计的主要工作本次设计通过相关资料的收集及对数字万用表工作原理分析列出总体思路,采用ICL7106型多功能低功耗单片31/2位AD转换器,选择双积分AD转换方式,设计出交流电压测量电路、直流电流测量电路、电阻测量电路、电导测量电路、频窣测量电路、电容测量电路等。研究其每个参量的测量方法及功能实现。它主要的核心是通过AD转换来实现的,通过对测量电路的原理分析设计,实现交直流电压、直流电流、电阻、电容、晶体管等测量。此次设计的31/2位教字万用表显示清晰直观、读数准确,分辨力高、测试能力强、微功耗、外围电路简单、价格便宜、成本低等优点。2312位数字万用表的结构设计2.131/2位数字万用表基本构成数字万用表的基本构成如图2-1所示。仪表的心脏是单片AD转换器,典型产品有ICL7106、ICL7136型31/位单片A①转换器。外围电路主要包括功能转换器、测量项目及量程选择开关、LCD(或LED显示器)。此外还有蜂鸣器震荡电路、驱动电路、检测线路通断电路、低电压指示电路、小数点标识符、驱动电路。LU转换器LCD(LED)功能ACDC量程选择AD转换器数字电路诜择转换器Q/U转换器www.dola.com图2-1数字万用表基本构成Fig 2-1 The basic component of ordinary digital multimeter2,2功能转换器的介绍及基本工作原理尽管数字万用表的型号繁多,整机电路也各有差异,但其基本测量原理大致相同。下面介绍数字万用表最常用的几种功能转换器的电路工作原理,对于本次数字万用表设计原理与应用具有重要的意义22.1线性ACDC转换器数字万用表的交流/直流(ACDC)转换器分平均值响应的AC/DC转换器、真有效值/直流( TRMS/DO)转换器两种平均值响应的线性ACDC转换器是由运算放大器和二极管组成的半波(或全波)线312位数字万用表设计性整流电路。它具有线性好、准确度髙、电路简单、成本低廉等优点。由于它是按照正弦波平均值与有效值的关系而定的,因此所构成的仪表只适用于测量不失真的止弦波电压线性全波整流式ACDC转换器的电路图如22所。交流电压满量程为200mV(有效值)现利用单运放TI61(IC1)与二极管T、D2组成平均值响应的线性整流电路,能消除二极管在小信号整流时所引起的非线性电压,使输出的平均值电压U与ACDC转换器的输入电压UN(有效值)呈线行关系,适合测量40~400Hz的正弦波,测量准确度优于1%。当频率超过400H时,测量误差会增大。电路中的R是T061同相输入端电阻。R2与R3为负反馈电阻,可将IC接成同相放大器。C1、C2为隔直电容TH(UM=20m)10OkC1L, NL01 47uU o R7 1MIN+160.02217106UD2 ILCD. 8K00k3K32RPCOM1D3R6200187K图22 AC/DC转换器的电路comFig 2-2 The circuit of the AC/DC Converters需要指出,该电路属于输出不对称式线性全波整流电路,在正、负半周时的等效电路及整沆输出波形如图23所示。正半周时电压放大倍数K>222(半波整流时正弦波的有效值与平均值的关系为UR=2.22U0);负半周时Kr=1,它相当于电压跟随器。具体讲,在正半周时v1导通,D2截止,IC1输出电流的途径是C1→VD1→R4→R6一RP→COM(地),并终过R3对C3充电。此时式中R电位器RP的电阻值。将R4=3k2,、R6=1,87k2、R2p=0~2002代入上试得到K=2.6~245>2.22。负半周时,VD2导通,V1截止,电流途径变成COM→RP→R6→D2→C1→C1,此时K=1。由R和IClRI[C1o UoR4VD?图2-3等效电路及输出波形Fig 2-3 Equivalent circuit and the output waveformC组成的平滑滤波器可滤除交流纹波,高频千扰信号则被由R、C构成的高频滤波器所滤掉,从而获得了稳定的平均值电压,再通过312位单片AD转换器IC2(ICL7106)完成数/模转换,驱动LCD显示出测试结果。图2-2中的阴影区表示连接AD转换器与LCD的导电橡胶条。该电路能消除整流管的非线性误差。RP是校准交流电压的电位器,调整RP可使仪表直接显示出被测电压的有效值。C是运放IC的频率补偿电容。R2和C4还向VD2提供偏压,以减小TL061对小信号放大时的波形失真。TL061的电源亦可取自9V电源。上述ACDC转换器适配各种31/2~412位单片AD转换器,并可将LCD改成LED显示器。设计交流电压挡(ACV)时,还应在ACDC转换器的输入端接上如图22中所示的精密电阻分压器R1~R222简易平均值AC①C转换器简易平均值ACDC转换器的电路图2-4所示。由于该电路末使用运算放大器及电位器,因此电路简单,不需要调整。两个ACV挡分别为200V、750V(RMS)。VD为整流管,VD2为保护二极管。R1为输入端电阻,仪表输入阻抗∠≈R=R1+R2+R32=4.51M。C1为隔育电容。正半周时四导通,VD2截止,做半波整流;负半周时T1截止,四D2导通,由VD2给电流提供泻放回路。整流后的脉动直流经C2滤波,获得平均值电压Uo。R2和R3为滤波器312位数字万用表设计负载,兼作750V拦的分压器,可将U再衰减10倍。ACⅤ挡的测量准确度可达±1.2%~士15%,误差略高于线性整流电路。D和V2应采用N4004型1A400ⅴ的硅整流管,以便承受较高的反向电压。对半波整流而言,正弦波电压平均值与有效值的关系为U=045Uw。巧妙地利用电阻分压器可使仪表直接显示被测电压有效值。不难验证,对于200V挡,若UN=2000V(RMS),则Jl=0.45U/m=0.45×200.0V=90V10×103=0R2+R3=90My200. 0mvR1+R2+R24.51×10°1 CI VDI200VIN+4.5M0.1μR27106750VU.F200mACvLCDVD2本Tc2IN4004Ou hR30.022COMO1KCOM图24简易平均值ACDC转换器电路Fig, 2-4 The circuit of simple average of ac/ dc converterarm对于750V挡,若U,=750V(RMS),则R1×10U=0.45U,m337,5mⅤ=75.0mVR,+rtr4.5×10只要改变小数电位置,即可使750V挡直接显示出U值。具体方法是去掉小数点后仍用200mV基本表测量U,并将显示单位取V,这样就把75.0mV变换成750V。223IU转换器数字万用表的直流电流挡(DCA)一殷设置4挡:2nA、20mA、200mA、20A,IU转换器的电路图2-5所示。其中20A挡专用个输入插孔。被测电流经过分流器可转换成电压信号。分流器由R~R组成,总电阻为100g2。其中,R1和R2采用精密金属膜电阻,R3
- 2020-12-08下载
- 积分:1