历史上的今天
返回首页

历史上的今天

今天是:2025年04月08日(星期二)

正在发生

2021年04月08日 | 基于DSP芯片TMS320F240和CPLD实现寻路机器人的设计

2021-04-08 来源: 电子技术应用

在最近的机器人比赛和设计竞赛中,较多参赛题目要求机器人沿场地内白色或黑色指引线行进。一些研究人员提出了基于寻线的机器人设计策略,主要是关注指引线的检测,但对于机器人的整体设计未做说明。本文在总结此类赛事的基础上,提出了一种将(Digital Signal Processor)和(Complex Progmable Logic Device)作为核心处理器,采用模糊控制策略处理来自检测指引线信号的机器人行走机构的通用性设计方法。

1 车体机械设计

由于机器人比赛对参赛机器人有严格的尺寸限制,需要在有限的空间内合理安排各个机构。本文给出车体最小尺寸时驱动轮、光电传感器以及控制芯片之间的相对位置,如图1所示。

机器人采用双直流驱动方式,其额定电压为24V。车体的前后端分别安装光电传感器检测板实现指引线的检测。相邻光电传感器距离略小于指引线宽度,保证同时有两个传感器可以检测到指引线。

2

这部分主要介绍核心控制器DSP与功能扩展芯片CPLD的连接,简要介绍其它功能模块的硬件实现。系统整体结构如图2所示。

2.1 核心控制器设计

从′F240的特点可以看出,′F240可用于实现复杂控制算法和进行复杂的机器人动作控制。然而根据车体设计方案,需要在车体上安装20个光电检测传感器,占用控制器的20个I/O端口。这样,′F240可用于扩展功能的I/O端口大大减少。机器人在比赛中会有比较剧烈的撞击,如设计各种功能会严重降低控制板的可靠性。此处选用公司的EPM7128作为核心处理器的扩展、模糊控制的输入。为满足DSP与CPLD之间的协同处理,′F240与EPM7128可采用如图2所示的电路连接。′F240的16根数据线和A12~A15共4根地址线连到EPM7128,通过选择信号、写信号和读信号完成对EPM7128的读写操作。EPM7128的I/O端口主要在MAX+PlusⅡ编程环境下通过软件和硬件管脚设置实现。这种DSP+CPLD的结构可以在充分扩展系统功能的同时,使DSP更能发挥其运算功能强大的特点。

稳压电路主要由LM7805芯片组成;信号输入电路由微动经反相器71HC14后再送往DSP,微动开关输入电路有去耦电路,输出信号加上拉;显示模块采用MAX7219芯片驱动,八位数码管,每个LED对应三个I/O端口。

2.2 光电检测模块

光电检测模块的功能是将指引线准确地检测出来。此处主要借助反射式光藕TCRT5000。这是一种自带和光敏的器件,其集电极Ic与反射距离d之间有图3所示关系。

TCRT5000的应用电路见如4所示。当检测到绿色地面时,由于反射率不高,Ic1太小,三极管T2截止而输出高电平。当检测到白色地面时,由于反射率较高,Ic1较大,三极管T2饱和而输出低电平,从而实现了白线的检测。555构成了施密特,用于去除反射性产生的噪声和波形的整形。

2.3 动作电路

在机器人寻线行走过程中,需要完成规定的动作。这些动作的完成不需要控制相应动作电机的转速,本文直接利用I/O输出控制信号驱动进而使直流电机动作。固态选用松下电器公司双刀双掷(DPDT)型,型号为DS2Y-S-DC5V。尽管此继电器控制电压为5V,可与TTL的逻辑电平相兼容,但一般TTL芯片的输出电流还达不到其输入电流40mA。集电极的门电路(Open Collector Gate,简称OC门)可增大输出电流,并且继电器两控制端的输入电阻刚好可以作为OC门电路输出需要的上拉电阻。具体选用具有OC门结构的芯片ULN2003,它是由7个NPN达林顿管组成的高电压、高电流达林顿驱动器。 因为每个DS2Y-S-DC5V提供两组常开端口,因此如果在两组端口的N.O.端口上分别连上电机的正极和地,则可以用两个继电器实现电机的正反转。由于继电器在切换电压时,继电器线圈会产生大的反电动势,需要在继电器切换电压的两端加续流,以消除切换时的电火花,避免出现大的浪涌电流,减少继电器产生的电磁干扰。

机器人的设计思想是利用光电检测传感器检测车体偏离指引线的大小来调整左右驱动步进电机的行进速度,使机器人沿指引线行进。这恰好符合模糊控制的思想。

把前后光电检测板上的光电检测传感器编号,将检测到指引线的编号最大的光电检测传感器的编号作为车体偏离的距离,编号方法如表1。这样,模糊控制器有两个输入:前后光电检测板的输入编号;模糊控制器有两个输出:左右步进电机驱动脉冲数。

模糊控制器的输入量的语言值模糊子集选取为:{LB,LS,ZO,,RB}。其中:LB=左大;LS=左小;ZO=;RS=右小;RB=右大。输出量的语言值模糊子集选取为:{NB,NM,NS,ZO,PS,PM,PB}。其中:NB=负大;NM=负中;NS=负小;ZO=零;PS=正小;PM=正中;PB=正大。

根据隶属函数的定义和选取规则,输入变量前部位置 和后部位置iB的隶属度选择相同,如图5所示。输出变量左轮转速OUL和右轮转速OUR的隶属度选择相同,如图6所示。

根据多次的实验和修正,得到如表2的左轮转速控制规则表(右轮的转速控制规则表内容与左轮的转速控制规则表对应,例如iF为RB、iB为LB时对应的OUL为NB,类似可得到右轮转速控制规则表)。模糊推理采用Mamdani法。反模糊化采用重心法,最终得到如表3所示的左轮转速控制信号输出表(右轮转速控制信号输出表可用类似于右轮转速控制规则表推导的方法得到)。在′F240存储空间中以表格的形式存储表3,根据输入可得到相应输出。

上述模糊信号的获取通过EPM7128用VHDL语言编程实现,此部分的编程相对简单,不再赘述。由于光电传感器信号的改变可以实时反映在CPLD的输出上,′F240只需定时读取此信号并做相应从处理即可。假设前光电检测板和后光电检测板的信号分别保存在RE_CPLD字节的高半字节、低半字节中,若这两个信号大于10则保持原数据不变,否则根据信号的大小计算此值在转速控制信号输出表中的偏移量:

其中#04h为保存转速表的页面,#MATRIXL为转速表起始地址在页面中的偏移量,DER_PS为查表值相对转速表起始地址的偏移量。若将查表得到的值变化后保存为控制步进电机转速的定时器的周期,则可以实时改变步进电机的转速:

4 步进电机调速的实现

步进电机是纯粹的数字控制。它将电脉冲信号转换成角位移,即给一个脉冲信号,电机转一定角度。步进电机控制器的输入端口有:VDD——电机电源正极;GND——电源地线;OPTO——控制信号的公共阳极;DIR——电机方向控制端;FREE——脱机输入端;CP——脉冲输入端(CP停止施加脉冲时,要保证CP为高电平,使内部光耦截止)。此处给DIR端加高电平,使机器人只向前行进,在程序中只需对CP端进行处理。

脉冲的产生通过控制I/O端口的电平变化实现。在设定了定时中断的各种参数后,在定时器中断处理程序中使一个标志字不停地加1:

在主程序中可以设定行走距离,定时中断的时间间隔决定脉冲的频率,也即决定步进电机的运动速度:

其中,数值2 000代表机器人行走的距离单位。利用模糊控制策略,改变控制两个步进电机的定时器定时周期的长短以及行进的距离,可以实现机器人的寻线行进。

在总结近期参加的机器人比赛和电子设计竞赛的基础上,针对机器人寻线行走的普遍要求,提出了一种基于DSP+CPLD和模糊控制策略的机器人实现方法。利用该方法设计的机器人参加了多种不同的机器人比赛(如全国大学生机器人电视大赛、足球机器人比赛子项和电子设计竞赛等),运行状况良好,取得了较理想的成绩,进而证实了此设计的有效性。

责任编辑:gt

推荐阅读

史海拾趣

安路科技(Anlogic)公司的发展小趣事

随着技术的不断积累和市场的逐步开拓,安路科技在XXXX年成功推出了其首款高性能FPGA产品。这款产品以其优异的性能、稳定的品质和良好的性价比,迅速赢得了市场的青睐。此后,安路科技的产品线不断丰富,逐渐覆盖了更多应用领域,公司的市场份额也逐年攀升。

EOZ S.A.S公司的发展小趣事

EOZ S.A.S公司非常重视企业文化和团队建设。公司倡导“创新、协作、共赢”的价值观,鼓励员工积极参与创新活动并分享创新成果。同时,公司还注重员工的培训和发展,为员工提供丰富的培训资源和晋升机会。这些举措不仅激发了员工的积极性和创造力,也为企业的发展提供了有力的人才保障。在EOZ S.A.S公司的发展历程中,优秀的企业文化和团队成为公司最宝贵的财富之一。

上海国芯(Gcore)公司的发展小趣事
确保电源稳定,避免因电源波动影响电路的准确性和稳定性。
E-Z-HOOK公司的发展小趣事

在1956年的一个晴朗午后,E-Z-HOOK的创始人阿尔伯特·史密斯(化名)在实验室里遇到了一个棘手的问题。他正在测试一个复杂的电子系统,但发现现有的测试工具无法满足他的需求。于是,他动手设计并制造出了第一个E-Z-HOOK测试钩,这个简单但实用的工具极大地方便了他的工作。史密斯看到了这个产品的巨大潜力,于是决定成立一家公司来专门生产这种测试钩。这就是E-Z-HOOK公司的起源。

EAO公司的发展小趣事

面对全球市场的竞争压力,EAO公司坚定实施全球化战略。公司在全球范围内建立了完善的销售网络和售后服务体系,为客户提供及时、高效的服务。同时,EAO公司还积极寻求与国际知名企业的合作机会,共同开拓市场、分享资源。通过全球化战略的实施,EAO公司不断提升品牌影响力和市场竞争力。

Bergquist Company公司的发展小趣事

为了进一步扩大市场份额,Bergquist Company开始积极拓展全球市场。公司先后在英国、德国、韩国等地设立了办事机构,并在30多个国家设立了销售代表处。这些举措不仅使公司的产品和服务覆盖了更广泛的地区,还为公司带来了更多的商业机会。同时,Bergquist Company还积极寻求与其他企业的合作,通过技术交流和资源共享,不断提升自身的竞争力。

问答坊 | AI 解惑

mini2440上USB转串口的问题,大家是如何解决的?

试过好几根了,都是乱码   在开发ARM9 mini2440时,有谁用过好用的USB转串口啊?…

查看全部问答>

多级放大电路的耦合方式

讲的很全……………………………………………………

查看全部问答>

微处理器(Microprocessor)的分类

通用处理器(GPP)    采用冯.诺依曼结构,程序和数据的存储空间合二而一 8-bit Apple(6502),NEC PC-8000(Z80) 8086/286/386/486/Pentium/Pentium II/ Pentium III PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP) CISC ...…

查看全部问答>

请问 输入到串口终端的数据保存在哪里?

请问 输入到串口终端的数据保存在哪里? 由于串口采用的是行模式 ,当输入数据时,必须输入 回车 键,数据才被读取。 我想通过编程的方式模拟手动按enter键的过程来使输入的数据被读取。有知道如何编的吗? 之所以有这种需求,使由于 驱动通过 ...…

查看全部问答>

求助:arm启动代码

在2440init.s里面有怎么一段,我不理解,希望大家给我讲讲: 代码如下: SMRDATA DATA         DCD (0+(B1_BWSCON…

查看全部问答>

现在是做JAVA开发的(计算机专业出身的),想转硬件开发,大家给我指一条学习路线吧,谢谢各位了。

现在是做JAVA开发的(计算机专业出身的),想转硬件开发,大家给我指一条学习路线吧,谢谢各位了。 …

查看全部问答>

我的原理图

原理图比较粗糙,大家对付着帮忙挑错哈!…

查看全部问答>

【求助】430能产生1M的方波吗?(不影响其他的工作)

我现在需要一个1M的方波驱动抗混滤波器,能用430F1611产生一个1M的方波吗? 现在的情况是,如果用定时器A中断产生方波影响CPU的正常工作了。 请高手指点!谢谢。…

查看全部问答>

准备用TI的CORTEX系列做个东西,正纠结做啥好:)

看着大家做的东西挺好,准备用TI的芯片做点好玩的东西。。。纠结了好久实用的有三个: 1.网络收音机 2.PDA 3.掌上游戏机     网络收音机:     这个就不考虑了,这个论坛上已经有人实现了的。但是很多都是用硬件解 ...…

查看全部问答>

请问一下launchpad发的是什么快递

请问一下launchpad发的是什么快递,我第五批的,现在还没收到,想知道发是什么快递,我好去查一下,谢谢了 [ 本帖最后由 hytz845 于 2012-7-10 12:41 编辑 ]…

查看全部问答>