您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 中南大学机电一体化实验报告
机电一体化实验报告题目:PWM直流电机调速实验学生姓名:学号:指导教师:学院:机电工程学院专业班级:日期2019年10月一、实验目的1.了解脉宽调制(PWM)的原理2.学习用PWM输出模拟量驱动直流电机3.熟悉51系列单片机的延时程序二、实验步骤本实验需要用到本实验需要用到单片机最小应用系统(F1区)、串行静态显示(I3区)和直流电机驱动模块(M1区)。1.单片机最小应用系统的P1.7接直流电机驱动模块的PWM输入口Control,最小系统的INTO接直流电机驱动模块PULSEOUT,最小系统的P1.0、P1.1接串行静态显示的DIN、CLK。打开相关模块电源。2.用串行数据通信线连接计算机与仿真器,把仿真头插到模块的单片机锁紧插座中,请注意仿真器的方向:缺口朝上。请指导老师检查接线后再打开模块电源。打开KeiluVision2仿真软件,首先建立本实验的项目文件,接着添加源程序,进行编译,直到编译无误。全速运行程序。3.观察直流电机转速,一段时间后控制在程序设定的值30转/S的左右。三、实验原理图四、实验原理1.PWM的调速原理A1K2C3E4Q1M光电门VCCVCC1A11Y22A32Y43A53Y6GND74Y84A95Y105A116Y126A13VCC1474LS1412A-+DC-MotorVCCPulseOutControlRUN12J1MDC-MOTORIN11IN22IN33IN44IN55IN66IN77OUT116OUT314OUT413OUT512OUT611OUT710OUT215COM9GND8ULN2003VCCVCC220R1M4.7KR2M330R3MPWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向和转速都是可变的。本实验是单极性控制,其基本原理如下:假设一个脉冲周期内,高电平电压为Us,持续时间为t1;低电平为0V,持续时间为t2.则脉冲周期T=t1+t2,该周期内平均电压U0=t1*Us/T。令α=t1/T,则U0=α*Us,α表示占空比。当高电平电压不变的情况下,电机两端电压的平均值U0取决于占空比α的大小。改变α的值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。2.对象模块(PWM电机调速模块)工作原理直流电机PWM调速模块由测速电路和PWM调速电路两部分组成。模块的电源由接口总线引入。本模块使用的电机为5V直流电机。1)电机测速部分①直流电机测速原理介绍电机测速部分由光电开关完成,电机带动一个周边均匀分布圆孔的金属圆盘,当电机转动时,圆盘跟着一起转动。光源发出的光通过圆孔照射到光电器件上,当圆孔随着电机轴转动时,光电开关可以输出和圆孔数目相同的脉冲,从而测得转速。②电机测速部分电路说明光电开关产生与电机转速有一定关系的脉冲后,通过LED显示出此时的频率(由于本次试验仅是对频率的调控,所以之后不再区分转速与频率),信号经F/V转换,转换成电压信号,而单片机只能处理数字信号,所以还要通过A/D转换,模拟信号输入到ADC0809模块中,再由ADC0809模块输入到51单片机中,测速部分完毕。2)电机调速部分①PWM调速电路原理及方法说明上一步的测速结果输出到51单片机中后,与预期转速值转换后的频率值相比较,得到Ek,然后通过PID算法,将频率差值变为电压差值,再通过一定的占空比即PWM输出实际期望电压值,调速完成。五、实验主代码#includereg51.h#includeintrins.h#defineu16unsignedint#defineucharunsignedchar#definespeed130sbitPWM=P1^7;sbitDIN=P1^0;sbitCLK=P1^1;ucharcount,count_time=0;intreal_count=0;uchartime;ucharPWMH=400;ucharPWML=400;ucharcodetable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,\0x77,0x7C,0x39,0x5E,0x7B,0x71,0x00,0x40};//A,B,C,D,E,F,,-,voiddelay1ms(void){uchara,b;for(b=199;b0;b--)for(a=1;a0;a--);}voidshortdelay(intlength){while(length--){_nop_();}}voidsent(uchardat)//sentspeedvaluetothedisplay{uchari=0;for(i;i8;i++){DIN=dat&0x80;CLK=0;_nop_();CLK=1;dat=1;}}voiddisplay(intnum){intg,s,b;b=num/100;s=num%100/10;g=num%100%10;sent(table[b]);sent(table[s]);sent(table[g]);sent(0);sent(0);sent(table[speed1/100]);sent(table[speed1%100/10]);sent(table[speed1%100%10]);}voidtimer0init(void){TMOD=0X01;TH0=0XD8;TL0=0XF0;}voiddetectspeed(void){real_count=count/3.0;display(real_count);}voidchangespeed(ucharspeed){if(real_count(speed1)){PWMH--;PWML++;}if(real_count(speed1)){PWMH++;PWML--;}}/********************************************************************/voidtimer0(void)interrupt1{TR0=EA=0;count_time++;if(count_time==30){count_time=0;detectspeed();changespeed(speed1);count=0;}timer0init();TR0=EA=1;}voidint0(void)interrupt0{count++;}voidmain(){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;//turnoff电机shortdelay(PWML);}}五、实验结论及讨论本实验成功实现了直流电机转速的控制,转速设定值为30r/s,通过数码管显示出当前转速,和设定值,利用脉宽调制原理对电机转速进行间接控制。本实验实现了通过PWM方法使输出电压改变从而改变直流电机转速的目标,并且电机的转速可以显示出来。因此,本实验既达到了动态调节电机转速,又实现了实时检测电机运转情况。
本文标题:中南大学机电一体化实验报告
链接地址:https://www.777doc.com/doc-7257712 .html