直流电机控制单片机课程设计

合集下载

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

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

直流电机转速 :
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式 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个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)

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

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

基于stm32单片机的直流电机调速系统设计
本文介绍一种基于STM32单片机的直流电机调速系统设计,主要包括硬件电路设计和软件程序设计两部分。

硬件电路设计:
该电机调速系统的主要硬件电路包括电源模块、STM32单片机控制电路、直流电机驱动电路和反馈电路。

1. 电源模块
电源模块包括AC/DC变换模块和稳压模块,用于将输入的AC电压转换为适宜单片机和电机工作的DC电压。

2. STM32单片机控制电路
STM32单片机控制电路包括主控芯片STM32单片机、晶振、复位电路和下载程序电路等。

3. 直流电机驱动电路
直流电机驱动电路包括电机驱动芯片(如L298N)和电机,用于控制电机的转
速和方向。

4. 反馈电路
反馈电路包括编码器和光电传感器等,用于实现电机转速的反馈和闭环控制。

软件程序设计:
该电机调速系统的软件程序采用C语言编写,主要包括定时器计数、PWM输出控制、编码器读取、PID算法控制等模块。

1. 定时器计数
通过STM32单片机内部定时器计数来实现电机转速的测量和控制。

2. PWM输出控制
采用STM32单片机内部PWM输出控制模块控制电机的转速,并实现电机方向的控制。

3. 编码器读取
通过编码器读取电机的转速信息,并反馈到单片机进行控制和显示。

4. PID算法控制
采用PID(比例、积分、微分)算法控制电机的转速,实现闭环控制,提高控制精度。

总之,基于STM32单片机的直流电机调速系统设计,既可以提高电机运行的效率和精度,又可以简化电路结构和减小系统成本,具有较好的应用前景。

51单片机控制直流电机调速系统流程图:

51单片机控制直流电机调速系统流程图:

51单片机控制直流电机调速系统流程图:
题目:单片机控制直流电机调速系统——软件设计
1. 编一段显示程序分别显示当前的转速和我们所需要的转速。

显示用4段数码管来实现。

2:编一段PWM调速的程序,来控制脉冲的宽度从而来控制电机的转速。

3:通过霍尔传感器测速,利用霍尔把信号传给单片机,单片机利用计数器的功能来记录转速,并同时把转速用数码管显示出来。

4:由于真实的转速和我们所设订的转速可能存在很大的误差,所以要编一段PID调速的程序,通过PID调节来减少误差。

5.要3个按键,键1实现设定转速的功能,键2实现切换功能(从所设定的转速切换到真实的转速的显示,键3实现开关的功能。

基于单片机的无刷直流电机的控制系统设计

基于单片机的无刷直流电机的控制系统设计

【基于单片机的无刷直流电机的控制系统设计】1. 引言无刷直流电机(BLDC),作为一种高效、低噪音、长寿命的电动机,被广泛应用于各种领域。

而采用单片机进行控制,实现对BLDC的精准控制,则成为现代工业中的热门技术。

本文将围绕基于单片机的无刷直流电机控制系统设计展开探讨,深入剖析其原理和实现过程。

2. 无刷直流电机的工作原理无刷直流电机是一种采用电子换相技术的电机,其工作原理与传统的直流电机有所不同。

它不需要使用碳刷和电刷环来实现换向,而是通过内置的电子控制器来精确控制转子上的永磁体和定子上的电磁线圈的相互作用,实现转子的旋转运动。

3. 单片机在无刷直流电机控制中的作用单片机在无刷直流电机的控制系统中扮演着核心角色,它通过内置的PWM模块生成PWM波形,用于控制电机驱动器中的功率器件,同时监测电机的运行状态,并根据需要进行调整和反馈控制,实现对电机的精准控制。

4. 基于单片机的无刷直流电机控制系统设计(1)硬件设计在设计基于单片机的无刷直流电机控制系统时,需要考虑到电机的功率和控制要求,选择合适的单片机和电机驱动器,设计电机驱动电路以及检测装置,确保系统能够稳定可靠地工作。

(2)软件设计利用单片机的PWM模块生成PWM波形,采用适当的控制算法(如PID控制算法),编写控制程序,实现对无刷直流电机的精准控制。

考虑到系统的实时性和稳定性,需要进行充分的软件优化和调试。

5. 个人观点和理解在基于单片机的无刷直流电机控制系统设计中,充分理解无刷直流电机的工作原理和单片机的控制特点,合理选择硬件和编写软件,是至关重要的。

只有系统全面、深刻地理解,才能设计出高质量、稳定可靠的控制系统。

6. 总结本文围绕基于单片机的无刷直流电机控制系统设计展开了探讨,从无刷直流电机的工作原理、单片机在控制系统中的作用,到具体的硬件设计和软件设计,全面、深入地阐述了相关内容。

希望通过本文的阐述,读者能够对基于单片机的无刷直流电机控制系统设计有更深入的理解和应用。

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

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

一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。

二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。

但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。

由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。

磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。

电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。

传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。

随着电力电子的发展,出现了许多新的电枢电压控制法。

如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。

调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。

脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。

如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。

平均转速Vd与占空比的函数曲线近似为直线。

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

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

基于单片机控制的直流电机调速系统设计一、引言直流电机在工业自动化领域中广泛应用,其调速系统的设计是实现自动控制的关键。

本文将介绍一种基于单片机控制的直流电机调速系统设计方案,主要包括电机原理、硬件设计、软件设计以及实验结果与分析等内容。

二、电机原理直流电机是一种将直流电能转换为机械能的装置,其原理基于电磁感应和安培定律。

电机由定子和转子两部分组成,定子上绕有恒定电流,产生磁场,而转子上带有电流,与定子的磁场互相作用,产生力矩使电机旋转。

三、硬件设计1.单片机选择在本设计中,选择了一款功能强大、性能稳定的单片机作为控制核心,例如使用ST C89C51单片机。

该单片机具有丰富的GP IO口和定时器/计数器等外设,适合进行电机控制。

2.电机驱动电路设计电机驱动电路主要包括功率电源、运放电路和驱动电路。

其中,功率电源为电机提供稳定的直流电源,运放电路用于信号放大和滤波,驱动电路则根据控制信号控制电机的转速。

3.速度测量电路设计为了实时监测电机的转速,需要设计速度测量电路。

常见的速度测量电路包括光电编码器、霍尔传感器等,通过测量转子上感应物体的变化来获得电机的转速信息。

四、软件设计1.程序框架软件设计的目标是实现对电机转速的控制和监测。

基于单片机的软件设计主要包括主程序的编写、中断服务程序的编写以及定时器的配置等。

2.控制算法常见的直流电机调速算法包括电压调速法、P WM调速法等。

根据实际需求选择合适的算法,并根据测量到的转速信号进行反馈控制,实现对电机转速的精确控制。

五、实验结果与分析设计完成后,进行实验验证。

通过设置不同的转速需求,观察电机的实际转速与设定转速的误差,并分析误差原因。

同时还可以测试电机在不同负载下的转速性能,以评估系统的稳定性和鲁棒性。

六、总结基于单片机控制的直流电机调速系统设计是实现自动控制的重要应用。

本文介绍了该系统的硬件设计和软件设计方案,并展示了实验结果。

通过系统实现电机转速的精确控制,可以广泛应用于工业自动化领域。

基于单片机的直流电机控制风扇系统设计

基于单片机的直流电机控制风扇系统设计

基于单片机的直流电机控制风扇系统设计
本文介绍基于单片机的直流电机控制风扇系统设计。

所使用的单片机为STC15F2K60S2,电机为12V直流电机,控制模块为L298N。

系统设计分两部分,硬件设计和软件设计。

下面分别进行介绍。

一、硬件设计
1.电源电路设计
本系统的电源为12V的直流电源。

电源电路设计如下图所示:
图中VCC为12V直流电源正极,GND为负极。

C1为电容器,滤波电路,保证电源稳定。

LED1为电源指示灯,用于指示系统是否有电。

2.电机驱动电路设计
本系统采用L298N控制电机,并用单片机控制L298N电路的工作状态,控制电机的正反转。

电机驱动电路如下图所示:
图中,IN1、IN2、IN3、IN4接单片机的IO口,用于控制电机的正反转。

3.电机控制电路设计
电机控制电路如下图所示:
图中,M1为12V直流电机。

4.程序下载电路设计
程序下载电路如下图所示:
图中,P1为ISP下载器接口,用于单片机程序的下载。

二、软件设计
本系统的软件主要由单片机程序控制,程序流程如下:
1.初始化各个IO和定时器;
2.读取按键状态,判断按键是否按下;
3.如果按键按下,则控制电机正反转;
4.定时器每隔一段时间检测温度传感器,若检测到温度过高,则打开电机,达到散热的目的;
5.程序无限循环,直到关机。

以上就是基于单片机的直流电机控制风扇系统的设计方案,通过硬件电路的设计和软件程序的编写,可以实现对电机的控制,使风扇系统能够自动调节风速,达到更好的散热效果。

单片机课程设计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 概述现代工业的电驱动一般要求部分或全部自动化,因此必须与各种控制元件组成的自动控制系统相联动,而电驱动可视为自动电驱动系统的简称。

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

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

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

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

基于单片机pid算法的直流电机速度控制方法

基于单片机pid算法的直流电机速度控制方法

基于单片机pid算法的直流电机速度控制方法基于单片机PID算法的直流电机速度控制方法是一种常用的技术,其基本原理是通过调节PWM(脉宽调制)信号的占空比来控制电机的输入电压,从而实现电机的速度控制。

以下是基于单片机PID算法的直流电机速度控制方法的基本步骤:1.设定目标速度:首先,需要设定电机的目标速度。

这可以通过按键或其他输入设备来实现。

2.采集实际速度:为了实现精确的控制,需要实时获取电机的实际速度。

这可以通过在电机转轴上安装光电编码器或霍尔传感器来实现,这些传感器可以实时检测电机的转速并将其转换为电信号。

3.计算偏差:单片机通过比较目标速度和实际速度,计算出速度偏差。

如果实际速度小于目标速度,偏差为负;反之,偏差为正。

4.应用PID算法:单片机使用PID算法来处理速度偏差。

PID控制器通过比例、积分和微分三个环节来计算控制量,以尽可能消除偏差。

具体的PID参数(如Kp、Ki、Kd)可以根据实际情况进行调整,以获得最佳的控制效果。

5.生成PWM信号:基于PID控制器的输出,单片机生成PWM信号来调节电机的输入电压。

占空比决定了电机输入电压的大小,进而影响电机的转速。

6.实时调整:在整个控制过程中,单片机不断采集电机的实际速度,计算偏差,并调整PWM信号的占空比,以使电机尽可能接近目标速度。

7.显示和保存数据:为了方便调试和观察,可以通过单片机的显示屏实时显示电机的实际速度和偏差。

此外,也可以将重要的数据保存在单片机的内部或外部存储器中。

8.安全保护:为了防止电机过载或意外事故,单片机应具备安全保护功能。

例如,当电机实际速度超过设定速度一定时间时,单片机应自动切断电源或发出报警信号。

基于单片机PID算法的直流电机速度控制方法具有精度高、稳定性好、适应性强等优点,广泛应用于各种需要精确控制电机速度的场合。

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生姓名:指导教师:年月日目录设计题目 (3)1 设计要求及主要技术指标: (4)1.1 设计要求 (4)1.2 主要技术指标 (5)2 设计过程 (6)2.1 题目分析 (9)2.2 整体构思 (10)2.3 具体实现 (12)3 元件说明及相关计算 (14)3.1 元件说明 (14)3.2 相关计算 (15)4 调试过程 (16)4.1 调试过程 (16)4.2 遇到问题及解决措施 (20)5 心得体会 (21)参考文献 (22)附录一:电路原理图 (23)附录二:程序清单 (24)设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。

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

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

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

关键词:直流电机调速;定时中断;电动机;PWM波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM 调速控制装置。

1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。

(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。

(3)设计一个4个按键的键盘。

K1:“启动/停止”。

K2:“正转/反转”。

K3:“加速”。

K4:“减速”。

(4)手动控制。

在键盘上设置两个按键----直流电动机加速和直流电动机减速键。

在手动状态下,每按一次键,电动机的转速按照约定的速率改变。

用单片机控制直流电机-终结版

用单片机控制直流电机-终结版

用单片机控制直流电机摘要本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。

在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。

一、设计方案比较与分析:1、电机调速控制模块:方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。

但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。

更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。

方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。

这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。

方案三:采用由达林顿管组成的H型PWM电路。

用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。

这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。

兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。

2、PWM调速工作方式:方案一:双极性工作制。

双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。

方案二:单极性工作制。

单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。

由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。

3、PWM调脉宽方式:调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。

我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。

运用AT89C51单片机控制直流电机

运用AT89C51单片机控制直流电机

摘要本次课程设计基于AT89C51单片机为核心,利用天皇教仪三合一实验箱。

应用PWM技术对直流电机的速度进行精确调节,并测量出电动机的转速,通过模数转换系统,使用LCD液晶显示器精确的显示电动机的转速。

本次课程设计的目的是更加熟练掌握单片机的工作原理及实际应用,特别是单片机的编程语言,数模转换系统,PWM调节脉冲及LCD液晶显示器的工作原理。

关键字:51单片机;转速控制;模数转换;LCD液晶显示;目录1前言 (1)2 硬件部分的设计 (2)2.1硬件设计总体思路 (2)2.2单片机控制直流电机部分的硬件设计 (4)3 各硬件部分的连接与接口 (15)3.1 单片机与直流电机接口部分 (15)3.2单片机与LCD显示模块通信接口部分 (17)3.2各部分硬件结合原理及构造 (18)4 软件程序设计 (19)4.1系统软件设计的总体概述 (19)4.2系统各部分软件设计的思路 (22)5 系统的调试与现象分析 (24)6课设总结 (25)参考文献 (26)附录Ⅰ (27)附录Ⅱ (32)1前言近年来,随着科技的飞速发展,单片机的应用正在不断地走向深入。

在仪器仪表、家用电器和专用装备的智能化以及过程控制等方面,单片机都扮演着越来越重要的角色。

将单片机的应用引入实际科技实践必将对微电子控制技术的研究与实践注入强大活力。

本次设计研究的直流电机转速控制及转速的LCD显示实验装置即以单片机作为核心部件,它可完成对直流电机转速、方向的闭环控制,并应用LCD液晶显示装置显示出转速,本文重点论述该实验装置的硬件组成,软件设计以及控制方案的实施。

在早期,电子产品一般是纯硬件电路,没有使用单片机,电路复杂难以设计,也难以检查问题,随着微控制技术的不断完善和发展,集成芯片越来越多,单片机便出来了,换言之,单片机的应用是对传统控制技术的一场革命。

具有划时代的意义。

在电机控制方面也是靠人的感觉,没有侧速和侧距的概念,以前人机界面一般采用LED数码二极管,随着LCD液晶显示器的出现,人机界面更加人性化、智能化,它能显示数字、汉字和图象,控制LCD液晶显示器也很方便,电路设计也比较简单;加上单片机,组合实现的功能也比较强大,还可方便以后电路的升级与扩展。

直流电机速度控制课程设计

直流电机速度控制课程设计

直流电机速度控制1设计内容及要求1.1设计目的设计制作和调试一个由MCS51单片机组成的直流测控系统。

通过这个过程学习熟悉键盘控制和七段数码管的使用,掌握直流电机的速度控制和测试方法。

1.2预习和参考MCS51单片机汇编程序语言、计算机控制技术、自动控制原理、1.3 设计(设计)要求设计指标1.在显示器上显示任意四位十进制数2.将8个键定义键值为0~7,按任意键在显示器上显示对应键值3.实现功能:(1)定义键盘按键:5个为数字键0~4;3个功能键:设置SET、清零 CLR、开始START;(2)显示器上的四位可显示每分钟的速度;(3)通过键盘的按键,设置直流电机每分钟的速度值;(4)按START键启动电机开始转动,按SET键停止;按CLR键清零。

2控制芯片选择根据实验要求选择80C31芯片。

选择该芯片可以根据控制开关按钮的开关状态,控制数码管的数字显示以及变频直流电动机的转速。

80C31单片机,是8位高性能单片机,具有40根引脚。

属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,标准MCS-51单片机的体系结构和指令系统。

80C31内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

40根引脚按其功能可分为四类:1. 电源线2根VCC:编程和正常操作时的电源电压,接+5V。

VSS:地电平。

2. 晶振:2根XTAL1:振荡器的反相放大器输入。

使用外部震荡器是必须接地。

XTAL2:振荡器的反相放大器输出和内部时钟发生器的输入。

当使用外部振荡器时用于输入外部振荡信号。

3. I/O口有p0、p1、p2、p3共四个8位口,32根I/O线,其功能如下:P0.0~P0.7 (AD0~AD7)是I/O端口O的引脚,端口O是一个8位漏极开路的双向I/O端口。

利用单片机控制直流电机调速系统设计

利用单片机控制直流电机调速系统设计

利用单片机控制直流电机调速系统设计一、本文概述随着现代工业技术的快速发展,直流电机调速系统在众多领域,如自动化生产线、航空航天、电动汽车等中得到了广泛应用。

为了满足日益增长的精确控制和高效节能需求,开发稳定可靠的直流电机调速系统显得至关重要。

单片机作为一种集成度高、功耗低、价格适中的微控制器,被广泛应用于各种控制系统。

因此,研究利用单片机控制直流电机调速系统的设计,不仅具有理论价值,更具有实际应用意义。

本文旨在探讨基于单片机的直流电机调速系统设计的关键技术和实现方法。

文章将介绍直流电机调速系统的基本原理和常见控制方法,为后续设计提供理论基础。

文章将详细阐述单片机选型、硬件电路设计、软件编程等关键环节,并分析其中的技术难点和解决方案。

通过实际案例的分析和实验验证,评估所设计系统的性能,并提出改进和优化建议。

本文的研究内容不仅有助于推动单片机在直流电机调速领域的应用发展,也为相关领域的工程技术人员提供了有益的参考和借鉴。

二、直流电机基础知识直流电机是一种将直流电能转换为机械能的设备,其工作原理基于安培定律和电磁感应。

直流电机主要由定子和转子两部分组成。

定子包括铁心和励磁绕组,它的作用是产生一个恒定的磁场。

转子包括电枢铁心、电枢绕组、换向器和风扇等部分,它的作用是在定子产生的磁场中受力而转动。

直流电机的转速可以通过改变电枢电压、改变电枢电流或改变磁场强度来实现。

其中,改变电枢电压是最常用的调速方法。

通过调整电压的大小,可以控制电机的转速,从而实现对直流电机的精确控制。

直流电机还具有启动性能好、调速范围广、控制精度高等优点,因此在许多领域得到了广泛应用。

在单片机控制直流电机调速系统中,我们需要了解直流电机的这些基础知识,以便更好地设计和实现调速控制算法。

还需要考虑电机的额定电压、额定电流、额定功率等参数,以确保电机在正常工作范围内运行。

还需要考虑电机的散热问题,以避免因过热而损坏电机。

因此,在设计和实现单片机控制直流电机调速系统时,我们必须充分了解直流电机的基础知识和相关参数,以确保系统的稳定性和可靠性。

51单片机控制直流电机设计

51单片机控制直流电机设计

单片机控制小功率直流电机一. 设计要求:用单片机控制直流电机加速、减速、正反转和停止。

二. 设计方案分析1、方案设计:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。

直流电机的驱动电路要有过流保护作用,可用二极管来实现,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。

程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。

设计中用到的元件:STC89C52、晶振(12MHz)、小按键、三极管、二极管、电容、电阻等。

2、背景知识介绍:直流电机调速原理本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。

下面为PWM控制原理;图1为PWM降压斩波器的原理电路及输出电压波形。

在图1a中,假定晶体管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。

如此反复,则电枢端电压波形如图1b中所示。

电动机电枢端电压Ua为其平均值。

图1 PWM降压斩波器原理电路及输出电压波形a) 原理图 b)输出电压波形 1112a d d d T T U U U U T T Tα===+ (3) 式(3)中1112T T T T Tα==+ (4)α为一个周期T 中,晶体管V1导通时间的比率,称为负载率或占空比。

使用下面三种方法中的任何一种,都可以改变α的值,从而达到调压的目的:(1)定宽调频法:T1保持一定,使T2在0~∞范围内变化;(2)调宽调频法:T2保持一定,使T1在0~∞范围内变化(3)定频调宽法:T1+T2=T 保持一定,使T ,在0~T 范围内变化。

不管哪种方法,α的变化范围均为0≤α≤l ,因而电枢电压平均值Ua 的调节范围为0~Ud ,均为正值,即电动机只能在某一方向调速,称为不可逆调速。

MSP430单片机_步进电机与直流电机控制设计

MSP430单片机_步进电机与直流电机控制设计

MSP430单片机_步进电机与直流电机控制设计步进电机和直流电机是常用于控制系统中的电机类型,它们在工业自动化、机器人、医疗设备等领域有着广泛的应用。

本文将重点介绍MSP430单片机控制步进电机和直流电机的设计。

步进电机是一种将电脉冲信号转化为角位移或线性位移的电机,它具有定步进角、驱动简单、精度高等特点。

下面是步进电机控制设计的主要步骤:1.确定电机的参数:步进电机的参数包括相数、相电阻、相感应、步距角等,这些参数决定了控制步进电机的电流大小和步进角度。

2.选择正确的驱动电路:常见的步进电机驱动电路有双极性驱动和四相八线驱动。

双极性驱动适用于电流较大的步进电机,而四相八线驱动适用于电流较小的步进电机。

3.设计控制电路:步进电机的控制电路通常是由一个逻辑电平产生器和一个驱动电路组成。

逻辑电平产生器用于产生脉冲信号,而驱动电路则根据脉冲信号控制步进电机的运行方向和速度。

4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口输出脉冲信号,将步进电机驱动起来。

控制程序需要根据步进电机的参数来确定脉冲频率和方向,以实现步进电机的转动。

5.调试和优化:通过调试和优化控制程序,调整脉冲频率和方向,使步进电机能够按照预定的角度或线性位移进行运动。

直流电机是一种常见的电动机,在各种控制系统中被广泛应用。

下面是直流电机控制设计的主要步骤:1.确定电机的参数:直流电机的参数包括额定电压、电流和功率等,这些参数决定了控制直流电机的电流大小和速度。

2.选择正确的驱动电路:常见的直流电机驱动电路有H桥驱动和单向驱动。

H桥驱动适用于正反转控制,而单向驱动只能实现单一方向的运动。

3.设计控制电路:直流电机的控制电路通常由一个PWM信号发生器和一个驱动电路组成。

PWM信号发生器产生调制信号,控制电机的转速和转向,驱动电路则根据PWM信号给电机供电。

4.编写控制程序:使用MSP430单片机编写控制程序,通过控制IO口产生PWM信号,将直流电机驱动起来。

基于单片机的直流电机控制

基于单片机的直流电机控制

基于单片机的直流电机控制一、引言二、基本原理1. 直流电机原理直流电机是利用电磁感应的原理进行工作的机电转换设备。

当直流电源施加在电机的电枢上时,电机内部会产生磁场,通过电枢与磁场之间的相互作用形成力矩,从而驱动电机旋转。

电机的转速和方向可以通过改变电枢上的电流方向和大小来控制。

2. 单片机控制原理单片机是一种集成了中央处理器、存储器和输入输出设备的微处理器。

通过编写程序,单片机可以对外部设备进行控制和数据处理。

在直流电机控制中,单片机可以根据输入的信号和程序算法来调整电机的转速和方向。

三、硬件设计1. 单片机选择在直流电机控制中,常用的单片机有STC单片机、ATmega单片机、PIC单片机等。

选择单片机时需要考虑控制精度、计算能力、成本等因素。

2. 电机驱动电路设计电机驱动电路是将单片机输出的信号转换成电机所需的电流和电压的电路。

常用的电机驱动芯片有L298N、TB6612FNG、L9110S等,通过合适的连接方式可以实现电机的正反转和速度控制。

3. 传感器连接为了实现对电机状态的感知和反馈,常常在电机上添加位置传感器或编码器。

这些传感器可以将电机的位置、速度等信息反馈给单片机,从而实现闭环控制。

四、软件编程1. PWM控制脉宽调制(PWM)是控制直流电机速度的一种常用方式。

通过改变占空比,可以控制电机的转速。

在单片机中,通过设置定时器/计数器的计数值和比较寄存器的值,可以实现PWM信号的生成。

2. 方向控制通过控制电机驱动芯片的输入端,可以控制电机的正反转。

根据电机模型和具体的旋转方向,可以设定不同的输入信号来控制电机的转向。

3. 位置闭环控制在一些对电机精确位置控制要求较高的应用中,需要实现位置闭环控制。

通过读取编码器的数据,可以实时反馈电机的位置信息,从而调整电机的控制信号,使其达到精确的位置控制。

五、实例分析以一个小型机械臂为例,我们可以实现对直流电机的三种控制:速度控制、方向控制和位置控制。

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

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

单片机控制PWM的直流电机调速系统的设计PWM(脉宽调制)是一种常用的电压调节技术,可以用来控制直流电机的转速。

在单片机控制PWM的直流电机调速系统中,主要包括硬件设计和软件设计两个方面。

硬件设计方面,需要考虑的主要内容有:电机的选择与驱动、电源电压与电流的设计、速度反馈电路的设计。

首先,需要选择合适的直流电机和驱动器。

选择直流电机时需考虑其功率、转速、扭矩等参数,根据实际需求选择合适的电机。

驱动器可以选择采用集成驱动芯片或者离散元件进行设计,通过PWM信号控制电机的速度。

其次,需要设计合适的电源电压与电流供应。

直流电机通常需要较大的电流来实现工作,因此需要设计合适的电源电流,以及保护电路来防止电流过大烧坏电机和电路。

最后,需要设计速度反馈电路来实现闭环控制。

速度反馈电路可以选择采用编码器等传感器来获得转速信息,然后通过反馈控制实现精确的速度调节。

软件设计方面,需要考虑的主要内容有:PWM输出的控制、速度闭环控制算法的实现。

首先,需要编写代码实现PWM输出的控制。

根据具体的单片机型号和开发环境,使用相关的库函数或者寄存器级的编程来实现PWM信号的频率和占空比调节。

其次,需要实现速度闭环控制算法。

根据速度反馈电路获取的速度信息,通过比较目标速度与实际速度之间的差异,调整PWM信号的占空比来实现精确的速度调节。

常用的速度闭环控制算法有PID控制算法等。

最后,需要优化程序的鲁棒性和稳定性。

通过合理的调节PID参数以及增加滤波、抗干扰等功能,提升系统的性能和稳定性。

在实际的设计过程中,需要根据具体的应用需求和单片机性能等因素,进行合理的选择和调整。

同时,还需要通过实验和调试来验证系统的可靠性和稳定性,不断进行优化和改进,以获得较好的调速效果。

基于单片机的直流电机控制

基于单片机的直流电机控制

基于单片机的直流电机控制概述直流电机是一种常见的电动机,它在各种应用中都有着广泛的应用,包括工业生产、家用电器、汽车等。

而在直流电机的控制方面,单片机技术已经成为了一种常见的方式。

本文将介绍基于单片机的直流电机控制技术,包括控制原理、控制方法和实际应用。

直流电机控制原理直流电机的速度和方向控制主要是通过控制电机的电压和电流来完成的。

一般来说,直流电机的控制原理可以分为两种方式:调速控制和方向控制。

调速控制是指通过改变电机的输入电压或电流来实现电机的转速调节,而方向控制则是通过改变电机的电极极性来实现电机正转或反转。

直流电机控制方法在单片机控制直流电机时,通常会采用一些常见的控制方法。

PID控制是一种经典的控制方法,它通过不断地调整比例、积分和微分系数来实现电机的速度控制。

PID控制的实质就是通过不断地调整电机的输入信号来使得电机的输出与期望值尽可能接近。

模糊控制是一种模糊逻辑方法,它通过对输入信号的模糊化和输出信号的解模糊化来实现电机的控制。

模糊控制通常适用于一些非线性、不确定性较大的系统,它具有较好的鲁棒性和自适应性。

还有一些先进的控制方法,如神经网络控制、遗传算法控制等,它们都可以用于直流电机的控制,并且在一些特定的应用场景中有着较好的效果。

单片机直流电机控制实际应用基于单片机的直流电机控制技术已经在各种应用中得到了广泛的应用。

在工业生产领域,单片机控制直流电机可以用于各种自动化生产线的输送、定位等控制。

在家用电器方面,单片机控制直流电机可以用于各种家电产品中的驱动和控制,如洗衣机、空调、电风扇等。

在汽车领域,单片机控制直流电机可以用于汽车的发动机启动、车窗控制、座椅调节等。

除了以上的应用,单片机控制直流电机还可以用于各种机器人、航模、遥控车等电子产品中,它们都需要对电机进行精确的控制和调节。

由于单片机本身具有较强的计算和控制能力,同时也非常适合用于直流电机的速度和方向控制,因此基于单片机的直流电机控制技术已经成为了一种非常成熟和可靠的技术方案。

单片机课程设计_直流风扇电机转速测量与PWM控制

单片机课程设计_直流风扇电机转速测量与PWM控制

一.设计思路程序应用模块化进行设计,主要有初始化模块、显示模块、读键模块、数制转换模块、双字节除法模块、中断模块和控制调节模块。

编程次序可按此先后进行。

初始化模块:8155工作方式、T0和T1工作方式、标志位状态、所用单元初值、中断设置以及初始显示等。

显示模块:设定值和实测值的数值与字符动态显示。

读键模块:从I/O 口依据某位数码管亮时读入小按键是否有效,然后根据四个小键盘的不同功能进行相应的处理,只要设定值一改变立刻显示。

加1键和减1键要有连加连减功能。

数制转换模块:将二进制转换为十进制。

外部中断模块:将转1圈的时间通过双字节除法程序求出即时转速。

定时中断模块:PWM 输出波形形成。

控制调节模块:通过设定值和实测值的比较来改变脉冲波的占空比,该数据的调节分为简单比例调节PP 和比例积分调节PI 。

调节公式分别为:YK=YK1+KP*EKYK=YK1+KP*EK+KI*EK2YK :要输出的数据YK1:上次输出的数据EK :设定值和实测值的差值EK1:上次的EK 值EK2:EK-EK1的差值KP :比例系数(设KP=1~2)KI :积分系数(设KI=1~2)一. 带注释软件清单;==========使用单元设定==========//..................................使用单元设定DIS0 EQU 30HDIS1 EQU 31HDIS2 EQU 32HDIS3 EQU 33HLED EQU 34HTM1 EQU 35H;TM2 EQU 36H;INTV BIT 37H;中断标志THX EQU 38H;定时脉宽高电平CISHU EQU 39HFIRST BIT 41H; 检测加减是否第一次按下SET1 BIT 42HSETZ0 EQU 43H;设定当前设定值SETZ0~SETZ3SETZ1 EQU 44HSETZ2 EQU 45HSETZ3 EQU 46HTM3 EQU 47H; 循环次数单元JIA1 BIT 48H; 单步加标志LIANJIA BIT 49H; 连加标志JIAN1 BIT 50H; 单步减标志LIANJIAN BIT 51H; 连减标志SETDATA EQU 52H; 设定速度暂存单元REALDATA EQU 53H; 实测速度暂存单元YK1 EQU 54H; 上次输出数据暂存单元KP EQU 56H;比例系数KI EQU 57H;积分系数EK EQU 58H;设定值和实测值的差值EK1 EQU 59H;上次的EK值OUTPUT EQU 60H;EK2 EQU 61H;EK-EK1的值ONPRESS BIT 62H;判定ENTER键是否弹起标志TMS EQU 63H;闪烁时长SHAN BIT 64H; 闪烁标志;==========主程序==========ORG 0000HSJMP MAINORG 0013H;外部中断1入口地址AJMP INX1ORG 001BH;定时器T1中断入口地址AJMP ITX1ORG 0070HMAIN: MOV SP,#70H;设定堆栈指针入口地址ACALL INIT;调用初始化程序M1: JB SET1,FLASH;当前为设置状态则跳到闪烁显示模块ACALL DISP; 否则为一般显示SJMP NEXTTFLASH: ACALL DISP1NEXTT: ACALL DELAY;调用按键延时程序ACALL M2;调用按键程序DJNZ CISHU,M1;第隔100MS刷新一下实测值MOV CISHU,#20ACALL CONTROL;调用控制调速模块SJMP M1//==========初始化模块==========INIT:MOV DPTR,#0FD00H ;设置PA、PB为输出口,PC为输入口MOV A,#03HMOVX @DPTR,AMOV TMOD,#21H ;定时器/计数器T1为方式2,定时器/计数器T0为方式1 MOV TL0,#00H ; 定时器/计数器T0赋初值#00HMOV TH0,#00HMOV THX,#0BBH ;输出单元赋初值#0BBH,即脉冲高电平宽度MOV TH1,THXMOV TL1,THXSETB TR1 ;启动定时器/计数器T1SETB TR0 ; 启动定时器/计数器T0SETB ET1 ;允许定时器/计数器T1溢出中断 SETB EX1 ;允许外部中断1中断SETB IT1 ;选择边沿触发SETB EA ;CPU开中断SETB 07H;SETB SHANCLR 11H;检测是否成功MOV LED,#7FHMOV R0,#DIS0MOV DIS0,#14MOV DIS1,#15MOV DIS2,#15MOV DIS3,#15MOV SETZ2,#15MOV SETZ3,#15CLR ONPRESSSETB SET1SETB FIRSTCLR JIA1CLR LIANJIACLR JIAN1CLR LIANJIANCLR INTVMOV KP,#1MOV KI,#1MOV EK1,#0MOV CISHU,#20MOV TM2,#50RET//==========显示模块==========DISP:MOV DPTR,#0FD02H ;指向PB口MOV A,LEDRL A ;左移1位JB ACC.4,D1MOV A,#0FEH ; 移出则重设起始值MOV R0,#DIS0D1:MOV LED,AMOVX @DPTR,AMOV A,@R0 ; 取显示RAM数据MOV DPTR,#TABMOVC A,@A+DPTR ; 换码操作MOV DPTR,#0FD01H ; 置8155 PA口MOVX @DPTR,AINC R0 ;未移出则显示RAM地址加1RET//==========设置时闪烁模块==========DISP1:JB SHAN,LIANG;DJNZ TMS,AN 闪烁标志SHAN为1时调用DISP显示模CPL SHAN; 块显示当前设定值,闪烁时间到,将标志取MOV TMS,#50 ;反,并再次送入闪烁时长TMS.当闪烁标SJMP SHANRET;志为0时闪烁时间到先将DIS3, DIS2, LIANG:ACALL DISP ; 送入#16,即全灭值,再调用DISP,再将标DJNZ TMS,SHANRET; 志位取反,重新装入时长TMS,这样就CPL SHAN;能实现闪烁功能MOV TMS,#50SJMP SHANRETAN: MOV DIS3,#16MOV DIS2,#16ACALL DISPMOV DIS3,SETZ3MOV DIS2,SETZ2SHANRET: RET//==========延时5ms子程序模块==========DELAY:MOV TM2,#5DEL2:MOV TM1,#255DEL1:DJNZ TM1,DEL1DJNZ TM2,DEL2RET//==========读键模块====================M2: MOV DPTR,#0FD03H;置PC口MOVX A,@DPTRJNB ACC.5,KEY; 若PC5为0则调用按键程序ACALL KK0RETKEY: MOV A,LEDJB FIRST,PK1; 若FIRST为1则调用密码按键PKEY1,KEY2,KEY3,PKEY4 JNB ACC.0,KEY1 ;否则调用一般按键KEY1-KEY4,其中KEY2,KEY3为共用的JNB ACC.3,KEY4SJMP PK2PK1: JNB ACC.0,PKEY1JNB ACC.3,PKEY4PK2: JNB ACC.1,KEY2JNB ACC.2,KEY3RET;==========设置键设定==========KEY1:SETB SET1MOV DIS0,#11 ;将前次设定值代入MOV DIS1,SETZ1MOV DIS2,SETZ2 ;装入上次设定值MOV DIS3,SETZ3RET;==========加键设定==========KEY2:JNB SET1,ENDKEYACALL JIA; 调用JIA程序,看是单步加还是连加MOV A,DIS3MOV SETZ3,ACJNE A,#10,ENDKEYJIN1:MOV DIS3,#0;若低位满10则高位加1,并将低位变为0 INC DIS2MOV A,DIS2MOV SETZ2,ACJNE A,#10,ENDKEYSJMP ENDKEY;==========减键设定==========KEY3:JNB SET1,ENDKEYMOV A,DIS3JZ PANGAOJJ:ACALL JIAN ; 调用JIAN程序,看是单步加还是连减MOV SETZ3,DIS3RETPANGAO:MOV A,DIS2 ; 低位减到0判断高位是否为0,JZ ENDKEY ; 是0则什么也不做,返回JIE1:MOV DIS3,#9 ; 若高位不为0则高位减1,低位置9DEC DIS2MOV SETZ2,DIS2SJMP JJ;==========ENTER键设定==========KEY4:JB ONPRESS,ENDKEYCLR SET1; 将设置标志清掉MOV DIS0,#10MOV SETZ1,DIS1RET//==========设定密码时的设置和ENTER按键=============PKEY1:RETPKEY4:JB 11H,SUCCESSMOV A,DIS3CJNE A,#5,ERROR ; 判定输入密码的低位是否正确,不正确直接MOV A,DIS2; 跳到输入密码状态,若正确,再看高位正确否CJNE A,#6,ERROR ; 正确则跳到SUCCESS,否则也返回输入密码状态SUCCESS:SETB 11H ; 11H为判定密码成功与否标志JB 07H,FC ; 输入成功密码第一次先跳到FC,测定初值CLR FIRST ; 设定完成,将输入密码标志清掉SETB TR1 ; 定时器0和1打开SETB TR0;SETB ONPRESSSJMP PRETFC: MOV DIS0,#11; 设定输入测定值的显示方式MOV DIS1,#15MOV SETZ2,#0MOV SETZ3,#0CLR 07H; 07H是用于设定是否第一次设定SETB ONPRESSRETERROR:MOV DIS3,#15; 当密码输入错误时,返回输入密码状态MOV DIS2,#15PRET: RETENDKEY:RET;==========单步加减&连续加减子程序==========;==加部分==JIA:JB JIA1,S1SETB JIA1MOV TM3,#20S2:INC DIS3JB LIANJIA,ALLRETS1:JB LIANJIA,S2DJNZ TM3,ALLRETSETB LIANJIASJMP S2RET;==减部分==JIAN:JB JIAN1,S3SETB JIAN1MOV TM3,#20S4:DEC DIS3JB LIANJIAN,ALLRETS3:JB LIANJIAN,S4DJNZ TM3,ALLRETSETB LIANJIANSJMP S4RET//============判断键是否弹起=========== KK0:MOV A,LEDJB ACC.2,KK1;CLR JIAN1CLR LIANJIANRETKK1:MOV A,LEDJB ACC.1,KK2CLR JIA1CLR LIANJIARETKK2:MOV A,LEDJB ACC.3,ALLRETCLR ONPRESSRETALLRET:RET//==========定时器T1中断模块(用于调速)========== ITX1:PUSH ACCPUSH BCPL P1.0JNB P1.0,L1MOV TH1,THXSJMP L2L1: MOV A,#0FFHCLR CSUBB A,THXMOV TH1,AL2: POP BPOP ACCRETI//==========外部中断1模块(用于测速)==========INX1:PUSH ACCPUSH BJB SET1,RETIX ; 若当前为设置状态则不做测速CLR TR0 ; 当产生中断时,先关定时器0MOV R6,TH0 ; 将当前的TH0放入R6,TL0放入R7MOV R7,TL0CHUZHI:MOV TH0,#00H; 将定时器初值置0MOV TL0,#00HSETB TR0 ; 定时器打开ACALL CHUFA ; 调用双字节除法程序RETIX: POP BPOP ACCRETI单片机课程设计_直流风扇电机转速测量与PWM控制(含P调节和PI调节)4#e# ;==========双字节除法==========CHUFA:MOV R2,#00H ; 赋被除数R2R3R4R5=500000usMOV R3,#07HMOV R4,#0A1HMOV R5,#20HDDIV: MOV B,#16DDV1:CLR CRLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2RLC AXCH A,R2MOV F0,CCLR CSUBB A,R7MOV R1,AMOV A,R2SUBB A,R6JB F0,DDV2JC DDV3 DDV2:MOV R2,A MOV A,R1INC R5DDV3:DJNZ B,DDV1//==========数值转换模块(将二进制-->十进制)=========== BIN:MOV A,R5MOV B,#10DIV ABMOV DIS2,A ; 将商赋予显示值的高位DIS2MOV DIS3,B ; 将余数赋予显示值的低位DIS3MOV REALDATA,R5 ;将测速值R5赋予实测值单元REALDATA RET//==========控制调节模块==========CONTROL:JB P1.5,PI ; 若P1.5=1做PI环节,否则做PP环节ACALL PP;MOV TH1,THXRETPI:MOV A,SETZ2 ; SETZ2为设定值的高位MOV B,#10MUL ABADD A,SETZ3 ; 此时A中为设定值SETDATAMOV SETDA TA,ACLR CSUBB A,REALDATAMOV EK,A ; EK=设定值SETDATA-实测值REALDATAJC DOWNZERO ; 若有借位(即设定值SETDATA<实测值REALDA TA), SJMP OVERZERO; 转向DOWNZERO;否则转向OVERZERO DOWNZERO:MOV A,REALDATASUBB A,SETDATA ; 将实测值REALDA TA-设定值SETDA TA的差值存入A MOV B,KPMUL ABMOV B,A ; 将(REALDATA-SETDATA)*KP的值存入BMOV A,THX ;将上次输出的数据THX存入ASUBB A,BMOV 05H,A ; 05H=YK1+KP*EKJC FU ;若有借位,转向FU,否则转向ZHENGSJMP ZHENGOVERZERO:MOV B,KPMUL AB ;将EK*KP的值存入AADD A,THXJMP ZHENGZHENG: MOV A,EKSUBB A,EK1MOV EK2,A ;EK2=EK-EK1JC ZHENG1 ;若有借位即EK2<0,转向ZHENG1;否则转向ZHENG2SJMP ZHENG2ZHENG1: MOV B,KIMOV A,EK2MUL AB ; A=EK2*KIADD A,05H ;A=EK2*KI+YK1+KP*EKJC XX1 ;若有进位即(A)>风速最大值#0FFH,SJMP OVERPPI; 则转向XX1;否则转向OVERPPIXX1: CLR CMOV A,#0FFH ; 将风速最大值#0FFH存入ASJMP OVERPPIZHENG2: MOV A,EK1SUBB A,EK ; 将EK1-EK的值存入AMOV B,AMOV A,KIMUL AB ;将KI*(EK1-EK)的值存入AMOV B,AMOV A,05HSUBB A,B ; 将YK1+KP*EK+KI*EK2的值存入A JC XX2 ;若有借位即(A)<0,则转向XX2;SJMP OVERPPI; 否则转向OVERPPIXX2: CLR CMOV A,#00HSJMP OVERPPIFU: MOV A,EKSUBB A,EK1MOV EK2,AJC XX2 ; 若有借位即EK2=EK-EK1的值<0,SJMP FU1;则转向XX2;否则转向FU1FU1: MOV A,EK2SUBB A,05H ; A=EK2-(YK1+KP*EK)JC XX2 ; 若有借位即A的值<0,则转向XX2;SJMP OVERPPI; 否则转向OVERPPIOVERPPI:MOV THX,AMOV EK1,EKRETPP: MOV A,SETZ2 ; SETZ2为设定值的高位MOV B,#10MUL ABADD A,SETZ3 ;此时A中为SETDATAMOV SETDATA,ACLR CSUBB A,REALDATA ;此时A中为EK=SETDATA-REALDATAJZ CC ;若SETDATA=REALDAT,转向CCJC TT1 ; 若有借位即EK=SETDA TA-REALDATA<0,转向TT1 MOV B,KP ; 实测值小于设定值的情况MUL AB ;A=EK*KPADD A,THX ; A=EK*KP+上次输出的数据THX,即YK=YK1+EK*KP JC PP2 ; 若有进位即A>#0FFH,则转向PP2;否则转向PP4SJMP PP4TT1: CLR C ; 实测值大于设定值的情况MOV A,REALDATASUBB A,SETDATA ; A=REALDATA-SETDATAMOV B,KPMUL AB ;A=(REALDATA-SETDATA)*KPMOV B,AMOV A,THXSUBB A,B ;即YK=YK1+EK*KPJC PP1 ;若有借位即A的值<0,则转向PP1;否则转向PP4SJMP PP4PP1: CLR CMOV A,#00H ;将风速最低值#00H存入ASJMP PP4PP2: MOV A,#0FFH ;将风速最大值#0FFH存入ACLR CPP4: MOV THX,A ;将实测的风速值A存入输出单元THXCC: RET;==========数值表==========TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH;0~6DB 07H,7FH,6FH,77H,7CH,39H,5EH;7~dDB 73H,40H, 00H ;73H为字母”P”,40H为”-“,00H为数码管全灭END一.创新点说明及应用1.密码验证说明: 在这个程序中,我加入了密码验证功能,当用户第一次进入风扇调速系统.只有密码正确才能进入并设定转速.应用:在一些非内部人员或专业人员可以调试的设备,可用此密码验证功能,以防系统工作状态被他人改动.造成不必要的损失.2. 设定过程中闪烁功能。

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

摘要直流电动机使用直流电源,具有良好的启动和调速性能;电动机的数字控制是电动机控制的发展趋势,用单片机对电动机进行控制是实现电动机数字控制最常用的手段。

电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。

模拟控制已逐渐被使用以单片机为主的混合控制和全数字控制所取代。

这次课程设计要求为:直流电动机的控制,即通过单片机实现对直流电动机的正反转与加速控制,由霍尔速度传感器进行速度测量,有数码管显示按键值与直流电动机的速度。

实现D/A转换功能的芯片有很多,此次课程设计采用DAC0832来实现D/A转换。

目录摘要 (1)第一章设计要求及电路框图设计 (3)1.1设计要求 (3)1.2系统总体组成原理框图 (3)1.3总体电路图 (4)第二章各部分原理及设计 (5)2.1单片机 (5)2.2DAC0832芯片介绍 (6)2.3直流电机原理 (8)2.4键盘控制设计 (9)2.5霍尔元件原理 (11)2.6霍尔元件计算电机转速 (12)2.7LED显示的设置 (12)第三章程序部分 (13)第四章心得体会 (18)参考文献 (19)第一章设计要求及电路框图设计1.1 设计要求1、利用D/A电路,输出-8V到+8V的电压,控制直流电机。

2、电机速度可调,具有启动键、方向控制键及提示灯、加速键、减速键及停止键3、利用霍尔元件感应电机转速,读出感应脉冲,从而计算出电机转速,用数码管显示出来。

1.2系统总体组成原理框图1.3总体电路图DA_CS------CS1 脉冲输出------ P3.4 -8到+8------直流电压P1.0------K0启动 P1.1------K1停止 P1.2------K2反方向运动P1.3------K3正方向减速 P1.4------K4正方向增速P1.7------方向灯亮P1.5------K5反方向减速 P1.6------K6反方向加速 CS0地址译码------KEY/LED-CS在电压允许范围内,直流电机的转速随着电压的升高而加快,若加上的电压为负电压,则电机会反向旋转。

本实验仪的D/A变换可输出-8V到+8V的电压,将电压经驱动后加在直流电机上,使其运转。

通过单片机输出数据到D/A变换电路,控制电压的高低和正负,观察电机的旋转情况。

在电机转盘上安装一个小磁芯,用霍尔元件感应电机转速,用单片机控制读回感应脉冲,从而测算出电机的转速。

第二章各部分原理及设计2.1单片机本次课设用的是MSC-51单片机,其主要优点是价格便宜。

用-8V~8V电源来确保工作电压正常,由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机的计数器T1,由T1测出电动机的实际转速,通过键盘事先设定的值通过单片机对DAC0832输入相应的数字量,使DAC0832输出大小方向不同的电压,来控制直流电动机的转速和方向。

2.2DAC0832芯片介绍DAC0832是8分辨率的D/A转换集成芯片。

与微处理器完全兼容。

这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。

D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

DAC0832的主要特性参数如下:* 分辨率为8位;* 电流稳定时间1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V~+15V);* 低功耗,20mW。

DAC0832引脚功能:* D0~D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);* ILE:数据锁存允许控制信号输入线,高电平有效;* CS:片选信号输入线(选通数据锁存器),低电平有效;* WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;* XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;* WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。

由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;* IOUT2:电流输出端2,其值与IOUT1值之和为一常数;* Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;* Vcc:电源输入端,Vcc的范围为+5V~+15V;* VREF:基准电压输入线,VREF的范围为-10V~+10V;* AGND:模拟信号地* DGND:数字信号地2.3直流电机原理一台直流电机原则上既可以作为电动机运行,也可以作为发电机运行,这种原理在电机理论中称为可逆原理。

当原动机驱动电枢绕组在主磁极N、S之间旋转时,电枢绕组上感生出电动势,经电刷、换向器装置整流为直流后,引向外部负载(或电网),对外供电,此时电机作直流发电机运行。

如用外部直流电源,经电刷换向器装置将直流电流引向电枢绕组,则此电流与主磁极N.S.产生的磁场互相作用,产生转矩,驱动转子与连接于其上的机械负载工作,此时电机作直流电动机运行。

导体受力的方向用左手定则确定。

这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。

如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。

如图所示为直流电动机的原理模型当电枢转了180°后,导体 cd转到 N极下,导体ab转到S极下时,由于直流电源供给的电流方向不变,仍从电刷 A流入,经导体cd 、ab 后,从电刷B流出。

这时导体cd 受力方向变为从右向左,导体ab 受力方向是从左向右,产生的电磁转矩的方向仍为逆时针方向。

因此,电枢一经转动,由于换向器配合电刷对电流的换向作用,直流电流交替地由导体ab和cd 流入,使线圈边只要处于N 极下,其中通过电流的方向总是由电刷A 流入的方向,而在S 极下时,总是从电刷 B流出的方向。

这就保证了每个极下线圈边中的电流始终是一个方向,从而形成一种方向不变的转矩,使电动机能连续地旋转。

这就是直流电动机的工作原理。

2.4键盘控制设计行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。

1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

2.5霍尔元件原理所谓霍尔效应,是指磁场作用于载流金属导体、半导体中的载流子时,产生横向电位差的物理现象。

金属的霍尔效应是1879年被美国物理学家霍尔发现的。

当电流通过金属箔片时,若在垂直于电流的方向施加磁场,则金属箔片两侧面会出现横向电位差。

半导体中的霍尔效应比金属箔片中更为明显,而铁磁金属在居里温度以下将呈现极强的霍尔效应。

利用霍尔效应可以设计制成多种传感器。

霍尔电位差UH的基本关系为UH=RHIB/d (18)RH=1/nq(金属)(19)式中RH——霍尔系数:n——单位体积内载流子或自由电子的个数q——电子电量;I——通过的电流;B——垂直于I的磁感应强度;d——导体的厚度。

对于半导体和铁磁金属,霍尔系数表达式与式(19)不同,此处从略。

由于通电导线周围存在磁场,其大小与导线中的电流成正比,故可以利用霍尔元件测量出磁场,就可确定导线电流的大小。

利用这一原理可以设计制成霍尔电流传感器。

其优点是不与被测电路发生电接触,不影响被测电路,不消耗被测电源的功率,特别适合于大电流传感。

若把霍尔元件置于电场强度为E、磁场强度为H的电磁场中,则在该元件中将产生电流I,元件上同时产生的霍尔电位差与电场强度E成正比,如果再测出该电磁场的磁场强度,则电磁场的功率密度瞬时值P可由P=EH确定。

利用这种方法可以构成霍尔功率传感器。

2.6霍尔元件计算电机转速如果把霍尔元件集成的开关按预定位置有规律地布置在物体上,当装在运动物体上的永磁体经过它时,可以从测量电路上测得脉冲信号。

根据脉冲信号列可以传感出该运动物体的位移。

若测出单位时间内发出的脉冲数,则可以确定其运动速度。

2.7 LED显示的设置使用4只八段LED数码管,其中3只LED显示的时间精确到1ms。

LED时间显示电路如图所示,图中利用3只74LS164为LED数码管串入并出移位积存器,本电路采用的数码管显示方法为静态显示,静态显示的主要优点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。

系统运行过程中,在需要更新显示内容时,CPU 才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单,比较适合本电路显示内容不复杂的情况。

第三章程序部分CS0832 EQU 09000HOUTBIT EQU 08002H ; 位控制口OUTSEG EQU 08004H ; 段控制口LEDBUF EQU 60H ; 显示缓冲NUM EQU 70H ; 显示的数据ORG 0000HSJMP STARTORG 0030HSTART: CLR P1.7 ; 指示是否反转MOV DPTR,#CS0832 ; DPTR指针到电机控制口 MOV A,#080H ; 零电压对应值给寄存器A MOVX @DPTR,A ; 电机转速为零LJMP SUDUXIANSHI ; 速度显示ZZ: CLR P1.7 ; 正传开始反转指示灯灭 MOV DPTR, #CS0832 ; DPTR指针到电机控制口 MOV A,#0B0H ; 电机最小启动电压对应值给寄存器A MOVX @DPTR, A ; 给电机初始速度LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示FZ: SETB P1.7 ; 反转开始反转指示灯亮 MOV DPTR, #CS0832 ; DPTR指针到电机控制口 MOV A, #050H ; 反转时电机最小启动速度 MOVX @DPTR, A ; 反转初始速度LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示JY : JB P1.1,TZ ; 停止键按下到停止程序 JB P1.0,ZZ ; 启动按钮到正传程序JB P1.6,FPDJ;反转的检测加速键按下到加速程序JB P1.5,FPDJN ; 减速键按下到减速程序 JB P1.4,ZPDJ ;正转的检验加速键按下到加速 JB P1.3,ZPDJN ; 减速键按下到减速JB P1.2,FZ ; 反转键按下到反转程序LJMP SUDUXIANSHI ; 速度显示TZ: LJMP START ; 停止重新开始ZPDJ: CJNE A,#0F0H,JIA0 ; 正转的最大速度判断 LJMP JY ; 已是最大不再加速回到检验JIA0: JNC JY ; 超过最大不加速MOV DPTR,#CS0832 ; DPTR指针到电机控制口 ADD A,#05H ; 加一定速度MOVX @DPTR,A ; 电机速度增加LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示ZPDJN: CJNE A,#080H,JIAN0 ; 正传最小速度判断LJMP JY ; 已是最小不再减速JIAN0: JC JY ; 超过最小不减速MOV DPTR,#CS0832 ; DPTR指针到电机控制口SUBB A,#05H ; 减一定速度MOVX @DPTR,A ; 电机速度减小LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示FPDJ: CJNE A,#10H,JIA1 ; 反转的最大速度判断LJMP JY ; 已是最大不再加速JIA1: JC JY ; 超过最大不加速MOV DPTR,#CS0832 ; DPTR指针到电机控制口SUBB A,#05H ; 加一定速度MOVX @DPTR,A ; 电机速度增加LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示FPDJN: CJNE A,080H,JIAN1 ; 反转最小速度判断LJMP JY ; 已是最小不再减速JIAN1: JNC JY ; 超过最小不减速MOV DPTR,#CS0832 ; DPTR指针到电机控制口ADD A,#05H ; 减一定速度MOVX @DPTR,A ; 电机速度减小LCALL DELAY ; 等待电机运转稳定LJMP SUDUXIANSHI ; 速度显示SUDUXIANSHI: MOV 76H,A ; 将当前寄存器A中的内容给76H 单元进行保存MOV TMOD,#05H ; 方式控制字 T0设为计数器MOV TH0,#00H ; 计数初值为0MOV TL0,#00HSETB TR0 ; 开计数器MOV 55H,#4 ; 延时约1SD01: MOV 56H,#250D02: MOV 57H,#248D03: DJNZ 57H,D03DJNZ 56H,D02DJNZ 55H,D01CLR TR0 ; 1S到关计数器MOV R1,TH0 ; 送数MOV R0,TL0MOV 70H,R0MOV 71H,R1START2: MOV R4,#100 ; 显示次数START02: MOV SP, #40H ; 堆栈指针MOV A, 70H ; 计数得到的低4位数给A MOV R0, #LEDBUF ; 缓冲地址ANL A, #0FH ; 屏蔽高位,传送低位 MOV DPTR, #LEDMAP ; 表地址MOVC A, @A+DPTR ; 数字转换成显示码MOV @R0,A ; 显示码填入显示缓冲INC R0 ; 缓冲地址加1MOV A, 70H ; 计数得到的低4位数给A ANL A, #0F0H ; 屏蔽地位,传送高位 MOV DPTR, #LEDMAP ; 表地址MOVC A, @A+DPTR ; 数字转换成显示码MOV @R0,A ; 显示码填入显示缓冲INC R0 ; 缓冲地址加1MOV A, 71H ; 计数得到的高4位给A ANL A, #0FH ; 屏蔽高位,传送地位 MOV DPTR, #LEDMAP ; 表地址MOVC A, @A+DPTR ; 数字转换成显示码MOV @R0,A ; 显示码填入显示缓冲INC R0 ; 缓冲地址加1MOV A, 71H ; 计数得到的高4位给A ANL A, #0F0H ; 屏蔽低位,传送高位 MOV DPTR, #LEDMAP ; 表地址MOVC A, @A+DPTR ; 数字转换成显示码MOV @R0,A ; 显示码填入显示缓冲LJMP DISPLAYLED ; 到显示程序LEDMAP: ; 八段管显示码表格 DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07HDB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H DISPLAYLED:MOV R0, #LEDBUF ; 缓冲地址MOV R1, #4 ; 共4个八段管MOV R2, #00000001B ; 从右边开始显示MOV DPTR, #OUTBIT ; 位选MOV A, #0MOVX @DPTR, A ; 关所有八段管LOOP: MOV A, @R0MOV DPTR, #OUTSEG ; 段选MOVX @DPTR,AMOV DPTR, #OUTBITMOV A, R2MOVX @DPTR, A ; 显示一位八段管MOV 4AH,#10DL2: MOV 4BH, #200DL1: DJNZ 4BH, DL1DJNZ 4AH, DL2MOV A, R2 ; 显示下一位RL AMOV R2, AINC R0DJNZ R1, LOOPDJNZ R4,START02MOV A,76HLJMP JY ;显示完成,跳回检验处DELAY: MOV R5,#12 ;延时子程序约3S D1: MOV R6,#250D2: MOV R7,#248D3: DJNZ R7,D3DJNZ R6,D2DJNZ R5,D1RET第四章心得体会两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。

相关文档
最新文档