直流电机_脉宽调制调速(PWM)

实验三  直流电机脉宽调制调速

1. 编写程序,能够在数码管上显示一个数值。

2. 固定向P1.1输出0,然后测量每秒钟电机转动的转数,将其显示在数码管,每秒刷新一次即可。

3. 使用脉宽调制的方法,动态调整向P1.1输出的内容,使得电机转速能够稳定在一个预定值附近,同时实时显示当前转速。

4. 根据输入修改电机转速目标值。每隔一秒钟读取两个开关的状态,如果S1按下,转速目标值加一,如果S2按下,目标值减一。同时动态调整输出,使得电机转速能够稳定到目标值附近。交替显示目标值和当前转速值。

4.2 编写中断程序,测量电机转速

本程序需要使用定时器定时,并使用中断来同步。中断程序的典型例子如下:

ORG  0000H

LJMP  START

ORG   000BH

LJMP  T0IN ;中断向量表

ORG   0040H

START: ...;初始化

...

T0IN: ...;中断程序

... 

RETI ;中断返回

END

按照脉宽调制的原理,再添加一个快速的定时中断(0.1ms左右),在这个中断里面动态改变P1.1的输出,宏观上输出有效(0)的比例就是预定的控制变量。这个控制变量增大,电机转速就应该提高,但由于各种内部和外部因素,它们之间不存在简单的函数关系,因此必须根据测量出来的实际转速进行动态调整。

首先将电机转速控制在一个预定数值附近,在每一个1秒钟中断测量出当前转速之后,将其与目标值相对比,如果不够则增加控制变量,否则减少之,这样就能逐步达到稳定转速的目的。同时将速度显示出来。

在上面程序的基础上,再加上根据开关状态改变预定转速的代码。同时,在主程序中交替显示目标值和当前转速值,显示一个内容之后等待一段时间(可以由延时代码实现),然后再显示另一个并延时。要显示的内容都是在中断中被修改的。

实验原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值