计算机控制系统课程设计直流电机测速调速系统

合集下载

基于STM32的直流电机PID调速系统设计

基于STM32的直流电机PID调速系统设计

《计算机控制技术课程设计》题目:基于STM32的直流电机PID调速学院:计算机与电子信息学院专业:电气工程及其自动化班级:电气12-5 学号: 12034320515 姓名:任课教师:完成时间: 2015.11.18——2015.12.30基于STM32的直流电机PID调速摘要电机转速控制在运动控制系统中占有至关重要的地位,本设计将电机转速控制作为研究对象;以PID为基本控制算法,STM32F103单片机为控制核心,产生受PID算法控制的PWM脉冲实现对直流电机转速的控制。

同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。

在系统中采320×240TFTLCD显示器作为显示部件,通过4个按键通过界面切换方式设置P、I、D、V四个参数和正反转控制,启动后可以通过显示部件了解电机当前的运行状态和系统的CPU温度。

该系统控制精度高,具有很强的抗干扰能力。

关键词:PID 直流电机反馈调节Based on the STM32 PID speed control of dc motorAbstractMotor speed control occupies a crucial position in the motion control system, the design of the motor speed control for the study; in the basic PID control algorithm, STM32F103 microcontroller core, by the PID control algorithm generates a PWM pulse to achieve DC speed control. At the same time the use of photoelectric sensors to convert the motor speed to pulse frequency feedback to the microcontroller to achieve closed-loop speed control, to speed static error adjustment purposes. Mining 320 ×240TFTLCD monitor as a display unit in the system, through four key settings P, I, D, V four parameters and reversing control through the interface switching mode, start to understand the current state of the motor and the system through the display unit CPU temperature. The system control and high precision, has a strong anti-jamming capability.Keywords: PID DC motor feedback regulation目录1. 绪论 (1)1.1研究背景与意义 (1)1.2本文主要研究方法 (1)2. 设计方案与论证 (2)2.1系统设计方案 (2)2.2控制器模块设计方案 (2)3. 系统硬件电路设计 (3)3.1整体电路设计 (3)3.1.1整体理论 (3)3.1.2整体简单结构图和资源分配图 (3)3.2最小单片机系统设计 (4)3.2.1STM32F103复位电路 (6)3.2.2电源电路 (6)3.3电机驱动电路设计 (7)3.4光电码盘编码器电路设计 (7)3.5显示电路设计 (8)3.6按键电路设计 (10)4. 系统软件设计 (10)4.1PID算法 (10)4.2PID参数整定方法 (11)4.3电机速度采集算法 (12)4.4程序流程图 (12)5. 系统调试 (13)5.1软件调试 (13)5.2系统测试与分析 (14)6. 总结与展望 (15)参考文献 (16)附录一部分程序源程序 (17)附录二系统界面实物图和PCB图 (20)1.绪论1.1研究背景与意义电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和结构上的简单,使其成为许多电器,如洗衣机,电梯等的驱动。

基于单片机的直流电机调速系统设计

基于单片机的直流电机调速系统设计

直流电机转速 :
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式 U=Ea+Ia(Ra+Rc)……………式1
式1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷 接触电阻的总和;Rc是外接在电枢回路中的调节电阻
由此可得到直流电机的转速公式为:
n=(Ua-IR)/CeΦ ………………………式2
式2中, Ce为电动势常数, Φ是磁通量。 由1式和2式得
n=Ea/CeΦ ……………………………式3
由式3中可以看出, 对于一个已经制造好的电机, 当励磁电压和 负载转矩恒定时, 它的转速由回在电枢两端的电压Ea决定, 电 枢电压越高, 电机转速就越快, 电枢电压降低到0V时, 电机就 停止转动;改变电枢电压的极性, 电机就反转。
PWM脉宽调速
PWM(脉冲宽度调制)是通过控制固定电压的 直流电源开关频率, 改变负载两端的电压, 从 而达到控制要求的一种电压调整方法。在PWM 驱动控制的调整系统中, 按一个固定的频率 来接通和断开电源, 并且根据需要改变一个 周期内“接通”和“断开”时间的长短。通 过改变直流电机电枢上电压的“占空比”来 达到改变平均电压大小的目的, 从而来控制 电动机的转速。也正因为如此, PWM又被称为 “开关驱动装置”。
, 软件简单。但每个按键需要占用一个输入口线, 在 按键数量较多时, 需要较多的输入口线且电路结构复杂, 故此种键盘适用于按键较少或操作速度较高的场合。
数码管显示部分 本设计使用的是一种比较常用的是四位数码 管, 内部的4个数码管共用a~dp这8根数据线, 为使用提供了方便, 因为里面有4个数码管, 所以它有4个公共端, 加上a~dp, 共有12个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)

PROTUES课程设计-直流电动机调速器-单片机89C51-Keil---Proteus

PROTUES课程设计-直流电动机调速器-单片机89C51-Keil---Proteus

1 引言随着微电子技术的不断发展与进步,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

在现代工业中,直流电动机作为电能转换的传动装置,被广泛应用于机械、冶金、石油、化工、国防等工业部门中。

直流电动机是将直流电能转换为机械能的电动机。

因其良好的调速性能而在电力拖动中得到广泛应用。

随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。

直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。

正是这些技术的进步使直流调速系统发生翻天覆地的变化。

其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并向全数字控制方向快速发展。

本文设计了用DAC0808设计直流电动机调速器的基本方案,阐述了该调速器系统的基本结构、工作原理、运行特性及其设计方法。

本系统用电压表测量直流电动机的转速,用MCS-51单片机输出数字信号通过DAC0808芯片实现数模转换,从而输出模拟电压来控制调节直流电动机的转速。

本设计主要研究利用单片机及DAC0808实现数模转换调速,直流电机的控制和测量方法,从而对直流电机的调速控制精度、响应速度以及节约能源等都具有重要意义。

2 设计总体方案2.1 设计要求基本要求:使用AT89C51单片机为核心,使用数模转换元件DAC0808对单片机输出的数字信号进行转换,输出模拟信号驱动直流电动机。

具体要求:在设计中,设计8个按键对应直流电动机的8挡不同转速,按下不同按键时,电动机将以不同速度转动,在8个按键中取一个按键为直流电动机转动停止按键。

8挡不同转速的设定由学生自己决定。

仿真:控制程序在Keil软件中编写,编译,整个控制电路在Proteus仿真软件中连接调示。

直流电机测速系统课程设计

直流电机测速系统课程设计

西安邮电学院单片机课程设计报告书题目:电机测速系统院系名称:自动化学院学生姓名:专业名称:自动化班级:自动XXXX班时间:20XX年X月X日至 X月XX日电机测速系统一、设计目的随着科技的飞速发展,计算机应用技术日益渗透到社会生产生活的各个领域,而单片机的应用则起到了举足轻重的作用。

在工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、机床主轴等旋转设备的试验运转和控制中,常需要分时或连续测量、显示其转速及瞬时速度。

为了能精确地测量转速,还要保证测量的实时性,要求能测得瞬时转速。

因此设计一种较为理想的电机测速控制系统是非常有价值的。

二、设计要求1.用按键控制电机起停;2.电机有两种速度,通过按键来改变速度;3.通过数码管显示每分钟或每秒的转速。

四、设计方案及分析(包含设计电路图)1. STC89C52单片机介绍STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

(1)单片机最小系统单片机最小系统电路如图所示,由主控器STC89C52、时钟电路和复位电路三部分组成。

单片机STC89C52作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。

图单片机最小系统(2)晶振电路(3)复位电路复位是单片机的初始化操作。

其主要功能是把PC 初始化为0000H ,使单片机从0000H 单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

2. ST151光电转速传感器是根据光敏二极管工作原理制造的一种感应接收光强度变化的电子器件,当它发出的光被目标反射或阻断时,则接收器感应出相应的电信号。

【设计】自动控制系统课程设计转速单闭环直流电机调速系统设计与仿真

【设计】自动控制系统课程设计转速单闭环直流电机调速系统设计与仿真

【关键字】设计东北大学秦皇岛分校控制工程学院《自动控制系统》课程设计设计题目:转速单闭环直流电机调速系统设计与仿真学生:张海松专业:自动化班级学号:指导教师:王立夫设计时间:2012年6月27日东北大学秦皇岛分校控制工程学院《自动控制系统》课程设计任务书专业:自动化班级:509 学生姓名:设计题目:转速单闭环直流电机调速系统设计与仿真一、设计实验条件实验设备:PC机二、设计任务直流电机额定电压,额定电枢电流,额定转速,电枢回路总电阻,电感,励磁电阻,励磁电感,互感,,允许过载倍数。

晶闸管装置放大系数:,时间常数:,设计要求:对转速环进行设计,并用Matlab仿真分析其设计结果。

目录绪论--------------------------------------------------------------------------------11.转速单闭环调速系统设计意义-----------------------------12.原系统的动态结构图及稳定性的分析-----------------------22.1 转速负反应单闭环控制系统组成-----------------------22.2 转速负反应单闭环控制系统的工作原理-----------------33.调节器的选择及设计-------------------------------------33.1调节器的选择- --------------------------------------33.2 PI调节器的设计--- ---------------------------------44.Mat lab仿真及结果分析----------------------------------74.1 simulink实现上述直流电机模型-----------------------74.2 参数设置并进行仿真---------------------------------74.3结果分析--------------------------------- ---------155.课设中遇到的问题--------------------------------------166.结束语- ---------------------------------------------17参考文献- ---------------------------------------------17转速单闭环直流电机调速系统设计与仿真绪论直流电动机由于调速性能好,启动、制动和过载转矩大,便于控制等特点,是许多高性能要求的生产机械的理想电动机。

单闭环直流电机调速系统课程设计

单闭环直流电机调速系统课程设计

《计算机控制技术》课程设计(单闭环直流电机调速系统)摘要运动控制系统中应用最普遍的是自动调速系统。

在工程实践中,有许多生产机械要求在一定的范围内进行速度的平滑调节,并且要求有良好的静、动态性能。

由于直流电动机具有极好的运行性能和控制特性,尽管它不如交流电动机那样结构简单、价格便宜、制造方便、维护容易,但是长期以来,直流调速系统一直占据垄断地位。

当然,近年来,随着计算机技术、电力电子技术和控制技术的发展,交流调速系统发展很快,并有望在不太长的时间内取代直流调速系统,但是就目前来讲,直流调速系统仍然是自动调速系统的主要方式。

在我国许多工业部门,如轧钢、矿山采掘、海洋钻探、金属加工、纺织、造纸以及高层建筑等需要高性能可控电力拖动的场合,仍然广泛采用直流调速系统。

而且,直流调速系统在理论上和实践上都比较成熟,从控制技术的角度来看,它又是交流调速系统的基础。

随着电子技术和计算机技术的高速发展,直流电动机调速逐步从模拟化走向数字化,特别是单片机技术的应用,使直流电动机调速技术进入一个新的发展阶段。

因此,本次课程设计就是针对直流电动机的起动和调速性能好,过载能力强等特点设计由单片机控制单闭环直流电动机的调速系统。

本设计利用AT89C52单片机设计了单片机最小系统构成直流电动机反馈控制的上位机。

该上位机具有对外部脉冲信号技术和定时功能,能够将脉冲计数用软件转换成转速,同时单片机最小系统中设计了键盘接口和液晶显示接口。

利用AT89C52单片机实现直流电机控制电路,即直流电动机反馈控制系统的下位机,该下位机具有直流电机的反馈控制功能,上位机和下位机之间采用并行总线的方式连接,使控制变得十分方便。

本系统能够用键盘实现对直流电机的起/停、正/反转控制,速度调节既可用键盘数字量设定也可用电位器连续调节并且有速度显示电路。

本系统操作简单、造价低、安全可靠性高、控制灵活方便,具有较高的实用性和再开发性。

关键词:直流电动机AT89C52 L298N 模数转换1课题来源1.1设计目的计算机控制技术课程是集微机原理、计算机技术、控制理论、电子电路、自动控制系统、工业控制过程等课程基础知识一体的应用性课程,具有很强的实践性,为了使学生进一步加深对计算机控制技术课程的理解,掌握计算机控制系统硬件和软件的设计思路,以及对相关课程理论知识的理解和融会贯通,提高学生运用已有的专业理论知识分析实际应用问题的能力和解决实际问题的技能,培养学生独立自主、综合分析与创新性应用的能力,特设立《计算机控制技术》课程设计教学环节。

直流电机速度PID控制系统设计毕业论文(设计).doc.doc

直流电机速度PID控制系统设计毕业论文(设计).doc.doc

序号(学号〉: 161240303长春大学 毕业设计(论文)直流电机速度PID 控制系统设计李一丹国际教育学院自动化1612403曹福成2016 年 5 月 30 0姓 名 学 院 专 业 班 级 指导教师直流电机速度PID控制系统设计摘要:针对现有的直流电机控速难的问题,本文设计了一种基于ATmegal6L单片机的直流电机速度控制系统。

本系统以ATinegal6L单片机为主控制器,搭载了L298n为电机驱动,通过霍尔元件进行测速,通过按键控制电机的转动方向和转动速度,并配以温度传感器DS18B20对温度进行监测,通过PID算法调节PW\1 进行对速度控制。

该系统包括的模块主要有单片机为主体的控制模块、电机的驱动模块、对电机速度进行监测的模块、由LCD1602构成的显示ky r模块、电源模块和按键控制模块等。

本系统可以通过PID算法实现可编程脉宽波形对直流电机的速度进行控制,并且可以显示出当前电机的转速。

关键词:单片机;PID算法;直流电机The design of DC motor speed control system with PID Abstract: According to the existing DC motor speed control problem, this paper describes the design of a DC motor speed control system based on ATmegal6L MCU. To ATMEGA16L microcontroller as the main controller for the system, equipped with a L298n for motor drive, through the hall element of speed, through the buttons to control the motor rotation direction and the rotation speed, and the temperature sensor DS18B20 the temperature monitoring, PID algorithm is used to adjust the PWM control of the speed. The system includes the following modules display microprocessor control module, as the main body of the motor drive module, monitoring module, the speed of motor is composed of LCD1602 module, power supply module and key control module.This system can realize through PID algorithm to control the speed of the programming pulse waveforms of DC motor, and can display the current motor speed.Keywords: single chip microcomputer, PID algorithm, DC motor ky r戈ml ml ——II —In —In | * 11—I 1111 ml 1111目录Bit (1)l.i选题背景及意义 (1)1.2国内外研宄现状 (2)1.3木文主要研究的内容 (3)第2章总体方案论述 (4)ky r2.1系统主要传感器介绍 (4)2.1.1温度传感器 (4)2.1.2转速检测模块 (5)2.2系统总体功能及方案选择 (6)2.2.1系统所需模块及功能 (6)2.2.2主控制器选择 (8)第3章系统总体硬件设计 (10)3.1单片机最小系统 (10)3.1.1ATmegal6L单片机的引脚分布 (10)3.1.2最小系统的硬件电路 (13)3.2电机驱动电路 (14)3.3温度检测电路 (15)3.4光电管提示电路和按键控制电路 (15)3.5LCD1602 显示电路 (16)3.6电源电路 (17)3.7本章小节 (18)第4章系统软件设计 (19)4.1系统总体流程图 (19)4.2 PID算法简介 (19)4.2.1PID算法介绍 (20)4.2.2HD算法结果 (21)4.3系统调试步骤 (21)4.4误差分析即改进方法 (22)给论 (23)致谢 (24)参考文献 (25)隱 (26)附录I系统总体硬件电路图 (26)附录II系统中部分程序 (27)ky r In—ml ml ml ml | , I af—.第1章绪论1.1选题背景及意义电动机简称电机,俗称马达,在现实生活中,我们处处都可以见到电机的身影,小到小学生玩的电动四驱车,大到炼钢厂用的滚动罐,这些都是电机家族的成员。

计算机控制课程设计:直流电机调速系统

计算机控制课程设计:直流电机调速系统

计算机控制课程设计直流电机调速系统一.实验要求(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型通道的低电位场效应晶体管,结合一个驱动晶片,形成一个完全整合的高电流半桥。

控制系统课程设计任务书

控制系统课程设计任务书

课程设计任务书学年第一学期学生姓名:专业班级:指导教师:工作部门:一、课程设计题目:直流调速系统设计及仿真和此处根据自己做的题写名称二、设计目的:《控制系统课程设计》是继“自动控制系统”课之后开设的实践性环节课程。

由于它是一门理论深、综合性强的专业课,单是学习理论而不进行实践将不利于知识的接受及综合应用。

本课程设计将起到从理论过渡到实践的桥梁作用,通过该环节训练达到下述教学目的:1、通过课程设计,使学生进一步巩固、深化和扩充在交直流调速及相关课方面的基本知识、基本理论和基本技能,达到培养学生独立思考、分析和解决问题的能力。

2、通过课程设计,让学生独立完成一项直流或交流调速系统课题的基本设计工作,使学生熟悉设计过程,了解设计步骤,达到培养学生综合应用所学知识能力、培养学生实际查阅相关设计资料能力的目的、培养学生工程绘画和编写设计说明书的能力。

3、通过课程设计,提高学生理论联系实际,综合分析和解决实际工程问题的能力。

通过它使学生理论联系实际,以实际系统作为实例,对系统进行分析设计,掌握控制系统设计必须遵循的原则、基本内容、设计程序、设计规范、设计步骤方法及系统调试步骤。

通过设计培养学生严肃认真、一丝不苟和实事求是的工作作风。

培养学生的创新意识和创新精神,为今后走向工作岗位从事技术打下良好基础。

三、课程设计内容(含技术指标)1.直流调速系统设计及仿真题目和设计要求:(直流调速系统选项一题)(一)直流调速系统的设计选题1机架序号电动机型号P n(KW)U n(V)I n(A)n n(r/min)R a(Ω)GD a2(Nm2)P极对数1Z2-92 67 230 291 1450 0.2 68.60 1(2)技术数据1.电枢回路总电阻取R=2Ra ;总飞轮力矩:225.2a GD GD =。

2.其他参数可参阅教材中“双闭环调速系统调节器的工程设计举例”的有关数据。

3.要求:调速范围D=10,静差率S≤5%:稳态无静差,电流超调量%5%≤i σ;启动到额定转速时的转速退饱和超调量%10≤n σ。

基于STM32的直流电机PID调速系统设计

基于STM32的直流电机PID调速系统设计

《计算机控制技术课程设计》题目:基于STM32的直流电机PID调速学院:计算机与电子信息学院专业:电气工程及其自动化班级:电气12-5 学号:姓名:任课教师:完成时间:——基于STM32的直流电机PID调速摘要电机转速控制在运动控制系统中占有至关重要的地位,本设计将电机转速控制作为研究对象;以PID为基本控制算法,STM32F103单片机为控制核心,产生受PID算法控制的PWM脉冲实现对直流电机转速的控制。

同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。

在系统中采320×240TFTLCD显示器作为显示部件,通过4个按键通过界面切换方式设置P、I、D、V四个参数和正反转控制,启动后可以通过显示部件了解电机当前的运行状态和系统的CPU温度。

该系统控制精度高,具有很强的抗干扰能力。

关键词:PID 直流电机反馈调节Based on the STM32 PID speed control of dc motorAbstractMotor speed control occupies a crucial position in the motion control system, the design of the motor speed control for the study; in the basic PID control algorithm, STM32F103 microcontroller core, by the PID control algorithm generates a PWM pulse to achieve DC speed control. At the same time the use of photoelectric sensors to convert the motor speed to pulse frequency feedback to the microcontroller to achieve closed-loop speed control, to speed static error adjustment purposes. Mining 320 × 240TFTLCD monitor as a display unit in the system, through four key settings P, I, D, V four parameters and reversing control through the interface switching mode, start to understand the current state of the motor and the system through the display unit CPU temperature. The system control and high precision, has a strong anti-jamming capability.Keywords: PID DC motor feedback regulation目录1. 绪论 (1)研究背景与意义 (1)本文主要研究方法 (1)2. 设计方案与论证 (2)系统设计方案 (2)控制器模块设计方案 (2)3. 系统硬件电路设计 (3)整体电路设计 (3)整体理论 (3)整体简单结构图和资源分配图 (3)最小单片机系统设计 (4)STM32F103复位电路 (6)电源电路 (6)电机驱动电路设计 (7)光电码盘编码器电路设计 (7)显示电路设计 (8)按键电路设计 (10)4. 系统软件设计 (10)PID算法 (10)PID参数整定方法 (11)电机速度采集算法 (12)程序流程图 (12)5. 系统调试 (13)软件调试 (13)系统测试与分析 (14)6. 总结与展望 (15)参考文献 (16)附录一部分程序源程序 (17)附录二系统界面实物图和PCB图 (20)1.绪论1.1研究背景与意义电动机在现代的工业中,是主要的驱动设备,尤其是直流电动机,由于它的平滑调速性和结构上的简单,使其成为许多电器,如洗衣机,电梯等的驱动。

单片机课程设计PWM直流电动机调速控制系统方案

单片机课程设计PWM直流电动机调速控制系统方案

单片机原理及应用—— P W M直流电机调速控制系统概括直流电动机具有良好的启动性能和调速特性。

具有起动转矩大、调速平稳、经济大范围、调速容易、调速后效率高等特点。

本文设计的直流电机调速系统主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路和独立按键组成的电子产品组成。

电源采用78系列芯片,采用PWM波方式实现电机+5V、+15V调速,PWM为脉宽调制,通过51单片机改变占空比实现。

通过独立的按键实现电机的启停、调速和转向的手动控制,LED实现测量数据(速度)的显示。

电机转速采用霍尔传感器检测输出方波,通过51单片机统计1秒内方波脉冲个数,计算电机转速,实现直流电机的反馈控制。

关键词:直流电机调速; H桥驱动电路; LED显示屏; 51单片机目录摘要2摘要错误!未定义书签。

目录3第 1 章引言41.1 概述41.2 国外发展现状41.3 要求51.4 设计目的及6第 2 章项目论证与选择72.1 电机调速模块72.2 PWM调速工作模式72.3 PWM脉宽调制方式错误!未定义书签。

2.4 PWM 软件实现错误!未定义书签。

第三章系统硬件电路设计83.1 信号输入电路83.2 电机PWM驱动模块电路9第 4 章系统的软件设计104.1 单片机选型104.2 系统软件设计分析10第 5 章 MCU 系统集成调试135.1 PROTEUS 设计与仿真平台错误!未定义书签。

18传统开发流程对比错误!未定义书签。

第一章简介1.1 概述现代工业的电驱动一般要求部分或全部自动化,因此必须与各种控制元件组成的自动控制系统相联动,而电驱动可视为自动电驱动系统的简称。

在这个系统中,生产机械可以自动控制。

随着现代电力电子技术和计算机技术的发展以及现代控制理论的应用,自动电驱动正朝着计算机控制的生产过程自动化方向发展。

以实现高速、高质量、高效率的生产。

在大多数集成自动化系统中,自动化电力牵引系统仍然是不可或缺的组成部分。

双闭环直流调速系统课程设计报告

双闭环直流调速系统课程设计报告

1双闭环直流调速系统课程设计报告第一章主电路设计与参数计算调速系统方案的选择因为电机上网容量较大又要求电流的脉动小应采纳三相全控桥式整流电路供电方案。

电动机额定电压为220V 为保证供电质量应采纳三相减压变压器将电源电压降低。

为防止三次谐波电动势的不良影响三次谐波电流对电源的扰乱。

主变压器采纳 A/D 联络。

因调速精度要求较高应采纳转速负反应调速系统。

采纳电流截止负反应进行限流保护。

出现故障电流时过电流继电器切断主电路电源。

为使线路简单工作靠谱装置体积小宜采纳 KJ004 构成的六脉冲集成触发电路。

该系统采纳减压调速方案故励磁应保持恒定励磁绕组采纳三相不控桥式整流电路供电电源可从主变压器二次侧引入。

为保证先加励磁后加电枢电压主接触器主触点应在励磁绕组通电后方可闭合同时设有弱磁保护环节电动机的额定电压为 220V 为保证供电质量应采纳三相减 2 压变压器将电源电压降低为防止三次谐波电动势的不良影响三次谐波电流对电源的扰乱主变压器采纳D/Y 联络。

1.1 整流变压器的设计 1.1.1 变压器二次侧电压U2 的计算U2 是一个重要的参数选择过低就会没法保证输出额定电压。

选择过大又会造成延迟角α加大功率因数变坏整流元件的耐压高升增添了装置的成本。

一般可按下式计算即BAUUd2.112 1-1 式中 A-- 理想状况下α0°时整流电压 Ud0 与二次电压U2 之比即AUd0/U2B-- 延缓角为α时输出电压Ud 与 Ud0 之比即BUd/Ud0 ε——电网颠簸系数系数依据设计要求采纳公式11.2——考虑各样因数的安全BAUUd2.112 1-3由表查得A2.34 取ε 0.9 角α考虑 10°裕量则Bcosα 0.985222011.21061272.340.90.985UV 取 U2120V 。

电压比KU1/U2380/1203.2 。

1.1.2 一次、二次相电流 I1 、I2 的计算由表查得 KI10.816 KI20.816 考虑变压器励磁电流得取1.1.3 变压器容量的计算S1m1U1I1 1-4 S2m2U2I2 1-5S1/2S1S2 1-6 式中 m1、m2 -- 一次侧与二次侧绕组的相数表查得 m13m23 S1m1U1I13× 380×1415.6KVA由S2m2U2I23×110×44.914.85 KVA考虑励磁功率LP220×1.60.352kW 取 S15.6kvA 1.2 晶闸管元件的选择晶闸管的额定电压晶闸管实质蒙受的最大峰值电压TNU 乘以 23 倍的安全裕量参照标准电压等级即可确立晶闸管的额定电压 TNU 即 TNU 23mU 整流电路形式为三相全控桥查表得26UUm 则223236236110539808TNmUUUV 3-7 取晶闸管的额定电流选择晶闸管额定电流的原则是一定使管子同意经过的额定电流有效值TNI 大于实质流过管子电流最大有效值TI8 即 4 TNI 1.57AVTITI 或AVTI57.1TI57.1TIddIIKdI 1-8 考虑 1.52 倍的裕量AVTI1.52KdI 1-9 式中KTI/1.57dI-- 电流计算系数。

计算机控制系统课程设计直流电机测速调速系统

计算机控制系统课程设计直流电机测速调速系统

计算机控制系统课程设计直流电机测速调速系统(总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波就必须要用软件编程的方法来模拟。

方法大概可以分为软件延时和定时器产生两种方法。

直流电机调速控制和测速系统设计

直流电机调速控制和测速系统设计

直流电机调速控制和测速系统设计摘要:在电机结构之中,直流型的电机在性能上具有极高的优势,随着时代的飞速发展,有关直流电机的应用范围也越发广泛。

但是,传统的直流电机的工作性质决定它会面临有关运转方面的问题,如何进行转速控制便成为困扰直流电机发展与应用的重要原因。

而直流电机控制系统的出现,很好地缓解了这方面的问题,不但提高了直流电机的稳定性与精准性,同时还能够对直流电机开展有效的调速控制,以此来满足我国对相关设备的应用需求。

正因如此,本文就直流电机调速控制加以分析,并以此为基础开展相应的测速系统设计。

关键词:直流电机;调速控制;测速系统电子技术是新时代发展的基础,对于人们的日常生活有着极为重要的影响,随着我国科学技术的不断提升,有关直流电机的成本也在不断降低,在这一过程中,直流电机本身所具备的优良特性也会得到有效发挥,在发展前景方面也会更加乐观。

此外,由于直流电机本身在控制方面相对简单,且自身所具备的应用性比较强,在进行设计的过程中,只需要对其自身调速稳定内容进行优化即可。

但是,当前我国在有关这方面的控制技术上还存在着一定程度的问题,很多计算过程十分复杂,很难将直流电机的调速控制工作完全发挥出来。

正因如此,本文就这方面进行调速与测速系统的控制与设计,以此来确保整个电机设备的稳定性与安全性能够得到有效提升。

一、电机调速原理及其实现电机调速原理主要是指对电机两端所存在的电压进行数据上的更改,以此来完成对电机转速的调节工作,对于电机而言,当自身的电压方向出现改变,那么电机的旋转变化发生改变[1]。

而PWM在调速原理方面则是以脉冲信号为主,利用脉冲信号的输出特性来进行传输,并改变原本存在于电机内部空间的脉冲信号,通过间接或速度按钮来完成有关电机电压的更改工作,从而来确保电机的转速能够因此发生改变。

在这一过程中,电机内部的脉冲占比越大,转速也就越慢[2]。

本文针对直流电机进行相应的系统设计,整个电路主要是以H桥为主,为了确保整个驱动电机能够得到有效控制,将三极管进行单片机的引脚安装,将基极部分分别安装在P3.4以及P3.7这两部分,从而来确保当电机处于运行状态时,能够利用垫片机来对其自身的转速内容进行控制。

毕业设计(论文)基于智能pid的直流电机调速系统

毕业设计(论文)基于智能pid的直流电机调速系统

摘要由于变频技术的出现,交流调速一直冲击直流调速,但综观全局,尤其是我国在此领域的现状,再加上全数字直流调速系统的出现,提高了直流调速系统的精度及可靠性,直流调速仍将处于重要地位。

对于直流调速系统转速控制的要求有稳速、调速、加速或减速三个方面,而在工业生产中对于后两个要求已能很好地实现,但工程应用中稳速指标却往往不能达到预期的效果,稳速要求即以一定的精度在所需要的转速上稳定运行,在各种干扰下不允许有过大的转速波动。

稳速很难达到要求原因在于数字直流调速装置中的PID调节器对被控对象及其负载参数变化自适应能力差。

模糊控制不要求被控对象的精确模型且适应性强,为了克服常规数字直流调速装置的缺点,本文将模糊控制与PID调节器结合,着手fuzzy-PID复合控制方案理论研究和硬件的实现,设计出相关控制方案的直流调速系统,该方案以AT89C51单片机为主控单元,合适的驱动电路和一些外围电路构成硬件系统;以参数模糊自整定PID为控制策略。

本文对于系统的硬件及软件设计进行了详细的设计,包括电机控制模块、检测模块、电机驱动模块的设计等,以及软件的控制思想和编程方法。

本系统的设计顺应了目前国外直流调速朝着数字化,发展的趋势,充分利用了单片机的优点,使得通用性得到了提高。

经过理论分析和设计此控制器的各项性能指标优于模糊控制器和常规PID 控制器,具有很强的鲁棒性。

关键词:模糊控制;直流调速;稳态性能;单片机AbstractAfter Frequency Conversion Technology appeared,AC speed regulation method had always impacted DC Speed Regulation,but Generally speaking,especially the status in our country,in addition to digital DC Speed Regulation emerged,it improving the precision and the reliability in DC Speed Regulation System.DC Speed Regulation was also in the important status.Speed stability、speed ratio、acceleration、deceleration are the four factors in DC Speed Regulation System,the last two factors already reached well in industry application.But the Stability index does not match the desired purpose.Stability index is that the DC motor running in the precision range on desired speed,even if the system has uncertain disturbance.It is hard to realize because of adaptiveability digital DC Speed Regulation device is not enough when in the condition of the load parameters change unpredictably.Fuzzy control does not need precision mathematic model to conquer the shortcoming in routine digital DC Speed Regulation.We can combine with the PID adjuster and fuzzy control,focusing on theory research and realization of fuzzy-PID compound control scheme,design relevant DC Speed Regulation System was designed in the dissertation.This scheme is based on the core of AT89C51 single chip,appropriate driver circuit and some peripheral circuits,Fuzzy Self-tuning PID is the control strategy,This dissertation also introduce the plan of hardware and software,including DC motor control module、driver module、examine circuit and so on in detail,if explained the method of control and the thought of software,this system got used to the trend of digital power in the international,used the single micro—computer fully,and improveed the general use of the power.Theoretical analysis and design showed that all performance indexes of Parameter Self-Adjusting Fuzzy Logic PID Controller was in advance of those of the simple fuzzy controller and the conventional PID controller.Especially,the adaptive fuzzy controller is robust.Keywords:fuzzy logic control(FLC);DC Speed Regulation;stability performance;Single micro-computer目 录摘 要 .................................................................................................................................................I Abstract ......................................................................................................................................... II 目 录 ............................................................................................................................................ I II第一章 绪论 (1)1.1 序言 (1)1.2 PID 控制中存在的问题 (1)1.3 模糊控制的发展状况 (2)模糊控制的发展过程 (2)模糊控制技术要解决的问题 (3)1.4 直流调速系统的发展概况 (4)1.5 本课题的研究内容及目的 (5)第二章 直流调速系统的理论分析 (6)2.1 控制理论在调速系统中的应用分析 (6)调速系统性能指标 (6)直流调速常用的方法 (7)2.2 传统直流调速系统中调节器参数的计算 (9)设计指标及要求 (9)固有、预置参数计算 (9)电流调节器参数计算 (10)转速调节器参数 (10)2.3 数字PID 调节器的原理及应用 (12)2.4 数字PID 控制器的算法实现 (14)第三章 模糊PID 控制算法设计 (16)3.1 模糊控制的原理 (16)模糊控制的理论基础 (16)模糊控制系统的组成 (16)模糊控制在实际中的适用性 (17)3.1.4 模糊控制器的设计方法 (17)3.2直流调速系统模糊PID 控制结构设计 .......................................................................... 18 被控过程对参数P K 、I K 、D K 的自整定要求 (19)3.3模糊自整定PID 参数控器设计 (20)确定控制器的输入、输出语言变量 (20)3.3.2确定各语言变量论域,在其论域上定义模糊量 .............................................. 21 确定P K 、I K 、D K 的调节规则 .. (21)模糊推理和模糊运算 (22)第四章 调速系统硬件设计 (24)4.1硬件总体方案设计 (24)4.2 主电路设计 (24)4.3 整流电力二极管参数的确定 (25)4.4 IGBT 的选择 (26)4.5 IGBT 驱动电路的设计 (26)IGBT 驱动电路的一般要求 (26)IGBT 的专用驱动集成电路 (26)4.6 泵升电压的抑制 (28)4.7 电流反馈信号检测装置设计 (29)概述 (29)4.7.2 电流检测装置的设计 (30)4.8转速检测环节及其与单片机接口电路的设计 (30)4.9 模拟量给定电流、转速反馈量与单片机的接口设计 (32)4.10 键盘与显示接口电路 (32)第五章系统软件设计 (34)5.1主程序 (34)5.2 A/D转换设计 (35)5.3键盘与显示子程序设计 (36)5.4模糊PID控制流程设计 (37)结论 (38)参考文献 (39)致谢 (42)第一章绪论1.1 序言在现代化的工业生产过程中,几乎无处不使用电力传动装置,生产工艺、产品质量的要求不断提高和产量的增长,使得越来越多的生产机械要求能实现自动调速。

基于51单片机的直流电机PWM调速控制系统设计

基于51单片机的直流电机PWM调速控制系统设计

基于51单片机的直流电机PWM调速控制系统设计I摘要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。

本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。

另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。

关键词:PWM信号,霍尔元件,液晶显示,直流电动机II目录目录 (III)1 引言 (1)1.1 课题背景 (1)1.1.2 开发背景 (1)1.1.3 选题意义 (2)1.2 研究方法及调速原理 (2)1.2.1 直流调速系统实现方式 (4)1.2.2 控制程序的设计 (5)2 系统硬件电路的设计 (6)2.1 系统总体设计框图及单片机系统的设计 (6)2.2 STC89C51单片机简介 (6)2.2.1 STC89C51单片机的组成 (6)2.2.2 CPU及部分部件的作用和功能 (6)2.2.3 STC89C51单片机引脚图 (7)2.2.4 STC89C51引脚功能 (7)3 PWM信号发生电路设计 (10)3.1 PWM的基本原理 (10)3.2 系统的硬件电路设计与分析 (10)3.3 H桥的驱动电路设计方案 (11)5 主电路设计 (13)5.1 单片机最小系统 (13)5.2 液晶电路 (13)5.2.1 LCD 1602功能介绍 (14)5.2.2 LCD 1602性能参数 (15)5.2.3 LCD 1602与单片机连接 (17)5.2.4 LCD 1602的显示与控制命令 (18)5.3 按键电路 (19)5.4 霍尔元件电路 (20)III5.4.1 A3144霍尔开关的工作原理及应用说明 (21)5.4.2 霍尔传感器测量原理 (22)6 系统功能调试 (23)总结 (24)致谢 (25)参考文献 (26)IV1 引言1.1 课题背景1.1.2 开发背景在现代电子产品中,自动控制系统,电子仪器设备、家用电器、电子玩具等等方面,直流电机都得到了广泛的应用。

直流电机微型计算机速度控制系统的设计

直流电机微型计算机速度控制系统的设计

直流电机微型计算机速度控制系统的设计设计一个直流电机微型计算机速度控制系统涉及到电机的速度控制、传感器的输入和计算机的输出等多个方面。

下面是一个1200字以上的设计系统的示例:引言直流电机广泛应用于工业、家用电器、汽车等领域,而微型计算机则被广泛应用于控制系统中。

本文将设计一个直流电机微型计算机速度控制系统,通过传感器的反馈信号和计算机的输出来实现对电机速度的精确控制。

1.系统框架本系统的框架包括电机控制模块、传感器模块和微型计算机模块。

电机控制模块通过电机驱动电路控制电机的速度,传感器模块采集电机的转速信号,微型计算机模块负责接收传感器信号并输出电机的控制信号。

2.传感器选择与接口设计传感器用于检测电机的转速信号,常用的传感器有光电传感器、霍尔传感器等。

在本系统中,选择霍尔传感器,因其高精度、低成本、易安装等特点。

在电机旋转中,霍尔元件将会产生电压脉冲信号,通过输入电路将信号转化为计算机可接受的数字信号。

3.电机控制模块设计为了实现对电机的速度控制,电机控制模块需要具备以下功能:3.1电压调节功能:通过调整电压大小控制电机的输出功率,从而实现对速度的控制。

3.2内部电流控制:在电机启动和运行时,需要通过电流传感器实时监测电机的工作电流并进行控制,以保证电机运行的稳定性和安全性。

3.3速度反馈控制:通过传感器模块反馈的转速信号,实时调节电机的供电电压,使其达到所需控制速度。

4.微型计算机模块设计微型计算机模块负责接收传感器反馈的转速信号,并根据设定的速度范围进行计算和控制电机控制模块。

具体的设计包括以下几个方面:4.1采样和滤波:通过AD转换器将模拟信号转换为数字信号,并进行滤波处理,以降低信号噪声和提高采样精度。

4.2速度控制算法:根据为电机设定的速度范围和输入的实时转速信号,进行误差计算并输出控制信号,以调节电机供电电压,使其保持在设定速度范围内运行。

4.3显示与操作:利用LCD显示屏和按键等外围设备,实现对设定速度的调节和显示转速等操作。

直流电机调速控制系统设计

直流电机调速控制系统设计

成绩电气控制与PLC课程设计说明书直流电机调速控制系统设计.Translate DC motor speed Control system design学生王杰学号学院班级信电工程学院13自动化专业名称电气工程及其自动化指导教师肖理庆2016年6月14日目录1 ××11.1 ××××××11.1.1 ××××错误!未定义书签。

1.1.2 ××××1……1.2 ××××××11.2.1 ××××8……2 ×××××82.1 ××××××102.1.1 ××××10……3 ×××××123.1 ××××××123.1.1 ××××12……参考文献13附录14附录114附录2141 直流电机调速控制系统模型1.1 直流调速系统的主导调速方法根据直流电动机的基础知识可知,直流电动机的电枢电压的平衡方程为:R I E U a +=式(1.1)公式中:U 为电枢电压;E 为电枢电动势;R I a 为电枢电流与电阻乘积。

由于电枢反电势为电路感应电动势,故:n C E φe =式(1.2)式中:e C 为电动势常数;φ为磁通势;n 为转速。

由此得到转速特性方程如下:φe a C R I U /)(n -=式(1.3)由式(1.3)可以看出,调节直流电动机的转速有以下三种方法:1.改变电枢回路的电阻R ——电枢回路串电阻调速。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XI`AN TECHNOLOGICAL UNIVERSITY日计算机控制系统课程设计——直流电机测速调速系统一、选定题目:电机速度控制系统二、设计目的和要求:计算机控制技术的课程设计是一个综合运用知识的过程,它不仅需要微型机控制理论、程序设计方面的基础知识,而且还需要具备一定的生产工艺知识。

课程设计包括确定控制任务、系统总体方案设计、硬件系统设计、控制软件的设计等,以便使学生掌握计算机控制系统设计的总体思路和方法。

三、功能需求:1、基本功能:(1)该系统使用实验箱的直流电机、1602液晶、DA、键盘等模块完成设计;(2)直流电机通过DA模块使用PWM方式进行驱动及调速;(3)能够通过1602液晶显示当前转速及PWM占空比;(4)通过按键控制电机的启动和停止。

2、扩展功能:(1)能够通过按键手动输入目标转速(转/秒),启动电机后控制电机稳定在目标转速;(2)使用1602液晶实时显示目标转速、当前转速及启停状态(on/off)。

四、实验思路:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,控制电动机的转速为依据,实现对直流电动机的调速,并通过单片机控制速度的变化。

本设计的直流电机调速系统主要是由硬件和软件两大部分组成。

硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。

而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。

用51来产生PWM波就必须要用软件编程的方法来模拟。

方法大概可以分为软件延时和定时器产生两种方法。

本次课程设计我们采用定时器产生PWM方波。

定时器产生PWM:这种方法利用了定时器溢出中断,在中断服务程序改变电平的高低,在程序较复杂、多操作时仍能输出较准确的pwm波形。

五、实验设备:单片机开发实验仪一台;AT89C51;LCD1602;DA数模转换;按键;光电开关六、实验原理:1、硬件框图:硬件部分主要由电位器、模数转换模块、 51单片机、显示模块、驱动电路和无刷直流电机组成。

其功能框图如下:2、硬件介绍:1)1602液晶显示模块电路1602C字符型液晶: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管脚相连(STAR ES59PA才有该功能)。

(1602C字符型液晶)(12864J图形点阵液晶)2)DAC0832数模转换CS:片选,低有效;OUT:转换电压输出;OUT1:经功放电路的电压输出;-1信号JP80:开关控制接口;闭合-0信号,断开-1信号4)AT89C51本课题中控制芯片的作用主要是与ADC0809相连接,采集模数转换后得到的8位二进制码,过公式计算后得到电压值,同时连接四位数码管进行显示。

综合考虑,选用AT89C51即满足要求。

?简介:AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS?8位微处理器。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

?AT89C51引脚图如下:?主要特性:与MCS-51?兼容·;4K字节可编程FLASH存储器;寿命:1000写/擦循环;?数据保留时间:10年全静态工作:0Hz-24MHz??;?三级程序存储器锁定;128×8位内部RAM??;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;?低功耗的闲置和掉电模式;?片内振荡器和时钟电路;直流电机转速测量/控制5)使用光电开关测速CTRL:控制电压(DAC0832经功放电路提供)输入;REV:光电开关脉冲输出(用于转速测量);LIGHT:低电平点亮发光管。

3、?软件设计主程序设计:主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比较得到一个误差值,然后用PID增量式算法输出控制系数给PWM发生电路改变波形的占空比,进而控制电机的转速。

主程序流程图如下:五、实验总结:计算机控制技术的课程设计相比硬件的课程设计,简直难了不止一个档次,作为主要的编程人员,当我实际要去控制一个物体的时候,我才知道自己以前学的知识有多么的不牢固,不过真真正正的去做一个实物控制程序的时候,才能真切的体会到以前书本上学的知识是如何运用到实际的,我基本上可以说是为了应付考试勉勉强强学了一些,这次实际做到项目设计后,才理解其真正的含义。

第页还有本次项目,我们采用了LCD显示屏作为显示单元,比LED数码管复杂,LCD液晶显示屏这也是以前没有运用到过的,所以总体来说,这次课程设计带给我的不仅仅是旧知识的复习,还有新的探索。

本课程设计得以完成,首先要感谢秦刚老师,因为课程设计在他的悉心指导下才能顺利完成。

他渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范、朴实无华、平易近人的人格魅力对我的影响非常深远。

本设计从选题到完成,每一部步是在老师的指导下完成的,倾注了老师大量的心血。

通过此次的课程设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在课程设计的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。

并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。

在以往的传统学习模式下,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好地处理知识和实践相结合的问题。

在课程设计的写作过程中也学到了做任何事情所要的态度和心态,对于发展过程中出现的任何问题和偏差都不要轻视,,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。

再次感谢给我鼓励的老师、同学和朋友,谢谢!!六、附件:程序#include<reg52.h>#include<math.h>/*******************以下硬件连线设置**************/sbit key0=P1^0; //占空比(设定值)增按键;且rev接int0 sbit key1=P1^1; //占空比(设定值)减按键sbit power = P1^7; //启停按键sbit auto_run=P1^5; //自动运行按键sbit set=P1^4; //set按键sbit left=P1^2; //左移光标sbit right=P1^3; //右移光标sbit LCD_RS=P3^0; //1602的RSsbit LCD_RW=P3^1; //1602的RWsbit sys_data=P3^4; //继电器控制脚,用于切换DA功率输出方向(电机or加热电阻)xdata unsigned char dac0832_addr _at_ 0xd000;//DA的地址xdata unsigned char LCD_DATA _at_ 0x8000;//LCD1602的地址/*******************以下为系统的状态量设置**************/bit rps_triger=0; //转速(温度)刷新显示控制,1为需要刷新显示,0为不需要刷新显示bit scale_triger=0; //占空比刷新显示控制bit power_triger=0; //电源指示刷新显示控制bit power_data=0; //电源状态,0为关断,1为运行bit set_triger=0; //设置状态,0为正常运行,1为设置模式bit auto_triger=0; //auto(自动调整)状态,0为正常模式,1为自动调整模式bit auto_triger_triger=0; //auto标志刷新显示控制,当auto状态被被改变时才需刷新显示/*******************以下为系统的数据量*****************/char set_data=0; //设置模式下设置的是第几位,0~3(转速设定为4位),0~2(温度设定为3位)unsigned int scale=10; //占空比数据(2倍关系,可以控制到0.5%),初值为5%unsigned int rps=0; //转速计数变量unsigned int rps1=0; //目标值变量unsigned int rps_data=0; //转速值unsigned int time=0; //每秒计数变量(计数周期为250u秒,故4000次为1秒)unsigned int time2=0; //检测插值计数变量(0.05秒检测1次,实时调整比例系数)unsigned int time3=0; //比例系数控制(若当前值和目标值差值值大,则调整迅速,反之则缓慢调整)unsigned char time_scale=0; //占空比总周期计数变量,一个周期200次,可以精确到0.5%unsigned int time_check[4]={1000,3000,6000,10000};//转速调整时间系数表格unsigned char check=0; //检测周期等级,分为0~4共5个等级,0为极小时间系数,4为稳定不变void _nop_(void);/*******************延时函数*****************/void delay(int a){while(a--);}/*******************外部中断初始化*****************/void init_int0(){IT0=1;EX0=1;EA=1;}/*******************计数器0初始化*****************/void T0_init(){TMOD = 0x01;TH0 = 0xff; //计数周期为250u秒TL0 = 0x1a;ET0=1;EA=1;TR0=1;}/*******************LCD1602相关函数*****************/void LCD_write_com(unsigned char com){LCD_RS=0;LCD_RW=0;LCD_DATA=com;delay(80);}void LCD_write_data(unsigned char dat){LCD_RS=1;LCD_RW=0;LCD_DATA=dat;delay(80);}/*************LCD1602在电机调速系统下的初始化函数*************/ void LCD_init(void){LCD_write_com(0x38);LCD_write_com(0x0c);LCD_write_com(0x06);LCD_write_com(0x01);LCD_write_com(0x80);LCD_write_data('R');LCD_write_data('P');LCD_write_data('M');LCD_write_com(0x88);LCD_write_data('S');LCD_write_data('e');LCD_write_data('t');LCD_write_com(0xc8);LCD_write_data('R');LCD_write_com(0xcd);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);}/***************光标闪烁开***************/ void flash_on(void){LCD_write_com(0x0f);}/***************光标闪烁关***************/ void flash_off(void){LCD_write_com(0x0c);}/************显示当前转速或温度**************/ void display_rps(void){flash_off();LCD_write_com(0x80);LCD_write_data('R');LCD_write_data('P');LCD_write_data('M');LCD_write_data(rps_data/1000+0x30);LCD_write_data(rps_data%1000/100+0x30);LCD_write_data(rps_data%100/10+0x30);LCD_write_data(rps_data%10+0x30);rps_triger=0;}/************显示当前占空比**************/ void display_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模式的状态**************/ void display_auto(void){flash_off();if(auto_triger==1){LCD_write_com(0xc3);LCD_write_data('a');LCD_write_data('u');LCD_write_data('t');LCD_write_data('o');}{LCD_write_com(0xc3);LCD_write_data(' ');LCD_write_data(' ');LCD_write_data(' ');LCD_write_data(' ');}auto_triger_triger=0;}/************显示power的状态(on或off)*************/ void display_power(void){flash_off();LCD_write_com(0xc0);if(power_data==0){LCD_write_data('o');LCD_write_data('f');LCD_write_data('f');power_triger=0;auto_triger=0;}else{LCD_write_data('o');LCD_write_data('n');LCD_write_data(' ');power_triger=0;auto_triger=0;}/************调整输出占空比函数**************/void check_rps(void){if(power_data==0) return;if(rps1<rps_data){scale--;if(scale<=1) scale=1;}else if(rps1>rps_data){scale++;if(scale>=199) scale=199;}scale_triger=1;}/************显示电机调速系统下set模式函数**************/void display_set(void){switch(set_data){case0:flash_on();LCD_write_com(0x8b);LCD_write_data(rps1/1000+0x30);LCD_write_ com(0x8b);delay(1000);break;case1:flash_on();LCD_write_com(0x8c);LCD_write_data(rps1%1000/100+0x30);LCD_ write_com(0x8c);delay(1000);break;case2:flash_on();LCD_write_com(0x8d);LCD_write_data(rps1%100/10+0x30);LCD_writ e_com(0x8d);delay(1000);break;case3:flash_on();LCD_write_com(0x8e);LCD_write_data(rps1%10+0x30);LCD_write_c om(0x8e);delay(1000);break;default:flash_off();break;}}/************以下为各个按键的函数**************//************power电源键**************/void fn_power(){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;}else return;}}/************自动调整模式键**************/void fn_auto(){if(auto_run==1) return;else{delay(20); //按键去抖if(auto_run==0){while(auto_run!=1);if(power_data==0) auto_triger=0;else auto_triger=~auto_triger;auto_triger_triger=1;set_triger=0;}else return;}}/************set设置模式键**************/ void fn_set(){if(set==1) return;else{delay(20); //按键去抖if(set==0){while(set!=1);set_triger=~set_triger;auto_triger=0;auto_triger_triger=1;}else return;}}/************减键(set模式为调整目标值,运行模式调整占空比)**************/void fn_key0(){if(key0==1) return;else{delay(20); //按键去抖if(key0==0){while(key0!=1);if(set_triger==1){switch(set_data){case 0:if(rps1/1000>=1) rps1=rps1-1000; break;case 1:if(rps1%1000/100>=1) rps1=rps1-100; break;case 2:if(rps1%100/10>=1) rps1=rps1-10; break;case 3:if(rps1%10>=1) rps1=rps1-1; break;}}else{if(scale<=1) scale=1;else scale--;scale_triger=1;}}else return;}}/************加键(set模式为调整目标值,运行模式调整占空比)**************/void fn_key1(){if(key1==1) return;else{delay(20); //按键去抖if(key1==0){while(key1!=1);if(set_triger==1){switch(set_data){case 0:if(rps1/1000<9) rps1=rps1+1000; break;case 1:if(rps1%1000/100<9) rps1=rps1+100; break;case 2:if(rps1%100/10<9) rps1=rps1+10; break;case 3:if(rps1%10<9) rps1=rps1+1; break;}}else{if(scale>=199) scale=199;else scale++;scale_triger=1;}}else return;}}/************光标左移键(set模式下有效)**************/ void fn_left(){if(left==1) return;else{delay(20); //按键去抖if(left==0){while(left!=1);if(set_triger==1){if(set_data>=3) set_data=3;else set_data++;}else return;}else return;}}/************光标右移键(set模式下有效)**************/ void fn_right(){if(right==1) return;else{delay(20); //按键去抖if(right==0){while(right!=1);if(set_triger==1){if(set_data<=0) set_data=0;else set_data--;}else return;}else return;}}/************转数计数(外部中断0)**************/void int0() interrupt 0 //外部中断0处理程序{rps++; //对转数计数器进行累加计数}/****************定时器0中断服务函数*****************/void timer0(void) interrupt 1{unsigned int t;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个脉冲,所以除以4rps=0; //rps归零rps_triger=1; //rps显示开关有效if(check==4) //跳出稳态的判断{if(sys_data==1){if(abs(rps_data-rps1)>80) check=1;//如果在电机调速系统下,跳出稳态的条件是转速差超过80rpm}}}else{time_scale++;time++; //如果没计满1秒,则继续计数}if(power_data==1) //PWM信号输出{if(time_scale<=scale) dac0832_addr=0xff;//PWM信号输出else dac0832_addr=0x00; //PWM信号输出}else dac0832_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(t>200) check=2;else{if(t>80) check=3;else check=4; //差值小于80rpm进入稳态模式,不再调整输出占空比}}}}else time2++;if(check!=4) //在非稳态的情况下查表确定时间参数{if(time3>=time_check[check]) //不同的系统查不同的表{time3=0;if(auto_triger==1) check_rps();}else time3++;}}/****************主函数*****************/void main(){key0=1; //读引脚之前要写1key1=1;power=1;set=1;T0_init(); //T0初始化init_int0(); //外部中断int0初始化while(1){fn_switch(); //按键查询函数fn_power(); //按键查询函数fn_set(); //按键查询函数fn_key0(); //按键查询函数fn_key1(); //按键查询函数fn_auto(); //按键查询函数if(power_triger==1) display_power(); //当电源状态有改变时刷新显示电源状态if(rps_triger==1) display_rps();//当系统实时数据需要刷新时,刷新实时数据if(scale_triger==1) display_scale(); //当占空比发生改变时刷新占空比数据if(auto_triger_triger==1) display_auto();//当auto状态发生改变时刷新auto 状态显示if(set_triger==1) //当进入set状态时{fn_left(); //查询左移右移按键fn_right();if(sys_data==1) display_set(); //不同的系统(电机调速、温度控制)不同的set状态显示}}}。

相关文档
最新文档