基于单片机的转速控制器设计(编辑修改稿)内容摘要:

可以将检测到的信号送入单片机,本设计采用方案二进行设计。 基于单片机的转速控制器设计 9 4 系统硬件设计 系统硬件框图 图 41 系统硬件框图 本系统主要通过霍尔传感器检测电机转速,将不同电机转速转变成不同频率的脉冲信号,然后将传感器采集到的 转速 信号送入到单片机,再通过单片机计算出转速,通过软件产生 PWM 波方式送入电 机驱动模块的输入端来控制直流电机的转速。 最后将所测得的转速由 LCD 液晶显示器显示出来。 转速信号采集电路 转速信号采集是整个系统的前端通道,目的是将外界的非电参量,通过一定方式转换成电量 ,这一环节主要利用霍尔传感器将不同的电机转速转化为不同频率的 具有高低电平的 脉冲信号。 本系统中采用霍尔传感器 CS3020 作为检测元件。 霍尔传感器输出的是一个开关信号,所以它的电路非常简单,可以将其检测 到 的 转速 信号直接送给单片机进行处理 与计算。 CS3020 是对磁敏感的传感元件,常用于开关信号采集,这种传感器是一个 3 端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路( OC)门输出,工作电压范围宽,使用非常方便。 如图42 所示是 CS3020 的外形图以及 霍尔传感器电路连接图。 将有字面对准自己,三根引脚从左向右分别是 Vcc(1 脚 ),地 (2 脚 ),输出 (3 脚 )。 注意在使用时要在 1脚和 3 脚之间接一个 5K 左右的上拉电阻。 直流电机 转速信号采集电路 电机驱动与控制电路 AT89S51单片机 显示电路 键盘控制 基于单片机的转速控制器设计 10 图 42 霍尔传感器连接图 根据霍尔效应原理,将一块磁钢 粘 在电机转轴上的转盘边沿,转盘随轴旋转,磁钢也将跟着同步旋转,霍尔 开关靠近磁钢 ,受磁钢所产生的磁场 的影响,霍尔器件 有 脉冲信号 输出 ,其频率和转速成正比 ,计算周期内脉冲个数即可方便的测量转速。 其演示图如图 43 所示。 且 脉冲信号的周期与电机的转速有以下 关系如式 31 所示 [4][10]。 PTn /60 (31) 式中: n 为电机转速; P 为电机转一圈的脉冲数; T 为输出方波信号周期 ,根据 上 式即可计算出直流电机的转速。 图 43 霍尔传感器 感应转速信号演示图 单片机模块 单片机是整个测量系统的主要部分,本系统采用单片机对前端的 转速脉冲信号进行处理、计算、并通过软件编写产生占空比可调的 PWM 波对 电机的转速进行控制,其次,将测量的 转速 数据送到显示电路 LCD1602 液晶显示器显示 转速数值。 其复位电路、晶振电路、单片机模块硬件电路图如图 4 4 46 所示。 基于单片机的转速控制器设计 11 图 44 单片机复位电路 图 45 单片机晶振电路 图 46 单片机模块硬件电路图如图 图中,开关 SK 用来控制直流电机的转速。 主要是在单片机中编写相应的程序(用软件产生 PWM 波即产生不同的占空比的 矩形波)来对直流电机的转速进行分档控制。 本设计主要是利用单片机的定时器 0 和外部中断 1 来编写相应的程序,使每按 一次 SK 键, 口产生不同的占空比的 PWM 波,本设计中共设计了 10 档,占空比分别为: 50%、 40%、 30%、 20%、 10%、 100%、 90%、 80%、70%、 60%。 然后将 脚接到后续电路(直流电机的驱动控制电路)的输入端基于单片机的转速控制器设计 12 In1 脚,用于对直流电机的转速进行控制。 脚接入前端电路(霍尔传感器)的输出信号,把信号送入单片机进行计数 、处理。 P0 口接显示器,注意 P0 口需要接上拉电阻( 10k)。 、 、 分别接到液晶显示器 LCD1602 的 4(RS)、5(RW)、 6(E)脚,用来控制显示器的操作。 电机驱动与控制电路 根据实际控制的需要 , 本文给出了基于 AT89S51型单片机和 L298 的直流电机驱动与控制系统的硬件连接图。 如图 47所示 , L298 采用外接电源单独供电工作方式 , 电源电压为 5V。 图 47 L298N 的直流电机驱动与控制硬件连接图 本系统选用 AT89S51单片机作为 CPU核心。 本系统通过开关 SK与 外部中断INT1 相连 , 其中 每按下一次 SK, 分别给定适当的占空比 , 占空比由单片机程序控制,电机转 速 一共 10档,设计中将 (占空比可调的 PWM波) 接到 L298驱动芯片的 5脚( IN1),用来控制电动机的转速 ,从而实现电机的调速。 同时 , 将所测得的转速送到 P0口在 LCD上显示出来 , 以方便观察电机工作状态。 根 据 L298N 的输入输出关系 ( 见表 41) , 使能控制端 ENA 接 +5V电源,PWM信号输入端 IN1 和 IN2 可以控制电动机的正反转 ( 输入端 IN1为 PWM信号 , 输入端 IN2为低电平 , 电动机正转 ; 输入端 IN2为 PWM信号 , 输入端 IN1为低电平 , 电动机反转 ) , 当它为低电平时 , 驱动桥路上的 4 个晶体管全部截止 ,使正在运行的电动机电枢电流反向 , 电动机自由停止。 电动机的转速由单片机调节 PWM 信号的占空比来实现。 表 41 L298功能模块 基于单片机的转速控制器设计 13 EnA In1 In2 运转状态 0 X X 停止 1 1 0 正 转 1 0 1 反转 1 1 1 急停 1 0 0 停止 在本系统中,要求只要控制直流电机的正转 功能 ,所以只需用到 L298驱动芯片功能模块中的正转模块, 7脚( IN2)接地 , 正转时, 使能端 EnA接高电平 ,然后在 IN1脚通过单片机送 入不同占空比的信号来对电机的转速进行控制。 停止时,给 EnA接低电平。 显示电路模块 本设计显示电路主要采用 LCD 液晶显示模块。 1602 字符型 LCD 通常有 14条引脚线或 16 条引脚线的 LCD, 本设计采用 16 脚的 LCD。 液晶显示器 LCD1602 芯片引脚 图 及说明 液晶显示器 LCD1602 芯片引脚如图 48 所示 图 48 液晶显示器 LCD1602 芯片引脚图 其中: 第 1 脚: VSS 为地电源 第 2 脚: VCC 接 5V 正电源 第 3 脚: VL 为液晶显示器对比度调整电压端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生 “ 鬼影 ” ,使用时可以通过一个 10K的电位器调整对比度。 第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器(即输入数据)、低电平时选择指令寄存器(即输入指令)。 第 5 脚: R/W 为读写信号线,高电平时进行读操作(从 LCD 读取信号),低电平时进行写操作(向 ICD 写入指令或数据)。 当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS为高电平 RW 为低电平时可以写入数据。 基于单片机的转速控制器设计 14 第 6 脚: E 端为使能端,使能信号, 1 时读取信息,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14 脚: D0~ D7 为 8 位双向数据线。 第 15 脚: LCD 背光电源正极,接 +VCC。 第 16 脚: LCD 背光电源正极,接地。 液晶显示模块电路 本系统设计液晶显示模块电路如图 49 所示。 图 49 液晶显示模块电路 在显示模块电路中, LCD 液晶显示器的第 4 脚、 5 脚、 6 脚接到单片机的 、 ,第 714 脚接到单片机的 P0 口,用来读取直流电机的转速信号。 其中 P0 口要接上拉电阻 R5。 5 PCB 设计 Protel 99 SE 简介 Protel 99 SE 是 Protel 公司于 2020 年推出的设计软件, Protel 99 SE 以其强大的功能,方便快捷的设计模式和人性化的设计环境,成为当前电子工业中印制电路板设计 的主流软件。 Protel 99 SE 具有良好的兼容性、简单的 PLD 设计工具,模板丰富、方便的库封装、多种元件布局工作、优异的绘图及处理功能、简单的同步设计、信号完整性分析等特点。 本系统电路 PCB 板的设计就是基于 Protel 99 SE 现在 Protel 99 SE 软件生画好硬件电路的原理图 , 然后对原理图中的各个元件做相应的封装,封装好后在把电路导成 PCB 板,最后在制作印制电路板。 印制电路板 设计 1. 建立一个自己的项目,比如基于单片机的转速控制器设计 .ddb,并保存基于单片机的转速控制器设计 15 在相应的目录下 2. 在项目 中添加所需要的文件,如转速控制器设计 .sch。 3. 在转速控制器设计 .sch 中画出 protel 原理图,并对各个元器件进行封装。 4. 检查原理图连接和各个元器件的封装是否合理正确,确定无误,导入 PCB进行布线,注意布线要合理正确。 5. 最后进行做板 (PCB 板 )。 6 系统软件设计 整个系统的软件采用 C 语言进行编程, C 语言具有编程灵活,可移植性好的优点。 软件是本系统的灵魂。 软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。 本系统软件设计主要设计思路是利用定时器 0 和外部中断 1 用 按键来产生占空比可调的 PWM 波,利用外部中断 0 和定时器 1 来对转速信号进行处理与计数,利用 P0 口把计数处理后的转速送到 LCD 液晶显示器上进行显示。 主程序流程图 如图 61 为软件设计的一个总体流程,主要设计思路是,进行系统初始化,然后进行数据采集,如果有采集到,调用相应的中断程序,产生相应的 PWM 波,进行转速控制,把采集到的信号送入单片机进行处理计算,把数据送入显示电路进行显示。 基于单片机的转速控制器设计 16 图 61 软件总体流程 程序主要完成以下的几部分任务: ( 1)初始化:设定各参数的初始值,设定各中断及定时器。 ( 2)把采集到的信号进行处理。 ( 3) PWM 波:利用单片机产生占空比可调的 PWM 波,改变占空比来控制转速。 ( 4)键盘与显示:实现占空比可调,显示电机转速。 转速计算程序流程图 在单片机内 通过定时器 定时 1 秒, 把转速信号从外部中断送入, 并设置为下降沿中断,对 一秒内送入的 转速 信号的下降沿次 数进行计数 , 下降沿的次数是多少, 即信号的频率就是多少,然后根据公式 ( 21) 将转速计算出来即可得到 电机转速。 通过外部中断 0 和定时器 1 进行转速信号的计算程序。 把转速信号送入单片机的 外部中断 INT0 引脚,设置外部中断 0 为边沿触发方式,在脉冲信号的下降基于单片机的转速控制器设计 17 沿向 CPU 发出中断请求 .同时利用单片机的定时器 T1 进行定时,测量定时 1s 的下降沿次数,即可测量转速信号的频率,然后根据公式即可算出电机的转速。 为了测量的方便设置一个测量标志 flag,初始化 flag 为 0。 外部中断 每 产生 一次 ,下降沿的次数加一,将 定时器计满 1s,将 flag 置 0,在 flag=0 时,定时器停止计时,计算转速,如此重复进行测量,即可测得转轴的即时转速。 定时器 T1 中断服务程序和外部中断 0 服务程序流程图如图 62 所示。 . 图 62( a) 外部 中断 0 服务程序 图 62( b) 定时器 1 中断服务程序流程图 利用定时器 1 定时 50ms,定时器中断 20 次,说明定时器定时 1 秒,外部中断 0 没中断一次,则转速信号的脉冲个数加 1。 当 1 秒过后,定时器 1 和外部中断 0 停止中断,然后开始计算转速。 比如说 1 秒内转速信号的脉冲个数为 f,则电机一分钟的转速 n=f*60。 占空比可调 PWM 波产生程序 利用外部中断 1 和定时器 0 产生一个占空比可调的矩形波 [21][22],使外部中断 1 每中断 1 次,就产生一个固定占空比的矩形波。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。