飞利浦51LPC系列单片机用于控制交流电机_第1页
飞利浦51LPC系列单片机用于控制交流电机_第2页
飞利浦51LPC系列单片机用于控制交流电机_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、飞利浦51LPC系列单片机用于控制交流电机摘要:飞利浦公司研制的51LPC系列单片机是采用两倍速80C51内核,具有低成本、低功耗、低电磁干扰(EMI )、高抗干扰性及内建电源 Brownout侦测、模拟功能、UART、 I2C和片内RC振荡器的新一代单片机。 本文介绍51LPC系列单片机控制交流电机的原理电 路和源程序。1概述PHILIPS 51LPC系列单片机目前已包括 P87LPC760/1/2/4/7/8/9共七个型号。51LPC提供高 速和低速的晶振和 RC振荡方式,可编程选择;具有较宽的操作电压范围2.76.0V,可编程I/O 口线输出模式选择,可选择施密特触发输入,LED驱动输出

2、;有内部看门狗定时器及 提供掉电检测模拟功能,最大限度地减少了外部元件的使用。这些特性和改进的C51结构结合在一起,使得在设计高集成度、低成本和低功耗控制电路时具有更多的选择。该系列主要用于对系统成本有严格要求,且系统具有高抗干扰性能的低功耗应用领域,已广泛用于电子阳性能表、IC卡水表、电子称、消毒碗柜、LED显示屏、煤气表等工业控制领域。For pers onal use only in study and research; not for commercial use本文介绍在市电情况下使用LPC系列微控制器P87LCP761与三象限双向晶闸管(Triac)控制感性负载交流电机的方法。使

3、用一种全新的电流过零检测方法,不必在负载电流线路中加入旁路电阻,利用单相关波整提供控制电路的电源。LPC的高抗干扰性能使得只用极少外部零件即能完成此系统。此解决方案可通过P87LPC761系列单片机的片内 RC振荡器和比较来实现,或者其它带有片内 PWM、ADC和DAC等功能的LPC系列芯片。该系统可用 于对电机(AC/DC )阀门、泵灯等的控制,广泛用于照明、HVAC、电源工具、仪表及工业控制等领域。表1是P87LPC761的引脚功能。For pers onal use only in study and research; not for commercial use表1 P87LPC76

4、1引脚功能引脚号符号功 能1P0.0/CMP2比较器2输出For personal use only in study and research; not for commercial use16P0.1/CIN2B 比较器 2 正向输入 B15P0.3/CIN1B 比较器 1 正向输入 B14P0.4/CIN1A 比较器 1 正向输入 A13P0.5/CMPREF 比较器参考11P0.6/CMP1 比较器 1 输出12VDD 电源正端4VSS 电源负端5X1/P2.1 振荡放大器输入6X2/P2.0/CLKOUT 振荡放大器输出7SDA/INT0/P1.3I/C 数据输入 /输出8SCL/T

5、0/P1.2I2C 时钟输入 /输出3RST/P1.5 外部复位输入10P1.0/TXD 串行口输出9P1.1/RXD 串行口输入2P1.7 通用 I/O 口2 原理2.1 负载电压的过零控制单输入检测方框图 1 和 2 为该应用的总体框图。 电路直接通过市电进行供电, 相位控制时序取决于市电 电压过零检测 ( Voltage Zero Crossing )(见图 1)或负载电流过零检测 ( Current ZeroCrossing ) (见图 2)。采用哪种检测方式取决于实际应用的情况。控制模块计算机发时刻,LPC 可直接吸收多个 Triac 的门电流。为了降低 EMI ,保证安全操作并控制

6、相位,有必要在电流过零 或一个特定的相位角时触发Triac 。对于阻性负载,电流和电压过零是一致的;对于感性负载,电流滞后于电压。负载的状态决定了 Triac 是根据电压过零还是电流过零进行可控硅的 触发。检测电压过零最简单的方法就是测量市电电压极性的变化。LPC的+5V端连接到电源线(或中性点),而中性点(或电源线)通过限流电阻连接到任意一个 I/O 口。 I/O 口的电压被内部 钳位二极管钳制0V和+5V之间,如图3所示。微控制器可读入输入口的输入状态,并且当 状态从 1 变为 0 或从 0 变为 1 时,检测到过电压的过零点。 电平跳变点取决于 I/O 口的模式 (TTL 或施密特触发)

7、 ,过零点到检测点的延迟时间取决于电源电压的变化率(例如 230V 或 110V 系统),这些都必须纳入考虑范围。该电路的优点是简单和成本低,因为仅需要一 个额外的电阻(要求高耐压值)并可使用 LPC 的任何一个 I/O 口。2.2 电流过零检测电流过零窗口比较器电流过零(CZC )是Triac的换流点。在非线性负载时,由于电流过零点和电压过零(VZC )点不一致, CZC 检测尤其重要;但是,监控 CZC 并不像监控 VZC 那么容易,因为,通常 检测方式需要在负载上串联一个电阻, 这就分离了负载电路且浪费了电能。 通常方法是通过 放大和电平变换,然后和微控制器相连,这至少需要一个额外的运算

8、放大器及其相关元件。LPC检测电流过零采用了一种全新的方法:监控Triac门极(VG)到阳极(T1)的电压。VG-T1 给出了 Triac 即将换流的一个信号, 因为 VG-T1 在 CZC 时过零,根据负载电流和 Triac 的特性,VG-T1可低至0.1V或大于1.2V。如图4所示电路,使用窗口比较器监控该电压即 能完成 CZC 功能。图 4 窗口比较器用于门电压和电流过零检测器, VG-T1 相对于线电压可 正可负,取决于负载电流的方向。也就是说 VG-T1 相对于 VCC+5V 而言可正可负。因此在 LPC 可监控之前, 必须通过 R4 和 R5 分压,以使其低于 VCC 并处于比较器

9、的操作电压范围, R1、R2 和 R3 将电压限制在过零点附近。3 完整的 LPC+Triac+Motor(AC) 电路实现在 P87LPC761 和 Triac 的控制应用中, 整个系统对电源消耗很低并具有高抗干扰性能,故可以通过阻容降压和单相半波整流由市电直接供电, 而不需要昂贵且体积大的变压器,外部零件极少。此方案成本低。图 5 所示是一个感性负载的通用电路,同时适合阻性负载。Triac可使用BTA216 600E。像图4那样,通过查询 P87LPC761的比较器来检测负载电流过零, 并重新触发Triac。也可用中断驱动。启动电机时用电压过零测量并触发Triac的门级脉冲,以减少电磁干扰

10、,并可从主循环的开始进行控制和重定义在启负载之间软件等待整个半周 期。本例在复位后通过用户按键开启负载, 通过按键可进行相角控制以控制电机的不同转速。如图 5 所示, LED 发光管闪烁的快慢能体现电机转速, LED 闪烁越快电机转动越快,反之 则越慢;电机停转, LED 熄灭。此电路稍经修改就可以用于其它许多类似的场合。源程序清单:该软件在 Keil C51 V6.02 上编译通过, 在目标板上运动正常。 如果用其它编译器必须稍加修 改。#include #define uchar unsigned char#define uint unsigned intuchar s,x,y=0;voi

11、d timer0(void)interrupt 1 using 1 /*T0 中断服务程序 */ x=x+1;if(x/10s)if(y= =0)P1=P1&0xfb; /*LED 点亮 */x=0;y=1;else P1=P1|0x04; /*LED 熄灭 */ y=0;x=0;TF0=0;TH0=-(28/256);TL0=-(28%256);void speed(s) /* 电机转换控制子程序 */uchar pulsecount, pulseduration=0;uint i=0;uint j=0;if (CMP1&0x02)&!(CMP2&0x02)/* 查询比较器 */for (i

12、=0;is;i+)for(j=0;j210;j+) ; /* 延时触发 */ CMP1=CMP1&0xfc ;CMP2=CMP2&0xfc ; pulsecount=1;P1=P1&0xfe;pulseduration=12; /* 触发脉冲宽度 */ while(pulseduration)pulseduration- -;P1=P1|0x01;pulsecount- -; void Initcomparatior(void) / 初始化 P87LPC761/ PT0AD=0x6f; /* 禁止 P0 口的数字功能 */ P0=0xff;P0M1=0x2a; /*P01 ,P03,P05 设

13、为高阻输入 */P0M2=0xd5 ; /*P00 , P04, P06 设为推挽方式 */ P1=0xff;P1M1=0x82; /*P17 用于 VZC 检测 */P1M2=0x05 ;CMP1=0x34 ;CMP2=0x34 ;void main(void)uchar pulsecount ,pulseduration=0x00;uint j;i=0;SP=0x5f;EA=0 ;TH0=-(28/256) ;TL0=-(28%256) ;TF0=0;EA=0;TR0=0;ET0=1;CMP1=CMP2=0;Initcomparator();CMP1=CMP1&0xfc;CMP2=CMP2

14、&0xfc;s=0; while(P1_1) ; while(!P1_1); while(P1&0x80);while(!(P1&0x80); while(P1&0x80) while(!(P1&0x80);while(P1&0x80);P1=P1&0xfe ; /启动电机 不得用于商业用途while(1)if(P1_1= =0) x=0;while (!x); if(P1_1=0) P1=0xff;s=s+1; / 停止电机 if(s= =8)s=0;while(!P1_1); / 等待释放按键while(P1&0x80); while(!(P1&0x80); while(P1&0x80)(); whie(!(P1&0x80); while(P1&0x80); P1=P1&0xfe; / 启动电机 EA=1;TR0=1;speed(s); 仅供个人用于学习、研究;不得用于商业用途For personal use only in study and research; not for commercial use.Nur f u r den pers?nlichen f u r Studien, Forschung, zu komm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论