单片机输出PWM脉冲的两种方法
51单片机没有PWM输出功能,可以采用定时器配合软件的方法实现,对精度要求不高的场合是非常实用的。采用高速光隔6N137输出,并将PWM的信号倒相。
本文引用地址:http://www.eepw.com.cn/article/201609/296668.htm
一、 工作原理
二、PWM输出
1. 固定脉宽PWM输出
用T0定时器完成PWM输出,脉宽固定为65536μs。T0定时器设置成16位定时器,PWM波形如图2所示。
程序清单:(12MHz)
PwmData0 ;T0定时t1的初值(字)
PwmData1 ;T0定时t2的初值(字)
PwmF ;PWM输出标志
;***************************
setb tro ;启动T0
……
T0Int:;T0中断服务程序
JB PwmF ,PwmOutH
;PWM输出未完成返回
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Setb tr0
Setb PwmF
Clr p1.0 ;PWM输出脚
reti
PwmOutH:Setb p1.0
Clr tr0
Mov TH0,High(PwmData1)
Mov TL0,Low(PwmData1)
Setb tr0
Clr PwmF
reti
说明:在主程序中计算PwmData0、PwmData1的值。
2. 可变脉宽PWM输出
用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大65536μs。)
T0、T1定时器设置成16位定时器。
程序清单:(12MHz)
PwmData0 ;T0定时t1的初值(字)
PwmData1 ;T1定时T的初值(字)
;***************************
setb tro ;启动T0
setb tr1
……
T0Int:Clr tr0 ;T0中断服务程序
setb p1.0 ;PWM输出脚
reti
T1Int:Clr p1.0 ;T1中断服务程序
Clr tr0
Clr tr1
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Mov TH1,High(PwmData1)
Mov TL1,Low(PwmData1)
Setb tr1
Setb tr0
reti
说明:在主程序中计算PwmData0、PwmData1的值。
用STC 单片机设计脉冲发生器,改进线切割机床高频电源
传统的电火花线切割机床脉冲电源主控电路利用石英晶体产生控制脉冲信号,其输出脉宽脉间数字调节范围较小且调节不稳定等缺点。针对这些缺点,选用STC89C52RC单片机来设计脉冲发生器,以此对其主控电路进行改进。这样的改进投入极少,并且能够提高机床的工作效率和加工质量。
高频脉冲电源是线切割机床加工专用电源,它的好坏直接关系到机床的加工质量。目前部分老式机床高频电源的高频振荡频率是由石英晶体产生,由于石英晶体自身存在的缺陷,会造成高频脉宽调节不稳定,使得机床加工稳定性变差,效率降低,损耗增大等现象。基于此现象,采用STC89C52RC单片机对高频电源进行控制。
1 石英晶体谐振器存在的问题
1.1 石英晶振的工作原理
如果把交变电压施加于石英晶片两个电极之间,当交变电压的频率与石英晶片固有振动频率一致时,通过逆压电效应,晶片便产生机械振动。同时又通过正压电效应而输出电信号。一般石英晶体谐振器的频率范围可以从数百赫兹到几百兆赫兹。
1.2 影响石英晶体谐振器频率的原因
影响石英晶体谐振器频率改变的主要原因是温度的变化,石英晶体谐振频率会随温度的改变而变化,我们称作为频率温度特性。它的谐振器频率-温度特性与石英本身物理特性有关,还与其加工工艺和切割角度有一定关系。恒温型和温度补偿型高稳定度晶体振荡器正是基于频率温度特性研制而成的。
石英晶体谐振频率会随着石英的老化而缓慢增大或减小。老化主要是石英晶格不完善导致晶体结构发生变化,这种变化对晶体影响时间很长,另外温度变化和压力释放效应也会产生老化。另外激励电平的急剧变化也会影响到石英晶体的老化性能,从而影响到石英晶体的谐振器的频率稳定度。
同样负载的变化、电源电压的波动以及外界辐射等也都会导致石英晶体谐振器的谐振频率发生变化。基于上述原因,我们决定采用STC89C52RC单片机对线切割高频电源控制电路进行改造。
2 STC89C52RC单片机基本功能
STC89C52RC单片机是宏晶科技推出的超强抗干扰、高速、低功耗单片机,指令代码完全兼容传统8051单片机。其最高频率时钟为80MHz,Flash存储器为8 KB,RAM为512 bit,E2PROM为2 KB,可反复擦写编程。工作温度为-40℃~+85℃,内置看门狗电路,内部电源供电系统、时钟电路和复位电路都经过特殊处理。“6时钟/机器周期”和“12时钟/机器周期”可在ISP编程时反复设置。具体结构如图1所示。
图1 STC89C52RC单片机内部结构示意图
P0端口(P0.0~P0.7):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载。对端口P0写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。
P1端口(P1.0~P1.7):P1口是一个带内部上拉电阻的8位双向 I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4 个TTL 输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。
P2端口(P2.0~P2.7):P2口是一个带内部上拉电阻的8位双向 I/O端口。P3端口(P3.0~P3.7):P3是一个带内部上拉电阻的8位双向I/O端口。
VCC(40引脚):电源电压;VSS(20引脚):接地。
图2 STC89C52RC单片机管脚示意图
3 线切割高频电源主控电路改进设计
针对高频电源存在的实际问题,本文采用STC89C52RC单片机为主要处理部件,来改进原有的主控电路部分,整个电路是由单片机处理器、驱动电路、电源电路、功能参数及显示电路组成。
这样的设计可以使电路简单,投入极少,控制灵活方便,特别适合小型企业技术改造,加工速度提高了百分之二十五。具体设计框图如图3所示,电路原理图如图4所示。
图3 高频电源控制电路框图
3.1 控制信号产生电路
控制信号由单片机程序控制产生的脉冲信号,由单片机P1端口P1.4、P1.5、P1.6输出脉冲信号,控制驱动电路进行工作。当需要较小的输出功率时,驱动电路只有一个功率输出管VT1工作,则单片机只有P1.4端有脉冲输出,P1.5、P1.6端无脉冲输出,即P1.4端口只控制一只功率管工作,若要求输出功率大一些,则让P1.5端输出信号,P1.5端控制两只功率管(VT2、VT3)工作。
同样,P1.6端输出控制信号,同时控制三只功率管(VT4、VT5、VT6)工作。例如,在要求输出功率较大,要求5只功率管同时工作,则让P1.5、P1.6端同时输出脉冲信号也就有5只功率管同时工作,此项调整是通过SA4完成。
3.2 功放驱动电路设计
功放电路由三块TLP250光耦合集成电路完成,由单片机P1.4、P1.5或P1.6输出脉冲信号(低电平有效),分别加到三块TLP250功率驱动模块的3脚。当TLP250光耦驱动模块的3脚有低电平脉冲信号时(无信号时为高电平),其6、7脚就有高电平脉冲输出,直接驱动功率场效应管IRFP450的栅极,TLP250的5脚接地,8脚接12V电源。
其中IC2(TLP250)的输出(6、7脚)接到VT1的栅极,驱动一只功率场效应管。IC3(TLP250)的输出(6、7脚)同时接到VT2 和VT3的栅极,驱动两只功率场效应管工作。IC4(TLP250)的输出(6、7脚)同时接到VT4 、VT5和VT6的栅极,同时驱动三只功率场效应管工作。
由VT1、VT2、VT3、VT4、VT5、VT6六只功率场效应管组成功率输出电路,由单片机的P1.4、P1.5和P1.6端输出的脉冲信号来控制光耦IC2、IC3、IC4的输出,进一步驱动6只功率场效应管,以控制相应的功率管工作。
3.3 功能参数及显示电路设计
控制系统相关参数的显示用了5只LED数码管进行显示,第一位数码管显示功率管的电源电压,该电压档位分高、低两个档位,是由变压器抽头的改变而获得的,再通过桥式整流电路获得两个高低不同的直流电压,整流供给功率管工作。
当选择高电压供给功率管工作时,第一位LED数码管显示为“H”,当选择低电压供给功率管工作时,LED数码管显示为“L”,电压的高低由电压选择开关控制,由操作者根据工作要求来选定。第二位、第三位显示输出脉冲的宽度(大约几十微秒),脉冲有九个级别,可以通过选择开关S2进行选定。
第四位显示脉间的时间长短,脉间也有九个级别,由脉间选择开关S3进行选定。第五位显示功率输出管工作的数量,该电路共有6只功率管,操作者可根据输出功率的大小,由选择开关S4进行选定需要几只功率管进行工作。
以上四个参数的初始值,系统自动设定一组常用值。在需要改变时,操作者可通过相应的选择开关自行设定。参数显示电路,由单片机的P0口输出控制LED数码管的段码信号,即确定相应的数码管显示的内容。P2口输出的是位码信号,即控制由哪一个数码管进行显示。单片机的P0端口与P2端口输出信号组合控制LED数码管的动态显示。
图4 线切割高频电源单片机控制电路原理图
本设计通过在威海荣铭金属设备有限公司进行实验,达到了预期目的。选取了不同周期的波形,对改进的控制电路进行测试。测得数据显示其脉冲宽度可以达到1-120us,脉冲间隔比可以达到,满足机床的本身加工要求。
通过用示波器观察脉宽的调节范围为1us ~120us,脉间脉宽之比为ti: tj=1:1~1:15。这对于电火花加工来说,基本满足了其普通加工要求。从实验测得的数据可知,从周期调试过程中,占空比则控制在717%至2418%。
4 结束语
改进电路所测得的脉冲宽度、脉冲间隔均能在较宽的范围内调节,能满足不同的加工工艺要求。通过观察输出的电流波形,输出的控制信号稳定、波形振动小,前后沿陡峭,并可以实现对脉间脉宽进行数字调节,这对于提高机床的加工效率和加工质量起到了重要的作用。
另外,由于改进的控制电路采用数码显示,大大地提高了电火花线切割机床的智能化水平。本设计特别适合中小型企业,资金投入极少,并且机床加工也能满足工艺要求。
本文编自《电气技术》,标题为“基于STC89C52RC控制的线切割高频电源设计”,作者为李传伟、唐镜。
相关问答
如何用 单片机 接收 脉冲 信号?STC15W系列单片机,采用外部INT触发中断(可以上升沿与下降沿同时使能),脉冲输入信号用电阻分压就可以(峰值控制在3.3或者5V,根据VCC电源),可以运行在...
定时器T0在工作方式1下,从P1.0 输出 周期为2ms的方波 脉冲 信号,已知 单片机 的晶振频率为6MHZ?TMOD=0x01;ET0=1;EA=1;TH0=(65536-500)/256;TL0=(65536-500)%256;TR0=1;中断程序里再装初值并将P1·0取反即可500个脉冲是...
单片机 给蜂鸣器的是什么信号?在单片机驱动蜂鸣器时,如果选用的是无源蜂鸣器,则单片机引脚输出的是方波脉冲频率,大约是1k赫兹左右,如果选用的是有源蜂鸣器,则单片机输出的信号是低电平。...
单片机 如何进行电平和 脉冲 信号检测?电平分两种,一为高电平,二为低电平.当单片机检测到高电平或者低电平时给单片机做出相应的动作就好了。还有脉冲信号也是电平一样的。至于于单片机相连你就直接...
单片机 控制步进电机正反转,步进电机42步进电机驱动tb6560?[回答]改变控制脉冲的顺序即可实现步进电机的正反转用TPC8-8TD可以直接输出信号到步进电机驱动器,实现步进电机的自动控制。采用表格设置汉字显示方式设...
单片机 如何判断 脉冲 信号?回答如下:单片机可以通过外部中断来判断脉冲信号。具体实现方法如下:1.配置外部中断。根据单片机型号和硬件电路,选择相应的中断方式(上升沿触发、下降沿触...
51 单片机 定时器计数器 脉冲 由哪两个外部引脚提供?51单片机外部脉冲计数原理:51单片机外部脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1。51单片机外部脉冲计数只要相邻两个计数...
用51 单片机 写一个简单的 脉冲 计数程序-ZOL问答8条回答:【推荐答案】#include#defineuintunsignedintuintnum=0,pnum=0;sbitkey=P1^0;bitflag=0;voidext0()interrupt...
怎么将速度信号(数值)转化为 脉冲 信号?! - 妖怪爸爸 的回答 -...可以用单片机实现,对速度进行逆运算得出脉冲频率。首先将数值(二进制值)通过DA转换为模拟量,用这个模拟量去控制一个压控振荡器(利用现成的锁相环...
谁给一个51 单片机 用一个定时器可以 输出 频率一定,占空比可调的PWM 脉冲 例子给我参考一下啊?一.51没有这样的功能,STC12单片机才有这样的功能,不过你可以用延时函数来产生PWM波形,但比较浪费CPU时间。二.还有一种方法可以用51来实现,但要消耗两个定时...