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

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秒钟中断测量出当前转速之后,将其与目标值相对比,如果不够则增加控制变量,否则减少之,这样就能逐步达到稳定转速的目的。同时将速度显示出来。

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

实验原理

对于直流电机来说,其转速由输入电压决定,因此具有平滑调速的效果;相比而言,交流电机的转速由交流电频率和电机结构决定,难以改变速度。当然,交流电机构造简单,没有换向器,所以容易制造高转速、高电压、大电流、大容量的电机;而直流电机一般用在负荷小,但要求转速连续可调的场合,如伺服电机。

脉宽调制(Pulse Width Modulation,PWM)是一种能够通过开关量输出达到模拟量输出效果的方法。使用PWM可以实现频率调制、电压调制等效果,并且需要的外围器件较少,特别适合于单片机控制领域。这里只关心通过PWM实现电压调制,从而控制直流电机转速的效果。也称作脉宽调制调速。

PWM的基本原理是通过输出一个很高频率的0/1信号,其中1的比例为δ(也叫做占空比),在外围积分元件的作用下,使得总的效果相当于输出δ×A(A为高电平电压)的电压。通过改变占空比就可以调整输出电压,从而达到模拟输出并控制电机转速的效果。

使用单片机实现PWM,就是根据预定的占空比δ来输出0和1,这里δ就是控制变量。最简单的办法就是以某个时间单位(如0.1ms,相当于10kHz)为基准,在前N段输出1,后M-N段输出0,总体的占空比就是N/M。这种方法由于0和1分布不均匀,所以要求基准频率要足够高,否则会出现颠簸现象。

要达到更稳定的效果,可以采用累加进位法如果将总的周期内的0和1均匀分散开。设置一个累加变量x,每次加N,若结果大于M,则输出1,并减去M;否则输出0。这样整体的占空比也是N/M。在实验中取M=256可以使程序更加简单。

另外,由于本实验板的设计,输出0使电机工作。因此对于本实验,上面所说的0和1要翻转过来用。

在本实验板中,电机每转动一次,与之相连的偏心轮将遮挡光电对管一次,因此会产生一个脉冲,送到INT0。要测量转速,既可以测量相邻两次中断之间的时间;也可以测量一秒种之内发生的中断次数。显然,后一种方法更加简单。

进行转速控制时,涉及到三个变量:预期转速,实际转速和控制变量。这里控制变量就是占空比。我们并不能够预先精确知道某个控制变量的值会导致多少的实际转速,因为这里有很多内部和外部因素起作用(如摩擦力,惯性等),但可以确定就是随着控制变量的增加,实际转速会增加。

反馈控制的基本原理就是根据实际结果与预期结果之间的差值,来调节控制变量的值。当实际转速高于预期转速时,我们需要减少控制变量,以降低速度;反之则需要调高控制变量。

本实验的转速控制可以使用简单的比例控制算法,也就是当转速S大于预定值时,将输出0的个数减少;当转速小于预定值时,将输出0的个数增加。改变值正比于测量出的差值。也可自行使用其他更加复杂的算法。

实验中采用的电机最大转速在200转/s左右,转速小于40转/s左右将不稳定,可能会停转。

实验三
ORG  0000H
P4 EQU 0C0H
P4SW EQU 0BBH
CLK EQU P4.4
DAT EQU P4.5
LJMP  MAIN
ORG  0003H;外部中断0
LJMP WAIBU
ORG  000BH ;定时器0
LJMP  DINGSHI0
ORG  001BH ;定时器1
LJMP DINGSHI1S1  EQU P3.6S2  EQU P3.7
MAIN:  MOV DPTR, #TABMOV P4SW, #70HMOV R7,#0;交替显示MOV R0,#0;计转数MOV R3,#100;计目标值MOV R1,#0;产生1s定时用MOV R6,#0 ;r6,R5,R4计zhuan数MOV R5,#0MOV R4,#0MOV 60H,#100;存高电平MOV 61H,#100;存低电平MOV  R2,60H;R2付初值MOV  TMOD,#12H;定时器作方式2MOV  TH0,#38H ;200usMOV  TL0,#38HMOV  TH1,#3CH ;20次产生1s定时初值MOV  TL1,#0B0HSETB  EASETB  ET1SETB  TR1SETB  ET0SETB  TR0SETB  EX0SETB  IT0CLR P1.1 ;P1.1初始状态L1:   SJMP L1 ;查询DINGSHI1:
PUSH ACC;中断PUSH PSWINC R1CJNE R1,#20,LP1MOV R1,#0
;目标值增减JNB S1,ZENGSJMP L2
ZENG:  INC R3CJNE R3,#200,L2MOV R3,200;最大速SJMP L2JNB S2,JIANSJMP L2
JIAN: DEC R3CJNE R3,#40,L2MOV R3,40
;判断当前转速与目标值关系并调整
L2:    MOV A,R0  SUBB A,R3JC ZENG1;R0<R3 ZENG1JNC JIAN1;R0>R3 JIAN1SJMP BUYONG
ZENG1: INC 61HDEC 60HSJMP BUYONGJIAN1: INC 60HDEC 61H
;显示
BUYONG:INC R7CJNE R7,#2,LP;交替显示JIAO TI XIAN SHIMOV R7,#0
;将目标值显示出来MOV A,R3 MOV B,#100DIV AB MOV 62H,A;百位XCH A,BMOV B,#10DIV ABMOV 63H,A;十位MOV 64H,B;各位MOV R6,64H;目标转速ZHUANMOV R5,63HMOV R4,62HLP:   MOV A,R6 MOV DPTR,#TAB ;dptr首地址)MOVC A,@A+DPTR ;a=欲显示各位字符的字形行LCALL SHOW  ;调用SHOW程序(显示)MOV A,R5MOV DPTR,#TAB ;dptr首地址)MOVC A,@A+DPTR ;a=欲显示LCALL SHOW  ;调用SHOW程序(显示)MOV A,R4MOV DPTR,#TAB ;dptr首地址)MOVC A,@A+DPTR ;a=欲显示LCALL SHOW  ;调用SHOW程序(显示)   MOV R6,#0 ;转数清零MOV R5,#0MOV R4,#0MOV R0,#0
LP1:    POP PSWPOP ACC RETIDINGSHI0:  PUSH ACC;中断PUSH PSWDJNZ  R2,EXITCPL  P1.1 JNB  P1.1,L3; ;判断P1.1电平高低MOV  R2,60H;;若P1.1=1,给R2赋高电平计数值SJMP  EXITL3:   MOV  R2,61H;;若P1.1=0,给R2赋低电平计数值EXIT: POP PSWPOP ACC RETI
WAIBU:  INC R0INC R6CJNE R6,#10,EXIT1INC R5MOV R6,#0CJNE R5,#10,EXIT1INC R4MOV R5,#0CJNE R4,#10,EXIT1MOV R4,#0EXIT1:   RETI
SHOW:   MOV     R0,#8  ;r0=8
SLP:    CLR     CLK  ;P1.0输出低电平RLC     A  ;将存放在A中欲显示的字符码右移一位(最低位存入C)MOV     DAT,CSETB    CLK  ;P1.0输出高电平DJNZ    R0,SLP  ;r0减1不为0转到SLP 继续输出字形码 RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END

直流电机_脉宽调制调速(PWM)相关推荐

  1. 直流电机反接制动调速 基于双向PWM变换器的直流电机反接制动调速 直流电机双闭环调速

    直流电机反接制动调速 基于双向PWM变换器的直流电机反接制动调速 直流电机双闭环调速 总共三个仿真文件打包 另外附赠1万字精美说明讲解报告,排版精美,波形截图精美,真的非常优质的报告. 报告另附特种电 ...

  2. 直流电机双闭环调速Matlab仿真实验

    直流电机双闭环调速Matlab仿真实验 实验目的 1.双闭环直流调速系统组成及工作原理 2.电机参数及仿真设置 3.仿真结果 3.1.转速电流双闭环仿真(给定转速1260RPM) 3.2.电流反馈断开 ...

  3. matlab直流电机双闭环控制系统设计,基于MATLAB的直流电机双闭环调速系统设计毕业论文.doc...

    摘 要 直流电机双闭环调速系统是一个复杂的自动控制系统,是目前直流调速系统中的主流设备,具有调速范围宽.平稳性好.稳速精度高等优点,在理论和实践方面都是比较成熟的系统,在拖动领域中发挥着极其重要的作用 ...

  4. 直流电机单闭环调速matlab仿真,基于MATLAB的直流电机双闭环调速系统仿真.doc

    摘要:双闭环直流电机调速系统是现代社会最常用的调速系统之一,作为最常用的调速设备,双闭环调速系统拥有良好的平稳性,宽广的调速范围等特性,已经在国内外尤其是电力拖动领域被广泛使用. 在充分了解国内外对双 ...

  5. 三相异步电机pwm变频调速matlab,异步电机变频调速PWM控制电气工程

    异步电机变频调速PWM控制电气工程 太 原 理 工 大 学毕 业 设 计 ( 论 文 ) 任 务 书毕业设计(论文)题目:基于 MCS-51 单片机的异步电动机变频调速-f=45,N=27,M=0.8 ...

  6. 直流电机双闭环调速系统,以及直流电机双闭环系统建模,采用转速外环电流内环的控制结构

    直流电机双闭环调速系统,以及直流电机双闭环系统建模,采用转速外环电流内环的控制结构,稳态效果良好,动态响应也较好,需要可以直接联系,仿真模型加对应的报告 ID:2960694396618054

  7. 【直流电机】基于matlab直流电机双闭环调速系统仿真【含Matlab源码 2368期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[直流电机]基于matlab直流电机双闭环调速系统仿真[含Matlab源码 2368期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  8. 【学习记录】Simulink仿真学习:直流电机的VM调速系统与PWM调速系统搭建

    最近需要复现一下论文中的电机仿真环节,于是又在网上找寻了各种教程.这篇文章总结了我学习直流电机仿真的一些记录和一些知识点文章等. 由于本人电力电子技术等知识的欠缺,故这篇文章适用于为理解或者搭建简单的 ...

  9. vpwm的控制变频_变频器调速控制方式和PWM脉宽调整技术有什么不同

    展开全部 PWM是变频器的一种电压调制方式. 调速控制是指调整频率636f70793231313335323631343130323136353331333365646239的同时,其他一些参数也要协 ...

最新文章

  1. PHP远程DoS漏洞深入分析及防护方案
  2. Visual C++ 2011-6-6
  3. 2016.11.30
  4. LINUX_egrep及扩展正则表达式
  5. Web 前端——项目文件夹命名规范
  6. win10创建c语言文件,c – 如何在Windows中创建扩展(自定义)文件属性?
  7. 【CCS2018】SDN跨应用中毒攻击
  8. linux 设置显卡命令,linux查看显卡命令
  9. Three.js学习笔记①---搭建本地three.js官网(来自B站老陈视频)
  10. 统计学中抽样调查和一些常用的方法
  11. 2021年最新3d材质贴图素材大合集来咯
  12. 晕,今天才知道,原来谷歌工具栏不支持Chrome
  13. 域名系统的主要功能是什么?域名系统中的根服务器和权威服务器有何区别?权威服务器与管辖区有何关系?
  14. 背包问题之0-1背包算法详解
  15. 一般家用路由器买多大的合适_家用路由器选多少M(兆)的合适【图】
  16. 我所了解的一些路由器对比
  17. 远距离WiFi模块,无人机传输技术,无线通信视频传输技术
  18. html那些标签可以实现页面布局,网页的布局一般用什么来实现
  19. 人工智能未来的发展趋势
  20. 封闭式基金高折价蕴涵巨大投资机会

热门文章

  1. 使用批处理修改Floppy image - 免费小工具EXTRACT.EXE介绍
  2. 电力:发电公司如何构建自己的数据仓库
  3. ESR黑客年暮:给年轻黑客和其他有志青年的建议
  4. H264编码和M-JPEG、HEVC
  5. acca计算机管理会计,ACCA《管理会计》:Sampling methods
  6. Spring框架--SpringMVC文件上床
  7. 惠普Linux系统启动光驱,HP ProLiant MicroServer Gen8使用Super GRUB2 Disk从TF卡启动光驱位安装的Debian 8.3...
  8. android 存储卡 合并,安卓手机合并内存卡到内置存储
  9. 常数除以0的极限是什么_数学常数e的含义 e就是增长的极限
  10. java 调用 mahout_使用 Mahout 实现内容分类