您的位置:控制工程论坛网论坛 » 电机与运动控制 » 一种基于Intel8253与L298N电机PWM调速法

junhong07

junhong07   |   当前状态:在线

总积分:7915  2024年可用积分:1

注册时间: 2008-01-15

最后登录时间: 2019-06-23

空间 发短消息加为好友

一种基于Intel8253与L298N电机PWM调速法

junhong07  发表于 2009/10/15 22:15:03      940 查看 0 回复  [上一主题]  [下一主题]

手机阅读

脉冲宽度调制(PULSE Width Modulation—PWM)是指将输出信号的基本周期固定,通过调整基本周期内工作周期的大小来控制输出功率。原理就是开关管在一个周期内的导通时间为t,周期为T,则电机两端的平均电压U=Vcc t/T=aVcc。其中,a=t/T(占空比),Vcc是电源电压。电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快。

    PWM常取代数/模转换器(DAC)用于功率输出控制,其中,直流电机与交流电机的速度控制是最常见的应用。通常PWM配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。

 


按此在新窗口浏览图片

2 Intel8253的内部结构及工作模式

    2.1 Intel8253的内部结构

    Intel8253是微型计算机外围接口电路,内部包含3个彼此独立的16位减法计数器。每个计数器都可由软件确定为16位二进制减法计数器或者十进制4位BCD减法计数器。每个计数器都有6种不同的工作模式,也由软件确定。每个计数器都有一个时钟输入端(CLK)、一个门控信号输入端(GATE)和输出端(OUT)。读写由A1、.A0、RD、WR和CS等引脚加以控制,主要用以控制Intel8253的数据与命令的写入、读取与禁止。Intel8253的引脚排列如图l中的U3所示。

    2.2与PWM有关的工作模式

    与PWM有关的工作模式是模式l和模式2。

    (1)模式1

    当某计数器设置在模式1以后,微型计算机可以通过二条输出指令将16位数据M送入该计数器。这时该计数器的输出端并无任何响应。一旦该计数器的门控输入端脉冲上升沿到时,它的输出端立刻输出一个宽度为MT的负向脉冲,如图2所示。



按此在新窗口浏览图片
    (2)模式2

    当某计数器设置在模式2以后,微型计算机可以通过二条输出指令将16位数据Ⅳ送入该计数器。输出指令结束后,该计数器立即输出周期为NT的连续方波,如图3所示。

 


按此在新窗口浏览图片

    如果将8253的计数器0和计数器1分别设置在模式2和模式1,并按图4所示连接,就可以得到一个十分简单的脉宽调制发生器。工作开始前,先将常数Ⅳ送入计数器0,再将常数M送入计数器1中(M

    2.3 PWM程序

    Intel8253的读写控制逻辑由A1、A0、RD、WR和CS等引脚加以控制,其中,端口选择信号A1、A0决定3个计数器、控制寄存器中哪一个进行工作,A1,A0:00—10 CPU选择加一#2计数器进行读/写,11 CPU将控制字写入Intel8253

Intel8253的控制寄存器如下:

SC1 
SC0 
RW1 
RW0 
M2 
M1 
M0 
BCD 
 
M2,M1,MO:000—101选择工作模式0-5

SCl,SC0:00-10选择计数器#o-#2,11回读命令

BCD:0对应二进制计数,1对应BCD计数

RWl,RW0:00锁住计数器稳定读数,01只读/写低8位字节,10只读/写高8位字节,1l先读/写低8位字节,后读/写高8位字节。

…….

mov dptlr,#Ofe03h:对8253控制寄存器初始化

nov a,#34h 选择计数器0、工作模式2

movx@dotr,a 先读/写低8位后读/写高8位

mov dptr,#0fe00h:向计数器0送低8位数据80H

nov a,#80h

movx@dptr,a

mov dptr,#0fe00h:向计数器0送高8位数据00H

nov a,#00h

movx@dptr,a

nov dotr,#Ofe03h:对8253控制寄存器初始化

mov a,#72h 选择计数器1、工作模式l

movx@dptr’,a

mov dpu,#0fe01h;向计数器1送低8位数据20H

nOV a,#20h

movx@dptr,a

nov dptr,#Ofe01h:向计数器1送高8位数据00H

nov a,#00h

movx@dptr,a

……
    根据以上程序,可以得到占空比为

    a=t/T=0020H/0080H=25%

    同理。将Intel8253的计数器0和计数器2分别设置在模式2和模式1,并按图4的连接方法也可以得到另一个PWM2。

L298N.html">L298N型驱动器的原理及应用

    L298N.html">L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传号。L298可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。

    如图1所示,:Intel8253输出二组PWM波,每一组PWM波用来控制一个电机的速度.另外二个I/O口可以控制电机的正反转.控制方法与控制电路都比较简单。即P10、P11控制第一个电机的方向,输入的:PWMl控制第一个电机的速度;P12、P13控制第二个电机的方向,输入的PWM2控制第二个电机的速度。

    由于电机在正常工作时对电源的干扰很大,只用一组电源时会影响单片机的正常工作。所以选用双电源供电。一组5V电源给单片机和控制电路供电,另外一组5V、9V电源给L298N.html">L298N的+VSS、+VS供电。在控制部分和电机驱动部分之间用光耦隔开,以免影响控制部分电源的品质。

    图1就是一个实现智能小汽车的应用电路。D1、Q1是一对红外发射接收对管,与LM324构成光电传感检测电路。通过Intel8253和1298N可实现汽车的加速、减速、刹停,并可通过两个电机的不同转速实现左转和右转等功能。

1楼 0 0 回复