《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA的室内智能吸尘平台设计与实现
基于FPGA的室内智能吸尘平台设计与实现
来源:电子技术应用2012年第3期
李 涛1,许悦雷1,田 松1,辛 凯2
1.空军工程大学 工程学院,陕西 西安710038; 2.南昌航空大学 信息工程学院,江西 南昌330063
摘要: 采用FPGA、多种传感器和其他硬件协同工作的方法;在硬件的选型、仿真和组装,软件的设计、编程与调试等方面做了大量的实验。通过实验找到了软硬件中存在的问题并进行了改善。得到了一个具有遥控和自主吸尘功能、结构简单、成本低、能够智能躲避障碍物的基于FPGA的室内智能吸尘平台。
中图分类号: TP242.6
文献标识码: A
文章编号: 0258-7998(2012)03-0047-03
Design and implement of the smart platform for interior cleaning based on FPGA
Li Tao1,Xu Yuelei1,Tian Song1,Xin Kai2
1.Engineering College, Air Force Engineering University,Xi′an 710038,China; 2.School of Information Engineering,Nanchang Hangkong University,Nanchang 330063,China
Abstract: On the basis of coordinating work of FPGA,variety of sensors and other hardware,hardware selection, simulation, and assembly, software design, programming and commissioning of the experiment were largely done. Through experiments problems were found and had to improve in software and hardware,a remote control and self-cleaning feature, simple structure, low cost, to intelligently avoid obstacles FPGA-based platform for indoor smart dust were be got.
Key words : FPGA;the smart platform for interior cleaning;Quartus II;Nios II

    智能环境清洁器由于可代替人进行环境清洁工作,已日渐成为人们研究的焦点。虽然它们实现了智能,但大多结构复杂、集成度高,不利于开发者拓展其功能。在研究并总结市场上相对成熟产品的基础上,本文基于可编程性强的FPGA设计并实现了应用于室内的智能吸尘平台。平台具备自我导航、能清洁大部分空间,同时外形紧凑、运行稳定、噪音小。更重要的是其结构简单,具有人性化接口,便于操作和功能的进一步开发。

1 平台总构成
    本文提出的平台整体框架设计如图1所示,用装有四个轮子的小车作为整个平台的载体。以FPGA控制器作为整个平台的主控器,通过I/O与光电传感器jk1、jk2、jk3、jk4及碰撞开关jk5相连,实现平台障碍的检测;通过I/O输出PWM波形,驱动扬声器和高低电平的变化以驱动LED的亮灭,组成声光电路;通过控制电机驱动器的信号控制线来驱动步进电机dj1、dj2和直流吸尘电机dj3,实现平台的移动和吸尘。

2 硬件主体设计
    系统主要由FPGA主控芯片、光电传感器、碰撞开关、由2个STC89C52单片机控制的无线遥控发射模块、两种模式选择芯片、声光电路、驱动电机、吸尘器电机和整个系统的供电电路组成,如图2所示。

2.1 FPGA芯片的选择
    根据平台的总体设计,可以得出对芯片的基本要求:(1)需要最少6路PWM波形输出。(2)需要一路串行通信接口。(3)需要较高的12 V转化为3.3 V的实时芯片。(4)较高的处理速度。(5)I/O接口要多。
    综合考虑这些条件,采用Altera公司生产的CycloneII系列FPGA中的EP2C35F672C6型号基本可满足要求。它具有出色的运算速度,成本低且带有DSP模块,具有超大的内部存储器、多通道PWM输出以及灵活的设计和多种语言的综合运用,性价比较高[1,2]。
2.2 配置电路设计要点[3-6]

 


    (1)电源电路:供电系统采用12 V电源作为输入电源,利用L7805CV将其降压为5 V,再由TPS37HD301将5 V转化为3.3 V和1.2 V,FPGA的I/O端口供电点压为3.3 V,内核供电电压为1.2 V。因为电机驱动系统是用控制器的5 V信号,而FPGA的端口电压是3.3 V,必须将I/O电压升压到5 V,在这里利用的是74HCT245升压芯片。
    (2)时钟和复位电路:时钟电路中用ZPB-26-16 M作为有源晶振,频率为16 MHz,使得串口波特率更加精确。同时可支持芯片内部的PPL功能及ISP下载功能。复位电路采取硬件复位和软件复位。
    (3)调试JTAG和下载电路:因为FPGA内部可以直接搭建软核ISP和JTAG,硬件电路接一个IDC-10的JTAG接口。
    (4)配置存储电路:选用EPCS16作为FPGA的ROM,可以由下载电缆或其他设备进行重复编程,也可以通过AS接口进行在线系统编程。用FPGA芯片内部自带的4 MHz的On-Chip memory作为FPGA的RAM。
    (5)传感器和碰撞开关:光电传感器(光电开关)选用沪工集团的E3F-DS5C4.P1R型号的光电开关,用于检测障碍和楼梯,此型号是圆柱型扩散式最远距离5 cm、可调NPN型常开光电开关。碰撞开关主要与前传感器配合完成对平台前的保护。当平台碰到前方障碍时,触发开关,使平台躲开障碍物。
    (6)无线发送与接收模块:选用汇睿微通XL02-232AP1型号无线模块,XL02-232AP1是UART接口半双工无线传输模块,可以工作在433 MHz公用频段,满足无线管制要求。
    (7)驱动和吸尘电机:平台采用前轮双驱动,电机选择深圳步科公司生产的两相混合式步进电机,吸尘器电机采用直流电机。步进电机的主要电器参数为:①步距角:1.8°;②相电流:0.87 A;③保持扭矩:0.24 nm;④相电阻:3.3 Ω;⑤相电感:5.0 mH;⑥重量:0.2 kg。
    (8)声光电路和自动清扫时间输入显示电路:声光电路主要由发光二极管和蜂鸣器组成,直接连FPGA,提醒平台工作状态。利用4个按键(确定、初始、上调、下调)输入清扫时间,再由三个数码管显示设定时间。清扫时间由FPGA内部的定时器计时,当计时完成时,平台即停止工作。
3 程序设计要点
    将程序分为硬件程序设计和软件程序设计两部分,硬件程序设计要对硬件电路进行时序仿真以确定达到调试的效果。
3.1 硬件程序设计与仿真
    平台主要通过传感器和碰撞开关产生输入信号,通过FPGA处理信号,最后FPGA把处理后的信号传到电机,由电机来完成一系列的动作,如表1所示。所以其逻辑设计是实现智能的关键。

    结束硬件选型后,利用Quartus II搭建硬件原理图,编译后对jk1、jk2、jk3、 jk4进行时序仿真,分析时序关系,估计设计的性能并检查和消除竞争冒险[7-9]。仿真结果如图3所示。
    时序仿真图中,clk为输入PWM信号,clr和en两个模块的片选信号是由FPGA的SoPC通过软件C语言控制。当jk1=0、jk2&jk3=1时,output(PWM控制信号)会出现一段等于0之后产生20个波形。需要说明的是:图3(a)时序仿真图中,output出现一段PWM后出现低电平后接着出现了20个PWM,说明平台在正常前进遇到jk1=0、jk2&jk3=1时,会停车一段时间接着左拐或者右拐20个PWM角度。驱动器用的是4细分,输出1个PWM波形步进电机会转动0.45°,应该旋转90°但是波形个数为:n=(90/0.45)=200个,在此用20个代替200个说明问题(图3(b)的波形个数都会以此情况说明)。
    由图3(b)可以看到前段时间jk4为高电平,pwmout输出正常脉冲,说明此时平台处于正常吸尘状态。后段时间jk4变为低电平,pwmout时延后输出一小段脉冲,说明此时平台检测到楼梯,停车一段时间后调整方向。

3.2 软件程序设计
    硬件设计调试完成后,还要进行软件系统设计。在C语言文件中编写C程序进行SoPC的编程[10]。平台工作总体算法流程如图4所示。平台接通电源,首先初始化进入自动清扫和手动遥控清扫二选一模式;当选择自动清扫模式时,通过键盘输入平台自动清扫工作时间,在清扫过程中通过传感器判断是否遇到障碍物或楼梯并进行处理。通过中断,时刻查询是否到达设置时间,如果没到,则程序返回运行;如果设置时间到,则程序结束,平台停止工作。当选择遥控清扫时,平台运动受操作者的控制。

    通过硬件选型、搭建调试和软件语言的编写调试,成功地制作出了简易平台,实现了既定的各种功能。相比市场上的同类产品,其结构更简单、成本更低、灵活性和扩展性更强,为研究者开发更多功能提供了一个硬件支持的平台,具有实用价值。随着微处理器的不断进步和传感技术的发展,其性能可不断改进,成本也可不断下降。但在仿真和实现过程中发现其具体的流程算法不够严谨,日后有必要继续对其进行改进。
参考文献
[1] ALTERA Corporation.cyclone device handbook[M].2008,1(5).
[2] ALTERA Corporation.cyclone device family data sheet  [EB/OL].2008.5.http://www.altera.com/literature/hb/cyc/cyc_c5v1_01.pdf.
[3] 王诚,范丽珍.Altera FPGA/CPLD设计(高级篇)[M].北京:人民邮电出版社,2005:7-115-13500-2.
[4] 褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技大学出版社,2003.
[5] 赵雅兴.FPGA原理设计及应用[M].天津:天津大学出版社,1999.
[6] 周立功.SoPC嵌入式系统基础教程[M].北京:北京航天航空大学出版社,2006.
[7] 郑亚民,董晓舟.可编程逻辑器件开发软件Quartus II[M]. 北京:国防工业出版社,2006.
[8] ALTERA Corporation.Quartus II version 5.0 handbook[EB/OL].2005-04/2006-03.http://www.altera.com.cn/support/software/quartus2/design_flow/des-qms-q21.html.
[9] 郑燕.基于VHDL语言与QuartusII软件的可编程逻辑器件应用与开发[M].北京:国防工业出版社,2002.
[10] 孙恺,程世恒.NiosII系统开发设计与应用实例[M].北京:北京航天航空大学出版社,2007.

此内容为AET网站原创,未经授权禁止转载。