首页 直流电机闭环调速控制系统设计报告

直流电机闭环调速控制系统设计报告

举报
开通vip

直流电机闭环调速控制系统设计报告目录…………………………………………………………………1 一、 课设任务…………………………………………………….2 1.1设计内容…………………………………………………..2 1.2具体要求…………………………………………………..2 1.3程序调试建议 …………………………………………….2 二、 系统方案…………………………………………………….3 三、 硬件设计…………………………………………………….3 3.1数码管显示和行列式键盘电路…………………………..4 3.2数模变换电路……………………………...

直流电机闭环调速控制系统设计报告
目录…………………………………………………………………1 一、 课设任务…………………………………………………….2 1.1 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 内容…………………………………………………..2 1.2具体要求…………………………………………………..2 1.3程序调试建议 …………………………………………….2 二、 系统 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 …………………………………………………….3 三、 硬件设计…………………………………………………….3 3.1数码管显示和行列式键盘电路…………………………..4 3.2数模变换电路……………………………………………..5 3.3直流电机驱动电路………………………………………..6 3.4片选译码电路………………………………………………7 3.5 RAM电路…………………………………………………..7 四、 软件设计………………………………………………………8 五、 调试及结果…………………………………………………..19 六、 心得体会……………………………………………………..19 七、 参考文献……………………………………………………..20 八、 附录…………………………………………………………..20 直流电机闭环调速控制系统设计报告 一、课设任务 1.1设计内容: 以实验室实验装置为设计对象,从中选择出合适的部分,构成一个直流电机恒转速控制系统,具有如下功能: 1、可以通过按键设定直流电机转速(转 / 分钟,r/min); 2、可以实时显示电机转速,同时显示设定值(各用三位显示); 3、运行过程中改变负载可以维持设定的转速稳定后保持不变。(稳态误差小于等于设定值的5%) 4、开始时只显示设定值,采集值显示为0,按运行键后显示实时采集值与设定值,左边三位是设定值,右边三位是实时值; 5、设置停止运行键,控制直流电机停止运行; 6、其它扩展发挥功能。 1.2 具体要求: 1、根据功能要求从实验装置上选择合适电路构成系统,用protel软件画出原理图与控制系统结构图, 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 系统工作过程; 2、根据实验装置具体情况确定接线方法,从而确定各端口的口地址(D/A、键盘、显示等); 3、采用PID算法作为恒转速控制算法,对PID算法加以分析说明; 4、按照系统工作过程要求编制程序,画出流程图与编写具体程序; 5、调试运行,记录运行结果; 6、书写课程设计报告,符合学院有关课程报告的要求。 1.3 程序调试建议: 1、先通过简单程序验证硬件工作正常(D/A输出,带负载能力,显示器正常等等);不正常时及时与实验室老师联系更换器件。 2、 调试测速显示子程序; 3、调试参数设置程序; 4、调试控制算法程序; 5、调试综合程序 二、系统方案 直流电动机具有良好的起、制动性能,宜于大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域得到了广泛的应用。采用PID调节的转速单环直流调速系统可以在保证稳定的前提下实现转速无静差。 系统进行信号采集进行D/A转换,使单片机送出脉冲来控制触发器,控制电路输出,驱动电动机工作,再由检测电路带回实际转速给单片机,让单片机根据实际转速和给定的转速进行比较,放大及PID运算等操作,从而控制整流电路α角的大小,进而改变电机电枢电压的大小,达到调节电动机转速的目的。 三、硬件设计 3.1 数码管显示和行列式键盘电路 数码管显示和行列式键盘电路图 3.2数模变换电路 数模变换电路图 3.3直流电机驱动电路: 直流电机驱动电路图 3.4片选译码电路: 片选译码电路图 3.5 RAM电路: RAM电路图 四、软件设计 主程序流程图 显示程序流程图 程序://*********课程设计PID直流电机调速******************** #include //******************地址定义********************************* xdata unsigned char IN _at_ 0x8001;    // 键盘读入口 xdata unsigned char OUTBIT _at_ 0x8002; // 位控制口 xdata unsigned char OUTSEG _at_ 0x8004; // 段控制口 xdata unsigned char  CS0832 _at_ 0x9000; // DA地址约定 //********************变量定义*********************************** unsigned int  VOUT=0 ;                    // DA输出缓存变量 unsigned int FDC=0,FREF=0,DFDC=0,uctrl=0;    // 转速检测值FDC,给定值FREF unsigned int PVAL=10,PIVAL=1,IVAL=0; unsigned int  ERROR; //********************缓冲区及其长度定义************************* #define LEDLen  6            //数码管数量 unsigned char LEDBuf[LEDLen];          // 显示缓冲 //****************** 八段管显示码********************************* code unsigned char LEDMAP[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71 }; //****************** 键码定义************************************ code unsigned char KeyTable[] = { 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07 }; //*********延时程序********************************************* void Delay(unsigned char CNT) { unsigned char i; while (CNT-- !=0) for (i=100; i !=0; i--); } //***********动态显示程序****************************************** void DisplayLED() { unsigned char i; unsigned char Pos; unsigned char LED; Pos = 0x20;              // 从左边开始显示 for (i = 0; i < LEDLen; i++) { OUTBIT = 0;            // 关所有八段管 LED = LEDBuf[i]; OUTSEG = LED; OUTBIT = Pos;          // 显示一位八段管 Delay(1); Pos >>= 1;            // 显示下一位 } } //***********键闭合程序****************************************** unsigned char TestKey() { OUTBIT = 0;            // 输出线置为0 return (~IN & 0x0f);    // 读入键状态(高四位不用) } //**************得键值程序************************************* unsigned char GetKey() { unsigned char Pos; unsigned char i; unsigned char k; i = 6; Pos = 0x20;             do { OUTBIT = ~ Pos; Pos >>= 1; k = ~IN & 0x0f; } while ((--i != 0) && (k == 0)); if (k != 0)                    {  i *= 4; if (k & 2) i += 1; else if (k & 4) i += 2; else if (k & 8) i += 3; OUTBIT = 1; do Delay(10); while (TestKey()); // 等键释放 return(KeyTable[i]); // 取出键码 } else return(0xff); } //****************速度设定程序************************ void speedset() { unsigned char  i=0,j=0,k=0,s,KEY,m; unsigned char b=0,c=0; LEDBuf[0] = LEDMAP[0]; LEDBuf[1] = LEDMAP[0]; LEDBuf[2] =LEDMAP[0]; LEDBuf[3] = LEDMAP[0]; LEDBuf[4] = LEDMAP[0]; LEDBuf[5] = LEDMAP[0]; while(k!=10)        //A键为确认键; { /* m=0; LEDBuf[i]=0x00;    //关闭相应位;
本文档为【直流电机闭环调速控制系统设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_180829
暂无简介~
格式:doc
大小:41KB
软件:Word
页数:0
分类:生产制造
上传时间:2019-08-19
浏览量:33