tag 标签: 相位

相关博文
  • 热度 15
    2018-3-25 16:42
    9407 次阅读|
    5 个评论
    反馈电路中的相位补偿到底是什么鬼!
    2004年,帮朋友做镍氢充电器,利用镍氢电池充满电时电压有一个微小的下降这个特点来识别是否已经充满,比如1.2V的镍氢电池,快充满的时候,电压在1.35V,之后逐步下降,电压可以低于1.30V。所以需要单片机间歇检测电池两端电压,大概充3秒钟电再停止,之后检测电池两端电压。 因为需要识别下降的微小电压,所以需要加一级运放,放大这个下降的幅度,如下图: 那个时候刚进入社会,实践经验不足,为了更好的提升放大性能提高稳定性,想当然的在运放的反相输入端并了一颗小电容,我记得大概是10nF,如下图: 调试程序的时候发现,电池降压的信号很难检测到,往往电池充满发热很久才能检测到,这个问题困扰了一段时间没有解决,朋友带回香港,跟一个硬件人员一起调试,用示波器一个个脚的看信号,最终发现运放输出存在短时间的振荡,而这个振荡导致了信号采样问题,于是我很快想到是自己加了这颗电容的问题,并且在脑子中想象了整个振荡过程,给朋友做了分析。这个画蛇添足行为,最终导致了这个项目失败。 上几年做红外温度测试仪,温度范围是400~1200度,采用PID红外传感器,电流转电压放大部分电路如下图: 测试中发现,在700度附近温度测量不准,最后用示波器看输出,发现在这个温度点上,输出出现了振荡,这个时候马上想到,因为PID传感器,内阻高,寄生电容大,等价于在反相输入上并联了一颗电容,类似镍氢电池的放大了,所以马上按如下电路改进: 在做手机期间,测试发现一些劣质手机充电器,用示波器测量发现,其输出电压的纹波,除了100KHz附近的开关纹波外,还有一个5K附近的正弦波基于5V附近波动,比如输出电压5V,实际则是在4.8~5.2V之间按5KHz的频率波动,当时很奇怪怎么产生这个波动的? 以上三个案例是我碰到的,虽然前两个问题解决了,但是还留有困惑,随着自己对运放理解的深入,认识到这些问题的出现,都是跟相位有关,但是看很多运放方面的书,虽然告诉我们稳定的放大需要一个180度的负反馈,若相位在360度上,可能会引起振荡,这个还要取决于放大倍数,那么若反馈信号在270度呢? 实际上,相位引起的问题并不是太多,我做技术这么多年,也就是碰到这么几个案例,但是看很多资料,比如PLL锁相环的滤波,开关电源的反馈,运放的一些参考电路,都写着需要相位补偿,实际中把这些补偿去掉,似乎也没有发现问题,所以这个让我一直疑惑到底怎么回事?这也让大家对于相位问题,并不是很关心。 去年应朋友邀请录制了运放方面的视频,为了要录制视频,专门深入的分析了一下相位,终于明白了相位到底怎么回事。 我们大部分电路的应用,都是工作在稳态下的,比如放大一个信号,开关电源输入输出比较稳定等等,对于稳态信号,相位问题确实不突出,哪怕相位是360度,但只要系统回路放大倍数小于1,也不会引起振荡,以前三极管刚兴起时代,一些放大电路还工作在自举状态下,典型的就是AM收音机。但是对于输入输出信号存在阶跃突变的场合,因为每一个突变,导致系统回路失衡,系统需要再一次平衡,那么这个相位(这儿不讨论放大增益)就决定了进入平衡的时间周期,也就是说,相位在180度下,可以最快的进入新的平衡,而相位在360度下,则需要较长的时间进入再一次平衡。大家可以把180度理解为恰阻尼,越偏离180度,阻尼振荡的时间就越长。 下面给大家提供multisim的仿真结果: C1为1uF的效果:进入稳态相对快一些: C1为10uF的效果,进入稳态时间较长: 所以对于存在阶跃突变的反馈系统中,我们要尽可能的让电路工作在180度上,提高系统再一次平衡的速度。 雨滴科技 凤舞天
  • 热度 17
    2012-7-23 18:45
    3064 次阅读|
    1 个评论
    最近在群里遇到一个人问 dsPIC  单片机 PWM 波的相位问题。首先需要产生互补、占空比可随时调整的 PWM 波形控制 H 桥,但互补 PWM 波形的相位并不是像单片机直接产生的那样(完全对着,如图 1 ),而是需要第二路相对于第一路延迟半个周期,这样的第二路的高电平段在第一路的低电平中间(如图 2 ) ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" / 图 1 图 2 经过考虑之后,我认为是可以实现的具体如下: 我试过一下,当然很粗略的效果还不错 , 我 用单片机自带 7.37Mhz 时钟试的, 会有误差 , 另外跟手册推荐的稍微有些不符(手册不建议用太大的死区 , 否则容易造成波形失真 ) 基本思想是将 PWM 设置成互补模式 , 然后调节死区,可以达到移位效果 。 dsPICF33FJ128MC510 A, PWM 频率的分辨率在 40Khz 时是 10 位多点 ( 使用 40MHz 时钟 ) 占空比的分辨率要是用死区控制的话可能就不那么高了 , 因为死区控制寄存器只有 6 位宽度 。 低配的单片机里面会有三路 pwm , 一个死区寄存器 , 高配的有两个 ,但我暂时只用一个。 另外, dsPIC 的 pwm 有 pwm 周期寄存器是 15 位的 , 相应的占空比寄存器,是 16 位的(这样占空比可以达到 Tcy/2 的精度)占空比可以实时更新,这个能满足你随时调节的需要 。 占空比还要计算 下, 然后,有至少一个 6 位的死区控制寄存器,其时钟可以配置位 Tcy 2Tcy 4Tcy 8Tcy , 占空比计算其实还是很简单的,单片机算一下就好了。 图 3 如图,这里以有效电平为高来讨论(低的时候类推就可以了): 假设 PWM 的周期是 T (通过 PTPER 寄存器进行设置),需要的实际占空比位 k% ,对应的高电平时间为 T*k%=Z, 设死区时间设置为 X ,配置单片机时给的是占空比对应的高电平时间是 Y (其实就是设置占空比(高点平)计数器对应的值)。 这几个量要满足的关系为 实际周期 T*k%=Z 由上面的图知 Z=Y-X 要实现你的第二个 pwm 波形比第一个延迟半个周期,如图 2 ,那么要求 T/2=Z+X , 这其中 PWM 的周期 T ,需要的占空比是自己知道的,那么通过上面三个方程就可以确定下其他 XYZ 的量了,占空比 0~50% 都是可以滴,到 50% 就不用移了。 当然 YZ 的单位是一样的,但 X 因为分辨率只有 6 位,只能通过调整其不同的时钟周期来达到近似的结果。 当然 PWM 的时钟也是可以调节的,这个具体看 PWM 那一章的手册就很明白了。 要使用 40Mhz 的时钟,可以用 pic 内部时钟与自带 pll 来实现。 我用的是没有倍频的 7.37Mhz , PWM 频率是 10Khz ,如果用这个我实验时候的那个精度来算的话,死区设置成 8Tcy 这样,粗略估计调整之后高电平的最大的误差是 1.08556us 了,具体加到不同的占空比上去其影响是不同的。对 1% 占空比和 40% 占空比来说影响必然不同。具体看你实际的精度要求了。
相关资源