资源描述
1自动机器人(无忌)的电气控制设计.11.1 整体设计思路.11.1.1 控制思路和控制结构的设计.11.1.2 控制协议的设计.21.1.3 硬件设计.21.1.4 软件的设计.21.2 控制思路的设计.31.3 控制硬件的设计.51.3.1 计算机系统的设计.51.3.2 控制驱动的设计.71.3.3 键盘扫描和信息处理模块的设计.101.4 软件设计.111.4.1 PC机的控制程序.111.4.2 16位单片机的控制程序.121.4.3 下位机程序.122小礼品机器人的电气控制设计.142.1 硬件的选型.142.1.1 电机的选择.142.1.2 驱动器的选择.152.1.3 控制器的选择.162.2 基本控制的实现.162.3.1 稳压器件的选择和使用.222.3.2 传感器信号输入通道.232.3.3 执行机构控制及驱动电路.252.3.4 手臂翻转机构位置的闭环控制.312.3.5 行走步进电机的接口电路.322.3.6 矩阵扫描式键盘及数码管显示电路.322.3.7 用光电传感器实现白线检测.342.3 机器人的软件组成.382.3.1 主控制器的软件组成.382.3.2 从控制器的软件组成.382.3.3 部分子程序的结构介绍.393大礼品机器人的电气控制设计.513.1 PID控制算法.513.1.1 经典PID控制算法.513.1.2 数字PID控制算法的改进.533.1.3 常川的PI控制算法.553.1.4 PI参数的整定方法.563.2 数字PID控制硬件组成.573.2.1 光学编码器的简单原理.573.3 PI控制器的软件设计.593.3.1 操作理论.603.3.2 操作指令.623.3.3 PI控制器的软件设计注意事项.653.4 大礼品机器人电控设计.653.4.1 总体设计.653.4.2 主机对PI控制器的运动控制.663.4.3 主机对机器人动作的控制.67344鹊桥止卡.683.4.5 键盘控制接口.703.4.6 其它.704人工机器人的电气控制设计.714.1 人工机器人整体设计思路.714.2 人工机器人操作手柄的设计思路.734.2.1 操作手柄方案一的设计.734.2.2 操作手柄方案二的设计.764.3接收控制板的设计.834.3.1器件及原理介绍.834.3.1直流电机的驱动电路.884.3.1过流保护的思想.934.3.2电源监测及CPU监控电路的设计.964.4 程序的编写.1034.4.1 方案一的手柄程序设计.1034.4.2 方案二的手柄程序设计.1044.4.3 接收控制板的程序设计.1084.5 几点经验与教训.1094.5.1 整个系统方案的选择。.1094.5.2 PWM驱动电路光耦的选择.1094.5.3 MOSFET 的选择.1114.5.4 继电器的选择.1124.5.5 PCB板的一些设计经验.1125其他相关技术.1155.1 伺服器(舵机).1155.1.1 伺服器方案的提出.1155.1.2 伺服器的控制原理.1165.1.3 伺服器的实际安装和应用.1205.1.4 伺服器的输入信号.1205.2 电阻丝作熔断器.1261自动机器人(无忌)的电气控制设计我们从整体上考虑,我们需要有一个机器人群体,一个可以组合、可以配合的机 器人团队,再加上一些限制条件,我们基本上得到了这样的结论:我们要有自动机器 人:在自动区内的灵活性要大的,有一定的智能,能够处理一些其他机器人处理不了 的情况。人工机器人:在人工区工作的机器人,因为由人工控制,所以它的灵活性要 大很多,主要取决于机械性能和操作手的熟练程度。冲中机器人:主要负责最高的 3m篮,目的是以最快的速度占领制高点,因为那是取胜的关键所在。干扰机器人:配合其他机器人工作的机器人,目的主要是用来阻碍别人的前进,给自己的队伍赢来 相对多的时间。封篮机器人:因为我们必须要防止别人CS。这样为我们以分数,或 者CS获胜赢得机会。于是我们有了自己的方案,有了自己的组合,自己的参赛准则,我们开始设计 自己的机器人。自动机器人要求有非常大的灵活性和很好的稳定性。对我们的设计工作提出了 很高的要求,于是在我们所学的范围内,和我自己所掌握的一些知识,我做了几个方 面的工作:1、控制思路和控制结构的设计。2、控制协议的设计。3、控制硬件的设 计。4、控制软件的设计。1.1 整体设计思路1.1.1 控制思路和控制结构的设计控制思路,就是对机器人的控制整体的把握,在机器人控制上除了经典控制理 论为,还有很多逻辑控制,因为机器人要作出很多类似于人的判断,这些东西又被称 为“拟人控制”。这样的东西,有很多判断,只有机器人能做出相应的判断,才可能 进一步去深入了解下面怎么处理,这种判断有一定的范围和界限。不是能够像人类这 样的完美。控制结构的设计,主要是根据控制对象和控制目的,选择相成的控制构架,控制组合。为了提高机器人的可靠性和灵活性。实现灵活性和可靠性的相统一,我把 整个控制分成了三个部分:一、上位机,PC机部分,主要产生一些数据信息,主要 以路径信息和投球信息。二、96控制部分,主要用来做逻辑判断和一些控制运算,和处理部分传感器的信息。三、下位机,51控制部分,主要作用是接收96发来的指 令,来控制步进电机和投篮电机。传感器的处理也主要有51来完成。这样的三级结 构,构成了我们自动机器人的控制。1.1.2 控制协议的设计说是控制协议,其实是PC机、96单片机、51单片机之间的控制指令的。由于 系统较大,涉及的范围比较广泛,为了有一个统一的标准,使得各个级别之间都可以 很好的衔接起来,保证系统的稳定、可靠的工作,控制协议的设计和编写是一个很重 要的过程,因为它是准绳,没有它我们的下一步工作很难进行。1.1.3 硬件设计从控制思路的雏形到控制思路的完善,我们做了大量的工作,但是最终的一点是 我们必须实现我们的控制思想。硬件设计就涵盖了大量的要求:1、满足我们所需要 的计算机控制系统。2、满足我们佶息采集所需要的各种接口。3、保证我们数据传输 时,传输通道的通畅。4、保证我们控制软件做小的改动的情况下,硬件部作改动就 可以满足要求,即我们硬件的通用性。5、满足我们机器人控制的所有驱动电路,机 器人控制最终针对的都是一些机械装备,他们要运动起来的所需的能量,不是计算机 系统所能提供的,必须要有外部驱动电路,驱动电路要能够可靠的工作,要有与计算 机系统可以相互连接的接口。1.1.4 软件的设计硬件的设计,完成了之后,最重要的就是软件的设计。软件号称机器的灵魂,不 错,一个好的软件系统,可以让机器更加可靠、灵活地工作。对于我们的自动机器人,从控制结构上,我们可以看出我们有三个层次的软件要写:1、PC机程序,使川VB 编写。2、下位机:主要是96和51,使用汇编编写(或C语言)。1.2 控制思路的设计控制思路的设计,从我们比赛的要求,根据各种MCU在其中的作用和地位,设 计了入上图所示一个控制结构图(如图4-1所示)。我们的控制方案有两个:一、把 上位机PC产生的数据存到80C196的存储器中。二、利用审口通讯,把数据从PC 机上传输到80C196的寄存器中(数据量不是很大一般为32字节左右)。其她的控 制思路都是一样的,目的是为了保证机器人的可靠工作和灵活性,所以做了两种数据 传输方案。控制协议图1.1机器人控制结构图控制协议,实际上是上位机与下位机之间传输的控制数据的意义,在机器人的 路径的控制中,我们总共需要的控制有:电机的转动方向,电机的速度。地面白线数 目,和投篮控制指令。因为我们的机器人,在一开始设计时,就以寻白线为主的。下 而就是一个我们自己设计的控制协议,所有的数据都要通过80C196KB,由这个16 位单片机来翻译上位机的数据,在发送控制指令。从而达到机器人的控制。PC机生成的数据表1.1第一字节:方向和速度控制字节D7D6D5D4定义D3D2D1D0速度控制位方向控制位标志位数据彳正 1H0001直线刖0001方 2H0010小弧后0010向3H0011大弧左0011反 90H1001右0100方 A0H1010向B0H1011表1.2第二字节:投球标志位和白线格数定义D7D6D5D4定义D3D2D1D0标志投球标志位白线格数不投球00001格0001投低篮00102格0010投高篮00113格001180cl96产生的控制数据表1.3步进电机控制指令定义D7D6D5D4D3D2D1D0速度第一电机第二低电机MID*00方向01速度00方向01HIGH二01100110LOW三10停止0010停止00;调偏四1111F1111;不调五1100C1100六1101D七1110E八01117九1011B十0011311010041210008表1.4投篮电机控制指令定义D7D6D5D4D3D2D1DO投篮控制位白线数不投000010001投低001020010投高0011300114010050101601101.3控制硬件的设计1.3.1 计算机系统的设计因为我们川的是计算机控制系统,采用的是80C196KB的单片机、外部E2Prom 16位数据总线。由于数据线为16位的,如下图所示,最小的计算机系统,这种系统 中只外接ROM,只有读操作,在16位总线中,读操作只能是按字进行的。ADO AD15的外部用法比较简单,与8位单片机的线路是雷同的。当CPU开始向外部存 储器取指时,地址锁存允许信号ALE升高AD0-AD15上的地址被设置到所要求的状态。ALE与透明锁存器74LS373的时钟端 相连。ALE的下降沿向74LS373提供了一个锁存信号,把出现在总线上的有效地址 锁存起来,从而达到把地址信号从地址/数据总线上分离出来的目的读 信号尺。变低,这是外部存储器应把有效的数据提供到总线上,以ALE图1.2 8096最小系统便CPU读入数据。实际线路中,把而接至存储器的输出选通端(砺),而有效 时,存储器将按已锁存的地址信息,把被寻址单元(字)的数据送到总线上。计算机控制系统(80C196系统)图中MA0MA15表示锁存(分离)后的存储器地址总线。MD0MD15表示分 离后的存储器数据总线。8096种可以按字或按字节访问外部存储器,但在读外存时,把16位数据(此处时指令)同时取入存储器控制器,在控制器内部根据情况选取一 个字节或一个字,把不用的部分舍弃。因此,丽信号同时选通高位字节和低位字节,且MA0不应与存储器相连。实际的电路原理图:8LLLkLL|i|o|3OPF _L2N I _F-ffr|寸 e二i|30PF P2 DIR 植,+能能里。P世;1Q2Q3Q4Q5Q6Q7Q8Q1Q纹3Q4Q5Q6Q7Q8Q573 occ1D2D3D4D5D6D7D8D34HCOCC 山2D3D4D5D6D7D8D图1.3 80C96KB系统的电路原理图在原理图中,包括了 80C196的最小系统,还包括了步进电机的控制器两片51。即80C196控制器和51控制器。步进电机的加速和减速程序,和控制过程都是由51 来完成的。计算机系统中的存储器分配:目前可以看到的是一个只有EEPROM的系统,没 有外接RAM。因为在196KB中有232字节的寄存器可以让用户使用,这些寄存器自 一些小的系统中是足够使用的,所以我们不需要外加RAM,1.3.2 控制驱动的设计控制硬件的设计,是与控制对象有密切关系的,我们控制的对象是我们自己设计 制作的机器人。在比赛机器人中,我们的目标是投球得分。所以我们控制的主要对象 是机器人的行走机构,和机器人的投球控制机构。我们机器人的行走机构主要是两台 步进电机,它的驱动有很多种,我们选用的是四通公司生产的SH-20806型步进电机 驱动器,我们主要做的是控制电路。从步进电机驱动器的接口可以得出我们所要做的 相应的接口驱动。步驱动器采用单脉冲控制方式。输入控制信号通过内置光耦隔离,采用共阳极 接法。为确保内置光耦能可靠导通,要求控制信号提供至少6mA的电流。当输入信 号接口模式(面板上MODE开关)选择5V MODE置于“0”侧)时,内置光耦的限 流电阻为330Q,适合TTL电平的信号接口 VCC=5V。当输入信号接口模式选择24V MODE置于“1”侧)时,内置光耦的限流电阻为2KQ,可以与PLC接口 VCC=12 24V 配合。接口电路示意图如右图所示:才信号方向信 a执佞号要动控制瘴子图1.4步进电机驱动的接口和我们做的接口电路投球机构的驱动电路:前端是一个741so2的逻辑电平控制信号,目的是控制整 个桥路,防止在控制逻辑上出现桥路短路,第二部分为三极管的驱动电路,增加控 图1.5桥式驱动电路制电路的驱动能力。第三部分为光藕,主要用途:一、光电隔离,控制电路和驱动电 路的隔离,主要原因是电路的电势不同,控制电路为5V电源,驱动电路则为24V。第四部分为MOS管的桥式电路,两个PMOS和两个NMOS构成的桥式电路。控制驱动电路的自锁装置,为了提高控制的稳定性和降低控制程序的难度,在 投球机构的驱动上又加载了驱动电路的自锁装置,利用了继电器的自锁能力,开始的 时候我考虑用电子自锁装置,如图所示。但是由于这个电路的稳定性和和考虑自锁时 锁能够提供的功率考虑,我把它换成了继电器的自锁电路。图1.6电子自锁电路图1.7继电器自锁电路电子自锁电路,主要使用S1来不断的改变整个电路的工作状态,如果电路的状 态为通,按下S1电路的状态变成开。如果电路的状态为开,按下S1电路的状态变成 通。继电器自锁电路的工作原理:在电路刚加电时,NMOS管是没有导通。当INPUT 输入端有一个高电平方波,继电器K1闭合,S1开关工作在常闭状态,由于控制回路 的闭合,NMOS电路被驱动,驱动电路可以成功驱动外部电路,当电路被驱动后,INPUT的状态不能在控制驱动电路,只有当S1被触发以后,由于S1的触发,使得 继电器工作状态转变,不能再自锁电路的状态。从而达到继电器自锁,开关解锁的目 的。1.3.3 键盘扫描和信息处理模块的设计由于程序上,我们要考虑灵活性的要求,所以我们必须有一个可以方便选择的键 盘电路,信息处理,传感器的前端处理,由于传感器的数目比较多,所以必须有一个 前端处理的单片机,否则96的端口有限,在做计算机最小系统时,又没有考虑端口 的分时复用,所以只有前端处理结束后,再将信息处理传给80C196KB,在由196KB 来处理。下而是它的电路原理图:P3.2(INT0)P07(AD7)图1.8键盘和信息处理模块1.4软件设计从我们的控制结构的设计,可以看出,我们需要做的工作有很多,首先,我们 要设计上位机的程序,采川的是VB编写的。其次,我们要设计80C196KB的软件,主要用于数据分析。最后是一些传感器信息处理程序和下位机控制程序。1.4.1 PC机的控制程序这个程序主要从宏观上给操作者一个友好的操作界面,用人的思路来设计和完成 机器人的行走路线,机器人行走是的依据就是地面的白线。该程序,主要分为三大部 分:第一部分、如图中的左边区域,是一个可以绘制机器人行走路径的一个区域。第 二部分、把绘制的机器人路径生成数据文件。第三部分、一个串口通讯模块,主要把 产生好的数据文件按照数据的方式发送到80C196KB。这些数据的格式,都是受到控 制协议的严格约束的。图1.10 VB编写的程序界面1.4.2 16位单片机的控制程序主要用来接收上位发送来的数据,分析数据,并根据上位机数据和下位机发送的 传感器信息数据,来发送控制指令。其重要的控制指令发送给下位机,主要针对的是步进电机控制器和投篮机构控制器。程序的详细内容请见附录。其的控制流程如下图1.4.3 下位机程序下位机主要是针对具体的对象的控制,如投球机构,行走机构,上升机构,信息 处理器等等,他们的动作方式相对来说比较简单,但是他们是执行上位机命令的最关 键部分,所有的驱动接口电路都与这个下位机有密切关系的。在驱动接口电路中,我 们采用了光电耦合,一、可以减小从大功率器件传来的干扰。二、可以消除驱动电势 和控制电势的差距带来的问题。2小礼品机器人的电气控制设计2.1 硬件的选型2.1.1 电机的选择小礼品1的行走电机采用的是两相混合式步进电机。使用步进电机的原因是:(1)控制简单、可靠。使用了两届,性能十分稳定。2 行走速度要求不高,但是精度要求比较高。步进电机采用四通公司生产的56BYG250D型两相混合式步进电机。具体选型主 要由电机的扭矩决定,具体参看机器人的设计机械结构篇。下图为56BYG250D 型步进电机的矩频特性图。56BYG250D-x ASSBL-0241 驱动方式:双极恒流 步距角:0.9(半步)接线方式:标准方式图2.1 56BYG250D型步进电机矩频特性图步进电机是靠脉冲控制的,给一个脉冲,步进电机旋转一个特定的角度。因此,给的脉冲越多,步进电机转过的角度越大,同理,给脉冲的频率越高,步进电机的转 速越快。“半步”即方式驱动器工作在2细分的工作模式。从上图可以看出,曲线上有一 个转折点,即大约给驱动器的频率为2KHz,电机的转速约为300RPMo在这个工作点 上,步进电机的输出功率开始达到最大值。2.1.2 驱动器的选择步进电机的驱动器选用SH-20403型,主要由于步进电机的相电流决定的,56BYG250D型步进电机的相电流为2.4A,SH-20403型驱动器的驱动方式为恒流方式,最大驱动电流为3A。足够了。图2.2典型接线图驱动器功率端子+.C4-C-AA-B B D D下而介绍驱动器的控制信号接线端子的意义:(1)公共端 驱动器输入信号采用共阳极接线方式,公共端接+5V的电压。信号为低电平有效,此时对应的内部光耦导通,控制信号输入驱动器中。(2 脉冲信号输入 脉冲信号的下降沿被驱动器解释为一个有效脉冲,并驱 动电机运行一步。为了确保脉冲信号的可靠相应,共阳极时脉冲低电平的持续时间不 应少于10式S o(3 方向信号输入 该端信号的高电平和低电平控制电机的两个转向。共阳 极时该端悬空被认为高电平。控制电机转向时,应确保方向信号领先脉冲信号至少 5S建立,可避免驱动器对脉冲的错误响应。(4)脱机信号输入 该端接受控制器的高/低电平信号,共阳极时低电平时电机相电流被切断,转子处于自由状态。高电平或者悬空时,转子处于锁定状态。建议让转子处于锁定状态。公共端驱动器内部电路10mA 士0%脉冲信号方向信号脱机信号遮注:当控制信号不是丁TL电平时,应根据信号电压大小在各输 入信号端口(公共端除外)外 串限流电阻,如24V时,外串 3KQ电阻口6图2.3输入接口电路2.1.3 控制器的选择步进电机是靠脉冲来控制的,那么要控制步进电机的转速,需要一个频率可变的 方波信号发生器。控制器可以采用Atmel公司生产的AVR系列单片机ATmega8L和 ATmegal6Lo单片机的具体使川参见由马潮、詹卫前、耿德根编著的ATmega8原 理及应用手册,清华大学出版社出版。或者参见Atmel公司的产品手册。ATmegal6L的三个Timer都可以配置成可变频率的方波信号发生器。在8MHz 的晶振下能发出信号的极限频率为4MHzo2.2 基本控制的实现第一步:安装AVR单片机的集成开发环境ICCAVR。双击安装文件iccavr_6.3.exe。跟其他程序的安装一样,一路NEXT就行了。但是建议安装在某个盘符的根目录下。第二步:破解。未经破解的为使用板,有30天的使用时限。ICCAVR在磁盘的 0磁道作了记录,为破解的程序若重装过后不能使用。破解方法如下:将crack目录 下的iccavride.exe覆盖安装后的bin目录下的文件即可。如果软件不能用了,重新执 行破解步骤大多情况下也能恢复。第三步:打开ICCAVR,利用ICCAVR提供的取用向导,以用ATmegal6L作为 控制器,将Timer。配制成方波信号发生器为例,简要介绍如何驱动步进电机。执行如图2.4操作,或则使用Tools-Application Builder命令。ImageCraft IDE for ICCAVR(Professional Version)File Edit Search View Project RCS Tools Terminal Help冠彦口蟾I孑 11殍一|叁曲函I*翟JApplication Builder.,|图2.4点击倒数第二个按钮如图 2.5,在 CPU 选项卡中选择 Target CPU 为 M16,Tall speed(MHz)选择 8MHz 的时钟频率。图2.5选择目标器件和时钟频率将Timer。内的波形发生器所对应的引脚(PB3)设为输出状态。见图2.6。ICCAVR Application Builder M16图2.6设置对应的引脚为输出状态图2.7 设置TimerO具体Timer。的每个选项的设置在参考书上介绍的很明确了,这里不再重复。点击“0K”按钮,将自动生成初始化代码如下:/ICC-AVR application builder:2004-8-3 22:27:23/Target:M16/Crystal:8.0000Mhz#include#include void portjnit(void)(PORTA=OxFF;DDRA=0 x00;PORTB=OxFF;DDRB=0 x08;PORTC=OxFF;/m103 output onlyDDRC=0 x00;PORTD=OxFF;DDRD=0 x00;)/TIMER0 initialisation-prescale:256/WGM:CTC/desired value:200Hz/actual value:199.045Hz(-0.5%)void timerOJnit(void)(TCCR0=0 x00;/stopTCNT0=0 x64;/set countOCRO=0 x9C;/set compareTCCR0=0 x1 C;/start timer)/call this routine to initialise all peripheralsvoid init_devices(void)(/stop errant interrupts until set upCLI();/disable all interruptsport_init();timerO_init();MCUCR=0 x00;GICR=0 x00;TIMSK=0 x00;/timer interrupt sourcesSEI();/re-enable interrupts/all peripherals are now initialised)/void main(void)(init_devices();/insert your functional code here.)点击Project-Options.命令,如图2.8设置编译的目标器件:图2.8设置编译的目标器件保存文件,a Test_SteppingMotor.c,并新建一个工程,如工程名也为“Test_SteppingMotor.prj”.将刚才保存的文件弓|入到工程中,Build工程便得到十六 进制文件“Test_SteppingMotor.hex”,这个文件是能下载到单片机中,并且能被单片 机执行的文件。第四步:安装在线下载软件SLISP.EXE,选择好路径一路“NEXT”就行了。下面介绍一下熔丝位的编程,以配置成内部8MHz的晶振为例,其余的请参看参考书。点击“配置熔丝”复选框,出现如图2.8的窗口图2.9 将ATmegal6配置为内部8MHz由于当时未接下载线,所以“编程配置”按钮不可用。当接上下载线后,点击“编 程配置”按钮,确认即可。芯片出厂时,默认配置成内部1MHz晶振。加载“Test_SteppingMotor.hex”文件后,点击“编程”按钮即可。这个例子是让Timer。发出200Hz的方波信号,给Timer。设定合适的分频比,并 且改变比较输出寄存器OCRO的值,便可以很方便的改变TimerO控制的弓I脚PB3的 输出频率,这个信号若是给步进电机的驱动器,那么步进电机的转速将发生变化,从 而实现步进电机调速的目的。同理,若让Timer2也和Timer。一样,配置成可变频率 的方波信号发生器来控制另外一个步进电机。那么,这种差速轮式方式的机器人底盘 基本能够很好的控制了。以上的安装程序原文件在“附录安装文件”中。2.3 机器人的硬件组成2.3.1 稳压器件的选择和使用常用的稳压器件包括专用DC-DC模块和以78XX系列为代表的集成稳压芯片。DC-DC模块电源以其性能卓越、使用方便。由于我们只用了一组24丫电源作为动力,为了防止由于电动机和继电器产生的噪声干扰微控制器的工作,微控制器和执行器的 电源必须是隔离的。采用COSEL公司生产的低噪声电源模块ZUS3 24s5作为隔离电 源独立给控制器供电,主要考虑到以下几个技术指标:有效工作电压:ZUS3 24S5允许的输入电压18V C10%,幅度 p p:Mx.lO%消耗电流:MaxA5mA 控制输出:N7W集电极开路输出,应用电压430丫 光源:红色LED(调制)抗光干扰:太阳光:Max.11,000/x,日光灯:MQX.3,000/X为了使光纤传感器能够稳定的工作,我们选择了光纤传感器工作电压的中间值,即18丫作为供电电压,上文所说的电源电路中,有一组18丫供电电路便是专门给光纤 传感器供电的。这里需要注意的是,由于7818与电池组共地,即与动力地相连了,而微控制器的地线是和动力地线不相联的,所以光线传感器的信号需要经过光电耦合 器的隔离后才能输入到微控制器的引脚上,并且建议在光线传感器的供电线上穿了高 频磁环。具体电路图见图2.12:图2.12光纤传感器输入通道电路原理图2.行程开关传感器输入通道川行程开关检测执行机构的动作位置是一种简单可靠的方法。行程开关无所谓供 电电压的问题,从简洁的设计角度,我们直接从微控制器的电源线上审联上发光二极 管和限流电阻,再和行程开关审联使用。发光二极管和限流电阻既在开关未闭合时起 到了上拉电阻的作用,又在当开关闭合时起指示灯的作用。和微控制器共地,便可以 省去了光电耦合器,简化了电路结构。但是需要注意一点是,最好用屏蔽线和行程开 关相连,并且屏蔽层和机器人的金属结构相联。行程开关信号输入通道的电路原理图 见下图:图2.13行程开关信号输入通道电路原理图2.3.3执行机构控制及驱动电路机器人的动作执行机构很简洁,手臂的夹紧和松开用一个航模用的大扭矩舵机实 现,舵机是精密的机电一体化设备,其内部有一个比例控制器,所以主机只需要给它 角度参考值(PWM波)即可方便的控制舵机旋转的角度,也就控制了手臂的夹紧和 松开的角度。手臂的翻转采用一个直流减速电动机实现,用电位器实现器角度的闭环 反馈。电位器作角度的闭环反馈,虽然其精度比不上旋转编码器和自整角机,但是体 积小,成本低,而且这样的精度在我们这里已经是足够了。接下来着重介绍执行机构 的驱动电路。1.模型舵机的控制舵机广泛应川于电动模型中川于控制模型的运动方向。舵机信号原理见下图。说 明如下:脉宽=2ms时为正转,最大到+90脉宽=1.5ms时回到00位置脉宽=lms时为逆转,最大到-90我们使用的舵机有两个位置,0位置,+90。位置。不给舵机发脉冲,舵机停留在0。位 置,给舵机的信号线发送一定的脉冲,舵机会自动旋转到我们所期望的角度。我们用 实现手臂的夹紧和松开,即只用到舵机的两个位置,0。位置和+90。位置。18ms WFW 20ms舵机的电流也比较大,电路中专用一片7805稳压后给舵机独立供电。图2.16舵机的供电电路图舵机角度参考值信号其实是一个周期为50Hz,占空比 10%的PWM波。这种 信号的发生,用Atmegal6L其实能很容易的实现,因为Atmegal6L中的Timer 1便能 够用硬件产生所需要的波形,只需要对Timerl进行适当的初始化即可,需要改变占 空比的值也只需要改变比较输出寄存器0CR1A或0CR1B的值即可。2.用L298直流电动机的驱动电路手臂翻转机构所用的电动机为减速直流电动机,由于整个执行机构位置的闭环反 馈由电位器实现,因而对于转速的闭环反馈不是很重要,所以手臂翻转机构的电动机 为转速开环控制。需要注意的一点是要防止当执行机构被卡住的时候,如何防止电动 机堵转的危险发生,因为减速直流电动机的输出扭矩很大,轻易能把机构给损坏,或 者打坏自身的减速齿轮箱,甚至对人身安全构成威胁。所以检测直流电动机的电枢电 流,防止减速电动机过流,甚至堵转是很有必要的。最简单的方法是在电动机的电枢 回路中舟联电流采样电阻。采样电阻为2.2 Q,采样电阻的允许耗散功率可如下确定:所选用的直流减速电机的额定电压为24V,额定电流为0.3A,保护动作电流取额 定电流的L5倍,即0.45A,那么依据焦耳定律,此时采样电阻的耗散功率为:Q=0.452X2.2W=0.4455W(2.1)留2倍的裕量,所选用的采样电阻功率为1W。手臂翻转电机的驱动采用专用集成芯片L298OL298是双H桥高电压大电流功率集成电路,可以用来驱动2个直流电动机或步 进电动机等感性负载。采用L298作为电机驱动电路,可靠性高,可以方便的控制电 机正反转。由下面的原理图可见,每个H桥的下侧桥臂晶体管发射极连在一起,其输出脚(1 和15)用来连接电流检测电阻;9脚接逻辑控制部分的电源;4脚为电机驱动电源Vs;5、7、10、12脚输入标准TTL逻辑电平信号,用来控制H桥的开和关;6、11脚则 为使能控制端。图2.17 L298的控制逻辑图L298的主要参数是:允许驱动电压:匕=50丫 允许控制电压:匕s=50V 直流允许输出电流:I0(MAX)=2A 直流最大允许尖峰电流:I0(peak)=3A(100分)允许采样电压:VSENSE=-W-2.3V 允许功耗:Ptot=25W(TCASE=75)注意到:L298每一路输出可以正常提供2A的电流,峰值电流(100 口 s之内)可 达4A。将每个L298芯片的两路输出并联后驱动电机,则可以输出4A的电流。这时,每一片L298单独驱动一个直流电机。图2.18 L298的输出并联方法下图为用L298驱动直流电机的整体电路:图2.19 L298驱动直流电机的整体电路(无过流反馈)3.采用小型继电器加场效应管驱动动作电机PORE.图2.20 1安培继电器加场效应管驱动电路(不带PWM调速)LltC图2.21 5安培继电器加场效应管驱动电路(带PWM调速)过流反馈信号是给微控制器的。至于过流了,关不关掉电动机是由软件来决定,但是建议在电机的电枢回路中舟联一个自恢复保险丝。自恢复保险丝的购买时要注 意,比如10安培的,购买时要问清10安培是开始动作的电流还是完全熔断的电流。自恢复保险丝一旦熔断后,需要比较长的时间,等其冷却之后才能恢复导电能力。如果不需要过流反馈信号,可以将电流采样电阻,电压比较器和相应的光电隔离 器拆掉。当然,在电流小于3安培时也可以用LMD18200作为电机的驱动器,如图2.22。LMD18200的内部有完善的过压,过流,温度和死区保护电路,但是驱动电流仅 有3安培,即电流如果过大或是电流的变化率太快,LMD18200仍有烧毁的可能,而 且由于市面上假冒美国国家半导体公司的较多,芯片又贵,因此建议不要采用。图2.22由LMD18200组成的驱动电路(带PWM调速)2.3.4 手臂翻转机构位置的闭环控制手臂的位置信息是通过和手臂翻转电动机同轴相连的电位器来获取的。电位器的 模拟信号直接输入到Atmegal6L的A/D转换通道中。需要注意的是,应用屏蔽线和 电位器相联接。电位器到微控制器Atmegal6L的接口见下图,其中CE为高频磁珠。此时,电路是模拟和数字相混合了,所以在PCB板的布线中,注意到了模拟地和数 字地的分开布线,最后建议用0欧姆电阻将模拟地和数字地相连接。图2.23电位器和Atmegal6L的接口电路2.3.5 行走步进电机的接口电路我们机器人的行走机构主要是两台步进电机,它的驱动有很多种,我们选用的是 四通公司生产的SH-20806型步进电机驱动器,我们要做的是控制电路。从步进电机 驱动器的接口可以得出我们所要做的相应的接口驱动。步驱动器采用单脉冲控制方式。输入控制信号通过内置光电耦合器隔离,采用共 阳极接法。为确保内置光电耦合器能可靠导通,要求控制信号提供至少10mA的电流。当输入信号接口模式(面板上MODE开关)选择5V MODE置于“0”侧)时,内置 光电耦合器的限流电阻为510Q,适合TTL电平的信号接口 VCC=5V。当输入信号 接口模式选择24V MODE置于“1”侧)时,内置光电耦合器的限流电阻为2KQ,可以 与 PLC 接口 VCC=12 24V 配合。才佞号脸机生(共阳犯妻动器控制整子 血W亚图2.24步进电机驱动的接口示意图由于我们所川得Atmegal6L属于工业级产品,其每个I/O 口的驱动能力比传统的 MCS-51大大增强,每个I/O 口的驱动电流达到40mA,而且是真正意义上的双向I/O o所以我们直接用微控制器得I/O 口驱动步进电机驱动器中的光电耦合器。2.3.6 矩阵扫描式键盘及数码管显示电路机器人的特点之一就是灵活多变。比如说,我们的机器人的行走路径就得多样化,以在不同的情况下采用不同的策略;同时,也为了现场调整参数的方便,我们设 计并制作了一个矩阵扫描式键盘及数码管显示电路(以下简称“终端”),其作用就是 整个机器人的操作和显示终端,相当于计算机的键盘和显示器一样。可以说我们的机器人的参数修改和路径策略的设定是非常灵活和方便的。这个机器人的终端是由一片Atmegal6L完成,负责扫描矩阵式键盘和将信息扫 描显示在8个7段数码管上。所以用数码管而不用液晶显示器的原因是,虽然数码管 显示的信息不如液晶显示器来得直观,但是较可靠性而言,数码管远远高于液晶显示 器的。终端的Atmegal6L确认键盘有按键按下后,将信息通过自身的通用异步收发器(UART)发给主机,主机对此信息处理完毕后,将处理的结果同样通过通用异步收发 器发送给终端,则终端的数码管上显示的是主机处理完毕的信息。由于终端和主机连 接的通讯电缆很短,只有20c机左右,所以只要川TTL电平就能够可靠的通讯了,因 而电路中没有使用像一般的异步审行通讯电路中的Max232将TTL电平转化为 RS-232C 电平。阴数码管nnnn nnnnQ.QQQ D.Q.QQIC1;?510X8:,o5SCOMJ1QOu|cMUSI MISO J=MISOlOcwVl dAiiFBI MOE PBSMIQ mSCEiXI AU XIAL2 PDOilXDi PDliXXDi Pm.IHIOi PWIDTHI PDhOClB,PDriOClAi PDMDCPIIATMEG16LPAOIAIXOI PAliAIXli PK:iADC2iPMHADCII PK*ADC*)PA“ADCS)PA五ADC刀AMF GHDAWCPCK TOX?PCM IOX1.PC、TDIiPCIi!DOiPC”ICR)FCLd,PCOIJTLI pmocyPBO.XtILIO i PBbtl,PBMHhAINlh图2.25终端的电路原理图2.3.7 用光电传感器实现白线检测1.对场地上白线的识别为实现自动行走中白色标识线的跟踪,在车体前部分别安装了一排光电检测装置(光电检测装置的排列方式见后)来判断车体相对于白线的位置,作为反馈信号提供给 控制器;控制器再据此来调整左、右轮转速,使得车体处于白线正中行进。比赛的地 而是深绿色的,为了尽可能避免比赛场地的灯光和地面温度的影响,我们选择的光电 传感器是用可见光(使用红光而没有采用红外线)做光源,对于深绿色地面和白线的 反射率有明显的区别,区分效果非常好。以小礼品2机器人为例,白线检测器固定在车体上的位置如下图。白线(宽3cm 光纤传感器 n 光电寻线传感器图2.26小礼品2传感器布局小意图由于小礼品2号机器人的路径要求比较简单,所以只布置了单排循线传感器,为 了转弯在地盘的前方正中间布置了一
展开阅读全文