计算机控制系统课程设计 直流电机测速调速系统
- 格式:doc
- 大小:92.00 KB
- 文档页数:21
目录1. 绪论 (1)1.1 直流电机的发展 (1)1.2 课题研究的目的及意义 (2)2. 系统方案设计 (2)2.1电机调速控制模块: (2)2.2.1 PWM调速工作方式: (3)2.2.2 PWM调脉宽方式: (3)2.2.3 PWM软件实现方式: (3)2.3 PWM技术 (3)2.4 PWM的参数 (4)2.5直流电机的能量转换和特性曲线 (4)3. 硬件电路板的制作 (6)3.1 确定工作层 (6)3.2 定义PCB形状及尺寸 (6)3.3 加载PCB元件封装库 (6)3.4 元器件的布局 (6)3.5 布线 (7)3.6 制板 (7)总结 (7)参考文献 (7)附件: (8)直流电动机调速计算机控制系统设计摘要当今,自动化控制系统已经在各行各业得到了广泛的应用和发展,而直流驱动控制作为电气传动的主流在现代化生产中起着主要作用。
长期以来,直流电动机因其转速调节比较灵活,方法简单,易于大范围平滑调速,控制性能好等特点,一直在传动领域占有统治地位。
它广泛应用于数控机床、工业机器人等工厂自动化设备中。
随着现代化生产规模的不断扩大,各个行业对直流电机的需求愈益增大,并对其性能提出了更高的要求。
为此,研究并制造高性能、高可靠性的直流电机控制系统有着十分重要的现实意义。
本论文论述了单片机直流电机控制系统设计和实现方法。
而我们组是进行分工来实现的,在主任务下分成各个小任务,我和其他两个伙伴负责PCB制板。
接下来为大家介绍我们的主要工程及具体的PCB制板。
1. 绪论1.1 直流电机的发展直流电机问世已有一百四十多年的历史。
在设计和制造技术上的进步,新材料、新技术的应用,整流电源的普及,促进了一般工业用直流电机的用途不断扩大,品种繁多。
从小至数瓦,大到万余千瓦,正广泛地用于冶金、矿山、煤炭、起重运输、船舶、机床制造、纺织印染等各个部门中,特别是近几年电子计算技术已广泛应用当今,自动化控制系统已经在各行各业得到了广泛的应用和发展,而直流调速控制作为电气传动的主流在现代化生产中起着主要作用,无论是在工农业生产、交通运输、国防、航天航空、医疗卫生、商务与办公设备、还是在日常生活中的家用电器都大量使用着各式各样的电气传动系统,其中许多系统有调速的要求:如车辆、电梯、机床、造纸机械等等。
计算机控制系统课程设计电机速度控制系统一、选定题目:电机速度控制系统二、设计目的和要求:计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要微型机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
课程设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
三、系统总体方案:系统简介:采用由达林顿管组成的H型PWM电路,用A T89C51单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
设计需要使用的软件资源比较简单,只需要完成编码器采样部分、键盘控制部分以及显示输出功能。
采用AT89C51进行控制比较简单、易控制、可靠性高、抗干扰能力强、精度高且体积大大减小。
输出速度的调节是通过键操作。
A T89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器.具有4K字节可编程闪烁存储器,可擦除的的只读存储器(PEROM), ATMEL的AT89C51是一种高效微控制器. A T89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案. 三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和电模式、片内振荡器和时钟电路。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。
且对于直流电机,采用软件延时所产生的定时误差在允许范围。
结构框图:五、各个硬件模块设计及原理图5.1、电源电路(1)芯片介绍芯片采用7805,7815就代表它所输出的电压值,能降低电压4-5V用78/79系列三端稳压IC 来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路。
计算机控制技术课程设计专业:自动化班级:姓名:学号:指导教师:XX交通大学自动化与电气工程学院2016 年07 月15 日直流电机调速系统设计1设计目的本课程设计是在修完《计算机控制技术A》课程之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。
本课程设计结合《计算机控制技术A》课程的基础理论,重点强调实际应用技能训练,包括计算机控制系统算法软件和硬件设计。
其课程设计任务是使学生通过应用计算机控制技术的基本理论,基本知识与基本技能,掌握计算控制技术中各主要环节的设计、调试方法,初步掌握并具备应用计算机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力、分析问题和解决问题的能力。
2 设计方法设计一个直流电机系统,合理选择PID控制规律,掌握被控对象参数检测方法、H桥驱动的功能、旋转编码器的功能、单片机PWM控制波形输出方法,进一步加强对课堂理论知识的理解与综合应用能力,进而提高解决实际工程问题的能力。
直流电机调速系统是以电机转速作为变量,单片机根据采集电机转速的测量值与设定值的偏差去控制PWM波形的脉宽,从而改变直流电机两端的电压,达到控制转速的目的。
直流电机调速系统由单片机、直流电机、光电式旋转编码器、H桥驱动、LCD显示屏等及相关电路组成。
3 设计方案及原理3.1系统功能介绍整个控制系统由控制器、执行器、被控对象和测量变送组成,在本次控制系统中控制器为单片机,采用算法为PID增量算法控制规律,执行器为H桥驱动电路,测量变送器为光电式旋转编码器,被控对象为直流电机。
然后通过单片机对数据进行处理,控制转速的大小和正反转。
3.2系统组成总体结构计算机控制系统由控制计算机系统和生产过程两大部分组成。
控制计算机是指按生产过程控制的特点和要求而设计的计算机系统,它可以根据系统的规模和要求选择或设计不同种类的计算机。
计算机控制系统基本结构如图1所示。
图1 计算机控制系统基本结构直流电机调速系统结构框图如图2所示。
XI`AN TECHNOLOGICAL UNIVERSITY课程名称直流电机测速调速实验专业:电气工程及其自动化班级:姓名:学号:指导教师:秦刚成绩:2016年7月11日计算机控制系统课程设计——直流电机测速调速系统一、选定题目:电机速度控制系统二、设计目的和要求:计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要微型机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
课程设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
三、功能需求:1、基本功能:(1)该系统使用实验箱的直流电机、1602 液晶、 DA、键盘等模块完成设计;(2)直流电机通过DA模块使用PWM方式进行驱动及调速;(3)能够通过 1602 液晶显示当前转速及 PWM占空比;(4)通过按键控制电机的启动和停止。
2、扩展功能:(1)能够通过按键手动输入目标转速(转/秒),启动电机后控制电机稳定在目标转速;(2)使用 1602 液晶实时显示目标转速、当前转速及启停状态(on/off )。
四、实验思路:本直流电机调速系统以单片机系统为依托,根据 PWM调速的基本原理,控制电动机的转速为依据,实现对直流电动机的调速,并通过单片机控制速度的变化。
本设计的直流电机调速系统主要是由硬件和软件两大部分组成。
硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。
而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。
用51 来产生 PWM波就必须要用软件编程的方法来模拟。
方法大概可以分为软件延时和定时器产生两种方法。
本次课程设计我们采用定时器产生PWM方波。
定时器产生PWM:这种方法利用了定时器溢出中断,在中断服务程序改变电平的高低,在程序较复杂、多操作时仍能输出较准确的pwm波形。
计算机控制课程设计直流电机调速系统一.实验要求(1)使用PID算法实现直流电机的调速控制。
(2)利用光电开关测量直流电机转速,通过控制加在直流电机两端的电压调节其转速,使之达到所设置的转速。
(3)通过键盘设置期望转速,要求有两组转速显示值,一组为期望转速;一组为电机的实时转速。
二.系统需求分析(1)电机控制需要驱动电路,常用的电机驱动电路是H桥驱动,bts7960是常用的半桥驱动芯片,利用PWM波控制半桥驱动电路可实现对电机的速度调节。
两片bts7960可以组成一个全桥驱动电路,可以控制电机的转向。
实验不要求控制转向,所以可用一片bts7960。
(2)电机控制需要PWM波,可以利用单片机的定时器模拟PWM,用一个普通IO 接口进行输出。
(3)光电开关测速输出为脉冲信号,通过检查输出脉冲的频率来计算电机转速,检查信号的频率可以利用单片机的计数器模块。
检查脉冲频率需要没个固定时间读取计数器的值。
利用一个定时器可以固定一定时间进行中断,在中断子程序中读取计数器的值。
(4)显示可用OLED液晶屏,选用的液晶屏有SPI通用接口,可以用普通IO可模拟SPI时序。
(5)根据以上要求,需要两个定时器,一个计数器。
共需要三个定时器/计数器模块,和一些普通IO接口,可选用STC89C52单片机,其内部共有三个定时器/计数器模块。
定时器0工作在方式三,分为两个八位定时器TL0做计数器,TL1做模拟PWM,定时器2做定时中断,定时器1作为串口波特率发生器,串口用于调试过程中观察数据。
三.硬件设计1.主电路图:本系统采用STC89C52单片机主要功能特性:硬件接口说明:串口接口:T - P3.0 R - P3.1测速接口:P3.4模拟PWM电机控制接口:P1.0OLED显示屏接口:D0 – P2.3 D1 – P2.2 RST – P2.1 DC – P2.0 2.电机驱动电路该电机驱动电路是是由两片bts7960组成,BTS7960是NovalithIC家族三个独立的芯片的一部分:一是p型通道的高电位场效应晶体管,二是一个n型通道的低电位场效应晶体管,结合一个驱动晶片,形成一个完全整合的高电流半桥。
直流电机调速系统设计报告题目:H桥&串口输出2016年3月一、设计任务设计并制作一套直流电机调速系统,主要包括两部分:主电路部分和以单片机为核心的控制电路部分。
要求设计、制作控制电路和主电路,实现如下功能:(1)通过码盘和光耦得到一系列脉冲,利用M法、T法或M/T法对这些脉冲在单片机中进行处理得到电机的转速,在液晶或数码管上进行显示;(2)DC/DC电路能够正常工作,通过旋钮或键盘设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。
(3)实验室提供24V直流电源为DC/DC电路供电,其余部分电源请利用220V市电自行设计。
数码管显示单元DC直流电源DC码盘和光耦驱动与保护电路单片机系统旋钮输入图1 系统总体框图二、硬件电路设计与制作2.1 显示部分电路设计使用计数器采集到电机转速后,需要用数码管进行显示。
我们组选择串口驱动数码管显示电路,74HC595芯片是一种串入并出的芯片,是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。
首先使用三极管构成驱动电路,驱动数码管。
采用单片机的P0.0-P0.2作为74HC595时钟信号与输入口,使数码管显示相应转速,具体实现电路如图1。
图1 显示电路原理图2.2 驱动部分电路设计驱动部分作为电机与单片机控制器的结合部分,是本次设计的主电路,需要完成DC/DC变化的功能。
单片机产生PWM波送给驱动芯片IR2110,2110通过驱动电路控制MOSFET开关改变加在直流电机上的电压,从而达到改变转速的目的。
单片机产生的PWM1和PWM2波形要相反,控制斩波电路的半桥互补通断。
电路设计图如图2所示。
图2 驱动电路原理图2.3 电源部分设计电源设计部分共分两个部分,一部分是IR2110的供电电压和所有芯片的供电电压,另一部分是USB口供电电部分,使用电脑供电,两部分电路通过拨码开关进行切换。
市电供电电源采用220V交流电变成15V交流电,经整流桥变成直流电,再经7815、7805稳压得到15V和5V直流电,分别给驱动和单片机系统供电。
微机控制课程设计题目:直流电机调速控制器班级:姓名:学号:指导老师:日期:目录目录┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈1中文文摘┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈2英文文摘┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈2 1.方案比较┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.1总体方案┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.2显示部分的比较与选择┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.3电机的比较和选择┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.4测速方案的比较和选择┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈3 1.5键盘方案的比较和选择┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈4 1.6复位电路的比较和选择┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈4 2.系统设计及分析计算┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈4 2.1整体设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈4 2.2系统电源设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈5 2.3显示电路的设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈6 2.4键盘设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈8 2.5正反转控制电路(H桥)┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈9 2.6霍尔测速电路设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈9 2.7复位电路设计┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈10 3.程序设计流程图┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11 4.调试过程┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11 4.1测试方法与测试仪器┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11 4.1.1测试方法┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈11 4.1.2测试仪器┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈12 4.2测试数据及结果分析┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈125.设计总结┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13 5.1设计内容完成情况┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13 5.2硬件部分┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13 5.3软件部分┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈13【参考文献】┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈14附件一(系统设计总电路图)┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈15附件二系统程序┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈16关键词:单片机调速直流电动机PWM摘要与交流电动机相比,直流电动机结构复杂,成本高,运行维护困难。
计算机控制课程设计直流电机速度控制成绩题目直流电机速度控制课程名称计算机控制系统设计院部名称机电工程学院专业班级学生姓名学号课程设计地点课程设计学时指导教师金陵科技学院教务处制-目录摘要..............................................................II 1.绪论.............................................................1 2.设计方案 (2)2.1 直流电机调速原理 (2)2.2 PWM基本原理 (3)2.3 设计思路 (4)3.硬件电路的设计 (5)3.1 AT89C51模块 (5)3.2 直流电机模块 (7)3.3 显示设计模块 (8)3.4 驱动模块L298 (9)3.5 按键模块 (10)3.6 整体硬件电路图 (10)4.系统软件的设计 (11)4.1 系统流程图: (11)4.2 源代码: ................................................... 11 5.结果测试......................................................... 16 结论............................................................. 19 参考文献........................................................... 20 附录一: (21)I直流电机速度控制摘要近年来~随着计算机技术、电力电子技术和控制技术的发展~交流调速系统发展快~在许多场合正逐渐取代直流调速系统。
但是就目前来看~直流调速系统仍然是自动调速系统的主要形式。
对直流电机的速度调节~我们可以采用多种办法~本文在给出直流电机调整和PWM实现方法的基础上~提供一种用单片机软件实现PWM 调速的方法~脉宽调制控制方法在直流调速中获得了广泛的应用~对基于51系列单片机实现直流电机调速系统进行研究和设计~能够在不同的按钮作用下分别实现直流电机的停止、加速、减速、正转、反转控制,能够实现基于51系列单片机的直流电机PWM的调速设计。
计算机控制系统课程设计直流电机测速调速系统(总26页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除XI`AN TECHNOLOGICAL UNIVERSITY课程名称直流电机测速调速实验专业:电气工程及其自动化班级:姓名:学号:指导教师:秦刚成绩:2016 年 7 月 11日计算机控制系统课程设计——直流电机测速调速系统一、选定题目:电机速度控制系统二、设计目的和要求:计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要微型机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。
课程设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。
三、功能需求:1、基本功能:(1)该系统使用实验箱的直流电机、1602液晶、DA、键盘等模块完成设计;(2)直流电机通过DA模块使用PWM方式进行驱动及调速;(3)能够通过1602液晶显示当前转速及PWM占空比;(4)通过按键控制电机的启动和停止。
2、扩展功能:(1)能够通过按键手动输入目标转速(转/秒),启动电机后控制电机稳定在目标转速;(2)使用1602液晶实时显示目标转速、当前转速及启停状态(on/off)。
四、实验思路:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,控制电动机的转速为依据,实现对直流电动机的调速,并通过单片机控制速度的变化。
本设计的直流电机调速系统主要是由硬件和软件两大部分组成。
硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。
而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。
用51来产生PWM波就必须要用软件编程的方法来模拟。
方法大概可以分为软件延时和定时器产生两种方法。
直流电机测速摘要设计一种直流电机调速系统,以STC89C52 为控制核心,通过ULN2003 驱动电机,使用ST151 测量转速,实现了按键输入、电机驱动、转速控制、转速显示等功能。
关键词:直流电机, 80C51, ULN2003, 转速控制第一章题目描述直流小电机调速系统:采用单片机、ul n2003 为主要器件,设计直流电机调速系统,实现电机速度开环可调。
要求:1、电机速度分30r /m、60r /m、100r /m共3 档;2、通过按选择速度;3、检测并显示各档速度。
所需器件:实验板(中号)、直流电机、STC89C52、电容(30pFⅹ2、10uF ⅹ2)、数码管(共阳、四位一体)、晶振(12M H z )、小按键(4 个)、ST151、电阻、发光二极管等。
第二章方案论述按照题给要求,我们最终设计了如下的解决方案:用户通过键盘键入控制指令(开关),微控制器在收到指令后改变输出的 PW M波,最终在 U LN2003 的驱动下电机转速发生改变。
通过 ST151 传感器测量电机扇叶的旋转情况,将转速显示在数码管上。
在程序主循环中实现按键扫描与转速显示,将定时器0 作为计数器,计数ST151 产生的下降沿,可算出转速,并送至数码管显示。
第三章硬件部分设计系统硬件部分包含输入模块、显示模块、控制模块、测速模块等。
在硬件搭建前,先通过Pr ot eus Pr o 7. 5 进行硬件仿真实现。
1. 时钟电路系统采用12M 晶振与两个30pF 电容组成震荡电路,接STC89C52 的 XTAL1 与 XTAL2 引脚,为微控制器提供时钟源2. 按键电路四个按键分别控制电机的不同转速,即控制 PW M波高电平的占空比,以实现电机的速度控制,采用开环控制方法,不是十分精确,但控制简单,易实现,代码编写简单3. 显示部分系统采用4 位共阴极数码管实现转速显示。
数码管的位选端1~4 分别接STC89C52 的P2. 0~P2. 3 管脚,端选段A~G与 D P分别接 STC89C52 的 P0. 0~P0. 7 管脚。
直流电机微型计算机速度控制系统的设计设计一个直流电机微型计算机速度控制系统涉及到电机的速度控制、传感器的输入和计算机的输出等多个方面。
下面是一个1200字以上的设计系统的示例:引言直流电机广泛应用于工业、家用电器、汽车等领域,而微型计算机则被广泛应用于控制系统中。
本文将设计一个直流电机微型计算机速度控制系统,通过传感器的反馈信号和计算机的输出来实现对电机速度的精确控制。
1.系统框架本系统的框架包括电机控制模块、传感器模块和微型计算机模块。
电机控制模块通过电机驱动电路控制电机的速度,传感器模块采集电机的转速信号,微型计算机模块负责接收传感器信号并输出电机的控制信号。
2.传感器选择与接口设计传感器用于检测电机的转速信号,常用的传感器有光电传感器、霍尔传感器等。
在本系统中,选择霍尔传感器,因其高精度、低成本、易安装等特点。
在电机旋转中,霍尔元件将会产生电压脉冲信号,通过输入电路将信号转化为计算机可接受的数字信号。
3.电机控制模块设计为了实现对电机的速度控制,电机控制模块需要具备以下功能:3.1电压调节功能:通过调整电压大小控制电机的输出功率,从而实现对速度的控制。
3.2内部电流控制:在电机启动和运行时,需要通过电流传感器实时监测电机的工作电流并进行控制,以保证电机运行的稳定性和安全性。
3.3速度反馈控制:通过传感器模块反馈的转速信号,实时调节电机的供电电压,使其达到所需控制速度。
4.微型计算机模块设计微型计算机模块负责接收传感器反馈的转速信号,并根据设定的速度范围进行计算和控制电机控制模块。
具体的设计包括以下几个方面:4.1采样和滤波:通过AD转换器将模拟信号转换为数字信号,并进行滤波处理,以降低信号噪声和提高采样精度。
4.2速度控制算法:根据为电机设定的速度范围和输入的实时转速信号,进行误差计算并输出控制信号,以调节电机供电电压,使其保持在设定速度范围内运行。
4.3显示与操作:利用LCD显示屏和按键等外围设备,实现对设定速度的调节和显示转速等操作。
目录目录 ............................................................................................................................................................. - 0 - 摘要 ............................................................................................................................................................. - 1 -1、设计目的 (1)2、设计功能、要求 (1)3、硬件设计 (1)3.1、原理图设计 (1)3.2、器件清单 (2)3.3、各元器件作用说明 (2)3.4、工作过程说明 (2)4、软件设计 (3)4.1、设计思路 (3)4.2、工作原理图 (3)4.3、流程图 (4)4.4、程序清单 (4)5、仿真结果 (9)5.1、仿真环境说明 (9)5.2、程序编译结果 (9)5.3、软件仿真结果 (9)5.4、仿真结果说明 (11)6、设计总结 (11)7、参考文献 (11)8、附件:电路图 (12)摘要本设计主要是利用AT89C51单片机设计直流电机PWM调速系统,系统同时带有模拟测速功能。
利用汇编语言编写程序,通过Proteus软件进行仿真验证设计。
设计中还用到了外部晶振、六位LED数码管作为速度显示,外接四个按键作为功能设定。
按下启动按键进入启动显示、调速系统进入等待状态,按下正转功能键,电机正转;按下反转功能键,电机反转;按下停止功能键,电机由自身阻力减速到停止,这时会停止显示,显示屏熄灭,系统进入等待状态,如果按下启动按键将重新启动。
经过一系列的测试验证,设计能满足各项要求,经过长时间的运行测试程序都能正常地运行,没出现错误。
计算机控制技术PWM 电机速度控制系统设计方案《计算机控制技术》课程设计姓名:学号:系别:专业:班级:指导教师:二○一一年十二月十六日目录1.课程设计目的 12.课程设计题目和要求 12.1课程设计的要求和内容<包括原始数据、技术要求、工作要求)12.2课程设计图纸内容及张数 13.设计内容 23.1设计方案的选定与说明。
(根据给定任务,对所拟定的设计方案进行简要论述>23.1.1系统总方案论证与选择 23.1.2设计模块方案比较与分析 33.2设计方案的图表 4<一)PWM波软件软件设计4<二)测速软件设计 5<三)直流电机的调速功能仿真 61.调速前的波形图 72.调速后的波形图 7<四)电机速度的测量并显示功能仿真 7<五)系统的电路原理图 8<六)系统的PCB图83.3论述方案的各部分工作原理 93.3.18051 单片机的基本组成 93.3.2PWM的基本原理103.3.3PWM 发生电路主要芯片的工作原理113.3.4H桥驱动电路123.3.5霍尔传感器的工作原理 133.3.6P I转速调节器原理图及参数计算 143.4相关的计算 143.5编写设计说明书 214.设计总结 22参考书目 221.课程设计目的通过本课程设计, 主要训练和培养学生的以下能力:(1>.查阅资料:搜集与本设计有关部门的资料(包括从已发表的文献中和从生产现场中搜集>的能力;(2>.方案的选择:树立既考虑技术上的先进性与可行性,又考虑经济上的合理性, 并注意提高分析和解决实际问题的能力;(3>.迅速准确的进行工程计算的能力,计算机应用能力;(4>.用简洁的文字,清晰的图表来表达自己设计思想的能力。
2.课程设计题目和要求2.1课程设计的要求和内容<包括原始数据、技术要求、工作要求)1.要求设计电机速度控制系统,要求无余差,超调小。
计算机课程设计名称:直流电机PWM调速系统的计算机控制计算机控制技术课程设计任务书1引言1.1课题背景近年来,随着科技的进步,电力电子技术得到了迅速的发展,直流电机得到了越来越广泛的应用。
直流它具有优良的调速特性,调速平滑、方便,调速范围广;过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;需要能满足生产过程自动化系统各种不同的特殊运行要求,从而对直流电机的调速提出了较高的要求,改变电枢回路电阻调速,改变电枢电压调速等技术已远远不能满足要求,这时通过PWM方式控制直流电机调速的方法应运而生。
1.2系统功能该系统的核心为高性能低成本的单片机AT89C51,它与87C51完全兼容,内部包含4KEPROM。
利用AT89C51单片机控制PWM信号从而实现对直流电机转速进行控制;采用了专门的芯片组成了PWM信号的发生系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形。
2总体方案设计2.1系统总体设计框图图2-1 系统总体设计框图2.2系统控制器AT89C51简介在此次设计中,选用高性能、低成本的AT89C51单片机,管脚及基本连接电路如图2-2所示。
和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。
写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。
再着,AT89C51目前的售价低,市场供应很充足。
参数如下:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
基于89c52单片机的PWM 直流电机PID控制调速系统实验报告指导老师:衣法臻姓名:杨浩学号:09212020班级:自动化0901日期:2012年7月6日星期五目录第一章系统方案设计 (3)1.1 直流电机转速开环控制与闭环控制的选取 (3)1.2 直流电机调速方式的选取 (4)1.3 直流电机测速装置的选取 (5)1.4 系统控制算法的选取 (8)1.5 系统总体设计 (10)第二章硬件设计 (11)2.1 AT89C52芯片介绍 (11)2.2 直流电机驱动芯片ULN2803设计 (13)2.3 数显管显示给定速度和实际速度模块 (15)2.4 按键模块设计 (16)2.5 测速模块设计 (18)第三章软件部分设计 (19)3.1 数显管显示软件设计部分 (19)3.2 外部中断P3.3计数程序 (21)3.3 定时器0中断软件设计 (22)3.4 PWM算法程序设计 (25)3.5 PID控制算法程序设计 (26)3.6 按键程序设计 (29)第四章基于matlab的PID参数设计及仿真 (31)4.1 各部分传递函数的整定 (31)4.2 PID参数的整定 (31)第五章结果分析 (33)第六章实验总结及感想 (34)参考文献 (36)附录一硬件系统电路原理图 (36)附录二程序源代码 (36)第一章、系统总体方案设计1.1直流电机转速开环控制与闭环控制的选取对直流电机转速的控制有一般有两种方式,一种是开环控制,一种是闭环控制。
开环控制的优点是简单、稳定、可靠。
若组成系统的元件特性和参数值比较稳定,且外界干扰较小,开环控制能够保持一定的精度。
缺点是精度通常较低,无自动纠偏能力;闭环控制的优点是控制的精度可以达到很高,而且对外界的干扰和系统的参数变化有很好的抑制作用,且可以通过输出反馈控制系统的控制过程。
缺点是存在稳定性,振荡,超调等一系列问题,对系统的性能分析和设计远比开环控制麻烦。
经过利弊的取舍,本次试验选择的是闭环控制,因为准备应用PID算法控制电机的转速,故而需要有实际转速进行反馈与给定的转速形成对比,进而通过算法输出PWM波形来控制直流电机。
XI`ANTECHNOLOGICALUNIVERSITY程序设系统总体方法。
1(1)该系统使用实验箱的直流电机、1602液晶、DA、键盘等模块完成设计;(2)直流电机通过DA模块使用PWM方式进行驱动及调速;(3)能够通过1602液晶显示当前转速及PWM占空比;(4)通过按键控制电机的启动和停止。
2、扩展功能:(1)能够通过按键手动输入目标转速(转/秒),启动电机后控制电机稳定在目标转速;(2)使用1602液晶实时显示目标转速、当前转速及启停状态(on/off)。
四、实验思路:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,控制电动机的转速为依据,实现对直流电动机的调速,并通过单片机控制速度的变化。
本设计的直流电机调速系统主要是由硬件和软件两大部分组成。
硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。
而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。
用51来产生PWM波就必须要用软件编程的方法来模拟。
方法大概可以分为软件延时和定时器DA121602C字符型液晶:CS:片选信号,低电平有效;RS:选择读写的是指令或数据,L:指令,H:为数据。
RW:读写控制端,L:写操作,H:读操作。
12864J图形点阵液晶:CS:片选信号,低电平有效;CS1/2:左右半屏使能选择,H:左半屏,L:右半屏;RS:选择读写的是指令或数据,L:指令,H:为数据。
RW:读写控制端,L:写操作,H:读操作。
12864M图形点阵液晶:JP6的16脚是空脚,JP6的15脚是PSB:PSB接高电平,CPU与液晶使用并行接口连接,连接方法与12864J完全相同;PSB接低电平,CPU与液晶使用串行接口连接,此时,RS、RW、E与CPU的I/O管脚相连(STARES59PA才有该功能)。
(1602C字符型液晶)(12864J图形点阵液晶)2)DAC0832数模转换CS:片选,低有效;OUT:转换电压输出;OUT1:经功放电路的电压输出;主要特性:与MCS-51?兼容·;4K字节可编程FLASH存储器;寿命:1000写/擦循环;?数据保留时间:10年全静态工作:0Hz-24MHz??;?三级程序存储器锁定;128×8位内部RAM??;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;?低功耗的闲置和掉电模式;?片内振荡器和时钟电路;直流电机转速测量/控制5)使用光电开关测速CTRL:控制电压(DAC0832经功放电路提供)输入;REV:光电开关脉冲输出(用于转速测量);3、计算机控制技术的课程设计相比硬件的课程设计,简直难了不止一个档次,作为主要的编程人员,当我实际要去控制一个物体的时候,我才知道自己以前学的知识有多么的不牢固,不过真真正正的去做一个实物控制程序的时候,才能真切的体会到以前书本上学的知识是如何运用到实际的,我基本上可以说是为了应付考试勉勉强强学了一些,这次实际做到项目设计后,才理解其真正的含义。
第页还有本次项目,我们采用了LCD显示屏作为显示单元,比LED数码管复杂,LCD液晶显示屏这也是以前没有运用到过的,所以总体来说,这次课程设计带给我的不仅仅是旧知识的复习,还有新的探索。
本课程设计得以完成,首先要感谢秦刚老师,因为课程设计在他的悉心指导下才能顺利完成。
他渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范、朴实无华、平易近人的人格魅力对我的影响非常深远。
本设计从选题到完成,每一部步是在老师的指导下完成的,倾注了老师大量的心血。
在课程设sbitset=P1^4; //set按键sbitleft=P1^2; //左移光标sbitright=P1^3; //右移光标sbitLCD_RS=P3^0; //1602的RSsbitLCD_RW=P3^1; //1602的RWsbitsys_data=P3^4; //继电器控制脚,用于切换DA功率输出方向(电机or加热电阻)xdataunsignedchardac0832_addr_at_0xd000;//DA的地址xdataunsignedcharLCD_DATA_at_0x8000;//LCD1602的地址/*******************以下为系统的状态量设置**************/bitrps_triger=0; //转速(温度)刷新显示控制,1为需要刷新显示,0为不需要刷新显示bitscale_triger=0; //占空比刷新显示控制bitpower_triger=0; //电源指示刷新显示控制式4位),0~25%1秒)数)速,反之则缓慢调整)unsignedchartime_scale=0; //占空比总周期计数变量,一个周期200次,可以精确到0.5%unsignedinttime_check[4]={1000,3000,6000,10000};//转速调整时间系数表格unsignedcharcheck=0; //检测周期等级,分为0~4共5个等级,0为极小时间系数,4为稳定不变void_nop_(void);/*******************延时函数*****************/ voiddelay(inta){while(a--);}/*******************外部中断初始化*****************/ voidinit_int0(){}{}{LCD_RS=0;LCD_RW=0;LCD_DATA=com;delay(80);}voidLCD_write_data(unsignedchardat){LCD_RS=1;LCD_RW=0;LCD_DATA=dat;delay(80);}/*************LCD1602在电机调速系统下的初始化函数*************/{LCD_write_data('.');LCD_write_com(0xcf);LCD_write_data('%');LCD_write_com(0x8b);LCD_write_data(rps1/1000+0x30);LCD_write_data(rps1%1000/100+0x30);LCD_write_data(rps1%100/10+0x30);LCD_write_data(rps1%10+0x30);}/***************光标闪烁开***************/ voidflash_on(void){LCD_write_com(0x0f);}{}{rps_triger=0;}/************显示当前占空比**************/ voiddisplay_scale(void){flash_off();LCD_write_com(0xcb);LCD_write_data(scale/2/10+0x30);LCD_write_data(scale/2%10+0x30);LCD_write_com(0xce);LCD_write_data(scale%2*5+0x30);scale_triger=0;}/************显示auto模式的状态**************/{{}{LCD_write_data('');}auto_triger_triger=0;}/************显示power的状态(on或off)*************/ voiddisplay_power(void){flash_off();LCD_write_com(0xc0);if(power_data==0){LCD_write_data('o');LCD_write_data('f');LCD_write_data('f');}{}}{{scale--;if(scale<=1)scale=1;}elseif(rps1>rps_data){scale++;if(scale>=199)scale=199;}scale_triger=1;}/************显示电机调速系统下set模式函数**************/ voiddisplay_set(void){{}}{if(power==1)return;else{delay(20);//按键去抖if(power==0){while(power!=1);power_data=~power_data;power_triger=1;set_triger=0;auto_triger_triger=1;}elsereturn;}}{{}}/************set设置模式键**************/ voidfn_set(){if(set==1)return;else{delay(20);//按键去抖if(set==0){while(set!=1);set_triger=~set_triger;auto_triger=0;}}{{switch(set_data){case0:if(rps1/1000>=1)rps1=rps1-1000;break;case1:if(rps1%1000/100>=1)rps1=rps1-100;break;case2:if(rps1%100/10>=1)rps1=rps1-10;break;case3:if(rps1%10>=1)rps1=rps1-1;break;}}else{if(scale<=1)scale=1;elsescale--;scale_triger=1;}}}{{{case0:if(rps1/1000<9)rps1=rps1+1000;break;case1:if(rps1%1000/100<9)rps1=rps1+100;break;case2:if(rps1%100/10<9)rps1=rps1+10;break;case3:if(rps1%10<9)rps1=rps1+1;break;}}else{if(scale>=199)scale=199;elsescale++;scale_triger=1;}}}}{{}elsereturn;}elsereturn;}}/************光标右移键(set模式下有效)**************/voidfn_right(){if(right==1)return;else{delay(20);//按键去抖if(right==0)}}{}/****************定时器0中断服务函数*****************/ voidtimer0(void)interrupt1{unsignedintt;TH0=0xff; //重新装载计时常数TL0=0x1a;if(time_scale>=200)time_scale=0; //占空比计数控制if(time>=4000) //如果计满1秒,计秒变量归零,并将rps的转数数据送到转速(温度)数据变量中保存{time=0;time_scale=0;if(sys_data==1)rps_data=rps*60/4;//在电机调速模式下:每转有4个脉冲,所以除以4 rps=0; //rps归零{}{}{if(time_scale<=scale)dac0832_addr=0xff;//PWM信号输出elsedac0832_addr=0x00; //PWM信号输出}elsedac0832_addr=0x00; //PWM信号输出if(time2>=200) //数据差值检测,0.5秒1次{time2=0;t=abs(rps_data-rps1);//电机调速系统下的参数调整等级划分if(t>1200)check=0;else{if(t>500)check=1;else空比}if(auto_triger==1)check_rps();}elsetime3++;}}/****************主函数*****************/voidmain(){key0=1; //读引脚之前要写1key1=1;power=1;set=1;T0_init(); //T0初始化init_int0(); //外部中断int0初始化{状态显示if(sys_data==1)display_set(); //不同的系统(电机调速、温度控制)不同的set状态显示}}}。