基于红外遥控的电机控制毕业设计论文_第1页
基于红外遥控的电机控制毕业设计论文_第2页
基于红外遥控的电机控制毕业设计论文_第3页
基于红外遥控的电机控制毕业设计论文_第4页
基于红外遥控的电机控制毕业设计论文_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于红外遥控的电机控制基于红外遥控的电机控制 学院名称: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 07 测控 1w 姓 名: 曹 森 指导教师姓名: 刘素芬 指导教师职称: 讲师 2011 年 6 月 jiangsu teachers university of technology 本 科 毕 业 设 计 ( 论 文 ) 基于红外遥控的电机控制 摘要:为使电机调速系统具有操作简单、运行安全可靠和成本低等优点,设计 以 at89s51 单片机为核心的红外遥控系统。系统由发射和接收以及测速三大部分组 成。采用脉宽调制 ( pwm )技术对电机进行调速,通过红外发射模块和红外接收模

2、块 来实现远程控制。在测试使用后,证明其方便、可靠并具有使用价值。 关键词: 无线遥控;直流电机; 单片机;脉宽调制 electrical machine control based on infrared remote control abstract:to realize a simple, safe, reliable and low cost speed control system of motor, infrared remote control system is designed based on at89s51 scm. it consists of three major

3、components of sending and receiving and speed measurement. pulse width modulation technology (pwm) is used on motor speed. to realize remote control, infrared emission module and infrared receiving module is usd on the system. it proves that this system is convenient, reliable and practical after us

4、ing it. key words : wire less remote contro; dc motor ; sing lechip microcom puter ; pulse width modulation( pwm ) 目目 录录 第一章 绪论1 1.1 课题的选题背景 1 1.2 直流电机 pwm 调速原理 1 第二章 总体方案设计3 2.1 系统功能与框图 3 2.2 设计方案 4 2.2.1 控制器选择4 2.2.2 红外收发电路4 2.2.3 测转速传感器模块5 2.2.4 电机模块5 2.2.5 电机驱动模块6 2.3 最终方案6 第三章 硬件电路的设计7 3.1 cpu

5、模块设计 7 3.2 红外接收电路 9 3.3 按键电路 9 3.4 电机电路10 3.5 霍尔测速电路11 3.6 lcd 转速显示电路 12 第四章 软件设计13 4.1 软件功能 13 4.2 红外发射板程序分析 13 4.3 红外接收板解码程序分析 16 4.4 测速和显示子程序设计 20 第五章 系统的软硬件调试24 5.1 硬件调试 24 5.1.1 上电前的调试24 5.1.2 上电后的调试24 5.1.3 各模块调试24 5.2 软硬件联调25 总结与展望26 参考文献27 致 谢28 附 录29 附录 1:实物图29 附录 2:硬件原理图30 附录 3:完整的软件程序30 附

6、录 4 :中英文翻译 37 第一章第一章 绪论绪论 1.1 课题的选题背景课题的选题背景 红外线遥控是目前使用广泛的一种通信和遥控手段,它不影响周边环境、不干扰 其它电器设备;电路调试简单,只要按给定电路连接无误,一般不需要任何调试即可 投入工作;编解码容易,可进行多路遥控1。 由于红外线遥控装置具有体积小、功耗小、功能强、成本低等特点,因而,继彩 电、录像机之后,在录音机、印象设备、空调机以及玩具等其它小型电器装置上夜纷 纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下。采用红 外遥控不仅完全可靠而且能有效地隔离电气干扰。 单片机以其功能强、体积小、可靠性高、造价低和开发周

7、期短等优点,成为在实 时检测和自动控制领域中广泛应用的器件,更是工业生产中必不可少的器件,尤其在 日常生活中发挥的作用也越来越大。而在电气时代的今天,电机在工农业生产、人们 日常生活中亦起着十分钟要的作用2。 随着计算机,微电子技术的发展以及新型电力电子功率器件的不断涌现,电动机 的控制策略也发生了深刻的变化。电动机控制技术的发展得力于微电子技术,电力电 子技术,传感器技术,永磁材料技术,微机应用技术的最新发展成就。变频技术和脉 宽调制技术已成为电动机控制的主流技术。正是这些技术的进步使电动控制技术在近 二十年内发生了很大的变化。其中,电动机控制策略的模拟实现正逐渐退出历史舞台, 而采用微处理

8、器,通用计算机,fpga/cpld,dsp 控制器等现代手段构成的数字控制系 统得到了迅速发展。电动机的驱动部分所采用的功率器件经历了几次的更新换代以后, 速度更快,控制更容易的全控型功率器件 mosfet 和 igbt 逐渐成为主流。功率器件控 制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。其中, 脉宽调制(pwm)方法,变频技术在直流调速和交流调速系统中得到了广泛应用。本次 设计中电机的调速就是使用的 pwm 调速方法3。 1.2 直流电机直流电机 pwm 调速原理调速原理 所谓脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的占空比来控制电 机转速的方法,称为脉冲

9、宽度调制(pwm)。 对于直流电机调速系统,使用 fpga 进行调速是极为方便的。其方法是通过改变电 机电枢电压导通时间与通电时间的比值(即占空比)来控制电机速度。 在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按 一定规律改变通、断电时间,即可让电机转速得到控制。设电机永远接通电源时,其 转速最大为 vmax,设占空比为 d=t1/t,则电机的平均速度为 vd=vmaxd (1.1) 式中,vd电机的平均速度 vmax电机全通时的速度(最大) d=t1/t占空比 平均速度 vd 与占空比 d 的函数曲线,如图 1-1 所示。 电压 (v) 时间(t) 通电 断电 t1

10、t2 t 0 平均速度 vd vmax 0 0.5 1 占空比 (d) 图 1-1 平均速度和占空比的关系 由图 1-1 可以看出,vd 与占空比 d 并不是完全线性关系(图中实线) ,理想情况下, 可以将其近似地看成线性关系(图中虚线) 。因此也就可以看成电机电枢电压 ua 与占 空比 d 成正比,改变占空比的大小即可控制电机的速度。 由以上叙述可知:电机的转速与电机电枢电压成比例,而电机电枢电压与控制波 形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快, 当占空比 1 时,电机转速最大4。 第二章第二章 总体方案设计总体方案设计 2.1 系统功能与框图系统功能与框图

11、 本系统是红外遥控控制电机的研制,主要通过自行设计的红外发射板和接收板来 控制电机的起动、停止、正转、反转、加速、减速,并且通过 lcd 液晶显示出电机的 转速。 硬件电路由红外发射电路、红外接收电路、霍尔测速电路、单片机最小系统、按 键电路、lcd 显示电路组成。 本设计的一般框图如图2-1所示: (a) 发射模块 红外接 收电路 转速显 示电路 单 片 机 电机驱 动电路 直流 电机 霍尔测 速电路 (b) 接收测速模块 图2-1 系统框图 单 片 机 红外发 射电路 按键 电路 2.2 设计方案设计方案 为较好的实现各模块的功能,分别设计了几种方案并分别进行了论证。 2.2.1 控制器选

12、择 方案 1:采用可编程逻辑期间 cpld 作为控制器。cpld 可以实现各种复杂的逻辑 功能、规模大、密度高、体积小、稳定性高、io 资源丰富、易于进行功能扩展。采用 并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。 但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用 及经济的角度考虑放弃了此方案。 方案 2:采用凌阳公司的 16 位单片机,它是 16 位控制器,具有体积小、驱动能力 高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处 理速度高,尤其适用于语音处理和识别等领域。但是当凌阳单片机应用语音处理和辨 识时,

13、由于其占用的 cpu 资源较多而使得凌阳单片机同时处理其它任务的速度和能力 降低。 本系统主要是采集温度以及对电机的控制。如果单纯的使用凌阳单片机,从系统 的稳定性和编程的简洁性考虑,放弃了单纯使用凌阳单片机而考虑其它的方案。 方案 3:at89c51 是美国 atmel 公司生产的低电压,高性能 cmos8 位单片机, 片内含 4k bytes 的可反复擦写的只读程序存储器(perom)和 128bytes 的随机存取数 据存储器(ram) 。采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系统,片内置通用 8 位中央处理器(cpu)和 flash 存储单元

14、.,1288 字 节内部 ram,32 个可编程 i/o 口线,2 个 16 位定时/计数器,6 个中断源,低功耗空闲 和掉电模式5。 本系统主要结合已学知识,再加上实际应用方便、经济性,故选择了方案 3。 2.2.2 红外收发电路 方案 1:采用专门的红外编解码芯片。优点:软件开销小,编解码芯片帮助软件 完成很多工作。缺点:成本高,电路复杂。 方案 2:利用单片机内部定时器调制到 38khz 红外信号,利用单片机外部中断进 行解码。优点:成本低,电路简单。缺点:软件复杂,使用的中断资源多。 但是本设计中,在红外发射和接受时,单片机并没有其他并发的任务需要执行, 故选择方案 2 以简化电路设计

15、。 2.2.3 测转速传感器模块 方案 1:用光敏电阻组成测速传感器。光敏电阻的阻值可以跟随周围环境光线的变 化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线 发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变 化值经过比较器就可以输出高低电平6。 但是这种方案受光照影响很大,不能够稳定的工作。因此考虑其他更加稳定的方 案。 方案 2:用红外发射管和接收管自己制作光电对管测速传感器。红外发射管发出红 外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光 线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继

16、而输 出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定, 且容易受外界光线的影响,因此放弃了这个方案7。 方案 3:用槽开光电开关作为测速传感器,把一个光发射器和一个接收器面对面地 装在一个槽的两侧的是槽形光电。发光器能发出红外光或可见光,在无阻情况下光接 收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一 个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距 离因为受整体结构的限制一般只有几厘米,但是输出波形需要整形。 方案 4:用霍尔开关作为测速传感器,检测不到磁场时输出高电平,检测到磁场时 输出低电平8。输出波形较为平

17、整,不需要整形亦可直接测量,且不会丢失下降沿, 相比槽型光电开关安装方便。十分符合本设计的需求9。 因此选择了方案 4。 2.2.4 电机模块 方案 1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位, 可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,步进电机 的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低, 不适用于小车等有一定速度要求的系统。经综合比较考虑,放弃了此方案10。 方案 2:采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简 单,使用方便,能够较好的满足系统的要求,因此选择了此方案。 2.2.5 电机驱

18、动模块 方案 1:采用专用芯片 l293d 作为电机驱动芯片。l293d 是一个具有高电压大电 流的全桥驱动芯片,它相应频率高,一片 l293d 可以分别控制两个直流电机,而且还 带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良11。 方案 2:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路, 结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。 因此选用了方案 1。 2.3 最终方案最终方案 经过反复论证,最终确定了如下方案: (1)采用通用板制作。 (2)采用 atmel 公司生产的 at89c51 单片机作为主控制器。 (3)用霍尔开

19、关作为测速传感器 (4)l293d 作为直流电机的驱动芯片。 第三章第三章 硬件电路的设计硬件电路的设计 第 2 章介绍了本次设计的方案选定及系统框图。本章主要介绍本次设计硬件电路的 具体设计。 红外通信的基本原理实质上就是利用红外线来作为载体传送信息。把单片机等产 生的的编码控制信号,经由调制电路调制为 3240khz 的方波信号(提高发射效率、 降低功耗) 。在经由驱动电路驱动红外发光二极管发出红外遥控信号;在接收端使用与 发射端相配对的红外光电二极管,接收含有控制信号的红外信号,在将该红外信号解 调为电信号后,再送入单片机进行解码,以得到相应的控制信号,从而完成红外信息 的传送。 3.1

20、 cpu 模块设计模块设计 at89c51 是美国 atmel 公司生产的低电压,高性能 cmos8 位单片机,片内含 4kbytes 的可反复擦写的只读程序存储器(perom)和 128bytes 的随机存取数据存储器 (ram) 。采用 atmel 公司的高密度、非易失性存储技术生产,兼容标准 mcs-51 指令系 统,片内置通用 8 位中央处理器(cpu)和 flash 存储单元.,1288 字节内部 ram,32 个可编程 i/o 口线,2 个 16 位定时/计数器,6 个中断源,低功耗空闲和掉电模式。 .1 复位和时钟电路复位和时钟电路 复位电路和时钟电路如图 3-1

21、 所示,对于复位电路,本设计采用上电复位电路, 由于 89c51 是高电平复位,因此通过在 reset 端接一个电阻到地,并接一个电容到电 源的方式完成上电复位,上电时电源给电容充电,电容导通,因此 reset 脚就相当于 连接到+5v 电源,开始复位,当电容充电完成后,电容断开,reset 脚被下拉电阻钳位 在低电平,则退出复位状态。 对于时钟电路,采用 11.0592m 的晶振并加以两个 22pf 的起振电容。 图 3-1 复位和时钟电路 .2 红外发射电路红外发射电路 本设计的红外发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电 路以不同的脉冲编码(不同的脉冲数

22、目及组合)代表不同的控制指令。当不同的指令 键被按下时,指令信号电路产生不同的脉冲编码的指令信号,也就是进行编码,然后 经由调制电路进行调制从而产生不同的编码信号,再由驱动电路驱动红外发射器发射 红外信号。如图 3-2 所示: 图 3-2 红外发射电路 3.2 红外接收电路红外接收电路 红外接收电路是红外遥控系统中的指令信号及检出电路,通过一体化红外接收头 1838(集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线的接 收到输出与 ttl 电平信号兼容的所有工作)然后将接收到的信号发送给 at89c51,然后 at89c51 通过内部程序对所接收信号进行判断然后就驱动相应的外

23、部设备进行相应的动 作。此设计的遥控开关是在通用遥控的基础上加以改进的,其实就是将红外遥控器接 收部分采用单片机 at89c51 来控制。即当一体化红外接收器接收到的红外遥控信号, 经放大、解码滤波后,将原编码信号传送入单片机 at89c51 中进行信号识别编码然后 进行相应的处理,已达到控制电路的目的。红外接收电路如图 3-3 所示。1838 接收头 的 1 号脚接到单片机的 p3.3 号脚上。 图 3-3 红外接收电路 如图 3-3 所示,图中 r10 为 22 欧姆的小电阻,串联进 1838 的电源脚,起保护作 用。c11 为 104 电容(0.1uf),对 1838 的电源起到滤波作用

24、,增加抗干扰性能。 3.3 按键电路按键电路 由于本设计中只需要六只按键且单片机 i/o 口富足,因此,按键电路只需如图 3-4 所示即可,而不必采用复杂的矩阵键盘。key1 到 key6 分别接到单片机的 p2.7 到 p2.2 号脚上。 图 3-4 按键电路 如图 3-4 所示,六个按键从 1 号到 6 号分别表示起动,停止,正转,反转,加速, 减速。每个按键接 4.7k 的上拉电阻,以保证按键未被按下时,i/o 口检测到的电平为 高电平,而不会引起按键的误操作,提高按键电路的抗干扰能力。 3.4 电机电路电机电路 本设计中电机驱动选用的驱动芯片为 l293d,它包含 4 个输出通道,最大

25、输出峰值 电流为 12 a,能同时驱动 2 个直流电机工作;其信号输入端和使能端接收到来自单 片机的信号,控制电机的通断以及正、反转,还可以通过向使能端输入不同占空比的 方波信号来调整电机转速(pwm 方式)。如图 3-5 所示,in 端口接控制信号,out 端口接 电机的两端,en 端口接使能信号。一组 in 端口输入为高低或低高电平时,能实现 电机的正反转。一组 in 端口输入均为高或低电平时,电机将停转。en 使能端为高电 平时,相应端口输入信号有效;反之,则输入信号无效。在 en 端输入 pwm 波,通过调 整 pwm 波的占空比,即可实现电机的无级调速。 图 3-5 电机驱动电路 3

26、.5 霍尔测速电路霍尔测速电路 本设计中采用霍尔开关来进行测速。霍尔开关是检测磁场的传感器,当无磁场信号 时输出高电平,有磁场信号时输出低电平,因此将霍尔开关输出的信号接入单片机的 外部计数引脚,然后通过测频法将很容易求得电机的转速,霍尔开关电路如图 3-6 所 示。 图 3-6 霍尔开关电路 如图 3-6 所示,霍尔开关 1 脚为输出脚,2 脚为地脚,3 脚接电源,使用十分方便, 需要注意的是霍尔开关是 oc 输出的,因此在输出脚需要加一个上拉电阻。 3.6 lcd 转速显示电路转速显示电路 本设计中采用 lcd1602 模组来显示转速,要驱动该模组只需要按照 1602 模组的时 序操作即可

27、,参考 1602 模组的数据手册,设计的驱动电路如图 3-7 所示。 图 3-7 液晶显示电路 如图 3-7 所示,lcd 模组 1、2 脚分别接地和电源(5v) ,3 脚为液晶显示偏压信号, 通过一可调电阻接地,调节该电位器可以调节液晶的对比度,4-6 脚分别接单片机的 p2.0-p2.2,7-14 脚分别接单片机 p1.0-p1.7,15、16 脚分别接电源(5v)和地。 第四章第四章 软件设计软件设计 4.1 软件功能软件功能 本设计的软件主要结合硬件电路实现预计各种功能,包括红外遥控电机起动,停 止,正转,反转,加速,减速,并且通过 led 指示电机所处运行状态。另外还需要检 测出转速

28、并予以显示。 4.2 红外发射板程序分析红外发射板程序分析 红外发射板主程序主要实现对按键的检测,并根据相应按键发射相应的红外码给 红外接收板。软件流程图如图 4-1 所示: 开始 单片机初始化 有键按下 发送对应键 值的红外码 n y 图 4-1 红外发射板程序流程图 其中红外编码发射的具体函数如下所示: /* 发送红外数据 */ void sendcode(void) set_count=575;/发送 9ms 38k 红外光 flag=1; count=0; tr0=1; while(countset_count); tr0=0; set_count=320;/间隔 4.5ms flag

29、=0; count=0; tr0=1; while(countset_count); tr0=0; ircode=irsys0;/发送 26 位系统码的前 1-8 位 sendcode_8(); ircode=irsys1;/发送 26 位系统码的前 9-16 位 sendcode_8(); ircode=irsys2;/发送 26 位系统码的前 17-24 位 sendcode_8(); ircode=irsys3;/发送 26 位系统码的前 24-26 位 sendcode_2(); ircode=irdata;/发送 8 位数据码 sendcode_8(); ircode=irdata;

30、 /发送 8 位数据反码 sendcode_8(); set_count=28;/发送 0.56ms 38k 红外波(编码中的 0.56ms 低电平) flag=1; count=0; tr0=1; while(countset_count); tr0=0; ir=0; delay(23);/延时 23ms(编码中的 23ms 高电平) set_count=575;/发送 9ms 38k 红外波 flag=1; count=0; tr0=1; while(countset_count); tr0=0; set_count=330;/间隔 4.5ms flag=0; count=0; tr0=1

31、; while(countset_count); tr0=0; set_count=30;/发送 0.56ms 38k 红外波(编码中的 0.56ms 低电平) flag=1; count=0; tr0=1; while(count12/数据解码标记 common_code_count=0;/系统码计算清零 buf_count=0;/中断计数暂存清 0 else if(buf_count40 common_code_count+;/每收到一个信号自加 1 4.4 测速和显示子程序设计测速和显示子程序设计 开始 单片机初始化 液晶初始化 1 秒钟定时到? 读取计数值 计算每分钟转速 驱动液晶 更

32、新转速 n y 图 4-3 测速和显示子程序流程图 由于霍尔开关输出的转速方波被接到外部计数端口,那么在单片机内部只要使用 测频法测量转速,在单片机内部开启 10ms 定时器,当定时器计到 0.5s 时。读出外部 计数端的计数值,就是 0.5s 的转速,将此转速乘以 120 即得到了每分钟的转速。测速 部分的代码如下所示: void main(void) uchar num; init(); tmod = 0 x15; ie = 0x88; th1 = 0 x4c; tl1 = 0 x00; th0 = tl0 = 0; tr1 = 1; tr0 = 1; wirte_cmd(0 x01);

33、while(1) if(tf0 = 1) tf0 = 0; n+; if(flag) freq = (65536 * n + t0h * 256 + t0l) * 120; flag = 0; str2 = freq/1000+0; str3 = freq/100%10+0; str4 = freq/10%10+0; str5 = freq%10+0; wirte_cmd(0 x80); for(num=0;num= 10) cnt = 0; t0l = tl0; t0h = th0; th0 = tl0 = 0; flag = 1; th1 = 0 x4c; tl1 = 0 x00; 第五章

34、第五章 系统的软硬件调试系统的软硬件调试 5.1 硬件调试硬件调试 硬件调试主要是针对电源部分,电机驱动,led驱动,按键电路等等进行检测。这 一部分硬件调试主要分成两大块:上电前的调试和上电后的调试。 5.1.1 上电前的调试 在上电前,必须确保电路中不存在断路或短路情况,这一工作是整个调试工作的 第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来 完成检测电路中是否存在断路或者短路情况等。 通过万用表的检测,没有发现短路和断路的地方,电路基本正常。 5.1.2 上电后的调试 在确保硬件电路正常,无异常情况(断路或短路)方可上电调试,上电调试的目的 是检验电路是否接错

35、,同时还要检验原理是否正确。 5.1.3 各模块调试 红外发射电路 通过手机摄像头观看红外发光二极管,在有按键按下即需要发射红外光时,摄像 头中的红外发光二极管确实有闪烁现象,表示有红外光发出。 液晶电路调试 单片机上电之后,液晶同时上电,全屏亮,通过 3 脚电位器调节液晶显示最佳亮 度,调试结果良好。 直流电机调试 直接用 5v 直流电给电机供电,电机正常转动。 5.2 软硬件联调软硬件联调 红外发射接收过程 按下红外发射板上的按键,接收板上的电机相应动作,并且正、反转和加、减速 与电机工作状态相符,表明红外编解码都正确。且电机驱动也实现预期目标。 测速和显示转速 按一下发射板上的开始按钮,

36、电机开始转动,lcd 显示出当前转速(单位是转每分 钟),当按下发射板加速键后, lcd 显示的转速提高,当按下发射板减速键后, lcd 显 示的转速降低,由此可见,加减器和测速以及显示转速电路都达到了预期目标 。 总结总结与展望与展望 本设计采用了模块化的设计方法,各个模块之间独立性比较强。系统以 at89c51 单片机为核心,分为红外发射模块、红外接收模块、电机驱动模块、测速模块以及转 速显示模块,该系统的设计方案充分利用了单片机的系统资源,体现了 at89c51 这一 款 cpu 体积小、功能强、抗干扰能力强的优势,适用于本系统中。 此次设计实现了基于 at89c51 单片机的通过红外遥

37、控电机, 本设计方案还有需要 改进的地方,比如如果需要遥控更多的选项时,单片机通过软件编解码负荷都会比较 重,消耗定时器资源也比较多,在这种情况下,可能考虑使用专门的红外编解码芯片 会是更好的方案,另外电机驱动模块可以尝试别的驱动方式等等。 参考文献参考文献 1 陈世夏,王翠珍,吴凌燕.频分制红外遥控开关电路的设计j.现代电子技术, 2010,331(20):46-48. 2 韩志军等.单片机应用系统设计m.北京:机械工业出版社,2005. 3 李素娟,蒋维安.直流电机 pwm 调速系统中控制电压非线性研究j.现代电子技术, 2010,333(22):196-202. 4 李伟,于连国,王妍玮

38、.89c51 单片机在直流电动机转速测控中的应用j.林业机 械与木工设备,2010,38(5):58-59. 5 张友德等.单片微型机原理、应用与实验m.上海:复旦大学出版社,2005. 6 陈育中.霍尔传感器测速系统的设计j.科学技术与工程,2010,10(30):7529- 7532 7 张淑慧.红外遥控与单片机的连接技术j.琼州大学学报,2003,10(2):13-14. 8 林金阳,王明福.基于 m51 单片机的直流电机 pwm 调速系统j.长春工程学院学报, 2009,10(3):32-35. 9 刘伟.用霍尔开关测量刚体转动惯量实验中的时间变量j.大学物理实验, 2006,19(2

39、):44-47. 10 孙忠献.电机技术与应用m.福建:科学技术出版社,2004. 11 harn l. new digital signature scheme based on discrete logarithmj. electronic letter,1994,30(5):396-398. 12 张开便.c 语言与汇编混合编程机理探析与应用j.电脑开发与应用,2010,23(4): 29-40. 13 陈小平.protel99se-电子线路 cadm.南京:东南大学出版社,2005. 14 wu li-zhen,hao xiao-hong. design of optimal cont

40、roller for networked control systembased on ethernetj.control engineering china, 2004,11(5): 428-431. 15 彭志刚.基于单片机的红外遥控电机调速系统的设计j.现代电子技术, 2008,279(16):46-50. 致致 谢谢 为期三个多月的毕业设计终于结束了,在这三个多月中我完成了毕业设计课题。 回顾这三个多月来得设计生活,可以说是对我四年所学知识与技能的一次系统性的总 结和应用。设计中不仅要求我具有扎实的理论基础,还需要很强的动手能力,善于发 现问题,分析问题,解决问题的思维能力。同时,三个

41、多月来得毕业设计也是我踏入 社会大门之前对自身水平的一次考验和检测。通过设计对自身的技能水平和理论基础 有一个全面的,客观的评价。 这次毕业设计,尽管在实践中困难重重,但我获得了很多很多。从初期总体设计 到最终的成品,从组装到最后的总调成功,我学到的知识比课堂上学到的要多很多! 由此说明了理论基础的重要性,实践的巩固性,只有扎实的理论基础才可以为实践所 服务,同时通过实践才能更好的掌握好所学的理论知识。当然,在整个设计的过程中 我不可避免地碰到了许多问题,为了能够使问题得到及时的解决,我查阅了大量的资 料,积极的询问同学,请教老师。 因此,在整个的设计过程中除了我自身的努力外,离不开同学的帮助

42、,老师的关 心和指导。 在此,我要特别感谢本次毕业设计的指导老师,感谢她对我本次设计的悉心指导 和大力支持! 附附 录录 附录附录 1:实物图:实物图 附录附录 2:硬件原理图:硬件原理图 附录附录 3:完整的软件程序:完整的软件程序 #include #define uint unsigned int #define uchar unsigned char sbit ir= p33;/红外端口 sbit led = p30;/led 控制位 uchar wholecycle = 500; signed char pwmcycle = 300; sbit motor_enable = p35;

43、 sbit motor_input1 = p36; sbit motor_input2 = p37; sbit led0 = p10; sbit led1 = p11; sbit led2 = p12; sbit led3 = p13; uchar num; uchar key_code=0;/遥控键值 uchar new_code=0;/有无新按键 uint buf_key_code=0;/键值暂存 uchar key_bit_count=0;/键编码脉冲计数 uint count=0;/定时中断次数计数 uint buf_count=0;/定时中断计数暂存 uchar common_cod

44、e_count=0;/前导码脉冲计数 uchar ir_status=0;/脉冲接收器所处的状态,0:无信号,1:系统码接收区,2:数 据编码接收区 void delay_10us(unsigned char y)/延时子程序 10us unsigned char x; for(x=y;x0;x-); void delay_ms(uint z)/延时子程序 1ms uint x,y; for(x=z;x0;x-) for(y=113;y0;y-); void init(void)/初始化 ir=1; /红外端口写 1 / led=0; /关闭 led ea=1; /开总中断 tmod=0 x0

45、2; /定时器 0,模式 2,8 位自动装载模式 th0=0xd1; /定时 50us tl0=0xd1; it1=1; /int1 下降沿触发 et0=1; /允许定时器中断 ex1=1; /允许外部中断 tmod |= 0 x10; et1= 1; th1 = 0 xfc; tl1 = 0 x18; /tr1 = 1; /* 定时器中断 */ void time0() interrupt 1 using 2/定时器中断 tf0=0; count+;/定时器中断次数累加 /* 外部中断,红外解码程序 */ void int1() interrupt 2 using 3/外部中断 tr0=1;

46、/开定时器中断 if(count12/数据解码标记 common_code_count=0;/系统码计算清零 buf_count=0;/中断计数暂存清 0 else if(buf_count40 common_code_count+;/每收到一个信号自加 1 else if(ir_status=2)/进入数据编码接收 if(key_bit_count40 buf_key_code|=0 x80;/收到 1 key_bit_count+;/数据脉冲累加 else if(buf_count12/收到 0 key_bit_count+; else /若收完 8 位数据则做以下处理 ir_status

47、=0;/接收状态返回到空闲 key_code=buf_key_code; key_bit_count=0; buf_key_code=0; buf_count=0; tr0=0; new_code=1; /* 主程序 */ void main(void) init(); /初始化 motor_enable = 0; wholecycle = 500; while(1) if(1 = new_code) new_code = 0; switch(key_code) case 1: motor_input1 = 1; motor_input2 = 0; pwmcycle = 300; tr1 =

48、1; motor_enable = 1; p1 = 0 xff; break; case 2: motor_enable = 0; tr1 = 0; th1 = 0 xfc; tl1 = 0 x18; p1 = 0 xff; break; case 3: motor_enable = 0; delay_ms(10); motor_input1 = 1; motor_input2 = 0; pwmcycle = 300; tr1 = 1; motor_enable = 1; p1 = 0 xff; led0 = 0; break; case 4: motor_enable = 0; delay_

49、ms(10); motor_input1 = 0; motor_input2 = 1; pwmcycle = 300; tr1 = 1; motor_enable = 1; p1 = 0 xff; led1 = 0; break; case 5: pwmcycle += 20; if(pwmcycle wholecycle) pwmcycle = wholecycle; p1 = 0 xff; led2 = 0; break; case 6: pwmcycle -= 20; if(pwmcycle 0) pwmcycle = 0; p1 = 0 xff; led3 = 0; break; de

50、fault: motor_enable = 0; break; /* pwm*/ void timer1(void) interrupt 3 using 1 static uint i; if (i = wholecycle) / pwm 计数清零 i = 0; else i +; / 自增值加 1 th1 = 0 xfc; tl1 = 0 x18; 附录附录 4 :中英文翻译:中英文翻译 progress in computers the first stored program computers began to work around 1950. the one we built in

51、 cambridge, the edsac was first used in the summer of 1949. these early experimental computers were built by people like myself with varying backgrounds. we all had extensive experience in electronic engineering and were confident that that experience would stand us in good stead. this proved true,

52、although we had some new things to learn. the most important of these was that transients must be treated correctly; what would cause a harmless flash on the screen of a television set could lead to a serious error in a computer. as far as computing circuits were concerned, we found ourselves with a

53、n embarass de richess. for example, we could use vacuum tube diodes for gates as we did in the edsac or pentodes with control signals on both grids, a system widely used elsewhere. this sort of choice persisted and the term families of logic came into use. those who have worked in the computer field

54、 will remember ttl, ecl and cmos. of these, cmos has now become dominant. in those early years, the iee was still dominated by power engineering and we had to fight a number of major battles in order to get radio engineering along with the rapidly developing subject of electronics.dubbed in the iee

55、light current electrical perly recognised as an activity in its own right. i remember that we had some difficulty in organising a conference because the power engineers ways of doing things were not our ways. a minor source of irritation was that all iee published papers were expected

56、 to start with a lengthy statement of earlier practice, something difficult to do when there was no earlier practice consolidation in the 1960s by the late 50s or early 1960s, the heroic pioneering stage was over and the computer field was starting up in real earnest. the number of computers in the

57、world had increased and they were much more reliable than the very early ones . to those years we can ascribe the first steps in high level languages and the first operating systems. experimental time-sharing was beginning, and ultimately computer graphics was to come along. above all, transistors b

58、egan to replace vacuum tubes. this change presented a formidable challenge to the engineers of the day. they had to forget what they knew about circuits and start again. it can only be said that they measured up superbly well to the challenge and that the change could not have gone more smoothly. so

59、on it was found possible to put more than one transistor on the same bit of silicon, and this was the beginning of integrated circuits. as time went on, a sufficient level of integration was reached for one chip to accommodate enough transistors for a small number of gates or flip flops. this led to

60、 a range of chips known as the 7400 series. the gates and flip flops were independent of one another and each had its own pins. they could be connected by off-chip wiring to make a computer or anything else. these chips made a new kind of computer possible. it was called a minicomputer. it was somet

温馨提示

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

评论

0/150

提交评论