嵌入式课程设计实验报告-基于ARM9的风扇控制系统(17页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式课程设计实验报告-基于ARM9的风扇控制系统(17页).doc》由会员分享,可在线阅读,更多相关《嵌入式课程设计实验报告-基于ARM9的风扇控制系统(17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-嵌入式课程设计实验报告-基于ARM9的风扇控制系统-第 15 页嵌入式课程设计实验报告组号: 第35组 组员: 项目:基于ARM9的风扇控制系统 指导老师: 2017年12月6日目录一 实验目的1二 实验环境1三 设计功能2四 实验原理分析34.1 液晶屏显示34.2直流电机控制34.3 键盘控制44.4 蜂鸣器控制44.5 LED控制5五 软件设计方案65.1计时模块65.2液晶显示模块75.3键盘模块85.4直流电机控制模块85.5 LED模块95.6 蜂鸣器模块10六 调试与结果116.1 程序编译与安装116.2 实验结果11七 个人工作自我评估177.1 方立超个人工作报告177.
2、2 周超个人工作报告177.3 程文博个人工作报告18八 程序附件20一 实验目的此次嵌入式控制系统综合实验,我们小组以直流电机为主要控制对象,以TI 公司推出的新一代OMAPL138 高速处理器为控制器模拟了电风扇的基本功能,并在此基础之上扩展了时间显示、LED灯装饰、定时等功能。通过本次综合设计,我们主要达到以下主要目的: 了解Linux 系统中屏幕显示的接口,及访问方法;1、 熟悉Linux 下Frame Buffer 技术的概念和应用;2、 学习使用Omapl138 在Linux + QT 下访问键盘的方法,了解Linux + QT 下键盘的使用原理及编程方法;3、 了解Linux 系
3、统中标准键盘的接口,及访问方法;4、 了解蜂鸣器的发声原理;学习Linux 下非标准设备的访问控制方法;5、 熟悉嵌入式系统开发软硬件设计的基本过程;6、 大体实现期望的风扇控制系统的基本功能。7、 了解PWM控制直流电机的基本原理;二 实验环境硬件:PC兼容机一台、ICETEKOMAPL138-A实验箱一只。其中实验箱主要由4部分组成:(1)实验箱部分:一个独立的数字信号源,可提供四种波形、三路输出;信号的波形、频率、幅度可调;+5V(5A)、+12V(1A)、+9 V (0.5A)多种直流电源输出;底板插座完成A/D信号输入和 D/A输出; 一个测试模块,包括18个测试点,可以测量PWM
4、输出、AD输入和DA输出波形;一个双信号发生器,方便对许多实际情况中的两个信号进行分析。 (2) 通用DSP开发系统部分: 一个USB2.0 接口开发系统,支持C2000/VC33/C5000/C6000的开发应用。(3) 通用控制及显示模块:一块12864 点阵图形显示LCD屏;四组发光二极管,每组三个红黄绿LED灯;一个可由DSP I/O脚控制的蜂鸣器进行音频输出;一个D/A输出音频插座,可直接接插耳机;9个键数字键盘(19);4个拨动开关(DIP),可实现复位和设置 DSP 应用板参数。 (4) DSP 主处理板部分:支持:ICETEK-F2812-A板、ICETEK-VC5509-A板
5、、 ICETEK-VC5416-A板、ICETEK-VC33-AR 板、ICETEK-C6713-A板、ICETEK-LF2407-A板等。 图2.1 ICETEK-OMAPL138-A 评估模块接口布局软件:PC兼容机安装windows7,并通过virtualbox虚拟机平台安装Ubuntu版本的Linux系统以及超级终端。三 设计功能本次综合实验我们讲主要实现风扇的以下功能:1. 风扇的开机/关机;2. 风扇开关状态及挡位的显示;3. 时间的显示,并可以分别对时、分、秒进行设置;4. 定时时间和计时时间的设置;5. 蜂鸣器报时;6. 十二个led灯的流水闪烁。四 实验原理分析本次设计实验以
6、ICETEK-OMAPL138-A的双核处理器扩展评估板为核心,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备,也可以接收外设发送的各种数据、信息。CTR 设备连接在EMIFA 的片选4 上,所以通过操作以片选4 为基地址(0x64000000)的空间再加上设备控制寄存器的偏移就可以访问到实验箱上的CTR 设备。4.1 液晶屏显示液晶显示模块中有两片显示缓冲存储器,分别对应128*64液晶屏上的每一个像素点,向其中写入“1”“0”控制其显示和不显示。首先利用命令控制字选择操作位置(页数、列数)后,再将需要显示的数据写入到液晶显示模块的缓存中,将数据发送到相应的数据控制地址即
7、可。4.2直流电机控制本次实验中应用的直流电机采用的是定频调宽法。PWM 输入对应ICETEK-OMAPL138-A 板上P4 外扩插座第26 引脚的UHPI_HCNTL1 信号,DSP将此引脚配置成GPIO,并在此引脚上给出PWM 信号用来控制直流电机的转速; 图中的DIR 输入对应ICETEK-OMAPL138-A 板上P4 外扩插座第29 引脚的MMCSD1_D0 信号,DSP 将此引脚配置成GPIO,并在此引脚上给出高电平或低电平来控制直流电机的方向。从DSP 输出的PWM信号和转向信号先经过2个与门和1个非门再与各个开关管的栅极相连。当电动机要求正转时,MMCSD1_D0 给出高电平
8、信号,该信号分成3 路:第1 路接与门Y1的输入端,使与门Y1 的输出由PWM 决定,所以开关管V1 栅极受PWM 控制;第2 路直接与开关管V4 的栅极相连,使V4 导通;第3 路经非门F1 连接到与门Y2 的输入端,使与门Y2 输出为0,这样使开关管V3 截止;从非门F1 输出的另一路与开关管V2 的栅极相连,其低电平信号也使V2截止。同样,当电动机要求反转时,MMCSD1_D0 给出低电平信号,经过2 个与门和1 个非门组成的逻辑电路后,使开关管V3 受PWM 信号控制,V2 导通,V1、V4 全部截止。图4.2电机控制电路图在ICETEK-OMAPL138-A 套件的Linux 内核里
9、集成了ICETEK-CTR V6.2 的驱动,驱动中给CTR 上的直流电机配置了Linux2.6 下驱动属性接口,通作属性文件可实现对电机的起动、占空比和转向的控制。4.3 键盘控制在ICETEK-OMAPL138-A 套件的Linux 内核里集成了ICETEK-CTR V6.2 的驱动,驱动中将CTR 上的keypad 做为一个标准的keypad 进行挂载,并将按键值映射成了标准的1 到9 的按键值,这样在Linux 下对这个keypad 的操作就可以用通用的Linux 控制和读写函数来完成。本实验也是基于QT下对1-9的按键响应的封装完成的。图4.3 键盘连接示意图4.4 蜂鸣器控制在IC
10、ETEK-OMAPL138-A 套件的Linux 内核里集成了ICETEK-CTR V6.2 的驱动,驱动中将CTR 上的蜂鸣器做为一个标准的拨声器进行注册挂载,这样在Linux 下对这个蜂鸣器的操作就可以用通用的Linux 控制和读写函数来完成。图4.4 蜂鸣器连接示意图4.5 LED控制CTR上的发光二极管显示阵列的显示是由扩展端口控制,由扩展在EMIFA的地址空间接口的两个寄存器提供具体控制。在ICETEK-OMAPL138-A 套件的Linux 内核里集成了ICETEK-CTR V6.2 的驱动,驱动中将CTR 上的发光二极管做为一个标准的led 进行挂载,这样在Linux 下对这些l
11、ed 的操作就可以用通用的Linux 控制和读写函数来完成。五 软件设计方案本次综合设计主要涉及到计时模块、液晶显示模块、键盘模块、直流电机控制模块、LED模块和蜂鸣器模块。在设计的过程中需要将各个模块分别设计,然后整合到一起再进行调试与运行。主要分为三个方面:1、时钟显示与调时的实现,2、风扇定时开关的实现,3、风扇档位控制的实现。具体功能描述,显示当前的时间并对时间的小时分钟进行调整;并可以对风扇开关定时时间进行设置,当电机在定时时间以前是关闭状态时,到达设定时间电机以最低档转动,当电机在定时时间以前是开启状态,到达设定时间电机停止转动;并且在电机处于转动状态时可以对电机档位进行调节;同时
12、有整点报时功能与led灯的随秒循环闪烁功能。5.1计时模块实验中各个模块的工作都是基于计时模块来运行,在计时模块中通过对定时器周期的设置,并以定时器周期为基础,控制其他各个模块的运行。实验中设置定时器周期为1s,并利用定时器实现时间的秒数增加,利用时间的进位关系实现分钟和时钟数的增加。分别定义了秒钟增加函数secadd( )、分钟增加函数minadd( )、时钟增加函数houradd( )和整合函数addOneSecond( )。 本实验程序利用QTimer设置了一个时间周期为1s的定时器,每1s产生一个timeout( )信号,将这个信号连接到相应的槽中,调用drawgraph( )函数,在
13、程序中定义了addOneSecond( )子函数,在drawgraph( )中调用addOneSecond( )子函数实现时间的增加。 另外定义了secadd( )子函数实现秒钟加1,当设置的秒钟加到60s时调用minadd( )子函数实现分钟数加1,同理通过houradd( )实现小时数加1。具体的子程序见附录中的程序。图5.1计时流程图5.2液晶显示模块液晶显示模块显示主要显示开机画面、时间的时钟、分钟和秒钟、电机开关状态和电机档位的显示。 在液晶显示中主要通过调用液晶屏显示实验中中画线函数CTR_lcd,实现数字1-9的显示及电机的开关状态ON和OFF显示。定义函数drawnumber(
14、int num, int position)和drawmininum(int mininum, int mposition)通过输入数字参数来调用ctr_lcd.cpp中画线子函数LCDDrawLine(unsigned int x0, unsigned int y0, unsigned int x1, unsigned int y1,unsigned char color),实现数字显示。图5.2.1开机画面128*64.bmp图5.2.2二进制文件生成过程5.3键盘模块键盘模块主要实现电机风扇的开关控制、档位控制和计时时间和定时时间的设置。各按键功能定义如下表:按键功能1直流电机的启动/停
15、止2挡位循环增加3时间清零4小时十位加15小时个位加16分钟十位加17分钟个位加18定时时钟个位加19定时时钟十位加1在具体程序中通过对函数keyPressEvent(QKeyEvent *e) 中各个按键功能的定义实现各个参数的设置。在上述按键功能中,当设置定时时间时需要使液晶屏转换到定时时间节目并显示设置的定时时间,此处利用sleep(1)函数挂起1s,使前面调用的显示定时时间的程序能够在液晶屏上显示1s的时间,并通过addOneSecond( )补偿挂起的1s时间,使时间能够准确计时。5.4直流电机控制模块直流电机模块主要是有两个功能,一个是对电机的运行与否进行控制,一个是对电机的转速档
16、位进行控制,将设置的档位转化为实际的转速输入到电机中,并使电机运行。在程序中定义了dcmotorspeed(int dangweis)函数,其输入参数为设置的档位dangweis,首先根据输入的档位计算出实际的转速,设置每档转速增加10,一档转速为10,在dcmotorspeed(int dangweis)函数通过对属性文件的操作可以实现电机转速的输入和点击启动的控制。由于电机的开关状态只需要改变属性文件的参数即可,在实现中直接利用参数motor_switch(开关状态)控制即可。图5.4 挡位控制流程图5.5 LED模块 LED模块实现顺时针每一秒钟亮一个LED,当12个LED全亮后再顺时针
17、依次熄灭,并不断循环。由于在驱动中将CTR上的发光二极管作为一个标准的LED进行挂载,因此定义了一个loop_light函数实现上述功能,并在函数中通过对通用的Linux读写函数来控制每个灯的开关。5.6 蜂鸣器模块 蜂鸣器模块主要是在整点时候对通过的Linux控制和读写函数来完成,在具体程序设计中有,通过设置频率,输入频率到蜂鸣器,并使能蜂鸣器实现蜂鸣器报时。六 调试与结果6.1 程序编译与安装连接好实验箱上的各部件,用实验箱配的交叉连串口线连实验箱开发板的J13 到PC 机的COM1,用实验箱配的网线连ICETEK-OMAPL138-KBA 的J5 到PC 机的网口,拨动开发板的拨码开关U
18、15 的状态拨为1000,PC 机起动超级终端,PC 机起动虚拟机Ubuntu。实验设备上电起动,拨动实验箱左上角的总开关,到“开”的状态,给实验箱上电启动。超级终端登录,超级终端出现3,2,1,倒计数时按回车暂停自动起动,输入相应命令进行开发板相关参数的设置。虚拟机起动控制台,通过cd命令进入工程所有目录,通过make命令进行程序的安装与调试,通过网络文件系统nfs,程序会被安装到/opt/nfs/home/root/ctr 目录下。在开发主机的 Windows系统中启动超级终端【Davinci】; 接通 ICETEK-OMAPL138-A板电源,按回车键暂停 linux的起动; 输入 se
19、tenv bootcmd nand read.e 0xc0700000 0x200000 0x400000; bootm 输入 setenv bootargs console=ttyS2,115200n8 noinitrd rw ip=192.168.1.3 root=/dev/nfsnfsroot=192.168.1.103:/opt/nfs,nolock mem=32M0xc0000000 mem=64M0xc4000000,输入 boot,观察【Davinci】中的输出的起动信息。 输入 root 登录; 输入 cd / 进入根目录输入cd / 进入根目录; 输入 ls 列出根目录文件,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课程设计 实验 报告 基于 ARM9 风扇 控制系统 17
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内