📄 寻迹小车 followme.htm
字号:
14:20</FONT><BR><BR></TD></TR>
<TR>
<TD><FONT color=#0000ff size=1><IMG
src="寻迹小车 FollowMe.files/robot_forum.gif"><A
title="Posted by:sunxflower In:机器人核心部分开发"
href="http://www.robotdiy.com/phpbb2/viewtopic.php?t=15365"
target=_blank> kk</A> on 26-01-07 @
14:18</FONT><BR><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR><!-- Start themeplugin -->
<TABLE style="TEXT-ALIGN: left" cellSpacing=1 cellPadding=4
width="100%" border=0>
<TBODY>
<TR>
<TD class=boxtop style="BACKGROUND-COLOR: #e0e0e0"
width="100%">智能机器人相关链接</TD></TR>
<TR>
<TD><FONT color=#0000ff size=+1>
<TABLE width="100%" border=1>
<TBODY>
<TR>
<TD><A href="http://www.for-expo.com/ch/car/jqr.htm"
target=_blank><IMG
src="寻迹小车 FollowMe.files/Shanghai_Robot_Expo_2006.png"></A></TD></TR>
<TR>
<TD><A
href="http://www.robotdiy.com/mod.php?mod=weblink&op=view_category&cid=105&start_num=0"><IMG
src="寻迹小车 FollowMe.files/dytrol_logo.gif"></A></TD></TR>
<TR>
<TD><A
href="http://www.robotdiy.com/mod.php?mod=weblink&op=view_category&cid=101&start_num=0"><IMG
src="寻迹小车 FollowMe.files/ChinaAI_logo.gif"></A></TD></TR>
<TR>
<TD><A href="http://www.sciei.com/" target=_blank><IMG
src="寻迹小车 FollowMe.files/sciei.gif"></A></TD></TR></TBODY></TABLE></FONT></TD></TR></TBODY></TABLE><BR></TD>
<TR>
<TD>FireFox,一个比IE更好的浏览器,点击马上下载Google的工具条:<BR>
<SCRIPT type=text/javascript><!--google_ad_client = "pub-1177468215529121";google_ad_width = 120;google_ad_height = 240;google_ad_format = "120x240_as_rimg";google_cpa_choice = "CAAQ4cP8zwEaCFyqZHuqSKdeKKG_93M";//--></SCRIPT>
<SCRIPT src="寻迹小车 FollowMe.files/show_ads.js"
type=text/javascript></SCRIPT>
<BR>ROBOTDIY所有页面全面支持FireFox。 </TD></TR></TR></TBODY></TABLE></TD>
<TD class=leftshade vAlign=bottom width="1%"><!-- <img src="themes/career/img/btmleft.gif" width="19" height="19" alt="." border="0">-->
</TD>
<TD vAlign=top width="80%">
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top colSpan=2>
<TABLE cellSpacing=0 cellPadding=6 width="100%"
summary="Data for Introduction" border=0>
<TBODY>
<TR>
<TD><IMG height=50 alt=. src="寻迹小车 FollowMe.files/trans.gif"
width=1 border=0></TD>
<TD vAlign=top align=right width="99%"><IMG
src="寻迹小车 FollowMe.files/robot_diy_ban.gif" border=0> </TD></TR>
<TR>
<TD> </TD>
<TD align=right><B>| <A class=foot
onclick="javascript:window.external.addfavorite('http://www.robotdiy.com','机器人发烧友天地--ROBOTDIY')"
href="http://www.robotdiy.com/#">加入收藏夹 </A>| <A
href="http://www.robotdiy.com/phpbb2/"
target=_blank>机器人技术论坛</A> | <A
href="http://www.robotdiy.com/help.htm" target=_blank>帮助</A>
|<A href="http://www.robotdiy.com/aboutus.htm"
target=_blank>关于我们</A> |<A
href="http://www.robotdiy.com/aboutus_e.htm"
target=_blank>About Us</A>|</B> </TD></TR></TBODY></TABLE>
<HR>
</TD></TR>
<TR>
<TD vAlign=top>
<TABLE cellSpacing=4 cellPadding=6 width="100%"
summary="Data for Introduction" border=0>
<TBODY>
<TR>
<TD><!-- End of header.php file -->
<SCRIPT type=text/javascript><!--google_ad_client = "pub-1177468215529121";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="";//--></SCRIPT>
<SCRIPT src="寻迹小车 FollowMe.files/show_ads.js"
type=text/javascript></SCRIPT>
<TABLE style="TEXT-ALIGN: left" cellSpacing=5 cellPadding=4
width="100%" border=0>
<TBODY>
<TR>
<TD class=article-top style="BACKGROUND-COLOR: #e0e0e0"
width="99%">寻迹小车 FollowMe—— 之七:单MCU控制的程序设计<BR><SPAN
class=smalltype>写于: 星期二 17 十月 @ 23:08:06 </SPAN></TD></TR>
<TR>
<TD></TD></TR>
<TR>
<TD><A
href="http://www.robotdiy.com/topics.php?op=viewtopic&topic=4"><IMG
height=77 alt=智能机器人开发 hspace=4
src="寻迹小车 FollowMe.files/robot_hardware.gif" width=40
align=right
border=0></A><I>本来应当着手轨迹检测和走轨迹控制的程序设计,但为了让学习者更易实施,此篇改为基于单MCU控制的程序设计,本篇主要完成电机驱动部分,即将前面所述的电机驱动合并到一个MCU中。<BR><IMG
src="寻迹小车 FollowMe.files/FollowMe_Assembly_Robot_Mini_Topic.jpg"></I>
<BR><BR>
<H1 align=center>寻迹小车 FollowMe</H1>
<H2 align=center>—— 之七:单MCU控制的程序设计</H2>
<P align=center>作者:<A
href="http://www.robotdiy.com/phpbb2/profile.php?mode=viewprofile&u=3954"
target=_blank>Hanker</A></P>
<P align=left>前面的章节:</P>
<OL>
<LI><A
href="http://www.robotdiy.com/article.php?sid=261"
target=_blank>车的主体</A>;
<LI><A
href="http://www.robotdiy.com/article.php?sid=262"
target=_blank>控制部分中的电机驱动器设计</A>;
<LI><A
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></OL>
<P>本来应当着手轨迹检测和走轨迹控制的程序设计,但为了让学习者更易实施,此篇改为基于单MCU控制的程序设计,本篇主要完成电机驱动部分,即将前面所述的电机驱动合并到一个MCU中。</P>
<P>从前一篇文章中已看到,使用我原来设计的方案在这个小车上有些不合理,如果再加上一个控制板,则更显“臃肿”,而正巧我认识的一个大学生基于前面的设计自己做了修改,采用一片MCU完成小车寻迹的所有功能,从设计的PCB上看,这个方式更适合学习者采纳,所以我暂且放弃了前面的设计,用这块PCB继续完成后面的内容——寻迹控制。
</P>
<H2>7、单MCU控制的程序设计</H2>
<H3>7.1、硬件简介</H3>
<P>这个学生所作的修改主要是将原来设计的三个MCU功能合并到一个MCU中,简化了一些备用的功能,如转动方向采集、无线模块控制等,而主要功能实现的电路与原来相同,如:电机的驱动部分、码盘的采样部分、轨迹的采样部分。</P>
<P><IMG height=536
src="寻迹小车 FollowMe.files/FollowMe_Signal_Motor_Control.gif"
width=715></P>
<P>主要修改的是MCU的资源分配,电路如下:<BR><BR>图中:<BR>P2.0 — P2.3 —— 电机1
(左)驱动,使用PCA2 ;<BR>P2.4 — P2.7 —— 电机 2
(右)驱动,使用PCA3;<BR>P3.7 —— 电机1 (左)的码盘采样,使用PCA0;<BR>P3.5 ——
电机2 (右)的码盘采样,使用PCA1;<BR>P1.0 — P1.3 ——
4路轨迹采样,使用内部的AD转换;<BR>P3.3 —— 用于轨迹采样控制;<BR>P3.4 ——
用于工作指示灯,便于监测系统的工作状态;<BR>P1.4 — P1.7 ——
保留,作为扩充,可以作为4路AD输入,也可以连接SPI外设;<BR>INT0 ——
保留,能有一个中断输入,对于许多应用都是十分有益的。</P>
<P>他在设计PCB时还设计了一个扩展区,可以方便的焊接一些器件以扩充功能。<BR><BR>焊好的控制硬件如下:<BR><A
href="http://www.robotdiy.com/images/FollowMe_robot/FollowMe_AssemblyBoard.jpg"><IMG
height=180
src="寻迹小车 FollowMe.files/FollowMe_AssemblyBoard_Mini.jpg"
width=240 border=0></A>(点击看大图)</P>
<P><BR>组装后:<BR><A
href="http://www.robotdiy.com/images/FollowMe_robot/FollowMe_Assembly_Robot.jpg"><IMG
height=314
src="寻迹小车 FollowMe.files/FollowMe_Assembly_Robot_Mini.jpg"
width=345 border=0></A> (点击看大图) </P>
<P><BR>底部:<BR><A
href="http://www.robotdiy.com/images/FollowMe_robot/FollowMe_Under.jpg"><IMG
height=295
src="寻迹小车 FollowMe.files/FollowMe_Under_Mini.jpg"
width=335 border=0></A> (点击看大图) </P>
<P><BR>前视(注意光电采样器的安装,用的是网线,因是单股硬线,所以可以固定,而且便于调整)<BR><A
href="http://www.robotdiy.com/images/FollowMe_robot/FollowMe_Assembly_Robot_Front.jpg"><IMG
height=344
src="寻迹小车 FollowMe.files/FollowMe_Assembly_Robot_Front_Mini.jpg"
width=312 border=0></A> (点击看大图) </P>
<P>&#160; </P>
<H3>7.2 程序设计概述</H3>
<P>由于此程序将要完成小车寻迹的所有功能,如果再集中在一个程序文件中处理,将给阅读、调试带来困难,也不便于维护,而且也不符合正规的程序开发方式。</P>
<P>因为正规的程序开发通常需要多人合作,各人负责一部分功能,所以必须将程序分成多个独立的模块,每个模块涉及一个相对独立的功能,相互间确定好接口,这样才能合作完成一个功能复杂的程序。学习者也应当尝试这种模式。</P>
<P>目前这个小车项目分为4个模块:</P>
<P>主控模块 —— 初始化系统,根据消息调度各模块的功能;<BR>电机驱动模块 ——
包含所有与电机驱动有关的函数,接受控制命令,并付诸实施;<BR>轨迹采样模块 ——
包含所有与轨迹采样有关的处理,结果为与处理后的轨迹状态;<BR>轨迹控制模块 ——
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -