《中南大学机电一体化实验报告(共6页).docx》由会员分享,可在线阅读,更多相关《中南大学机电一体化实验报告(共6页).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 机电一体化实验报告 题 目:PWM直流电机调速实验学生姓名:学 号:指导教师:学 院:机电工程学院专业班级:日期 2019年10月专心-专注-专业一、实验目的 1.了解脉宽调制(PWM)的原理2.学习用PWM输出模拟量驱动直流电机3.熟悉51系列单片机的延时程序二、实验步骤 本实验需要用到本实验需要用到单片机最小应用系统(F1区)、串行静态显示(I3区)和直流电机驱动模块(M1区 )。1. 单片机最小应用系统的P1.7接直流电机驱动模块的PWM输入口Control,最小系统的INTO接直流电机驱动模块 PULSEOUT,最小系统的P1.0、P1.1接串行静态显示的D
2、IN、CLK。打开相关模块电源。2. 用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁紧插座中,请注意仿真器的方向:缺口朝上。请指导老师检查接线后再打开模块电源。打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。全速运行程序。3. 观察直流电机转速,一段时间后控制在程序设定的值30转/S的左右。三、实验原理图四、实验原理1.PWM的调速原理PWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向
3、和转速都是可变的。本实验是单极性控制,其基本原理如下:假设一个脉冲周期内,高电平电压为Us,持续时间为t1;低电平为0V,持续时间为t2.则脉冲周期T=t1+t2,该周期内平均电压U0=t1*Us/T。令=t1/T,则U0=* Us,表示占空比。当高电平电压不变的情况下,电机两端电压的平均值U0取决于占空比的大小。改变的值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。2.对象模块(PWM电机调速模块)工作原理直流电机PWM调速模块由测速电路和PWM调速电路两部分组成。模块的电源由接口总线引入。本模块使用的电机为5V直流电机。1)电机测速部分直流电机测速原理介绍电机测速部分
4、由光电开关完成,电机带动一个周边均匀分布圆孔的金属圆盘,当电机转动时,圆盘跟着一起转动。光源发出的光通过圆孔照射到光电器件上,当圆孔随着电机轴转动时,光电开关可以输出和圆孔数目相同的脉冲,从而测得转速。电机测速部分电路说明 光电开关产生与电机转速有一定关系的脉冲后,通过LED显示出此时的频率(由于本次试验仅是对频率的调控,所以之后不再区分转速与频率),信号经F/V转换,转换成电压信号,而单片机只能处理数字信号,所以还要通过A/D转换,模拟信号输入到ADC0809模块中,再由ADC0809模块输入到51单片机中,测速部分完毕。2)电机调速部分PWM调速电路原理及方法说明上一步的测速结果输出到51
5、单片机中后,与预期转速值转换后的频率值相比较,得到Ek,然后通过PID算法,将频率差值变为电压差值,再通过一定的占空比即PWM输出实际期望电压值,调速完成。五、实验主代码#include reg51.h #include#define u16 unsigned int #define uchar unsigned char #define speed1 30sbit PWM=P17;sbit DIN=P10;sbit CLK=P11; uchar count ,count_time= 0;int real_count=0;uchar time;uchar PWMH = 400;uchar PW
6、ML = 400;uchar code table=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x7B,0x71,0x00,0x40;/A,B,C,D,E,F, ,-, void delay1ms(void) uchar a,b; for(b=199;b0;b-) for(a=1;a0;a-);void shortdelay(int length)while(length-)_nop_();void sent(uchar dat)/sent speed value to the displayuc
7、har i = 0;for(i;i8;i+)DIN = dat&0x80;CLK = 0;_nop_();CLK = 1;dat(speed1)PWMH-;PWML+;if(real_count(speed1)PWMH+;PWML-;/*/void timer0(void) interrupt 1TR0=EA=0;count_time+;if(count_time=30)count_time=0;detectspeed();changespeed(speed1);count=0;timer0init();TR0=EA=1;void int0(void) interrupt 0count+;vo
8、id main()PWM=0;/关闭电机timer0init();PWM=1;shortdelay(10000);IT0=1;ET0=EX0=1;IP=0X02;TR0=EA=1;while(1)PWM=1; /开启电机shortdelay(PWMH);PWM=0; /turn off电机shortdelay(PWML);五、实验结论及讨论 本实验成功实现了直流电机转速的控制,转速设定值为30r/s,通过数码管显示出当前转速,和设定值,利用脉宽调制原理对电机转速进行间接控制。本实验实现了通过PWM方法使输出电压改变从而改变直流电机转速的目标,并且电机的转速可以显示出来。因此,本实验既达到了动态调节电机转速,又实现了实时检测电机运转情况。