欢迎来到天天文库
浏览记录
ID:22758067
大小:317.86 KB
页数:16页
时间:2018-10-31
《直流电机调速系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、信息与控制工程学院电气工程系2015年1月23日一、实习任务:设计并制作一套直流电机调速系统,系统的结构简图如图1所示。主要包括两个部分:主电路部分和以控制电路为核心的控制电路部分。要求设计制作电路和主电路,实现如K功能:(1)通过码盘和光耦得到一系列脉冲利用M法、T法、或M/T法对这些脉冲在单片机中进行处理即可得到电机的转速,可以在数码管上显示(2)DC/DC电路能够正常工作,通过旋钮或旋钮设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。1基于单片机的直流电机调速系统示意二、实习
2、要求(1)单片机最小系统。根据给出的单片机及相关的元器件,设计并制作单片机最小系统,单片机最小系统能够正常工作,即程序能够正常下载和运行。(2)输入单元。能够用键盘或者旋钮来实现对转速的设定。(3)显示单元。能够用数码管准确显示转速。根据提供的元器件选择显示方案:采用并U+数码管;采用串U驱动数码管。(我们组采用的是串口驱动数码管)(4)主电路单元。根据所列出的原器件清单,选择和设计合理的DC/DC电路,能够实现对转速的闭环控制。可以选择以下方案:BUCK电路、H桥Hi路或半桥Hl路。三、核心电路原理图22
3、0V220:15图1整流电路接线图104R765B125123423:ilmAAAa十INI741图2驱动电路(BUCK)电路接线图!U、主程序流程1)主程序2)测速环节2)调速环节五、心得体会本次课程设计任务为设计一个由单片机控制的直流电机调速系统,包含电源、单片机敁小系统、光耦测速系统、PWM调速系统4部分。系统以增强型51单片机为核心,通过电位器提供转速控制信号,由单片机产生PWM波对电机进行控制,光耦进行测速并使用数码管进行显示。下面说一下此次课程设计中遇到的几个问题,首先在前期焊接电路板时,四位七
4、段数码管在导入程序之后屮间两位数并没有发亮,经过检查,发现是74HC595D芯片的5V电源及地线虚焊;后来在带电机调试吋数码管显示的亮度微弱甚至消失,用万用表测量单片机电源端发现电压只有1.6V,595的电源端也是此值,整流电路7805芯片的3管脚输出正是1.6V,而其输入是15V交流电没错,2管脚也没有虚焊,7815芯片的输入输出都正常,在换了一个7805芯片的情况下也仍是1.6V,将电路板插入电脑USB吋数码管正常发亮,因此断定是7805芯片前半部分电路的原因。因为两路整流电路的前部分相同,所以我们去掉
5、了5V电路的整流桥,从15V处引进,之后7805芯片输出恢复正常,数码管正常发亮,电机也实现丫可调速。附:程序代码#include#includenintrins.h”#include#defineuintunsignedint#defineucharunsignedcharucharbdataOutByte;sbitBit_Out=OutByte八7;即输出位*/sbitBout=Pl八2;sbitSclk=Pl八4;sbitSLclk=Pl八3;/*定义待输出字节变量
6、*//*定义输出字节的最高位/*位输出引脚*//*位同步脉冲输出*//*锁存脉冲输出*/sbitPWM7=P1A7;ucharcodeSegment[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管段码//定义位码ucharLocational;uchari=0,m=0,n=0,k=0;ucharadc_count=0;uintad_get=0;uintAD_val=0;uintad_result=O;voidpwm7_setw(uint
7、w);/*输出点亮一个7段LED显示器*/voidOneLed_Out(uchari,ucharLocation){ucharj;OutByte=Location;/*先输出位码*/for(j=l;j<=8;j++){Bout=Bit_Out;Sclk=O;Sclk=1;Sclk=0;产位同步脉冲输出*/OutByte=OutByte«l;OutByte=Segment[i];for(j=l;j<=8;j++){Bout=Bit_Out;Sclk=O;Sclk=l;Sclk=O;OutByte=OutByt
8、e«l;}SLclk=O;SLclk=l;SLclk=O;/*再输出段码*//*位同步脉冲输出*//*一个锁存脉冲输出*//*延时lus*/voiddelay(uintz){uintx,y;for(x=z;x>0;x—)for(y=110;y>O;y—);}产ADC初始化*/voidADC_init()P1=OXFF;P1ASF=OXO1;//plA0作为A/D输入端口使用ADC_RES=0;//ad结果寄存器清
此文档下载收益归作者所有