资源描述:
第1 l 卷第 l 期 2 0 0 9 年1 月 电 子 元 器 件 主 用 El e c t r o n i c Co mp o n e n t De v i c e Ap p l i c a t i o n s V0 1 . 1 1 No . 1 J a n .2 O 0 9 A R M U n u x 嵌入式系统在风力 发电机控制中的应用 爱军 ,王湘明,颜华 沈阳工业大学,辽宁 沈阳 1 1 0 1 7 8 摘 要 依据风力发 电的技 术特 点,提 出了一种基 If - A R M A d v a n c e d R I S C Mi c r o p r o c e s s o r 和A R ML i n u x 作 系统 的嵌 入 式风 力发 电机控 制 系统 的设计 方 法 .同时介 绍 了嵌 入 式 系统的 { 体 系结构 , 给 出了嵌 入式 系统 的硬 件和 软件 设计 关键 技 术。 最后 给 出 了嵌 入 式控制 器在 风 力 发 电系统中的应用方案。 关 键词 风 力发 电 ;风机 控制 ;AR M;L i n u x ;软P L C 0 引言 目前,风力发电机的控制器实现方式有很多 种 ,但大都是通用硬件平 台,即工业平板电脑 。 工业平板电脑虽然资源丰富 ,但其面向应用有很 多资源浪费 ,而且 目前工业平板电脑价格不菲 。 开发费用和维护费用很高。而8 / 1 6 位微处理器和 硬件P L C 的缺点是难 以满足复杂的算法 .同时人 机界面做的不是很完善 。控制器不能直接与I n t e r n e t 相连接。事实上 ,随着 自动化仪器仪表向数字 化 、智能化和网络化方向发展 ,传统8 / 1 6 位微处 理器 已经不能满足需求 。为此 。本文依据风力发 电的技术特点 ,提出了一种基于A r mL i n u x的嵌 入式风力发电机控制器的设计方案。 1 嵌入式控制器 嵌入式系统控制的主要由嵌人式操作系统和 承载操作系统的硬件组成。其中控制器硬件平 台 采用韩 国三星公司的 3 C 2 4 1 0 处理器 .该处理器 是采用AR M9 2 0 T内核的1 6 / 3 2 位精 简指令 f R I S C 微处理器 ,它对实时多任务系统有很强的支持能 力 ,而且功耗较低。该处理器 内部集成了大量功 能部件 ,运行频率为2 0 3 MH z 。L i n u x 操作系统是 一 个面向服务器和嵌人式应用领域的实时多任务 收稿 日期 2 0 o 8 0 9 0 8 4 0 电子元 器 件主 明 2 0 0 9 . 1 ∞ e c d c 操作系统。L i n u x 操作系统源代码完全开放且全 免费,因而可大大减少产品开发费用 。同时 .其 内核可裁减的特点在能为系统节省资源 的同时 . 也可 以在嵌人式应用这个要 求苛刻的领域做到 “ 量 体裁 衣 ” 。该 控 制器 的应 用 平 台运 行 的是 C o d e S Y S 软P L C,软P L C 可 编 程控 制 器1是一 种 基于P C 机的新型控制技术 ,它 比传统的P L C 性价 比更高 ,而且可为用户提供更多的开放性。 嵌入式操作系统是嵌入式系统 的控制核心 。 主要用于对系统 的信息处理和用户交互界面的控 制 。嵌入式L i n u x 操作系统有其独特的开发与制 作步骤 。要实现嵌人式L i n u x 操作系统的成功运 行 ,首先要具备两个 基本要 素 ,即L i n u x 内核与 根文件系统。这样才 能构成 一个嵌人式L i n u x 最 小 系 统 。 在 嵌 入 式L i n u x 最 小 系 统 的 基础 上 编译 面向应用的、具有特定功能的应用程序 ,即可完 成一个具有基本功能 的嵌入式软件系统 。图1 所 示为 嵌入式 软件 组成框 图。 l b o o t l 。 a d e f 初始化 I 引导L m u x 核 I 挂载根 文件 系统 l 系统设备初始化 I 用户应用程序 图 1 嵌 入 式 软 件 组 成框 图 第 1 1 卷第l 期 2 O o 9 年1 月 鼹 V o 1. 1 1 N o . 1 J a n .2 0 o 9 2 嵌入式控制的软件设计 开发嵌入式系统必须建立一个配套 的开发环 境 。此开发环境通常包括操作系统配置工具 、编 译环境 、下载工具和调试环境。由于在嵌入式系 统的开发初期 ,目标系统上的平 台还没有建立 , 所 以需要在主机上做交叉编译 。以生成所需要 的 启动引导代码以及操作系统核心 。之后 ,主机系 统才能通过串 口或网络等方式与 目标系统建立通 信连接 ,从而相互协作 ,共同完成嵌人式系统的 开发 。因此 ,嵌入式系统的开发通常由主机系统 和 目标系统两部分组成 ,图2 所示是一个嵌人式 开发环境的关系示意图。 ⋯⋯⋯⋯⋯⋯. ⋯⋯⋯ 图2嵌入 式 开发 环 境 示意 图 图2 中的 目标系统指的是要建立的嵌入式应 用 系统 ,本文 中的 目标 系 统 就是 基 于A R M的 F S 2 4 1 0 开发板 ;而主机系统的硬件平 台则是I n t e l X 8 6 。X 8 6 有两种 软件 开发平 台 ,一种是A RM公 司提供 的A D S 开发工具 .它可在Wi n d o w s 平 台上 运行。另外一种 可在L i n u x 下进行开发 .使用 自 己生成的交叉编译器。 2 . 1 交 叉编译 环境 的建 立 交叉编译就是在一个平台上生成可以在另一 个平 台上执行 的代码 。即在宿主机上对即将运行 在 目标机上的应用程序进行编译 .以生成可在 目 标机上运行的代码格 式。交叉编译环境的建立往往是嵌入式L i n I .I X 编译的难点,很 多开发人员 由于在环境搭建 中 存在版本不匹配等问题 ,因此制约 了后期工作的 顺利进行 。L i n u x 下 的交叉 编译 工具主要包括编 译器g e e 、二进制工具b i n u t i l s 、标准C 库g l i b c 以及 L i n u x 内核头文件等 。这些 编译 工具可以从互联 网上免费下载得到。由于篇幅限制 ,具体开发环 境的建立步骤在此不做详细叙述。 2 . 2 嵌 入式L i n u x 内核编 译 就是 在建立好 的主机L i n u x 平 台上进行交叉 编译 .并在此基础 上进人 内核 源代 码所在文件 夹 ,运行命令ma k e me n u e o n f i g ,针对硬件平台所 包含 的功能设备 f 比如网卡设备等 ,对L i n u x 内 核进 行 配 置 。 内 核配 置 完毕 后 ,再 运行 命 令 ma k e z I m a g e 来生成 内核影象文件。该内核影象文 件的大小一般为1 . 2 MB 左右 L i n u x 2 . 6 版本 内核 。 一 个操作系统通常 占用内存空间仅 1 MB 多 ,这在 Wi n d o w s 世界里是不可能的。这就是L i n u x 操作系 统在嵌入式领域中广受欢迎的原因所在 。 2 - 3 根 文件 系统 制作 该 任务就 是在 主机上通过L i n u x 开发平 台制 作L i n u x 的根文件系统 。嵌入式 系统应用 的根文 件 系统有很多种 ,各 自有不 同的适用场合 。表1 所列是其根文件系统的内容组成 。 表 l 根 文 件 的 内 容 组成 Di r e c t o r y C o n t e n t 基本用户命令 2 进制文件 引导加载程序用到的静态 文件 设备文件和其他特殊文件 系统配置文件,包括启动文件 用户所使用 的主目录 含服务帐号 目录 基本库 文件 如C 链接库 挂载其他设备时的 目录 附加 的软件包 目录 内核 的虚拟文件和进程信息 根用户 目录 基本系统管理命令 r 2 进制文件 临时文件 目录 在第2 层包括多数用户有 用的文件 监控程序和工具程序存放变量 目录 目前常用的根文件 系统有R a m d i s k . i m g f 内存 文件 系统 、j ff s F l a s h日志文 件 系统 、e l “ a m f f R o m压缩文件系统等 。本设计选择e r a mf s 文件 系统 。 C r a mf s 是L i n u x 的创始人 L i n u s T o r v a l d s 参 与开发 的一种 只读式 压缩文件 系统。它也基 于 MT D 驱动程序 。可 以随机页访问 ,其压缩比高达 似Ⅲ. e c d c n 2 0 0 9 . 1 电 手元 器件 主 用 4 1 咖 一 州二 蚕 w 第l l 卷第 l 期 2 0 0 9 年 1 月 电 子 元 器 件 主 用 El e c t r o n i c C o mp o n e n t & De v i c e A p p l i c a t i o n s V0 1 . 1 1 No . 1 J a n .2 0 o 9 2 1 ,可为嵌入式系统节省大量的F l a s h 存储空间, 并可使系统通过更低容量的F L A S H来存储相同的 文件 ,从而降低系统成本 。所有的应用程序都要 拷贝到R A M里去运行 ,因此 ,它的速度很快 ,效 率高 ,同时,其只读特点也有利于保护文件系统 免受破坏 ,从而提高 了系统的可靠性。正是由于 以上所述特性 ,C r a m f s 在嵌入式系统 中得到了广 泛的应用。 制作c r a mf s 文件系统有如下三个步骤 第一是在 网络上下载现成的c r a m f s 文件系统 , 该系统 已经包含文件系统的基本 内容。设下载的 文件名 为r o o t f s . c r a m f s ,那么 ,在主机 的L i n u x 平 台上输入如下命令行 ~ mk d i r c r a mf s -mo un t r o o t f s . c r a mf s c r a mf s 一0l o o p - c d c r a mf s - t a r c v f. ./ c r a mf s . t a r. , ~ umo u n t c r a mf s 这样 ,就可 以通过上面步骤将c r a m f s 文件系 统的内容挂载到硬盘 ,并对其进行打包。 第二步是将得 到的文件包解压 到指定 的 目 录 ,以实现对文件系统 内容的填补和删减。方法 如下 - mk d i r r o o t c r a mf s ~托 pc r a mf s . t a r r o o t c r a mf s - t a r x v fc r a mf s . t a r 这一步可对现成 的c r a m f s 文件系统进行裁剪 . 包括应用程序的移植。 接下来 的第三步就是制作具有完整功能且面 向自己应用的c r a m f s 文件系统 。 由于根文件系统中包含的功能较多 ,而且根 文件系统 中包含的设备文件 d e v 目录占用空间 比较大 ,所以,编译生成的根文件系统的大小要 比内核大很多。所制作的c r a m f s 文件 系统 的大小 约2 0MB 左右。 3 嵌入式控制器的硬件 平台 嵌入式控制器的硬件平 台就是围绕 3 C 2 4 1 0 处理器的各个功能部件 ,主要包括串口,网口等 与外界 通讯 的设 备 。其 中存 储器采 用6 4 MB的 S D RA M和6 4 MB 的N A N D F l a s h ,这些器 件都集成 4 2 电 手元 器 件 主 用 2 0 0 9 . 1 删. e c d a . c n 有串 口、S D 卡控制器 、U S B H o s t I U S B d e v i c e 控 制器 ,同时还有以太网接口、音频接 口、鼠标和 键盘接口等。作为嵌入式控制器的硬件平 台。这 些功能已足够满足应用需求。 4 系统功能设计 4 . 1 系统主要 功能 本系统的主要功能是在基于A R M L i n u x 的控 制系统应用平 台上选用C o d e S Y S 软P L C 来控制风 机运行 。其 中软P L C 可在保 留传统P L C 功能的前 提下 .采用面向现场总线网络的体系结构和开放 式通信接口 如以太网、高速串口等1 ,并采用各 种相关的国际工业标准和一 系列的事实标准 。同 时全部用软件来实现传统P L C 的功能 。其风机控 制器系统 的构成如图3 所示 。 图3风机 控 制 器 系统 构成 图 本软P L C 系统可由编程系统和运行系统构成 , 其系统整体框图如图4 所示 。 图4 中的编程系统用来完成P L C 应用程序的开 发 ,它可提供 对整个工程的管理 、资源配置 和 I-。 ‘ ⋯‘ ‘ 。 。 ‘ ‘。 。 ‘ ’。 ‘ 。 ’ ’ ‘ 。。 ⋯‘ 。 。 ’ ‘ 。。 ’ ’ ‘‘ ‘ 。 ’ ‘‘ 。 。 ’ ‘‘ 。 。- mC 6 1 1 3 1 . 3 编 程语言 编 辑、编译和调试环境 通信接 口 ● I D L L ■ 通 信接 口 C P L C 运行 虚拟机 I/ O 接 口驱动模块 ▲ ● ● ● I / O 系统 囡 图4软PL C系统 整体 框 图 第1 1 卷第 1 5 1 2 o 0 9 年 1 月 V0 1 . 1 1 No . 1 J a n .2 O o 9 P O U 程序组织单元的编辑调试功能 。 P O U 包 括程序 、功能块和 函数 ,其 中程序可 以调用程 序 、功能块和函数 ;功能块可以调用功能块和函 数; 函数可以互相调用 。此外 ,编程系统还可以嵌 入复杂的控制算法 ,如智能P I D 算法等。 运行系统 主要负责对整个 系统的管理和应用 程序的执行。该部分 的主要功能有三个 与编程 系统的通信 、目标 代码的执行 和各种I / O硬件 的 驱动。 4 . 2 控 制 系统程 序设计 该风机控制系统的程序 流程如 图5 所示 。整 个软件 系统 由参 数检测 、数 据库处理 、故 障处 理、功率调节4 个模块组成。 图5控 制 系统 程 序 流 程 首先,在系统投入运行后 ,先 由参数检测程 序根据数据库标准对信号进行检测 ,以判断风机 是 否处 于开机 状态并 判 断是 否可 被访 问 。 若参数检测结果显示可以开机 。应再判断风 速是否为工作风速 ,当风速小于起动风速时风 , 轮不转 ,风力发 电机没有输出。 若风速仪检 测到 的风 速在可利 用风速 范围 内,那么,还应继续检测风轮法线偏离风 向的夹 角B ,如果此夹角B 在一 l 5 。 ~1 5 。 范围内,则认为 风力发电机迎风 ,并启动风机 ,风机在风力作用 下 自由旋转 。 若在可利用风速范围内测得风轮法线方向偏 离 风向的夹角B 在一 1 5 。 ~ 1 5 。 范 围之外 ,则继续 判断p 是否大 I 1 8 0 。 。若p 小于1 8 0 。 ,则启动转向 电机正转p,若 B≥1 8 0 。 ,则 启动转 向电机反转 3 6 0 。 一 B 。 一 般情况下 ,在开机状态 ,若风力发电机 出 现故障 ,则应转入故障处理程序; 故障处理程序会 停止风机 ,待技术人员处理故障后重新投入运行 并把故障类型及时间写进故障 日志 ,以供以后参 考 。 当风速过大超过工作风速时 ,为了防止输出 功率过大 ,系统会给刹 车机制发出停机信号 ,使 风机停止转动。 5 结束语 本文提 出了基于AR M L i n u x 的风机主控制器 的体系结构 。然后围绕主控制器的各个功能 ,给 出了详细的嵌入式控制器的实现步骤。其 中基于 软P L C 技术相对 于传统P L C 控制系统其更具 开放 性、灵活性和低价格 ,该技术结合嵌入式控制应 用 。是一项新的尝试 。它把控制 、通信 、人机界 面及各种特定的应用全都合为一体 。然后运用于 同一个硬件平台上 。从而简化了整个控制系统 的 体系结构 。由于本系统中软P L C的运行环境是嵌 入式L i n u x 操作 系统 .故有 较好 的实时控制性能 和专用系统资 源较少等优点 。另外 ,支持远 程 N F S 访 问 l l fl p 协议 。也大大减少 了系统维护 的烦 琐性 。因此 ,以A R M9 微处 理器 的时钟频 率高 , 内部集成 功能部 件齐全和L i n u x 操作 系统在嵌 入 式应用领域中的优势 。该风机控制系统完全能够 胜任在风机控制的应用要求 。 参考文献 【 1 】 孙天泽, 袁文菊. 嵌入式设计及L i n u 】 【 驱动开发指南 第 2 版 【 M 】 . 北京 电子工业 出版社 , 2 0 0 7 . [ 2 】 马忠梅, 李善 平, 康慨 , 等. A R M L i n u x . A . 式教程[ M 】 . 北京 北京航 空航 天大学出版社 . 2 0 0 4 . [ 3 】 李善平 , 刘文峰 , 王焕龙 , 等. L i n u x -嵌入 式 系统[ M 】 . 北 京 清华大学 出版社 . 2 0 o 3 . [ 4 ] 陈莉君. L i n u x 作 系统 内核分析 [ M】 . 北 京 人 民邮电 出版 社 . 2 0 0 0 . [ 5 】 K a r i m Y a g h m o u r , B u i l d i n g E mb e d d e d L i n u x S y s t e m , 01 e i n y, A p r i l 2 0 0 3 , O 一 5 9 6 0 0 2 2 2 ~ X. 【 6 】 许世法,秦付军. 基- I - P C - T “ 台的软P L C 技术的实现【 J 】 . 工业控制 网络, 2 0 0 6 , 2 】 f 7 1 郑 文龙, 石广 田.软P I E在风 力发 电机 控制 系统 中的 应用【 J 】 . 常熟理工学院学报 自然科学版 , 2 0 0 7 , 1 0 【 8 】 叶杭叶. 风力发电机组的控制技术 第2 版 [ M】 . 北京 机械 工 业 出版 社 . 2 0 0 l6 . .e c d a . c r t 2 O O 9 . 1 电子元 器 件 主 用 4 3
展开阅读全文