基于单片机的直流电机调速系统_第1页
基于单片机的直流电机调速系统_第2页
基于单片机的直流电机调速系统_第3页
基于单片机的直流电机调速系统_第4页
基于单片机的直流电机调速系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第 1 1 页页 基于单片机的直流电机调速系统基于单片机的直流电机调速系统 摘要摘要 本设计以单片机AT89S52为核心 以小型直流电机为对象 通过5个按键 实现直 流电机的启动 速度和方向的控制 并通过液晶LCD1602显示出来 对直流电机进行速度 测量的原理 采用了PWM技术对电机进行控制 通过对占空比的计算达到精确调速的目的 实时测量电机的实际转速 并显示出来 并对电机进行PID转速调节 使其转速趋近于设 定值 关键词 关键词 AT89S52 直流电机 PWM L298N LCD1602 1 引言引言 随着科学技术的不断发展 人类社会的不断进步 人们对生活产品的需求要不断趋 向多样化 这就要求生产设备必须具有良好的动态性能 在不同的时候进行不同的操作 完成不同的任务 为了使系统具有良好的动态性能必须对系统进行设计 特别是大型的 钢铁行业和材料生产行业 为达到很高的控制精度 速度的稳定性 调速范围等国产直 流电机简介为了满足各行业按不同运行条件对电动机提出的要求 将直流电机制造成不 同型号的系列 又由于交流调速在当时尚未解决好调速控制问题 调速范围不大 控制 精度低 快速性差等性能指标不满足生产工艺的要求 所以当时大量使用的是直流电动 机调速系统 尤其是直流无级调速系统 它具有调速性能好 范围宽 动态性能好等优 点 特别是设计简单方便 虽然随着控制技术以及电力电子技术的的发展 制造工艺技 术的提高 大量出现交流调速的传动系统 但直流传动所具有的优点特征 至今仍大量 广泛地使用直流调速 因此实现直流无级调速对我们社会生产和生活有着重大的意义 2 2 基于单片机的直流电机调速系统的设计基于单片机的直流电机调速系统的设计 2 1 设计要求 对基于 MCS 51 系列单片机实现直流电机调速系统进行研究和设计 能够在不同的按 钮作用下分别实现直流电机的停止 加速 减速 正转 反转控制 能够实现基于 MCS 51 系列单片机的直流电机 PWM 的调速设计 2 22 2 直流电机调速分析 2 2 1 直流电机调速原理 根据励磁方式不同 直流电机分为自励和他励两种类型 不同励磁方式的直流电机 机械特性曲线有所不同 对于直流电机来说 人为机械特性方程式为 1 2 Nada eNetN URR nTnn KK K 注 式中UN N 额定电枢电压 额定磁通量 Ke Kt 与电机有关的常数 Rad Ra 电枢外加电阻 电枢内电阻 n0 n 理想空载转速 转速降 分析 1 式可得 当分别改变UN N和Rad时 可以得到不同的转速n 从而实现对速度的调节 如图1 图2所示 理想空载转速随电枢电压升降而发生相应的升降变化 不同电枢n 电压的机械特性曲线相互平行 说明硬度不随电枢电压的变化而改变 电机带负载能力 恒定 当我们平滑调节他励直流电机电枢两端电压时 可实现电机的无级调速 基于以 上特性 改变电枢电压 实现对直流电机速度调节的方法被广泛采用 第第 2 2 页页 T 图图1 1 直流电动机机械特性曲线直流电动机机械特性曲线 图图2 2 电枢电压电枢电压 占空比占空比 与平均电压关系与平均电压关系 2 2 2 PWM基本原理及其实现方法 PWM 是通过控制固定电压的直流电源开关频率 从而改变负载两端的电压 进而达到 控制要求的一种电压调整方法 在 PWM 驱动控制的调整系统中 按一个固定的频率来接 通和断开电源 并根据需要改变一个周期内 接通 和 断开 时间的长短 通过改变 直流电机电枢上电压的 占空比 来改变平均电压的大小 从而控制电动机的转速 在 脉冲作用下 当电机通电时 速度增加 电机断电时 速度逐渐减少 只要按一定规律 改变通 断电的时间 即可让电机转速得到控制 PWM 信号的产生通常有两种方法 一种是软件的方法 另一种是硬件的方法 软件方 法为 MCS 一 51 系列典型产品 AT89S52 具有两个定时器 T0和 T1 通过控制定时器初值 T0 和 T1 从而可以实现从 S52 的任意输出口输出不同占空比的脉冲波形 我们可以明确定 时器的定时初值与定时时间的关系 如果单片机的时钟频率为 f 定时器 计数器为 N 位 则定时器初值与定时时间的关系为 2 1 6 2 10 n N tT f 式中 Tw 定时器定时初值 N 一个机器周期的时钟数 N随着机型的不同而不同 在应用中 应根据具体的机型给出相应的值 这样 我们 可以通过设定不同的定时初值 从而改变占空比 D t1 T 进而达到控制电机转速的目的 控制程序的设计有两种方法 软件延时法和计数法 软件延时法的基本思想是 首 先求出占空比 D t1 T 再根据周期 T 分别给电机通电 M 个单位时间 t0 所以 M t0 t1 然 后 再断电个M单位时间 所M t2 t1 改变 M 和M的值 从而也就改变了占空比 D 计数法的基本思想是 当单位延时个数 M 求出之后 将其作为给定值存放在某存储单元 中 在通电过程中 对通电单位时间 t0的次数进行计数 并与存储器的内容进行比较 若不相等 则继续输出控制脉冲 直到计数值与给定值相等 使电机断电 软件采用定时中断进行设计 单片机上电后 系统进入准备状态 当按动按钮后 执行相应的程序 根据P2 5或P2 6输出的高电平决定直流电机的正反转 根据不同的加 减速按钮 调整P2 5或P2 6输出高低电平时的占空比 从而可以控制P2 5或P2 6输出高低电 平时的延时时间 进而控制电压的大小来决定直流电机转速 2 3 系统的硬件设计 2 3 1 系统方案 本设计以AT89S52单片机为核心 以5个轻触按钮作为输入达到控制直流电机的加速 减速 正转 反转 停止 又因考虑到外部中断0 INT0 脉冲信号对定时器中断的严重 影响 使得控速不精确 可以采用单独的计数电路 但普通的数字电路搭成的计数器不 第第 3 3 页页 仅成本高 而且外围电路复杂 故采用了另外一片51单片机作为 协控 即协助控制 对于主控单片机 其主要完成对电机的驱动输出及对独立按键扫描 另一片单片机通过 外部中断0对电机编码输出脉冲进行采集 计数 并进行计算 从而得到精准的转速值 除此之外 该单片机还将计算得到的速度值进行LCD显示 同时控制着超速报警电路 控制原理 AT89S52单片机为核心的直流电机控制系统控制 由软件转换成PWM 信号 并由P2 7输出 经驱动电路输出给电机 从而控制电机得电与失电 软件采用定时中断 进行设计 单片机上电后 系统进入准备状态 当按动启动按钮后 根据P2 5为高电平且 P2 6为低电平时实现电机正转 P2 5为低电平且P2 6为高电平时实现电机反转 根据不同的 加减速按钮 调整P2 7输出高低电平时的预定值 从而可以控制P2 7输出高低电平时的占 空比 进而控制电压的大小 控制程序应用于电机的加减速 2 3 2 硬件详细设计 主控单片机接口 如图3 5个独立按键接在P2 0 P2 4口 在软件中通过不断查询的方 式进行扫描 P2 5 P2 6控制电机的正反转 P2 7口接电机驱动芯片的使能端 通过对使能 时间的长短及频率控制的方式实现PWM调节电机的目的 测速单片机接口 如图4 测速脉冲信号通过P3 2 外部中断0 接入单片机 在单片 机内部通过中断次数进行计数 同时通过定时器0进行时间 一分钟 的控制 从而得出 该时间段的测速脉冲数 进而转换成速度值 图图3 3 主控单片机接口主控单片机接口 图图4 4 测速单片机接口测速单片机接口 LCD 显示电路 如图 5 显示部分采用 LCD1602 可以方便的实现速度的显示 界面 友好 操作简单 外部电路不会像采用数码管那样复杂 并且不需要额外的驱动电路 第 3 脚 VEE 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源时对比 度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 第 5 脚 RW 为读写信号线 高电平时进行读操作 低电平时进行写操作 第 6 脚 E 为使能端 当 E 端为高电平跳变成低电平时 液晶模块执行命令 第第 4 4 页页 图图 5 5 LCD1602LCD1602 接口电路接口电路 电机驱动电路及测速接口 如图 6 若是采用电阻网络或数字电位器调整电动机的 分压 从而达到调速的目的的话 电阻网络只能实现有级调速 而数字电阻的元器件价 格比较昂贵 更主要的问题在于一般电动机的电阻很小 但电流很大 分压不仅会降低 效率 而且实现很困难 若是采用继电器对电动机的开或关进行控制 通过开关的切换 对小车的速度进行调整 这个方案的优点是电路较为简单 缺点是继电器的响应时间慢 机械结构易损坏 寿命较短 可靠性不高 所以采用驱动芯片 L298N 驱动直流电机 L298N 具有驱动能力强 外围电路简单等优点 L298N 可接受标准 TTL 逻辑电平信号 VSS VSS 可接 4 5 7V 电压 4 脚 VS 接电源电压 VS 电压范围 VTH 为 2 5 46V 输出电流可达 2 5A 可驱动电感性负载 1 脚和 15 脚下管 的发射极分别单独引出以便接入电流采样电阻 形成电流传感信号 L298N 可驱动 2 个电 动机 OUT1 OUT2 和 OUT3 OUT4 之间可以分别接电动机 5 7 10 12 脚接输入控制电平 控制电机的正反转 ENA ENB 接 pwm 端 控制电机的转速 ENA 为低电平时 电机停止 运行 当 ENA 为 pwm 时 输入电平为一高一低 电机正或反转 In3 或 In4 同为低电平 电机停止 同为高电平 电机刹停 图图 6 6 电机驱动电路及测速接口电机驱动电路及测速接口 图中电机带有测速码盘 图中电机带有测速码盘 MVMV 为测速码盘接口 为测速码盘接口 按键控制电路 如图 7 正转 反转 加速 减速 停止五个开关分别与单片机的 P2 0 P2 1 P2 2 P2 3 P2 4相连 然后再与地相连 停止实现直流电机的停转 正转实现 直流电机的正转 反转实现直流电机的反转 加速实现直流电机的加速 减速实现直流 电机的减速 图图 7 7 系统按键控制电路 低电平有效 系统按键控制电路 低电平有效 第第 5 5 页页 2 3 2 系统整体硬件原理图 系统整体硬件原理图如图8所示 图图 8 8 整体原理图整体原理图 2 3 3 PCB 原理图 Pcb 原理图如图 9 所示 图图 9 9 PcbPcb 原理图原理图 2 4 系统软件设计 2 4 1 系统主程序设计 利用P2 7口 编制程序输出一串脉冲 经放大后驱动直流电机 改变输出脉冲的占空 比 达到使电机正转 反转 加速 减速 停转等目的 由软件编程从P2 7管脚产生PWM 信号 经驱动电路输出给电机 从而控制电机得电与失电 软件采用定时器中断进行设 计 单片机上电后 系统进入准备状态 本设计共有 5 个按键 分别为 加速 减速 正转 反转 停止 1 电机启动后 默认为 1 档 第第 6 6 页页 2 每按一次 加速 减速 键 档位加减一 3 当减到 0 当时 电机会慢慢地停下来 4 正转 或 反转 按下时 电机会慢慢地减速 减到 0 后会向相反的方向加速 直至上次的档位转速 5 停止 按下后 电机后慢慢地停下来 档位恢复 0 档 其总体流程图如图10示 开始 初始化定时器 及其中断 初始化电机参数为 正转 1档 键盘扫描 键值处理 图图 1010 系统主函数流程图系统主函数流程图 2 4 2 按键扫描 按键扫描 采用不断查询的方式进行 并在设计中添加了防抖动控制 流程如图 11 2 4 3 电机 PWM 驱动 对于电机的驱动 采用 51 单片机内部的定时器 0 中断的方式控制占空比的大小 从 而实现电机速度的调节 电机的正反转控制在键值处理函数中涉及 如图 12 开始 读取P2口的值 键值 DC motor PWM L298N LCD1602 附录附录 1 1 程序程序 1 1 电机驱动单片机程序清单 include include delay h define uchar unsigned char define uint unsigned int define TOTAL 20000 PWM 波周期 50Hz 端口定义 sbit IN1 P2 5 控制转向 sbit IN2 P2 6 控制转向 sbit PWMOUT P2 7 PWM 输出 全局变量 int High 高电平持续时间 int Low 低电平持续时间 uchar flag Hctrl 1 高电平输出标志 uchar flag stop 0 停止标志 函数声明 void Intial void T0 Initial uchar KeyScan void KeyProsess uchar void main uchar key Intial while 1 if key KeyScan 0 x1f 按键扫描 没有键被按下时返回值为 0 x1f 第第 9 9 页页 KeyProsess key void Intial T0 Initial 初始化定时器 High 1000 占空比初始化 Low TOTAL High IN1 1 电机正转 IN2 0 void T0 Initial TH0 65535 Low 256 定时器 0 赋初值 TL0 65535 Low 256 ET0 1 开定时器 0 中断 TMOD 0 x01 定时器 0 工作方式 1EA 1 开总中断 TR0 1 定时器 0 开始计时 uchar KeyScan uchar temp uchar keyword temp P2 if temp 按键去抖 temp P2 if temp temp P2 while temp Delay 10 按键松手去抖 temp P2 while temp return keyword 返回键值 第第 1010 页页 else return temp 此时 temp 0 x0f else return temp 此时 temp 0 x0f void KeyProsess uchar key if key 0 x1e 速度加 if flag stop flag stop 0 IN1 1 IN2 0 High 1000 if High TOTAL High TOTAL else if key 0 x1d 速度减 High 1000 if High 0 flag stop 1 IN1 1 IN2 1 High 0 else if key 0 x1b 电机正转 IN1 1 IN2 0 else if key 0 x17 电机反转 IN1 0 IN2 1 else if key 0 x0f 停止 flag stop 1 第第 1111 页页 IN1 1 IN2 1 High 0 Low TOTAL High void Timer0 sev interrupt 1 flag Hctrl 0 x01 高电平标志取反 PWMOUT PWMOUT 输出取反 if flag Hctrl 高电平输出控制 TH0 65535 High 256 TL0 65535 High 256 else 低电平输出控制 TH0 65535 Low 256 TL0 65535 Low 256 1 2 电机测速及显示控制单片机程序清单 include include LCD1602 h include defunsigned h define TOPSPEED 285 速度上限 端口定义 sbit BUZ P3 0 蜂鸣器 sbit ALED P3 1 超速指示灯 全局变量 uint count pulse 电机码盘脉冲数 uint speed rot 电机转速 uint T0 count uchar flag compute 0 转速计算标志 uchar flag disp 0 液晶刷新频率标志位 函数声明 void Intial void T0 Initial void main Intial while 1 第第 1212 页页 if flag compute 统计完毕 flag compute 0 speed rot speed rot 6 转换单位 r 50ms r min 电机测速码盘设置为每转 200 个脉冲 所以speed rot 1200 200 if speed rot TOPSPEED 超过速度上限 报警 BUZ 0 ALED 0 else BUZ 1 ALED 1 if flag disp LCD DispNum 6 1 speed rot 显示转速 void Intial LCD Initial 初始化液晶 LCD DispStr 0 0 SPEED LCD DispStr 11 1 r min T0 Initial 初始化定时器 void T0 Initial TH0 65535 50000 256 定时器 0 赋初值 TL0 65535 50000 256 EX0 1 开外部中断 0 IT0 1 外部中断 0 触发方式为 负跳变沿 触发 ET0 1 开定时器 0 中断 PT0 1 设定定时器 0 优先级为最高级 TMOD 0 x01 定时器 0 工作方式 1 EA 1 开总中断 TR0 1 定时器 0 开始计时 第第 1313 页页 void INT0 sev interrupt 0 count pulse 统计码盘脉冲数 void Timer0 sev interrupt 1 T0 count if T0 count 6 T0 count 0 flag disp 1 液晶刷新频率 300ms TH0 65535 50000 256 50ms TL0 65535 50000 256 flag compute 1 计算标志置位 speed rot count pulse 获取 50ms 内的码盘脉冲数 count pulse 0 码盘脉冲计数清零 2 2 元器件清单元器件清单 元件清单如图 13 所示 基于基于 5151 单片机的直流电机控制器元件清单单片机的直流电机控制器元件清单 序号序号元件名称元件名称 型号型号数目数目 151 单片机 STC89C512 2底座 40 脚2 3晶振 12MHz2 4电容 30p4 5电容 10u3 6电容 0 1uF2 7电阻 1K3 8电阻 10K6 9电阻 22ohm1 10电阻 1ohm2 11电位器 10K1 12轻触开关 4 脚6 13DC 电源接口 1 14自锁开关 6 脚1 15LED 2 16三极管 90121 17蜂鸣器 1 18电机驱动 L298N1 19排座 40pin1 20排针 40pin1 第第 1414 页页 图图 1313 元器件清单元器件清单 3 3 连线原理图连线原理图 连线原理图如图 14 所示 21液晶 LCD16021 22直流电机 1 23液晶 LCD16021 第第 1515 页页 EA VPP 31 XTAL1 19 XTAL2 18 RST 9 P3 7 RD 17 P3 6 WR 16 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 AD0 P0 0 39 AD1 P0 1 38 AD2 P0 2 37 AD3 P0 3 36 AD4 P0 4 35 AD5 P0 5 34 AD6 P0 6 33 AD7 P0 7 32 A8 P2 0 21 A9 P2 1 22 A10 P2 2 23 A11 P2 3 24 A12 P2 4 25 A13 P2 5 26 A14 P2 6 27 A15 P2 7 28 PSEN 29 ALE PROG 30 TXD P3 1 11 RXD P3 0 10 GND 20 VCC 40 U1 AT89C52 12 12 0MHz Y1 30pF C1 30pF C2 X1 X2 X1 X2 1KR1 10KR2 S1 10uFC3 VCC RST RST 晶振 VCC 复位电路 VCC GND 1 VCC 2 VO 3 RS 4 RW 5 E 6 DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 BG 15 BG 16 U3LCD1602 VCCVCC LCDRS LCDRW LCDEN D0 D1 D2 D3 D4 D5 D6 D7 A 1 B 2 TAP 3 10K R11 VEE VEE 液晶显示 EA VPP 31 XTAL1 19 XTAL2 18 RST 9 P3 7 RD 17 P3 6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论