寻迹小车 FollowMe.docx

上传人:b****7 文档编号:25280876 上传时间:2023-06-06 格式:DOCX 页数:79 大小:2.05MB
下载 相关 举报
寻迹小车 FollowMe.docx_第1页
第1页 / 共79页
寻迹小车 FollowMe.docx_第2页
第2页 / 共79页
寻迹小车 FollowMe.docx_第3页
第3页 / 共79页
寻迹小车 FollowMe.docx_第4页
第4页 / 共79页
寻迹小车 FollowMe.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

寻迹小车 FollowMe.docx

《寻迹小车 FollowMe.docx》由会员分享,可在线阅读,更多相关《寻迹小车 FollowMe.docx(79页珍藏版)》请在冰豆网上搜索。

寻迹小车 FollowMe.docx

寻迹小车FollowMe

寻迹小车FollowMe之一——起因、目标及车体设计

  来源:

RobotSky编辑选编  时间:

2008-03-05  评论1条

 (访问论坛) RobotSky恭候您的投稿>>

一、背景

    在这两年中,我一直在关注、思考这方面的问题:

如何能让有意学习嵌入式控制的人得到有效的帮助?

感谢一位网友所发的“国外机器人俱乐部”的帖子,通过浏览这些俱乐部的网站,我受到了很大的启发,同时也激发了我做此事的热情。

   这次,我想通过完整的记录一个寻迹小车的设计、制作过程,来引导想入门的人,并且通过这个过程形成一个相对一致的平台,此后大家可以以这个平台为基础,逐步构建一个相对集中、持久的主题,不断进行交流、提高。

这是我期望的目标。

   因为我希望有人能与我同行,所以将文章的题目设为:

寻迹小车FollowMe。

   为了有可能做到这一点,我将整个过程分为8次发表,每周一次,从设计构思开始,直到最后的调试结果,这样有意参与者可以同步实施,还可以相互交流。

我将公布所有的技术细节,包括结构设计图、电原理图、PCB、软件等等,以及设计中是如何考虑的,器件选择的依据,调试中所遇到的问题等。

希望能起到抛砖引玉的作用,更希望在这个过程中有人也能发表自己的作品,形成一个“百花齐放、百家争鸣”的局面。

二、概述

   以自制方式为主制作一辆低成本的寻迹小车,用于学习嵌入式应用(单片机),这个项目有两个基本的出发点:

1)便于自制,成本低廉,可以让大多数人参与;

2)有可以改进的空间,包括机械性能和电器性能,为进一步学习、提高提供可能。

还有一个潜在的延伸目标:

3)利用这个平台引入国外较流行的比赛项目——MiniSumo。

   我觉得轨迹赛虽然比较普及,但是缺少趣味,改进的激励因素偏少。

而MiniSumo是对抗性项目,趣味性大大增加了,比赛场地要求也比较低,只需一个70cm的圆台即可,便于开展。

对于参与者而言,改进小车的激励因素较多,可以促使学习者得到更多的收获。

   但是轨迹项目是最好的入门项目,所以还是以此开始。

三、需求分析

   基于上述目标,这个项目的需求如下:

1)外形尺寸不大于10*10cm(MiniSumo的规则要求);

2)在满足走轨迹的要求的同时兼顾MiniSumo灵活性的需求;

3)机械机构要简单,取材要方便,便于自制;

4)成本要低(期望车体部分控制在50-60元左右,连基本的控制部分200元以内);

5)电机要有一定的改进可能,便于逐步提高机械性能,以满足MiniSumo的要求;

6)电机的驱动电路也要有可能扩充,以满足电机的要求;

7)控制部分要容易上手,有便宜的开发手段;

8)控制部分要有扩充、提高的可能,满足MiniSumo中的高级需要;

9)控制部分组成要灵活,便于不同学习目标的人有所选择。

四、车体设计

4.1设计依据

   因为要考虑日后能够用于MiniSumo竞赛,所以车体尺寸必须在10*10cm范围内。

而且MiniSumo对车的运动灵活性要求较高,基本不能考虑模型汽车的转向机制,所以将利用模型底盘改制的可能排除了,必须使用两轮转向机制的结构。

   车体设计主要考虑的因素有:

底盘、电机选择、驱动方式。

   底盘设计:

为了便于制作,日后在上面安装其它东西方便,同时具有一定的重量,使小车运行稳定,所以采用10mm厚的聚氯乙烯板材制作,此材料便宜,加工特性好,可以直接打孔攻丝,不像有机玻璃那样易碎,只是美观差一些。

外形设计成圆型,主要是为了在MiniSumo中不至于频繁的互相卡死。

   电机:

电机的选择是最困难的,既要便宜,又要容易使用,还要有改进提高的可能。

四驱车的130电机应当是最好的选择,此种电机有便宜到几块钱的,也可以花费上百元改制,使之性能大大提高。

如果选择带减速机构的电机,驱动方式是很方便,直接将轮子固定在齿轮箱的输出轴上即可,但不足是:

其一是价格高,通常一只在30元以上。

其二是改变电机性能比较困难。

所以还是选择了130电机。

   驱动方式:

因为选择了130电机,驱动方式就相对麻烦。

开始受到论坛上曾介绍的那辆纽扣电池小车的启发,才决定采用130电机的,因为他那种摩擦传动方式比较容易实现。

后初步尝试了一下,效果不好,主要是压紧了之后,电机轴与轴套间的摩擦损耗太大,压松了打滑。

后改用皮带传动才得以实现。

   之所以没有选择齿轮传动,主要是因为没有选到合适的齿轮,而且觉得难以得到不同规格的齿轮,想改变传动比就很困难。

用皮带传动只需改变传动轮的大小即可得到所需的传动比,而传动轮制作比齿轮方便许多。

   为了简单且不受制约,轮子自制,轮胎用O型密封圈,轮毂和皮带传动轮合并,采用尼龙棒车制。

传动皮带也是用O型密封圈。

这种方式可以按照自己的需求随意改变轮子的大小和宽窄,比较灵活。

O型密封圈规格较多,取材方便,价格也便宜,通常在一元以下一只。

   车体采用了两轮驱动方式后,另外一个支撑点就成了问题,多数万向轮对于这个10cm的小车来说太大了。

我为此设计了一个使用10mm钢珠的球形支点,在摩擦小的时候是滑动,摩擦大时滚动,性能基本能满足要求,且价格很便宜,总共不到2元钱。

4.2详细设计

   车体中底盘、轮毂、小传动皮带轮(安装在电机轴上的)、球形支撑座采用自制方式,详见所附设计图纸。

   固定电机采用最常见的固定管线夹,规格20mm的,大部分五金电器店均有。

   目前设计的传动比为8:

1,轮胎选用内径30mm、粗5mm的O型密封圈。

   传动皮带选用内径35mm、粗1.8mm的O型密封圈。

   为了轮子转动灵活,中心嵌入了一个内径3mm、外径10mm、厚度4mm的滚珠轴承,轮子安装结构见附图。

   之所以将车轮设计为直径约40mm,是为了底盘下有一定的高度,便于安装光电头,用于检测轨迹以及以后的MiniSumo中检测是否到边。

   其它就是一些螺丝、螺母、垫圈等通用件了。

   这样的小车底盘虽说不十分完善,但是相对来说基本满足了多数要求,且在上面比较容易构建自己的结构,目前底盘上所设计的四个M3的螺丝孔就是为了安装25mm的垫柱,构成2层平面,以安装控制部分。

还可以升到3层,安装自己需要的东西。

关键是取材容易,便于自制,价格不高,除去几个自制件和电机,其它的东西购买不超过15元。

   以下是我在验证设计可行性过程中制作的原型及一些选用的标准件,供参考。

小车车体原型:

正面

反面

加装一个安装平面

O型密封圈

固定管线夹

滚珠轴承

(未完待续)

参考资料:

1)摩擦传动方式的桌面寻线小车http:

//elm-chan.org/works/ltc/report.html 

2)MiniSumo竞赛规则http:

//www.botlanta.org/MonthlyContest/sumo/mini-sumo.html

3)MiniSumo竞赛视频

附件:

1)底盘设计图

2)轮毂及皮带传动轮设计图

3)滚珠轴承盖设计图

4)小皮带传动轮设计图

5)球形支撑座设计图

6)车轮安装示意图

7)球形支撑示意图

寻迹小车FollowMe之二——控制部分硬件设计概述及电机驱动部分设计

  来源:

RobotSky编辑选编  时间:

2008-03-05  评论2条

 (访问论坛) RobotSky恭候您的投稿>>

前面完成了小车结构部分的设计,下面开始对小车的控制部分硬件进行设计,主要涉及电机的驱动、轨迹采样、逻辑控制三个主要部分。

五、控制部分硬件设计

5.1整体构思

      因为这个项目的主要目的是通过实施学习单片机的使用,并且主要是自用而非有针对的参加某项比赛,所以最好所制作的硬件电路能够为进一步学习提供帮助,或者可以作为自己其它项目的实施基础。

    为此,我将系统框架设计为:

    其中电机驱动、逻辑控制部分均为独立的单片机系统,这样设计主要出于:

1)单片机已十分便宜,可以像普通IC那样使用;

2)电机驱动逻辑比较简单,但是实时性要求较高,所以独立出来,编程较为容易,便于初学者上手;

3)电机驱动部分通常会有较大的干扰,尤其是驱动普通的直流有刷电机,电刷的火花干扰很强,单独使用简单、但抗干扰能力强的单片机可使系统更加可靠;

4)电机驱动部分独立做成一个模块后可以在以后自己的其它项目上使用,增加投入的附加值,例如作为RCX的大功率电机驱动器;

5)对于走轨迹项目而言逻辑部分并不十分复杂,完全可以将电机控制部分融入其中,但是这样系统就不容易修改为其它用途,编程难度也增加了,不利于学习;

6)采用独立的逻辑控制便于学习者掌握构建复杂系统的能力,学会多模块协同工作时如何交换信息、如何协调。

目前在控制上利用单独的智能节点完成单一任务,采用通讯方式将这些独立节点组合实现复杂的功能是一个趋势。

7)采用独立的逻辑控制模块便于学习者随时根据学习需要替换为所要学习的单片机,目前我所采用的可能是51系列的,而日后如需要,可以随时替换为ARM或其它我所关注的型号,这些新的单片机通常都有成品模块出售,具有完善的数字、模拟以及通讯接口,这样设计就十分容易接入,达到学习、评估的目的。

5.2单片机的选型依据

       因为项目的目标是学习单片机的应用,所以我还是选用了51系列的单片机,因为51的架构十分典型,便于初学者理解,同时其公共资源是最多的,便于初学者自学和交流。

    选择用于学习的单片机我认为主要考虑以下方面:

*价格便宜;

*开发手段便宜;

*自己动手焊接相对容易(最好不选用BGA封装的,或是脚距小于0.5mm的)

      基于上述考虑,我选择了宏晶科技的STC12C5410AD单片机,价格仅10元左右。

它可以使用简单的串口编程(ISP),不需要专门的编程设备,自制一个串口适配器最多10元,如果选用现成的USB转串口产品,也只要40-50元(注意:

不是每种USB转串口产品都可用)。

下载软件厂家免费提供,开发成本很低。

封装有SMD及DIP模式,SMD也是1.27mm脚距的,很好焊接。

    

      很多人排斥51系列的原因是认为51资源较少,也比较慢,这实际上是最早的8051给人留下的印象,也是多数教材中所描述的,而实际上51架构已发生了很大变化,其资源已十分丰富,速度也有很大提高,以此款STC12C5410AD来说,其资源为:

10KFlashROM,512字节RAM,8路10位AD,4个PCA(可实现PWM、脉冲捕捉等定时功能),速度也十分快;详情可上该公司的网站上查询。

    

     其它还有许多51架构的单片机具有优异的特性和特点,如:

*TI的MSC系列具有一个24位AD,十分适合做高精度的仪器;

*SiliconLAB公司的51F系列单片机速度极快、功耗低、体积小、资源丰富,有各种不同的规格,最快的达100MPS,引脚还可编程确定功能;

*ST公司的uPSD3xxx系列,有较大的内存,可以内置汉字库,还集成了片内PLD;

*Chipcon公司(现归属TI)的CC2430芯片将ZigBee无线通讯协议和51核集成,可构成ZigBee无线节点;

*Nodic公司的nRF24E1芯片将2.4GHz的无线收发模块与51核集成,可方便的实现短距离无线通讯。

      还有很多类似的产品,此处就不一一例举。

主要是想说明,51架构还是有其优势的,否则不会有如此多的公司基于51架构开发出这么多产品。

    

      至于可靠性、性价比等指标在学习时可忽略,设计产品时才需要考虑这些因素。

      从另一个角度来说,由于目前编程通常使用C语言,所以对单片机的依附已不十分紧密,只是在设计硬件线路及程序中对硬件初始化时要涉及器件,而程序的逻辑部分几乎与硬件无关,所以选择什么单片机学习没有什么绝对的好与坏,关键看自己可利用的资源。

5.3电机驱动部分硬件设计

    因为考虑到做好后的驱动电路最好可用于其它场合,所以硬件设计上预留了许多功能。

而且为了便于在其它场合使用,体积和封装都作了考虑。

5.3.1需求

 1)可驱动一个直流电机,驱动电压范围5–12V,电流10-20A;

 2)电机驱动要支持4种工作模式:

正转、反转、惰走、制动;

 3)控制信号可接受:

UART、SPI控制,标准的宽度1–2ms、周期20ms的PWM控制;

 4)可支持脉冲反馈,实现调速而非调功;

 5)可根据脉冲计数控制行走距离。

 6)可检测转动方向;

 7)支持第二路反馈的脉冲信号,以实现转速跟踪;

5.3.2概要设计

      使用STC12C54XX系列51单片机控制,使用MOSFET管构成H桥驱动,并使用门电路实现互锁,避免造成MOSFET短路。

驱动管设计为可双管并联,以便于扩充驱动电流。

      采用独立模块方式,一个模块驱动一个电机,为了能实现多个电机的连锁,提供一个跟踪通道,捕获需要跟踪的电机(轮子)的转速,自动调整自己的速度,以实现准确的直线行走,或其它类似的目的。

5.3.3详细硬件设计

      以STC12C54XX单片机为控制核心,该芯片具有4个通道的PCA,可以方便的实现转速脉冲测量和方向判断,同时也便于接受PWM控制信号。

同时此款单片机为1T的高速工作模式,可以使用定时中断控制MOSFET,因为需要实现4种电机工作模式,所以使用了4个IO独立控制H桥的4个MOSFET,不能使用简单的PWM输出控制。

      因为用4个IO独立控制,所以必须避免MOSFET出现短路,使用2块4-2与非门构成互锁逻辑,保证不出现同侧上下MOSFET同时导通的情况。

借此也可以隔离电机的噪声对单片机的影响。

      因为需要支持5–12V的电机工作电压,而且互锁逻辑输出还差一级反向,所以控制MOSFET使用双极性三极管9013,这样可使用普通的MOSFET,便于购买。

(如果不使用9013,则需要选用逻辑电平控制的MOSFET)

      在线路及PCB的设计上,考虑MOSFET的双管并联工作,以便于日后需要提高驱动能力。

      供给电机的电压直接接MOSFET,同时经稳压器SPX1117-3.3V稳压输出后供单片机和门电路,单片机选择3V的,门电路选用74HCxx,这样,电机的工作电压可以低到5V(4节充电电池)。

    单片机硬件资源分配:

    P2.4–P2.7:

用于驱动H桥;

    PCA3:

用于电机的PWM输出,工作在定时器模式;

    PCA2/P2.0:

用于主测速脉冲输入,工作在捕获模式,边沿触发;

    P2.1:

主脉冲输入方向辅助输入,用于判断转动的方向;

    PCA1/P3.5:

用于跟踪脉冲输入,工作在捕获模式,边沿触发;

    P3.4:

跟踪脉冲的辅助输入,用于判断方向;

    PCA0/P3.7:

用于PWM控制信号输入,,工作在捕获模式,边沿触发;

    P1.4–P1.7:

用于SPI控制输入;

    P1.2、P1.3、P2.2、P2.3、INT0、INT1:

用于连接无线模块PTR4000,以便实现无线控制;

    P1.0、P1.1:

保留作为ISP的控制口;

    P3.0–P3.1:

用于UART控制输入

    T1:

用于产生UART的波特率

    T0:

系统时基;

    

      因为希望体积小一些,可以装入一个59X35X15mm的标准小机壳中,元器件采用的是表贴器件,将控制和H桥驱动分开,做成两块PCB,这样可以灵活一些,既可以使用独立的驱动器驱动,也可以用逻辑控制部分直接驱动,体积因此也缩小了。

      两块PCB之间采用直针连接,形成类似于4层板的结构,抗干扰性有所改善。

PCB采用1mm厚板材。

      为了便于自行扩充,同时减少PCB的面积,所有输入输出均采用空中对接插头。

    (如果实在不愿意使用表贴器件,也可以采用DIP封装的,用一块试验线路板作为第二层平台,直接在上面焊接元器件,试验线路板有双面和单面的,双面的略贵,约10元/块,单面的只要1-2元/块。

但是这样做出来的东西只能用于这个小车了,在其它场合使用将会横不方便。

       详细电原理图和PCB图见附件。

所用标准件的照片:

59X35X15mm的标准小机壳:

(市场有售,1.5元/只)

(未完待续)

附件:

1.电机驱动控制部分电原理图(Potel格式,PDF格式)

2.电机驱动H桥部分电原理图(Potel格式,PDF格式)

3.电机驱动部分的PCB图(两块板拼图,采用V切工艺,Potel格式,340K)

4.元器件清单(供参考,Excel文件,18K)

5.空中对接插头资料(jpg文件,166K)

参考资料:

1、STC12C51XX系列单片机数据手册 http:

//www.mcu-

2、TI MSC系列单片机

3、SiliconLAB公司的51F系列单片机

4、ST公司的uPSD3xxx系列

5、Chipcon公司(现归属TI)的CC2430芯片

6、Nodic公司的nRF24E1芯片

寻迹小车FollowMe之三——轨迹采样及逻辑控制部分硬件设计

  来源:

RobotSky编辑选编  时间:

2008-03-05  评论0条

 (访问论坛) RobotSky恭候您的投稿>>

前面已完成了控制部分中的电机驱动器设计,以下着手轨迹采样及逻辑控制部分的硬件设计。

5.4轨迹采样及逻辑控制部分硬件设计

5.4.1设计背景

      轨迹采样部分没有考虑采用独立方式,主要是因为控制过程中需要一些过渡信息,以便于编程者实现自己独特的控制逻辑。

      由于寻迹小车逻辑不太复杂,而且项目主要目的是引导初学者入门,所以逻辑控制仍使用STC12C410AD单片机。

实际上电机控制部分目前并未用到AD功能,主要是为了和逻辑控制部分统一,便于采购,所以均选用了带AD的芯片(对应有不带AD的,价格只便宜1元)。

      同时,为了逻辑控制部分可以单独工作,比如作为RCX的输入扩展器,实现类似我以前发表过的“LEGO用轨迹传感器”的功能,所以在设计上做了考虑。

      由于采样部分和逻辑控制部分合并后,无法排入一块可以放在前述小机壳中的PCB,所以也采用的双板结构,这样又多出一部分空间,就增加了一个小电流的驱动电路,以便可以实现一个简易的小车。

5.4.2 需求

1)采集4路反射式光电采样器;

2)根据采样信号输出相应的电机控制信号,实现走轨迹;

3)可以通过串口输出电机控制信号

4)可以输出标准的PWM(宽度1–2ms、周期20ms)电机控制信号;

5)可以直接输出两个电机的H桥控制信号,以便省去电机驱动控制,实现低成本的小车,或者用于提高编程的难度;

6)支持模拟输入功能,可接GP2D12等模拟量输出传感器;

7)提供一路PWM方式的DA转换输出,以便作为RCX的输入扩展模块。

8)电源应支持单节电池供电,以便于作为独立模块使用。

5.4.3概要设计

       采用STC12C54xxAD系列单片机作为控制核心,控制、采集4路采样电路,采样电路中设计了背景光去除功能。

      电源设计了从1V升压到5V的电路,以便于为扩充的输入器件供电,如GP2D12。

而后再经3.3V稳压器降压作为MCU的电源。

这样设计使用1-2节7号或5号电池就可以工作,体积大大缩小。

      电机驱动部分设计提供最大1A的驱动能力,电机的工作电压可变,以满足不同电机的需要。

5.4.4详细硬件设计

       STC12C54xxAD系列单片机有8路10位AD转换器,虽说采用的是扫描方式逐个完成,但其一个通道的A/D转换时间在22.1184MHz主频下只需约10us,加上通道间的切换时间,4个通道采样时间不到60us,所以可以满足4通道轨迹采样的要求。

由于P1.0、P1.1有可能要作为ISP编程的控制引脚,所以用P1.4–P1.7四个通道作为轨迹采样通道。

MCU资源分配汇总:

I/O口:

P1.0—P1.1 —— ISP控制口,兼作通用模拟输入口;

P1.2—P1.3 —— 通用模拟输入口;

P1.4—P1.7 —— 4路光电采样信号输入;

P2.0—P2.3 —— 马达1的4个驱动,使用PCA2控制;

P2.4—P2.7 —— 马达2的4个驱动,使用PCA3控制;

P3.0—P3.1 —— TXD、RXD端,作为ISP使用,兼作为通用的串口;

P3.2—P3.3 —— 通用的开关量输入口,

P3.4   —— 工作指示灯

P3.5         —— 用PWM输出模拟信号给RCX;

P3.7         —— 控制光电采样器的背景采样,4路共用!

内部资源:

T0 —— 系统时基

T1 —— 串口波特率

PCA0——生成背景采样控制,编程时看是用时基程序控制,还是PWM硬件控制。

PCA1——D/A输出给RCX

PCA2——马达1的PWM控制

PCA3——马达2的PWM控制

INT0、INT1——保留给开关量输入。

      采样电路中第一级作为电压跟随器,提高输入阻抗,减少后级电路对光电管的影响,同时增加驱动能力,保证在Tx1截止、Tx2导通状态下,能可靠的对Cx1充电,实现对背景光强度的记忆。

       第二级是一个减法器,同时兼作放大。

采样时,Tx1导通,点亮LED,Tx2截止,第二级的输入实际上为此时的光电信号减去刚才电容上记忆的信号,达到了去除背景光的目的。

      PCA1设计为DA输出用的PWM,以提供RCX输入所需的模拟信号,由于单片机采用的是3.3V电源,输出使用LMV358做了电平转换,同时使用一个全桥电路实现与RCX的“无极性”连接。

为了降低二极管带来的电压损失,使用了4个肖特基二极管,其正向压降约为0.15V,而普通整流管约为0.6V。

      电源采用NCP1402开关型升压芯片,所需器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1