中国石油大学直流电机调速系统设计讲解.doc

中国石油大学直流电机调速系统设计讲解.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
直流电机调速系统 设计报告 学院: 信息控制与工程学院 班级: 姓名: 学号: 设计任务 设计并制作一套直流电机调速系统,系统的结构简图如图1所示。主要包括两部分:主电路5部分和以单片机为核心的控制电路部分。要求设计、制作控制电路和主电路,实现如下功能: (1)通过码盘和光耦得到一系列脉冲,利用M法、T法或M/T法对这些脉冲在单片机中进行处理得到电机的转速,在液晶或数码管上进行显示; (2)DC/DC电路能够正常工作,通过旋钮或键盘设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。 图1 基于单片机的直流电机调速系统示意图 设计要求 设计思路 电路设计 电源部分设计 供电电源采用220伏交流变压器变成15交流电,经整流桥变成直流电,再经7815、7805稳压得到15v和5v直流电,分别给驱动和单片机系统供电。 整流电路接线图 单片机系统设计 本设计采用STC15W4K56S4型号单片机,使用它的A/D采集功能、技计数功能、定时器功能、数码管驱动功能、PWM波输出功能进行设计制作。 根据题目要求需要制作单片机最小系统,在单片机相应管脚上接上晶振以及复位按钮,单片机就可正常工作。 显示部分设计 使用计数器采集到电机转速后,需要用数码管进行显示。首先使用三极管构成驱动电路,驱动数码管。采用单片机的P2.4-P2.7作为位选输出口,使用P0.0-P0.7作为段选输出口,给相应输出口相应电位,使数码管显示相应转速。 A/D采集部分设计 将阻值1k的电位器连接在5伏电源与地之间,中间抽头接到A/D采集端口P1.0上,进行A/D采样。通过转动电位器,使P1.0端口的电位发生变化,采集值也相应的发生变化。 驱动部分电路设计 驱动部分作为电机与单片机控制器的结合部分,是本次设计的主电路,需要完成DC/DC变化的功能。单片机产生PWM波送给驱动芯片2125,2125通过驱动电路控制MOSFET开关改变加在直流电机上的电压,从而达到改变转速的目的。 驱动电路(BUCK)电路接线图 软件编程 #includereg51.h #define uint unsigned int #define uchar unsigned char intadl; unsignedint temp1,sh1,ge1,n1,m1; unsigned char Ain,Vin; unsigned char b,t,R; chartp=0; uint a1,b1,c1,d1; char TAB[10]={0x05,0xdd,0x46,0x54,0x9c, 0x34,0x24,0x5d,0x04,0x14}; //数字0-9 #define count 50000 #define TH_M1 (65636-count)/256 #define TL_M1 (65626-count)%256 int count_T0=0; int pulse=0; int shudu1; sbit PWM=P1^3; void PWM1ms(int ); #define scan P0 ucharAD_finished ; uchar AD_RESULT; int result; uchar ZKB,ZKB1; voidsend_PWM(uchar); void delay(uint); void AD() { ADC_CONTR = ADC_CONTR|0x80; //启动ad电源 delay(5); P1ASF |= 0x01; //配置P1.0的模拟输入功能 AUXR1=0xFB; ADC_CONTR=ADC_CONTR|0x60; delay(50); ADC_RES =0; ADC_RESL =0; ADC_CONTR |= 0x08; //启动AD转换 AD_finished = 0; while (AD_finished ==0 ) //等待A/D 转换结束 { AD_finished = (ADC_CONTR 0x10); //0001,0000 测试A/D 转换结束否 } ADC_CONTR = 0xE7; //1110,0111 清 ADC_FLAG 位, 关闭A/D转换, AD_RESULT=ADC_RES; //re

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档