单片机控制直流电动机设计
- 格式:doc
- 大小:1.07 MB
- 文档页数:19
课程 单片机课程设计
题目 单片机控制直流电动机
专业 自动化 姓名 学号
主要内容:采用单片机设计一个控制直流电机并测量转速的装置。单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。
基本要求:(1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电机的转速。
(2)手动控制。在键盘上设置两个按键—直流电动机加速键和直流电机减速键。在手动状态下,每按一次键,电机的转速按照约定的速率改变。
(3)键盘列扫描(4 6)。
主要参考资料:
目录
第1章 概述 ................................................................. 1
1.1 设计目的 .............................................................. 1
1.2 设计任务和要求 ........................................................ 1
1.3 设计原理 .............................................................. 1
第2章 系统结构及主要元器件 ................................................. 2
2.1 AT89C51单片机 ........................................................ 2
2.2 LCD显示器 ............................................................ 2
第3章 硬件设计 ............................................................. 3
3.1 按键电路 ............................................................. 3
3.2 显示电路 ............................................................. 4
3.3 A/D转换模块 ......................................................... 5
3.4 D/A转换模块 ......................................................... 6
第4章 软件设计 ............................................................. 8
4.1程序框图 .............................................................. 8
4.2程序源代码 ............................................................ 8
第5章 系统仿真及调试 ...................................................... 13
5.1 仿真步骤 ............................................................. 13
5.2仿真结果分析 ......................................................... 14
结论 ....................................................................... 15
参考文献 ................................................................... 16 单片机控制系统课程设计(报告)
1 第1章 概述
1.1 设计目的
1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的动脑和动手的能力。
2、通过对单片机控制直流电动机控制系统的设计,掌握A/D转换、D/A转换的有关原理,加深对PWM波的理解和使用,同时对单片机的使用更加熟练,通过对简单程序的编写提高我们的逻辑抽象能力。
1.2 设计任务和要求
任务:采用单片机设计一个控制直流电动机并测量转速的装置。
要求: 1、通过改变A/D输入端的可变电阻来改变A/D输入电压,D/A输入检测量大小,进而改变直流电机的转速。
2、手动控制。在键盘上设置两个按键——直流电动机加速键和直流电机减速键。在手动状态下,每按一次键,电机的转速按照约定的速率改变。
3、键盘列扫描(4*6)。
1.3 设计原理
直流电机是通过两个磁场的互作用产生旋转。其结构如下页图所示,固定部分(定子)上,装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁心。定子与转子之间有一气隙。在电枢铁心上放置了由A和X 两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。
直流电机的速度与施加的电压成正比,输出转矩则与电流成正比。由于必须在工作期间改变直流电机的速度,直流电机的控制是一个较困难的问题。直流电机高效运行的最常见方法是施加一个 PWM(脉宽调制)方波,其占空比对应于所需速度。电机起到一个低通滤波器作用,将PWM信号转换为有效直流电平。特别是对于微处理器驱动的直流电机,由于PWM信号相对容易产生,这种驱动方式使用的更为广泛。
本项目的示例程序为了能够演示DAC0832的使用,未使用PWM驱动方式。而是利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。需要注意的是,本题目使用的Proteus版本,未提供ADC0809的仿真模型,这里以引脚、功能与之相同的ADC0808代替。同时,DAC0832也可以用引脚、功能相同的DAC0830代替。
单片机控制系统课程设计(报告)
2 第2章 系统结构及主要元器件
2.1 AT89C51单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh
Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图
图2-1 AT89C51单片机引脚
2.2 LCD显示器
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5×7或者5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
图2-2 LCD1602引脚图 单片机控制系统课程设计(报告)
3 第3章 硬件设计
根据总设计方案可知硬件电路是以单片机为核心辅以适当的电路以完成要求功能。主要包括显示模块,A/D转换模块,D/A转换模块等模块。
3.1 按键电路
3.1.1 AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable
Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图3-1按键电路的设计
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 单片机控制系统课程设计(报告)
4 3.1.2 按键电路
如图2.1所示,单片机的P2.1和P2.2口分别接一个按键用于控制电机。当按下S1键时,电机转速提高,进入加速状态;当按下S2键时,电机转速减慢,进入减速状态。通过S1,S2两个按键可以达到键盘控制电机的作用。
3.2 显示电路
3.2.1 MAX7219
MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI™、 QSPI™以及 MICROWIRE™相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。
3.2.2 工作原理
图3-2 显示电路的设计
如图2.2所示,可变电阻接ADC0808转变成相应电压的数字信号,单片机通过P0口读取,再由P1口输出与转速相应的8位BCD编码到MAX7219。经由MAX7219处理后通过四位数码管显示出来。电动机所处速度级以速度档级数显示。正转时最高位显示“三” ,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。每次电动机启动后开始显示,停止时数码管显示出“0000”。