中南大学机电一体化实验报告(张友旺版)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验目的

1.了解直流电机PWM的工作原理;

2.用汇编语言编程并用PID调速方法实现直流电机的调速;

3.培养综合应用所学知识来指导实践的能力;

4.掌握常用元器件的识别和测试,熟悉常用仪表,了解电路调

试的基本方法,进一步掌握电路调试等技能。

实验设备

1.天煌单片机综合开发实验台(包含直流电机、51单片机、F/V、A/D、ADC0809等模块)

2.PC机一台

实验原理

1.PWM的调速原理

PWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向和转速都是可变的。本实验是单极性控制,其基本原理如下:假设一个脉冲周期内,高电平电压为U s,持续时间为t1;低电平为0V,持续时间为t2.则脉冲周期T=t1+t2,该周期内平均电压U0=t1*U s/T。令α=t1/T,则U0=α* U s,α表示占空比。当高电平电压不变的情况下,电机两端电压的平均值U0取决于占空比α的大小。改变

α的值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。

2.对象模块(PWM电机调速模块)工作原理

直流电机PWM调速模块由测速电路和PWM调速电路两部分组成。模块的电源由接口总线引入。本模块使用的电机为5V直流电机。1)电机测速部分

①直流电机测速原理介绍

电机测速部分由光电开关完成,电机带动一个周边均匀分布圆孔的金属圆盘,当电机转动时,圆盘跟着一起转动。光源发出的光通过圆孔照射到光电器件上,当圆孔随着电机轴转动时,光电开关可以输出和圆孔数目相同的脉冲,从而测得转速。

②电机测速部分电路说明

光电开关产生与电机转速有一定关系的脉冲后,通过LED显示出此时的频率(由于本次试验仅是对频率的调控,所以之后不再区分转速与频率),信号经F/V转换,转换成电压信号,而单片机只能处理数字信号,所以还要通过A/D转换,模拟信号输入到ADC0809模块中,再由ADC0809模块输入到51单片机中,测速部分完毕。

2)电机调速部分

①PWM调速电路原理及方法说明

上一步的测速结果输出到51单片机中后,与预期转速值转换后的频率值相比较,得到E k,然后通过PID算法,将频率差值变为电压差值,再通过一定的占空比即PWM输出实际期望电压值,调速完成。

3. ADC0809模块

ADC0809是一种逐次比较式8路模拟输入、8位数字量输出的A/D转换器。

ADC0809 START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号。实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,故启动A/D转换只需如下两条指令:

MOV DPTR, #PORT

MOVX @DPTR,A

A中为何内容并不重要,这是一次虚拟写。

在中断方式下,A/D转换结束后会自动产生EOC信号,将其与8031CPU板上的INT0相连接。在中断处理程序中,使用如下指令即可读取A/D转换的结果:

MOV DPTR, #PORT

MOVX A, @DPTR

系统组成

1.

软件设计

1. 思路描述

本实验要实现的功能是电机调速。

直流电机调速部分:由于电位器输出为模拟电压,而单片机

所能处理的仅为数字信号,所以要经过ADC0809将电位器的

输出转换成数字信号。因此编程时要启动IN0,启动A/D转

换,并用软件延时一点时间等待转换结果,然后读取转换结

果并将其存入指定的寄存器供调用。

直流电机的调节需要改变输出脉冲的占空比,因此需要编写一个能输出方波的子程序。本次试验中,我采用的是计

时器,将高低电平的持续时间经过计算,变为计时器的动作

步数,从而达到调速的目的。

2.程序流程图

3.程序清单(见附页)

调试说明

1.实验现象

当电位器旋到最小电压输出时,电机停止旋转,LED模块显示“00”;逐步增大电位器的电压输出,直流电机的转速逐步加快,LED 显示增大;当电位器旋到最大电压输出时,电机转速最大,LED显示“FF”。

2.列举问题

LED显示由“00”逐渐增大到“FF”过程中显示正常,但是过一段时间后变为“00”,并不再改变。

3.原因分析

经分析为计数器计数溢出。计数器记录的是方波脉冲,再从“00”增大到“FF”过程中是可以正常计数,但当计数超过“FF”时,计数器发生溢出,所以显示变成“00”。可以通过添加中断程序,当计数器发生溢出时,CPU响应中断,并将计数器清零,重新计数可以解决此问题。

4.实验总结

(1)实验实现功能

本实验实现了通过PWM方法使输出电压改变从而改变直流电机转速的目标,并且电机的转速可以显示出来。因此,本实验既达到了动态调节电机转速,又实现了实时检测电机运转情况。

(2)实验不足及改正意见

本实验虽然实现了最初的目标,但是经过PID方法调速,PWM技术调节电压,还是存在一定的误差,主要是忽略了微分环节,限于实验条件,结果还是可以接受。

另外,此实验只利用了单片机的某一些端口,并且也是一些不很复杂的输出和输入,数据转换功能,并未充分利用单片机的片内资源。就这一点来看,由本实验出发,单片机所能实现的功能还有待进一步在后续的试验中继续开发。实验编程使用的是汇编语言,具有编写的程序效率高,占用的存储空间小,运行速度快,能直接管理和控制硬件设备,直接访问存储器及 I/O 接口电路等优点。但其可读性和可维护性较差,编写程序需要对硬件电路及存储器特别了解,是设计程序时不能把精力全部集中到程序所能实现的功能上。如果程序很长的话,无论是读懂还是修改都是一件很麻烦的事。因此,建议适当学习高级语言,如C语言的单片机程序编写。可以减少在程序设计阶段一些不必要的麻烦。

实验总结

通过一学期的单片实验,学到了很多有用的东西。特别是单片机综合实验,让我对单片机和汇编语言程序设计都有了新的理解。首先,对 MCS-51 单片机的工作原理和具体的功能实现有了一个更高的认识。对于硬件电路,以前只是大概了解,实验后,对单片机的各个

相关文档
最新文档