⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 圆梦小车(寻迹小车 ) step by step 之一.htm

📁 机器人应用的全套实例寻机小车
💻 HTM
📖 第 1 页 / 共 4 页
字号:
                          href="http://www.robotdiy.com/article.php?sid=263" 
                          target=_blank>轨迹采样及逻辑控制部分硬件设计</A>; 
                          <LI><A 
                          href="http://www.robotdiy.com/article.php?sid=264" 
                          target=_blank>开环控制功能</A>; 
                          <LI><A 
                          href="http://www.robotdiy.com/article.php?sid=265" 
                          target=_blank>电机测速及转速控制</A>; 
                          <LI><A 
                          href="http://www.robotdiy.com/article.php?sid=267" 
                          target=_blank>电机驱动部分调试</A>; 
                          <LI><A 
                          href="http://www.robotdiy.com/article.php?sid=271" 
                          target=_blank>单MCU控制的程序设计</A>; 
                          <LI><A 
                          href="http://www.robotdiy.com/article.php?sid=279" 
                          target=_blank>寻迹小车 FollowMe—— 之八:“圆梦”之旅</A> </LI></OL>
                        <P>“圆梦小车DIY套件”推出后,受到了许多爱好者的青睐,深感欣慰!</P>
                        <P>但是,也感到有一些初学者拿到后不知该如何入手?咨询了许多问题。为了减少困惑,我决定逐步基于小车平台写一些示例程序供大家参考,更主要的是期望起到“抛砖引玉”的作用,营造出一个良好的氛围,让“高手”有展示的机会,让初学者有尝试的可能。<BR></P>
                        <P>因为是第一篇,所以顺便将反馈的问题予以回复。</P>
                        <H2>一、 装配注意事项</H2>
                        <H3>小车装配时,结构部分要注意:</H3>
                        <P>A. 轮毂由三个部分叠装而成,形成两个槽 —— 
                        皮带槽和轮胎槽,注意两个槽的宽度不同,不要配错了!!!主要是中间那一层的方向。<BR>B. 
                        电机的小皮带轮装配要按照“装配说明”所示,不要装错方向。<BR>C. 
                        电机安装时,注意电机皮带轮和车轮的皮带槽位置,要在一条直线上。<BR>D. 
                        电机安装时,建议将螺母放在上面,使用M3*8螺丝。<BR>E. 
                        码盘采样器先装,车轮后装,会方便一些;安装码盘采样器用M3*16螺丝,螺母放在上面,这样便于调整。(见上图)<BR>F. 
                        车轮安装后,要调整码盘采样器,避免与车轮碰擦。<BR>G. 
                        车轮轴安装使用M3*16带飞边的螺丝,注意,半圆头处的差别!</P>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image003.jpg"><IMG 
                        height=224 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image004.jpg" 
                        width=331 border=0></A></P>
                        <P><BR>H. 如果使用配套的控制板,码盘采样器引出线可剪去4cm;电机引出线可剪去2cm。</P>
                        <H3>控制部分焊接、装配注意:</H3>
                        <P>a) 
                        焊接时可使用一个开口盒子将PCB垫起,便于插件,电阻、电容插件后可先在正面焊一个引脚,固定住器件,之后再在反面焊接。<BR>b) 
                        焊接插座时要对照安装说明,注意插座方向,并且对照原理图,以及连接的对象,检查是否正确,以原理图为准。一定要做这一步,因为这样可以帮助你将实物和原理图对应,理解设计,便于调试。<BR>c) 
                        焊接后不要急于插上芯片,装上电池后,打开开关,检查电源指示灯是否正常,正常后再关闭电源,插上芯片。<BR>d) 
                        焊接驱动三极管D772、D882时,应先用M3*8螺丝固定后再焊接,固定要松紧适度,不要将三极管压碎了。<BR>e) 
                        发光二极管焊接时要注意正、负极,如果没有把握不要贴着PCB焊接。<BR>f) 
                        控制板的晶振(22.1184MHz)在焊好22p电容及单排插座后再焊,不要落底。</P>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image005.jpg"><IMG 
                        height=267 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image006.jpg" 
                        width=357 border=0></A></P>
                        <P><BR>g) 扩展板上的晶振也不要落底焊接,避免引起其它部分短路。<BR>h) 
                        5V电源注意原理图上的说明和装配说明的提示!<BR>i) 
                        焊接时,最好在原理图中寻找对应器件时,也思考一下该器件的功能、所起的作用,这样调试遇到问题时就能准确找到症结,如果只是简单“依样画葫芦”,那DIY就没有意义了。搞过PC机DIY的应该有所体验,那个过程对你理解PC机原理有多大帮助!</P>
                        <P>如果能认真看原理图以及装配说明,DIY应该没有障碍。</P>
                        <H2>二、 小车功能介绍</H2>
                        <P>为了便于后面文章叙述,不产生歧义,这里在介绍功能的同时,将一些常需要涉及的部分约定一个名称,算是“术语定义”吧!这在工程上是基础,看过技术标准的一定注意到,在技术标准中一定有“术语定义”部分,以确保标准的描述准确无误。<BR></P>
                        <H3>结构部分:<BR></H3>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image007.jpg"><IMG 
                        height=296 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image008.jpg" 
                        width=360 border=0></A></P>
                        <P align=center>(点击看大图)</P>
                        <P><BR>底盘 —— 安装所有部件的基础;<BR>电机固定卡 —— 固定电机;<BR>小皮带轮 —— 
                        电机转动输出;<BR>码盘采样器 —— 一种遮断式光电采样器,间隙4mm;<BR>码盘 —— 
                        由50个约1mm的齿组成,和码盘采样器配合,实现对车轮转动的检测;<BR>轮胎 —— 
                        增加摩擦力,使用5mm粗的O型圈;<BR>皮带 —— 
                        传动用,将电机转动传递到车轮,使用1.8mm粗的O型圈;<BR>轨迹采样器安装空隙 —— 
                        为轨迹采样器安装提供方便;<BR>GP2D12安装位置 —— 因为GP2D12 
                        是最常用的红外测距传感器,所以预留了一个安装位置,便于用户使用;<BR>控制板安装孔 —— 
                        用于固定4个六角铜柱,提供控制板的安装位置。</P>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image009.jpg"><IMG 
                        height=253 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image010.jpg" 
                        width=312 border=0></A></P>
                        <P align=center>(点击看大图)</P>
                        <P><BR>球形万向轮 —— 小车的第三点支撑;<BR>轮毂 —— 
                        由三部分组成,构成了皮带槽、轮胎槽以及码盘,中间还夹有滚珠轴承,以改善转动性能;<BR>轮轴 —— 由M3*16 
                        带飞边半圆头螺丝构成;<BR>电机皮带张紧槽 —— 
为4个固定电机的螺丝提供的腰圆孔,便于调节皮带的松紧。</P>
                        <H3>控制部分 —— 主控板:</H3>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image011.jpg"><IMG 
                        height=393 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image012.jpg" 
                        width=432 border=0></A></P>
                        <P align=center>(点击看大图)</P>
                        <P>电源开关 —— 只控制控制部分的电源,不控制H桥的电源;<BR>电源指示 —— 
                        监测3V电源(MCU工作电源),正常则亮;<BR>左、右侧H桥保护电路 —— 
                        使用组合逻辑电路,确保H桥的同侧驱动三极管不同时导通,造成短路。<BR>左、右侧电机正、反转指示 —— 
                        调试时可以不接电机,降低耗电,同时也方便在小车运动时监测电机输出状态;<BR>主控工作指示 —— 
                        这个LED是控制部分唯一的“人机界面”,可作为程序正常工作指示,以及调试时监测所期望知道的程序运行状态,是Debug的主要手段之一。<BR>主控UART 
                        —— 
                        控制MCU的UART接口,用于下载程序,与无线接口配合可以实现无线数据通讯,与USB转UART接口配合可以与PC机通讯;<BR>4路轨迹采样电路 
                        —— 带有背景光消除的反射式采样电路,其功能不一定局限于轨迹采样,后面再详细描述;<BR>码盘采样电路 —— 
                        左右两路码盘采样预处理,主要是提供了可调整回差的施密特输入处理,以避免采样器停留在码盘齿边沿时造成误信号。<BR>扩展插座 
                        —— 将MCU的28个引脚及5V电源引到扩展板上,为扩充提供方便,同时使替换控制MCU成为可能。</P>
                        <P align=center><A 
                        href="http://www.robotdiy.com/images/FollowMe_robot/robot_step_by_step/image013.jpg"><IMG 
                        height=252 
                        src="圆梦小车(寻迹小车 ) Step by Step 之一.files/image014.jpg" 
                        width=288 border=0></A></P>
                        <P align=center>(点击看大图)</P>
                        <P>主控电源插座 —— 提供控制部分的工作电源;<BR>电机电源插座 —— 
                        提供H桥驱动电源,这样设计一是为了降低干扰,二是为改变电机工作电压提供可能(注意:改变电机工作电压时要相应修改H桥驱动三极管基极电阻);<BR>码盘输入插座 
                        —— 两路码盘采样器输入,注意焊接引线时与电原理图对应;<BR>电机输出插座 —— 
                        使用普通2针,主要是为了方便调整电机的转动方向。</P>
                        <H3><BR>控制部分 —— 扩展板:</H3>
                        <P align=center><IMG height=360 src="" width=480> </P>
                        <P>USB插口 —— 因为目前的笔记本电脑已基本无串口,所以使用USB与PC连接;<BR>USB工作指示 —— 
                        如果焊接正确,且在PC上安装了相应的驱动程序,则连接到PC机后,此LED应亮;<BR>USB转换芯片 —— 
                        这是一个USB转UART芯片,和PC机上的驱动程序配合,可以利用USB口形成一个虚拟的串口,既避免了没有串口的困惑,也回避了编写USB控制程序的困难。由于STC的MCU下载程序对串口时序有要求,不是每款USB转换芯片都可以使用。<BR>USB转UART接口 
                        —— 
                        TTL电平串口,可以和主控电路连接,实现PC机与小车的通讯,以及控制MCU程序下载。也可以和无线接口连接,构建一个PC机的无线收发接口,还可以对无线接口的MCU编程;<BR>无线接口控制MCU 
                        —— 
                        为了方便实现无线通讯,通过此MCU实现UART通讯向无线通讯的转换,使得控制MCU收发程序不需要任何改动即可实现无线通讯;<BR>无线接口工作指示 
                        —— 作为无线控制MCU的人机界面,方便监测其工作状态;<BR>无线转UART口 —— 
                        与控制部分的主控UART相连,可以实现小车无线通讯;与USB转UART相连,可以为PC机增加一个无线收发适配器;<BR>无线收发模块 
                        —— 433MHz的FSK无线收发模块,价廉物美,十分适合于这种学习性的应用。<BR>MEGA64/128 
                        转换部分 —— 
                        因为AVR已渐流行,低端的AVR芯片和所选用的控制MCU相差不大,无替换价值;但是MEGA64/128 
                        功能强许多,但其封装限制了学习者,所以此处提供了一个转换区域,便于学习者选用。(买一块单独得转换PCB价格也不菲)<BR>DIP40/窄DIP28MCU焊接区 
                        —— 因为PIC单片机也广为使用,其多为DIP40 封装,且DIP40 
                        封装的其它MCU也很多,所以设计了一个装换区,以方便选用。<BR>扩展接口 —— 
                        控制板上的MCU所有引脚都接至此,可方便的适用和测试;<BR>GP2D12预留接口 —— 
                        因为底盘上设计了GP2D12 的安装位置,所以此处也为其预留的插座位置,以方便使用。<BR>扩展焊盘区 —— 
                        余下的空间均布满焊盘,以提供发挥的空间。</P>
                        <P>以上所有术语会在后面的叙述中使用,如遇到且不清楚含义时可查看以确定其位置和功能,帮助理解所描述的内容。</P>
                        <H2>三、 小车的第一个程序</H2>
                        <P>前面介绍小车各部分功能时说过,只有主控工作指示是作为“人机界面”设计的,相当于PC机的显示器,而学过C语言的都知道,开始的第一个程序通常是显示:<BR>Hello 
                        World !</P>
                        <P>所以小车的第一个程序也想控制这唯一的“显示”。</P>
                        <P>要实现控制主控工作指示,先看一下硬件是如何连接的:</P>
                        <P align=center><IMG height=399 src="" width=480></P>
                        <P>从图中可以看出,主控工作指示由MCU的P3.4控制,低电平亮、高电平灭。根据这个首先编一个简单的程序以实现对它的控制。<BR>这里顺便探讨一个问题:是用C语言开始学习还是用汇编?<BR>我倾向于使用C语言,至少对学过计算机原理的大学生而言如此,因为单片机应用学习主要是掌握这种智能器件的使用特点和过程,而非关注其内部工作原理,使用C语言可以方便的转向任何一种单片机,而不会过多的被某种单片机所羁绊。<BR>汇编语言可以适当了解,在集成开发环境(IDE)下,多留意C语言编译后的汇编代码,看看是如何实现的即可。<BR>言归正传,首先,做一个最简单的程序,控制主控工作指示灯闪烁:</P>
                        <P>/*******************************************************/<BR>/* 
                        圆梦小车StepbyStep 程序之一 */<BR>/* —— 控制“主控工作指示” */<BR>/* 
                        20070609 by Dingqi 
                        */<BR>/*******************************************************/<BR>// 
                        注:以下文档的 TAB 为 2 
                        个字符!<BR>/*-----------------------------------------------------<BR>这段程序用最简单的方式控制&amp;quot;主控工作指示&amp;quot; 
                        ,<BR>目的是示意一下如何装载一段有效的 C 语言程序。</P>
                        <P>因为程序简单,故所有内容合并在一个文件中。<BR>-------------------------------------------------------*/</P>
                        <P>#include &amp;lt;STC12C5410AD.h&amp;gt; <BR>/* 
                        STC12C5410AD 的头文件,为MCU中各个硬件寄存器定个名称,以便C语言中使用*/</P>
                        <P>sbit Work_Display = P3^4; <BR>// 
                        根据硬件设计用与“主控工作指示”接近的名称取代硬件名称,使程序减少与硬件的相关性</P>
                        <P>#define LIGHT 0 <BR>// 
                        亮逻辑值,用直观的符号化常数替换与硬件密切相关的逻辑值,增加程序的可读性、可移植性。<BR>#define 
                        DARK 1 <BR>// 暗逻辑值</P>
                        <P>#define LIGHT_TIME 1000 // 
                        亮时间,使用符号化常数,便于修改,增加程序可读性<BR>#define DARK_TIME 1000 // 
                        暗时间</P>
                        <P>#define P3MODE0 0x10 // 00010000,P3.4 设置为开漏输出,其余均为标准 
                        51 口;<BR>#define P3MODE1 0x10 // 00010000,</P>
                        <P>/*********** 主程序 *****************/</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -