首页 理论教育 仿鱼机器人控制系统的优化设计

仿鱼机器人控制系统的优化设计

时间:2023-06-16 理论教育 版权反馈
【摘要】:控制系统是仿鱼机器人的重要组成部分,也可以称其为机器人的大脑和神经系统。自身也可联网,以形成单机所难以拥有的更大的、地域更广的控制系统。PLC还有强大的自检功能,可进行自诊断。其数量之多是继电器控制系统难以想象的。大型PLC的控制点数可达万点以上,而实际中很难遇到那么大的现实系统。用PLC对系统进行控制是非常可靠的。用户可依报警信号采取相应的应急措施。定时器的计时值若不超时,则重复起始的过程,PLC将正常工作。

仿鱼机器人控制系统的优化设计

控制系统是仿鱼机器人的重要组成部分,也可以称其为机器人的大脑和神经系统。从感知外部环境的变化,到经过处理器的处理,最后控制执行机构完成相应的动作,都有赖于控制系统的有效配合[161]

一般常用的控制器有PLC、FPGA、单片机、树莓派、DSP等,下面介绍和分析一下这几种控制器的特点。

1.PLC

图6-3 PLC控制器

可编程逻辑控制器(Programmable Logic Controller,PLC。见图6-3)是一种专门为在工业环境下应用而设计的数字运算操作电子系统[162]。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。PLC已在许多场合得到应用,这主要得益于它具有的一些特点。

(1)功能丰富。

PLC具有丰富的处理信息的指令系统和存储信息的内部器件[163]。它的指令多达几十条、几百条,可进行各式各样的逻辑处理,还可进行各种数据的运算。凡普通计算机能做到的,它也都能做到。它的内部器件,即内存中的数据存储区,种类繁多,容量宏大。

PLC还有丰富的外部设备,可建立友好的人机界面,以进行信息交换。可送入程序,送入数据,可读出程序,读出数据。而且读、写时可在图文并茂的画面上进行显示。数据读出后,可转储,可打印。

PLC还具有通信接口,可与计算机连接或联网,与计算机交换信息。自身也可联网,以形成单机所难以拥有的更大的、地域更广的控制系统。

PLC还有强大的自检功能,可进行自诊断。其结果可自动记录。这为它的维修增加了透明度,提供了方便。

丰富的功能为PLC的广泛应用提供了可能。同时,也为众多工业系统的自动化、远程化及其控制的智能化创造了条件。像PLC这样集丰富功能于一身,是别的电子控制器所没有的,更是传统的继电控制电路所无法比拟的。

(2)使用方便。

具体地讲,PLC有以下五个方便之处:

①配置方便。可按控制系统的需要确定要使用哪家的PLC,哪种类型的,用什么模块,要多少模块。确定后,到市场上订货购买即可。

②安装方便。PLC硬件安装简单,组装容易。外部接线有接线器,接线便捷,而且一次接好后,更换模块时,把接线器安装到新模块上即可,不必再接线。内部什么线都不要接,只要作些必要的开关设定或软件设定,以及编制好用户程序就可直接工作。

③编程方便。PLC内部虽然没有什么实际的继电器、时间继电器、计数器,但它通过程序(软件)与系统内存沟通,这些器件却实实在在地存在着。其数量之多是继电器控制系统难以想象的。即使是小型的PLC,内部继电器都可以数以千计,时间继电器、计数器也是数以百计。而且,这些继电器的接点可无限次地使用。PLC内部逻辑器件之多,用户用起来已很难感到有什么限制。唯一需要考虑的只是出入点。而这个内部出入点即使用得再多,也无关紧要。大型PLC的控制点数可达万点以上,而实际中很难遇到那么大的现实系统。若实在不够,还可联网进行控制,不受什么限制。PLC的指令系统也非常丰富,可以毫不困难地实现种种开关量和模拟量的控制。PLC还有存储数据的内存区,可存储控制过程中所有要保存的信息。

④维修方便。PLC工作可靠,出现故障的情况不多,这大大减轻了维修的工作量。即使PLC出现了故障,维修起来也很方便。这是因为PLC中设有很多故障提示信号,如PLC支持内存保持数据的电池电压不足,相应的就有电压低信号指示。而且PLC本身还可作故障情况记录。所以,PLC出现了故障,很容易诊断。同时,诊断出故障后排除故障也很简单。可按模块排除,而模块的备件在市场上可以买到,进行简单的更换就可以了。至于软件,调试好后不会出故障,最多也只要依据使用经验进行调整,使之完善就是了。

⑤改用方便。PLC用于某设备,若这个设备不再使用了,其所用的PLC还可给别的设备使用,只要改编一下程序,就可办到。如果原设备与新设备差别较大,它的一些模块还可重用。

(3)工作可靠。

用PLC对系统进行控制是非常可靠的。这是因为PLC在硬件与软件两个方面都采取了很多措施,确保它能可靠地工作。事实上,如果PLC工作不可靠,就无法在复杂的工业环境下运用,也就不成其为PLC了。

在硬件方面,PLC的输入输出电路与内部CPU采用了电隔离,其信息靠光耦器件或电磁器件传递,而且CPU板还有抗电磁干扰的屏蔽措施。故可确保PLC程序的运行不会受到外界的电磁干扰,能够正常地工作。PLC使用的元器件多为无触点,且为高度集成,数量并不太多,这些也为其可靠工作提供了物质基础。在机械结构设计与制造工艺上,为使PLC能安全可靠地工作,也采取了很多措施,可确保PLC耐振动、耐冲击。其使用环境温度可高达50℃以上,有的PLC可高达80~90℃。有的PLC的模块可热备份,一个主机工作,另一个主机也运转,但不参与控制,仅作备份。一旦工作主机出现故障,热备份的可自动接替其工作。还有更进一步冗余的采用三取一的设计:CPU、I/O模块、电源模块都冗余或其中的部分冗余。三套同时工作,最终输出取决于三者中的多数决定的结果。这可使系统出现故障的概率几乎为零,做到万无一失。当然,这样的系统成本是很高的,只用于特别重要的场合,如铁路车站的道岔控制系统。

在软件方面,PLC的工作方式为扫描加中断,这样既可保证它能够有序地工作,避免继电控制系统常常出现的“冒险竞争”,其控制结果总是确定的;而且又能够应急处理那些急待处理的控制,保证了PLC对应急情况的及时响应,使PLC能可靠地工作。

为监控PLC运行程序是否正常,PLC系统设置了“看门狗”(Watchingdog)监控程序。运行用户程序开始时,先清理“看门狗”定时器,并开始计时[164]。当用户程序一个循环运行完了,则查看定时器的计时值。若超时(一般不超过100 ms),则报警。严重超时,还可使PLC停止工作。用户可依报警信号采取相应的应急措施。定时器的计时值若不超时,则重复起始的过程,PLC将正常工作。显然,有了这个“看门狗”监控程序,可保证PLC用户程序的正常运行,可避免出现“死循环”而影响其工作的可靠性。PLC还有很多防止及检测故障的指令,以产生各重要模块工作正常与否的提示信号。可通过编制相应的用户程序,对PLC的工作状况,以及PLC所控制的系统进行监控,以确保其可靠工作。PLC每次上电后,还都要运行自检程序及对系统进行初始化。这是系统程序配置好了的,用户可不干预。出现故障时会有相应的出错信号提示。正是PLC在软、硬件诸方面有强有力的可靠性措施,才确保了PLC具有可靠工作的特点。它的平均无故障时间可达几万小时以上;出了故障平均修复时间也很短,几小时甚至几分钟即可。曾有人做过为什么要使用PLC的问卷调查。在回答中,多数用户把PLC工作可靠作为选用它的主要原因,即把PLC能可靠工作作为其首选指标。

(4)经济合算。

高新技术的使用必将带来巨大的社会效益与经济效益,这是科技是第一生产力的体现,也是高新技术生命力之所在。PLC也是如此。尽管使用PLC首次投资要大些,但从全面及长远看,使用PLC还是划算的。这是因为:使用PLC的投资虽大,但它的体积小、所占空间小,辅助设施的投入少;使用时省电,运行费用低;工作可靠,停工损失少;维修简单,维修费少;还可再次使用以及能带来附加价值,等等,从中可得更大的回报。所以,在多数情况下,它的效益是可观的。

2.FPGA

图6-4 FPGA控制器

FPGA是现场可编程门阵列的英文首字母组合(Field-Programmable Gate Array,FPGA),见图6-4,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物[165]。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数量有限的缺点。

FPGA是一种可重新编程的硅芯片,使用预建的逻辑块和可重新编程的布线资源,用户无须再使用电路试验板或烙铁,就能配置这些芯片来实现自定义的硬件功能[166]。用户在软件中开发数字计算任务,并将它们编译成配置文件或比特流,其中包含元器件相互连接的信息。此外,FPGA可完全重新配置,当用户在重新编译不同的电路配置时,能够当即呈现全新的特性。过去,只有熟知数字硬件设计的工程师们懂得使用FPGA技术。然而今天,高层次设计工具的兴起正在改变FPGA编程的方式,其中的新兴技术能够将图形化程序框图,甚至是C代码都转换成数字硬件电路。

各行各业纷纷采用FPGA芯片是源于其融合了ASIC和基于处理器的系统的最大优势。FPGA能够提供硬件定时的速度和稳定性,且无须投入类似自定制ASIC设计的巨额前期费用。可重新编程的硅芯片的灵活性与在基于处理器的系统上运行的软件相当,但它并不受可用处理器内核数量的限制。与处理器不同的是,FPGA属于真正的并行工作,因此不同的处理操作无须竞争相同的资源。每个独立的处理任务都配有专用的芯片部分,能在不受其他逻辑块的影响下自主运作。因此,添加更多处理任务时,其应用性能也不会受到影响。

FPGA的五大优势可通过性能、上市时间、成本、稳定性、长期维护反映出来。

(1)性能。

利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内可完成更多的处理任务,超越了数字信号处理器(DSP)的运算能力[167]。著名的分析与基准测试公司BDTI发布基准表明,在某些应用方面,FPGA每美元的处理能力是DSP解决方案的多倍。在硬件层面控制输入和输出(I/O),为满足应用需求提供了更快速的响应时间和专业化的功能。

(2)上市时间。

尽管上市的限制条件越来越多,FPGA技术仍提供了灵活性和快速原型的能力。用户可以测试一个想法或概念,并在硬件中完成验证,而无须经过自定制ASIC设计漫长的制造过程。由此用户就可在数小时内完成逐步的修改并进行FPGA设计迭代,省去了几周的时间。

(3)成本。

自定制ASIC设计的非经常性工程(NRE)费用远远超过基于FPGA的硬件解决方案所产生的费用[168]。ASIC设计初期的巨大投资表明了原始设备制造商每年需要运输数千种芯片,但更多的最终用户需要的是自定义硬件功能,从而实现数十至数百种系统的开发。可编程芯片的特性意味着用户可以节省制造成本以及漫长的交货组装时间。

(4)稳定性。

软件工具提供了编程环境,FPGA电路是真正的编程“硬”执行过程。基于处理器的系统往往包含了多个抽象层,可在多个进程之间计划任务、共享资源。驱动层控制着硬件资源,而操作系统管理内存和处理器的带宽。对于任何给定的处理器内核,一次只能执行一个指令,且基于处理器的系统时刻面临着严格限时的任务相互取占的风险。而FPGA不使用操作系统,拥有真正的并行执行和专注于每一项任务的确定性硬件,可减少稳定性方面出现问题的可能。

(5)长期维护。

正如上文所提到的,FPGA芯片是现场可升级的,无须重新设计ASIC所涉及的时间与费用投入。举例来说,数字通信协议包含了可随时间改变的规范,而基于ASIC的接口可能会造成维护和向前兼容方面的困难。可重新配置的FPGA芯片能够适应未来需要作出的修改。随着产品或系统成熟,用户无须花费时间重新设计硬件或修改电路板布局就能增强功能。

图6-5 单片机控制器

3.单片机(www.xing528.com)

单片机又称单片微控制器(见图6-5),它不是完成某一逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机。与普通的计算机相比,单片机只是缺少了I/O设备,其他的功能样样俱全。简单而言,一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、功能丰富,为学习、应用和开发提供了多种便利条件。单片机的使用领域十分广泛,如智能仪表、实时工控、通信设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到“画龙点睛”的功效,使产品升级换代,故人们常在装有单片机的产品名称前冠以形容词——“智能型”,如智能型洗衣机[169]

单片机作为计算机发展的一个重要分支领域,根据发展情况,从不同角度进行分类,单片机大致可以分为通用型/专用型、总线型/非总线型,以及工控型/家电型。

通用型单片机是按单片机的适用范围来区分的。例如,80C51式通用型单片机不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路[170]

总线型单片机是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行,外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成到一片内,因此在许多情况下可以不要并行扩展总线,大大减省了封装成本和芯片体积,这类单片机称为非总线型单片机。

控制型单片机是按照单片机大致应用的领域进行区分的。一般而言,工控型单片机寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。显然,上述分类并不是唯一和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控型用。

与普通的微型计算机相比,单片机主要具有以下特点:

(1)体积小、结构简单、可靠性高。

单片机把各功能部件集成在一个芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力[171]。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。

(2)控制能力强。

单片机虽然结构简单,但是它“五脏俱全”,具备了足够的控制功能[172]。单片机具有较多的I/O口,CPU可以直接对I/O进行算术操作、逻辑操作和位操作,指令简单而丰富。所以单片机也是“面向控制”的计算机。

(3)低电压、低功耗。

单片机可以在2.2 V的电压下运行,有的也能在1.2 V或0.9 V下工作;功耗降至μA级,一颗纽扣电池就可供其长期使用。

(4)优异的性能/价格比。

由于单片机构成的硬件结构简单、开发周期短、控制功能强、可靠性高,因此,在达到同样功能的条件下,用单片机开发的控制系统比用其他类型的微型计算机开发的控制系统价格更便宜。

4.树莓派

树莓派是微型卡片式电脑(见图6-6),体积只有银行卡大小,可以加载Linux系统和Windows IOT系统,然后可以运行这些系统之上的应用程序,可以应用于嵌入式和物联网领域,也可以作为小型的服务器,完成一些特定的功能[173]

图6-6 树莓派控制器

与嵌入式微控制器(常见的51单片机和STM32)相比,除了可以完成相同的IO引脚控制之外,因为运行有相应的操作系统,可以完成更复杂的任务管理与调度,能够支持更上层应用的开发,为开发者提供了更广阔的应用空间。比如开发语言的选择不仅仅只限于C语言,连接底层硬件与上层应用,可以实现物联网的云控制和云管理,也可以忽略树莓派的IO控制,使用树莓派搭建小型的网络服务器,做一些小型的测试开发和服务。

与通用的PC平台相比,树莓派提供的IO引脚可以直接控制其他的底层硬件,这是通用PC做不到的,同时它的体积更小,成本更低,同样可以完成一些PC任务与应用。

所谓成也萧何败也萧何,树莓派的最大优势同时也是自身的短板,它提供了比嵌入式微控制器更多选择与应用的同时,牺牲了自己的性能优势,可能只是完成一个很小的IO控制功能却要运行一个庞大的操作系统作为支撑,显得有些得不偿失,它比通用的PC平台体积小、成本低,但是在性能上却无法与PC相比,无法完成复杂的计算应用。

事物一般都具有两面性,人们要做的是充分发挥其有利的一面。为什么选择树莓派,适合才是最重要的,在嵌入式和物联网开发中,如果需要开发板提供IO引脚控制,同时又需要在操作系统层面进行应用控制开发,那么树莓派就是最合适的。另外,树莓派作为小型的网络应用服务器也是非常具有应用价值的。

5.DSP

数字信号处理器(Digital Signal Processor,DSP,见图6-7)是一种独特的微处理器,它采用数字信号来处理大量信息[174]。工作时,它先将接收到的模拟信号转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。DSP不仅具有可编程性,而且其实时运行速度极快,可达每秒数以千万条复杂指令程序,远远超过通用微处理器的运行速度,是数字化电子世界中重要性日益增加的电脑芯片。强大的数据处理能力和超高的运行速度是其最值得称道的两大特色。超大规模集成电路工艺和高性能数字信号处理器技术的飞速发展使得机器人技术如虎添翼,将得到更好的发展。

图6-7 DSP处理器

(1)DSP的特点。

DSP的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作模式,提供特殊的DSP指令,可以用来快速实现各种数字信号处理算法。根据数字信号处理的相关要求,DSP芯片一般具有如下特点:

①在一个指令周期内可完成一次乘法和一次加法;

②程序和数据空间分开,可以同时访问指令和数据;

③片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

④具有低开销或无开销循环及跳转的硬件支持;

⑤具有快速中断处理和硬件I/O支持功能;

⑥具有在单周期内操作的多个硬件地址产生器;

⑦可以并行执行多个操作;

⑧支持流水线操作,使取指、译码和执行等操作可以重叠进行。

(2)DSP的驱动外设。

DSP使用外设的方法与典型的微处理器有所不同,微处理器主要用于控制,而DSP则主要用于实时数据的处理。它通过提供采样数据的持续流迅速地从外设移至DSP核心实现优化,从而形成了与微处理器在架构方面的差异。

目前,TI(德州仪器)公司出产的DSP应用十分广泛,并且随着DSP功能越来越强、性能越来越好,其片上外设的种类及应用也日趋复杂。DSP程序开发包含两方面内容:一是配置、控制、中断等管理DSP片内外设和接口的硬件相关程序;二是基于应用的算法程序。在DSP这样的系统结构下,应用程序与硬件相关程序结合在一起,限制了程序的可移植性和通用性。但通过建立硬件驱动程序的合理开发模式,可使上述现象得到改善。硬件驱动程序最终以函数库的形式被封装起来,应用程序则无须关心其底层硬件外设的具体操作,只需通过调用底层程序,驱动相关标准的API与不同外设接口进行操作即可。

(3)DSP的编程语言。

DSP本质上是一个非常复杂的单片机,使用机器语言和汇编语言进行编程的难度很大,开发周期也比较漫长,所以一般选用高级语言为DSP编程。一般而言,C语言是人们的首选。为编译C代码,芯片公司推出了各自的开发平台以供开发者使用。例如TI公司出产的DSP采用CCS开发平台(图6-8);ADI公司出产的DSP则采用了VDSP++开发平台(图6-9)。

图6-8 CCS开发平台

图6-9 VDSP++开发平台

综合考虑控制能力和经济条件,本文研制的仿鱼机器人采用STM32单片机作为控制系统的核心芯片。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈