摘要:飞利浦公司研制的51LPC系列单片机是采用两倍速80C51内核,具有低成本、低功耗、低电磁干扰(EMI)、高抗干扰性及内建电源Brownout侦测、模拟功能、UART、I2C和片内RC振荡器的新一代单片机。本文介绍51LPC系列单片机控制交流电机的原理电路和源程序。
关键词:P87LPC761 Brownout侦侧 模拟比较器 EMI 电流过零检测 半波整流 双向可控硅
1 概述
PHILIPS 51LPC系列单片机目前已包括P87LPC760/1/2/4/7/8/9共七个型号。51LPC提供高速和低速的晶振和RC振荡方式,可编程选择;具有较宽的操作电压范围2.7~6.0V,可编程I/O口线输出模式选择,可选择施密特触发输入,LED驱动输出;有内部看门狗定时器及提供掉电检测模拟功能,最大限度地减少了外部元件的使用。这些特性和改进的C51结构结合在一起,使得在设计高集成度、低成本和低功耗控制电路时具有更多的选择。该系列主要用于对系统成本有严格要求,且系统具有高抗干扰性能的低功耗应用领域,已广泛用于电子阳性能表、IC卡水表、电子称、消毒碗柜、LED显示屏、煤气表等工业控制领域。
表1 P87LPC761引脚功能
引脚号 | 符 号 |
功 能 |
1 | P0.0/CMP2 | 比较器2输出 |
16 | P0.1/CIN2B | 比较器2正向输入B |
15 | P0.3/CIN1B | 比较器1正向输入B |
14 | P0.4/CIN1A | 比较器1正向输入A |
13 | P0.5/CMPREF | 比较器参考 |
11 | P0.6/CMP1 | 比较器1输出 |
12 | VDD | 电源正端 |
4 | VSS | 电源负端 |
5 | X1/P2.1 | 振荡放大器输入 |
6 | X2/P2.0/CLKOUT | 振荡放大器输出 |
7 | SDA/INT0/P1.3 | I/C数据输入/输出 |
8 | SCL/T0/P1.2 | I2C时钟输入/输出 |
3 | RST/P1.5 | 外部复位输入 |
10 | P1.0/TXD | 串行口输出 |
9 | P1.1/RXD | 串行口输入 |
2 | P1.7 | 通用I/O口 |
2 原理
2.1 负载电压的过零控制——单输入检测
方框图1和2为该应用的总体框图。电路直接通过市电进行供电,相位控制时序取决于市电电压过零检测(Voltage Zero Crossing)(见图1)或负载电流过零检测(Current ZeroCrossing)(见图2)。采用哪种检测方式取决于实际应用的情况。控制模块计算机发时刻,LPC可直接吸收多个Triac的门电流。为了降低EMI,保证安全操作并控制相位,有必要在电流过零或一个特定的相位角时触发Triac。对于阻性负载,电流和电压过零是一致的;对于感性负载,电流滞后于电压。负载的状态决定了Triac是根据电压过零还是电流过零进行可控硅的触发。
检测电压过零最简单的方法就是测量市电电压极性的变化。LPC的+5V端连接到电源线(或中性点),而中性点(或电源线)通过限流电阻连接到任意一个I/O口。I/O口的电压被内部钳位二极管钳制0V和+5V之间,如图3所示。微控制器可读入输入口的输入状态,并且当状态从1变为0或从0变为1时,检测到过电压的过零点。电平跳变点取决于I/O口的模式(TTL或施密特触发),过零点到检测点的延迟时间取决于电源电压的变化率(例如230V或110V系统),这些都必须纳入考虑范围。该电路的优点是简单和成本低,因为仅需要一个额外的电阻(要求高耐压值)并可使用LPC的任何一个I/O口。
2.2 电流过零检测——电流过零窗口比较器
电流过零(CZC)是Triac的换流点。在非线性负载时,由于电流过零点和电压过零(VZC)点不一致,CZC检测尤其重要;但是,监控CZC并不像监控VZC那么容易,因为,通常检测方式需要在负载上串联一个电阻,这就分离了负载电路且浪费了电能。通常方法是通过放大和电平变换,然后和微控制器相连,这至少需要一个额外的运算放大器及其相关元件。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并处于比较器的操作电压范围,R1、R2和R3将电压限制在过零点附近。
3 完整的LPC+Triac+Motor(AC)电路实现
在P87LPC761和Triac的控制应用中,整个系统对电源消耗很低并具有高抗干扰性能,故可以通过阻容降压和单相半波整流由市电直接供电,而不需要昂贵且体积大的变压器,外部零件极少。此方案成本低。图5所示是一个感性负载的通用电路,同时适合阻性负载。Triac可使用BTA216 600E。像图4那样,通过查询P87LPC761的比较器来检测负载电流过零,并重新触发Triac。也可用中断驱动。启动电机时用电压过零测量并触发Triac的门级脉冲,以减少电磁干扰,并可从主循环的开始进行控制和重定义在启负载之间软件等待整个半周期。本例在复位后通过用户按键开启负载,通过按键可进行相角控制以控制电机的不同转速。如图5所示,LED发光管闪烁的快慢能体现电机转速,LED闪烁越快电机转动越快,反之则越慢;电机停转,LED熄灭。此电路稍经修改就可以用于其它许多类似的场合。
源程序清单:
该软件在Keil C51 V6.02上编译通过,在目标板上运动正常。如果用其它编译器必须稍加修改。
#include
#define uchar unsigned char
#define uint unsigned int
uchar s,x,y=0;
void timer0(void)interrupt 1 using 1 {/*T0中断服务程序*/
x=x+1;
if(x/10>s){
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=0;i
{for(j=0;j<210;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设为高阻输入*/
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&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)();
whie(!(P1&0x80)){};
while(P1&0x80){};
P1=P1&0xfe;} //启动电机
EA=1;TR0=1;
speed(s); }
} //结束
上一篇:CAN总线在混和动力汽车电机控制系统中的应用
下一篇:永磁无刷直流电机数字式控制器
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 有奖直播|是德科技感恩月—遇见KeysightCare - 贵重仪器安全避坑指南
- 详述项目申请,可获 TI Stellaris开发板!
- 追更有惊喜:解救被FSM折磨过的你,justd0解析LSM6DSOX有限状态机官方例程
- 学习赢京东卡 | 从12V电池及供电网络优化的角度分析电动汽车E/E架构的趋势
- Nexperia 模拟和逻辑芯片 更低的电压、更出色的性能 答题赢好礼!
- 观看TI IOT解决方案研讨会 答题即可赢取更多精美好礼!
- TI精品课程欢乐学习季!
- 中秋“国宴“ :拍摄板卡上的国产元器件,抽开心小礼品
- Deyisupport博文阅读季:推荐你喜欢的放大器博文,抢楼赢好礼!
- 来英飞凌旗舰店,探寻秋日好物!