单片机控制直流电机调速.ppt_第1页
单片机控制直流电机调速.ppt_第2页
单片机控制直流电机调速.ppt_第3页
单片机控制直流电机调速.ppt_第4页
单片机控制直流电机调速.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

单片机控制直流电动机调速 组长 谭张平组员 侯娟 彭龙 周琳 铁自092单片机10组 成员任务分配表 目录 一 任务与要求说明二 硬 软件电路设计说明三 程序设计和安装调试四 项目总结 一 任务与要求 在实际的生活当中我们所运用到很多的直流电机来驱动一些负载 而在有的时候当我们人为需要直流电动机的转速高或低时 我们可以调节相应的按键来实现电动机调速 并要显示出当前电动机的实时转数 满足人们的需求 使得电器达到更加的人性化 智能化 科学化 能够显示直流电动机实时的转数 能够使用单片机学习板上的按键调整电动机转数 设计并焊接出可行的驱动电路与单片机联合应用 了解调速 PWM 的原理及直流电动机的原理及应用 了解单片机的编程流程和程序编写 了解电子线路设计的一些规律性和重要性 二 硬 软件电路设计 此设计以AT89S51单片机为核心控制单元器件 以LCD1602液晶显示芯片显示直流电动机的实时转数 直接插到P0口和P2口 运用两级三极管电路加外围元器件电路来驱动负载 直流电动机 利用红外对管来检测电动机的实时转数 并经过由555集成电路构成的施密特触发电路 转换电路 将红外对管检测到的电动机转数信号以高低电平的形势直接输入单片机的C TP3 4口进行计数 直接利用单片机上的按键来控制电动机的转速上升或下降 该电路有设计简单 思路明确 价格便宜 牵涉的知识面广 应用广泛但电路的灵敏度不高 误差大 调速不稳定 调速范围小等缺点 只适用于要求不高的场合 1 硬件设计电路说明 1 LCD1602液晶显示器 2 AT89S51单片机 3 红外对管测速 4 硬件电路图工作原理 2 软件设计说明 1 程序流程方框图 2 项目程序 3 程序调试 LCD1602液晶显示器 LCD1602的引角图 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS VDD VO RS R W E DB0 DB1 A DB3 DB2 DB5 DB4 DB7 DB6 K LCD模块 Vss 5V电源管脚 Vcc VDD 地管脚 GND Vo 液晶显示驱动电源 0V 5V DB0 DB7 数据线 可以用8位连接 也可以只用高4位连接 这里采用8位 A 背光控制正电源K 背光控制地 单片机与LCD模块之间状态 单片机与LCD模块之间有四种基本操作 1 写命令2 读状态3 写显示数据4 读显示数据 RS 数据和指令选择控制端 RS 0 命令 状态 RS 1 数据R W 读写控制线 R W 0 写操作 R W 1 读操作E 数据读写操作控制位 E线向LCD模块发送一个脉冲 LCD模块与单片机之间将进行一次数据交换 LCD1602液晶显示 读状态操作读状态操作状态字的最高位的BF为忙标志位 1表示LCD正在忙 0表示不忙 通过判断最高位BF的0 1状态 就可以知道LCD当前是否处于忙状态 如果LCD一直处于忙状态 则继续查询等待 否则进行下面的操作 查询忙状态程序段如下 do i lcd r start 调用读状态函数 读取LCD状态字i LCD忙 继续查询 否则退出循环 初始化操作 写数据操作光标位置与相应命令字 注 表中命令字以十六进制形式给出 该命令字就是与LCD显示位置相对应的DDRAM地址 AT89S51介绍 AT89S51是一种低功耗 高性能的片内含有4KB快闪可编程 擦除只读存储器 FPEROM FlashProgrammableandErasableReadOnlyMemory 8位CMOS微控制器 使用高密度 非易失存储技术制造 并且与80C51引脚和指令系统完全兼容 芯片上的FPEROM允许在线编程或采用通用的非易失存储编程器对程序存储器重复编程 AT89S51 以下简称89C51 将具有多种功能的8位CPU与FPEROM结合在一个芯片上 为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案 其性能价格比较高 EA 访问程序存储控制信号 一般接 5V ALE 地址锁存控制信号 PSEN 外部ROM读选通信号 低电平有效 AT89S51单片机控制单元特点 1 89S51性能及特点89S51的主要性能包括 1 与MCS 51微控制器产品系列兼容 2 片内有4KB可在线重复编程的快闪擦写存储器 FlashMemory 3 存储器可循环写入 擦除1000次 4 存储数据保存时间为10年 5 宽工作电压范围 Vcc可为2 7V 6V 6 全静态工作 可从0Hz至16MHz 7 程序存储器具有3级加密保护 8 128 8位内部RAM 9 32条可编程I O线 10 两个16位定时器 计数器 11 中断结构具有5个中断源和2个优先级 12 可编程全双工串行通道 13 空闲状态维持低功耗和掉电状态保存存储内容 红外对管测速 红外线发射管简介 红外线发射管也称红外线发射二极管 属于二极管类 它是可以将电能直接转换成近红外光 不可见光 并能辐射出去的发光器件 主要应用于各种光电开关及遥控发射电路中 红外线发射管的结构 原理与普通发光二极管相近 只是使用的半导体材料不同 红外发光二极管通常使用砷化镓 GaAs 砷铝化镓 GaAlAs 等材料 采用全透明或浅蓝色 黑色的树脂封装 产品参数 发射距离 发射角度 15度 30度 45度 60度 90度 120度 180度 发射的光强度 波长 以上决定红外线发射管产品的主要性能及使用范围 红外线接收管特征与原理 红外线接收管是将红外线光信号变成电信号的半导体器件 它的核心部件是一个特殊材料的PN结 和普通二极管相比 在结构上采取了大的改变 红外线接收管为了更多更大面积的接受入射光线 PN结面积尽量做的比较大 电极面积尽量减小 而且PN结的结深很浅 一般小于1微米 红外线接收二极管是在反向电压作用之下工作的 没有光照时 反向电流很小 一般小于0 1微安 称为暗电流 当有红外线光照时 携带能量的红外线光子进入PN结后 把能量传给共价键上的束缚电子 使部分电子挣脱共价键 从而产生电子 空穴对 简称 光生载流子 它们在反向电压作用下参加漂移运动 使反向电流明显变大 光的强度越大 反向电流也越大 这种特性称为 光电导 红外线接收二极管在一般照度的光线照射下 所产生的电流叫光电流 如果在外电路上接上负载 负载上就获得了电信号 而且这个电信号随着光的变化而相应变化 发射管与接收管分别通过一个的限流电阻后接到5V的电源电路中 接收管要反接 当有物体挡在它们中间的时候 接收管截止 在接收管两端为高电平 当它们之间没有物体时接叫管可以接收则导通 它两端为低电平 正是利用这一原理来测量电动机转速 硬件电路图及要作原理 此电路包含复位部分 晶振电路 按键部分 显示部分 并且P0口和LCD1602的接口电路 直流电动机驱动电路 红外测速电路 工作原理 复位部分 复位电路够面一个微分电路 在电路工作时我们需要寻电路进行一次复位 当按下复位按钮按钮S3时 单片机由原来的低电变成高电平完成一个0 1的转换使单片机复位到初始状态 晶振电路 晶振电路由两个瓷片电容和石英晶体晶振组成 给单片机提供脉冲 该电路提供12MHZ 11 0592MHZ的频率 按键部分 该电路使用两个按钮开关 调节电路的占空比改变P1 1输出端口高低电平的宽度驱动电动的导通时间来改变电动的转速 PWM调制 当按下S1时直流电动机转速上升 当按下S2时直流电动机转速下降 显示部分 该部分主要是由液晶显示LCD1602组成 它直接插在单片机的P0口和P2口就可以直接使用了 可以显示一些特殊字符 字母 数字等 它内部集成度高 组成了一体化显示器 使用方便 容易掌握 价格便宜 直流电动机驱动电路 该驱动电路简单 由一个Q2PNP S8550 和Q1NPN S8050 两个电阻组成的两极电路构成 当单片机的P3 7输出高电平时Q1导通 集电极C1电压渐渐减小而Q2这时就导通 发射极有电流流过驱动电动机转动 当单片机的P1 1输出低电平时Q1截止 集电极C1电压为高电平而Q2这时就截止 发射极没有电流流过电动机不转动 红外测速电路 该电路由一对红外发射接收对管 555定时器构成施密特触发器 电阻 电容组成 当红外对管中间没有阻碍时接收管可以接收到发射管发射的信号接收管导通 555定时器2 6角为低电平 1 3VCC 1 66V 555定时器3角输出高电平输送到单片机P3 4口为高电平单片机无效不执行内部程序 当红外对管中间有阻碍时接收管接收不到发射管发射的信号而接收管截止 555定时器2 6角为高电平 2 3VCC 3 3V 555定时器3角输出高电平输送到单片机P3 4口为低电平单片机有效执行内部程序 三 程序设计和安装调试 1602 cInit1602 1602初始化Show Text char Text charrow 1602第row行显示16个字符 row 0或者1 Text为一个地址 可以使用一个数组 include reg51 h defineDataP0sbitRS P2 7 sbitRW P2 6 sbitE P2 5 sbits1 P3 0 sbits2 P3 1 sbitjdq P1 1 unsignedintq 0 a voidDelayms unsignedintcount unsignedinti for i 0 i count i voidWriteCommand unsignedcharCom RS 0 Data Com Delayms 10 E 1 Delayms 10 E 0 WriteData unsignedcharDat E 0 RS 1 RW 0 Data Dat Delayms 10 E 1 Delayms 10 E 0 voidInit1602 RW 0 E 0 WriteCommand 0 x38 Delayms 1400 WriteCommand 0 x01 Delayms 1400 WriteCommand 0 x06 Delayms 1400 WriteCommand 0 x0E voidShow Text char Text charrow unsignedchari if row 0 WriteCommand 0 x80 Delayms 1400 for i 0 i 16 i WriteData Text i else WriteCommand 0 xC0 Delayms 1400 for i 0 i 16 i WriteData Text i voiddelay2 unsignedintt unsignedinti j for i 0 i t i for j 0 j 112 j voiddisp unsignedchartab 0 1 2 3 4 5 6 7 8 9 unsignedcharText1 16 DQr sTD 字符变量数组unsignedcharText2 16 ChinaHNZhuZhou 字符变量数组Text1 6 tab a 100 10 Text1 7 tab a 10 10 Text1 8 tab a 10 Show Text Text1 0 Show Text Text2 1 voidt1 interrupt3 TH1 F0 TL1 60 q if q 14 q 0 a TL0 TL0 0 disp voidmain unsignedcharscale 5 i TMOD 0X15 TH0 0 TL0 0 TH1 F0 TL1 60 ET1 1 EA 1 ET0 1 Init1602 初始化1602while 1 TR0 1 TR1 1 if s1 0 scale scale scale 11 while s1 0 if s2 0 scale scale scale 11 while s2 0 for i 0 i 10 i if i scale jdq 1 elsejdq 0 delay2 1 程序调试 1 将所有的外围电路和单片机联接好 接好电源 下载好程序 检查无误后开启开关 2 首先接入一个方波信号发处器到单片机的P3 4口 这时LCD1602液晶显示器显示当前信号发生器的频率值 观察显示器的数值和信号发生器的数值是否差不多 如果有误差这时我们应该找到我们程序的定时那里去修改中断的次数的数值 因为我们的定时时间不太准确的 我们反复的去调整 如果显示值高则改小中断数 反之则调大 多调几个频率值 慢慢减小误差 直到相等 可能会有一点误差 3 将信号发生器换成红外线输入 接入电

温馨提示

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

评论

0/150

提交评论