基于DSP、CPLD和模糊控制的寻线行走机器人设计与实现
发布日期:2011-05-26
针对呆板人比赛和电子计划比赛中呆板人寻线行走的广泛请求,提出了一种通用的寻线行走呆板人的计划要领。呆板人的内核控制器包括实现控制算法的DSP和用于扩展成果实现的CPLD;对来自光电检测传感器的信号采取含糊控制规矩举行综合,内核控制器根据含糊控制器输出调解呆板人的行走蹊径,终极实现呆板人寻线行走。
在近来的呆板人比赛和电子计划比赛中,较多参赛标题请求呆板人沿园地内白色或玄色指引线行进。一些研究职员提出了基于寻线的呆板人计划战略,重要是存眷指引线的检测,但对付呆板人的团体计划未做阐明。本文在总结此类赛事的底子上,提出了一种将
DSP(Digital Signal Proces$or)和CPLDfComplex Programmable Logic Device)作为内核处理惩罚器,采取含糊控制战略处理惩罚来自检测指引线传感器信号的呆板人行走机构的通用性计划要领。
1 车体机器计划
由于呆板人比赛对参赛呆板人有严格的尺寸限定,必要在有限的空间内公道摆设各个机构。本文给出车体最小尺寸时驱动轮、光电传感器以及控制芯片之间的相对位置,如图1所示。
呆板人采取双直流步进电机驱动方法,其额定电压为24V。车体的前后端分别安置光电传感器检测板实现指引线的检测。相邻光电传感器间隔略小于指引线宽度,包管同时有两个传感器可以检测到指引线。
2 硬件电路计划
这部分重要先容内核控制器。
DSP与成果扩展芯片CPLD的连接,扼要先容别的成果模块的硬件实现。体系团体布局如图2所示。
2.1 内核控制器计划
如今,呆板人内核控制器多选用单片机。笔者思量到单片机指令周期长、可用资源少,难以餍足呆板人及时控制的请求,在综合性价比、开辟周期等因素后,内核控制器选用T1公司的电机数字控制专用
DSP——TMS320F240(以下简称’F240)。它具有活动控制非常有效的变乱办理器,此中包括12路比较/PWM通道,可以非常方便地控制直流电机转速;利用其片内的3个可以事变于6种模式的16位通用定时器,可以完成呆板人绝大部分举措的控制;16个10位A/D转换器可以方便地读取模仿信号。
由于呆板人指引线检测模块返复书号可看作反馈信号,因此呆板人驱动电机选用步进电机。通过设置′F240定时器,利用I/O端口输出设置脉冲信号,该信号经步进电机驱动电路使步进电机行进设置间隔。详细实如今软件计划部分先容。′F240的其他片内I/O、PWM端口、A/D都引出输入输出线,方便扩展成果的实现。
从′F240的特点可以看出,′F240可用于实现巨大控制算法和举行巨大的呆板人举措控制。然而根据车体计划方案,必要在车体上安置20个光电检测传感器,占用控制器的20个I/O端口。如许,′F240可用于扩展成果的I/O端口大大淘汰。
呆板人在比赛中会有比较剧烈的撞击.如计划种种成果数字电路会紧张低落控制板的可靠性。此处选用Altem公司的EPM7128作为内核处理惩罚器的扩展、含糊控制的输入。为餍足
DSP与CPLD之间的协同处理惩罚,′F240与EPM7128可采取如图2所示的电路连接。′F240的16根数据线和A12~A15共4根地点线连到EPM7128,通过选择信号、写信号和读信号完成对EPM7128的读写操纵。EPM7128的I/O端口重要在MAX+PlusⅡ编程环境下通过软件和硬件管脚设置实现。这种
DSP+CPLD的布局可以在充分扩展体系成果的同时,使
DSP更能发挥其运算成果强大的特点。
稳压电路重要由LM7805芯片构成;信号输入电路由微动开关经反相器71HCl4后再送往
DSP,微动开关输入电路有去耦电路,输出信号加上拉电阻;表现模块采取MAX7219芯片驱动,八位LED数码管,每个LED映射三个I/O端口。
2.2 光电检谢模块
光电检测模块的成果是将指引线正确地检测出来。此处重要借助反射式光藕TCRT5000。这是一种自带发光二极管和光敏三极管的器件,其集电极电流如与反射间隔d之间有图3所示干系。
TCRT5000的应用电路见如4所示。当检测到绿色地面时,由于反射率不高,IC1太小,三极管T2克制而输出高电平。当检测到白色地面时,由于反射率较高,IC1较大,三极管T2饱和而输出低电平,从而实现了白线的检测。555构成了施密特触发器,用于去除反射性光耦孕育产生的噪声和波形的整形。
2.3 举措电机控制电路
在呆板人寻线行走进程中,必要完陈规定的举措。这些举措的完成不必要控制相应举措电机的转速,本文直接利用I/O输出控制信号驱动固态继电器进而使直流电机举措。固态继电器选用松下电器公司双刀双掷(DPDT)型,型号为DS2Y-S-DC5V。
只管此继电器控制电压为5V,可与TrL的逻辑电平相兼容,但一样平常TTL芯片的输出电流还达不到其输入电流40mA。集电极开路的门电路(Open Collector Gate,简称OC门)可增大输出电流,并且继电器两控制真个输入电阻恰好可以作为OC门电路输出必要的上拉电阻。详细选用具有OC门布局的芯片ULN2003,它是由7个NPN达林顿管构成的高电压、高电流达林顿驱动器。由于每个DS2Y-S-DC5V提供两组常开端口,因此要是在两组端口的N.0,端口上分别连上电机电源的正极和地。则可以用两个继电器实现电机的正反转。
由于继电器在切换电压时,继电器线圈会孕育产生大的反电动势,必要在继电器切换电压的两端加续流二极管,以消除切换时的电火花,克制出现大的浪涌电流,淘汰继电器孕育产生的电磁滋扰。
3 含糊控制战略
呆板人的计划头脑是利用光电检测传感器检测车体偏离指引线的大小来调解左右驱动步进电机的行进速率,使呆板人沿指引线行进。这恰好切合含糊控制的头脑。
把前后光电检测板上的光电检测传感器编号,将检测到指引线的编号最大的光电检测传感器的编号作为车体偏离的间隔,编号要领如表1。如许,含糊控制器有两个输入:前后光电检测板的输入编号;含糊控制器有两个输出:左右步进电机驱动脉冲数。
含糊控制器的输入量的语言值含糊子集选取为:{LB,LS,ZO,RS,RB}。此中:LB=左大;LS=左小;ZO=中间;RS=右小;RB=右大。输出量的语言值含糊子集选取为:{NB,NM,NS,ZO,PS,PM,PB}。此中:NB=负大;NM=负中;NS=负小;Z0=零;PS=正小;PM=正中;PB=端正。
根据从属函数的定义和选取规矩,输入变量前部位置iF和后部位置iB的从属度选择雷同,如图5所示。输出变量左轮转速OUL和右轮转速OUR的从属度选择雷同,如图6所示。
根据多次的实行和修正,得到如表2的左轮转速控制规矩表(右轮的转速控制规矩表内容与左轮的转速控制规矩表映射,比方iF为RB、iB为LB时映射的OUL为NB,雷同可得到右轮转速控制规矩表)。含糊推理采取Mamdani法。反含糊化采取重心法,终极得到如表3所示的左轮转速控制信号输出表(右轮转速控制信号输出表可用雷同于右轮转速控制规矩表推导的要领得到)。在′F240存储空间中以表格的情势存储表3,根据输入可得到相应输出。
上述含糊信号的获取通过EPM7128用VHDL语言编程实现,此部分的编程相对大略,不再赘述。由于光电传感器信号的变化可以及时反应在CPLD的输出上,′F240只需定时读取此信号并做相应从处理惩罚即可。假设前光电检测板和后光电检测板的信号分别生存在RE_CPLD字节的高半字节、低半字节中,若这两个信号大于lO则保持原数据稳固,不然根据信号的大小谋略此值在转速控制信号输出表中的偏移量:
LDP #04h
LACC #MATRIXL
ADD ADDER_PS
此中#04h为生存转速表的页面,#MATRIXL为转速表肇始地点在页面中的偏移量,ADDER_PS为查表值相对转速表肇始地点的偏移量。若将查表得到的值变革后生存为控制步进电机转速的定时器的周期.则可以及时变化步进电机的转速:
LDP #04h
LACC Ml_TlPR
LDP #O0E8h
SACL TlPR
4 步进电机调速的实现
步进电机是纯粹的数字控制电动机。它将电脉冲信号转换成角位移,即给一个脉冲信号,电机转肯定角度。步进电机控制器的输入端口有:VDD——电机电源正极;GND——电源地线;OPTO——控制信号的大众阳极;DIR——电机方向控制端;FREE——脱机输入端;CP——脉冲输入端(CP克制施加脉冲时,要包管CP为高电平,使内部光耦克制)。此处给DIR端加高电平,使呆板人只向前行进,在步伐中只需对CP端举行处理惩罚。
脉冲的孕育产生通过控制I/O端口的电平变革实现。在设置了定时停止的种种参数后,在定时器停止处理惩罚步伐中使一个标记字不绝地加1:
LDP #04h
LACC TESTl
ADD #1
SACL TESTl
在主步伐中可以设置行走间隔,定时停止的时间隔断决定脉冲的频率,也即决定步进电机的活动速率:
LDP #04h
LACC TEST1
SUB #2000
BCND STOP,GT
此中,数值2000代表呆板人行走的间隔单位。利用含糊控制战略,变化控制两个步进电机的定时器定时周期的黑白以及行进的间隔,可以实现呆板人的寻线行进。
在总结近期参加的呆板人比赛和电子计划比赛的底子上,针对呆板人寻线行走的广泛请求,提出了一种基于
DSP+CPLD和含糊控制战略的呆板人实现要领。
利用该要领计划的呆板人参加了多种差别的呆板人比赛(如天下大门生呆板人电视大赛、足球呆板人比赛子项和电子计划比赛等),运行状态精良,获取了较抱负的结果,进而证明了此计划的有效性。