📄 寻迹小车 followme—— 之三:轨迹采样及逻辑控制部分硬件设计.htm
字号:
<LI>支持模拟输入功能,可接GP2D12 等模拟量输出传感器;
<LI>提供一路PWM方式的DA转换输出,以便作为RCX的输入扩展模块。
<LI>电源应支持单节电池供电,以便于作为独立模块使用。 </LI></UL>
<H3>5.4.3 概要设计</H3>
<P>采用STC12C54xxAD系列单片机作为控制核心,控制、采集4路采样电路,采样电路中设计了背景光去除功能。</P>
<P>电源设计了从1V升压到5V的电路,以便于为扩充的输入器件供电,如GP2D12。而后再经3.3
V稳压器降压作为MCU的电源。这样设计使用1 - 2节7号或5号电池就可以工作,体积大大缩小。</P>
<P>电机驱动部分设计提供最大1A的驱动能力,电机的工作电压可变,以满足不同电机的需要。</P>
<H3>5.4.4详细硬件设计</H3>
<P>STC12C54xxAD系列单片机有8路10位AD转换器,虽说采用的是扫描方式逐个完成,但其一个通道的A/D转换时间在22.1184MHz
主频下只需约10us,加上通道间的切换时间,4个通道采样时间不到60us,所以可以满足4通道轨迹采样的要求。由于P1.0、P1.1
有可能要作为ISP编程的控制引脚,所以用P1.4 – P1.7 四个通道作为轨迹采样通道。</P>
<P>MCU资源分配汇总:<BR>I/O口:<BR>P1.0 — P1.1 —— ISP控制口,
兼作通用模拟输入口;<BR>P1.2 — P1.3 —— 通用模拟输入口;<BR>P1.4 — P1.7 ——
4路光电采样信号输入;<BR>P2.0 — P2.3 —— 马达1 的4个驱动,使用PCA2
控制;<BR>P2.4 — P2.7 —— 马达2 的4个驱动,使用PCA3 控制;<BR>P3.0 —
P3.1 —— TXD、RXD端,作为ISP使用,兼作为通用的串口;<BR>P3.2 — P3.3 ——
通用的开关量输入口,<BR>P3.4 —— 工作指示灯<BR>P3.5 —— 用PWM输出模拟信号给
RCX;<BR>P3.7 —— 控制光电采样器的背景采样,4路共用!</P>
<P>内部资源:<BR>T0 —— 系统时基<BR>T1 —— 串口波特率<BR>PCA0 ——
生成背景采样控制,编程时看是用时基程序控制,还是PWM硬件控制。<BR>PCA1 —— D/A输出给
RCX<BR>PCA2 —— 马达1 的PWM控制<BR>PCA3 —— 马达2
的PWM控制<BR>INT0、INT1 —— 保留给开关量输入。 </P>
<P>采样电路中第一级作为电压跟随器,提高输入阻抗,减少后级电路对光电管的影响,同时增加驱动能力,保证在Tx1截止、Tx2导通状态下,能可靠的对Cx1充电,实现对背景光强度的记忆。</P>
<P>第二级是一个减法器,同时兼作放大。采样时,Tx1导通,点亮LED,Tx2
截止,第二级的输入实际上为此时的光电信号减去刚才电容上记忆的信号,达到了去除背景光的目的。</P>
<P>PCA1 设计为DA输出用的PWM,以提供RCX输入所需的模拟信号,由于单片机采用的是3.3
V电源,输出使用LMV358做了电平转换,同时使用一个全桥电路实现与RCX的“无极性”连接。为了降低二极管带来的电压损失,使用了4个肖特基二极管,其正向压降约为0.15V,而普通整流管约为0.6V。</P>
<P>电源采用NCP1402开关型升压芯片,所需器件较少,电路简单,输出电流约200
mA(详查NCP1402手册)。<BR>电机驱动部分使用的是长电的SS8050和SS8550作为功率驱动,标称最大电流1.5A。为了便于使用不同的电压驱动电机,电路上将电机驱动电压分开,其中的电阻值需要根据所使用的电压确定。由于空间有限,没有设计短路防护,在编程时要十分注意。而且只设计了H桥下臂的两个二极管,作为PWM调功必须的续流通路,省去了上臂的保护二极管,所以在软件编写时须注意,尽量避免同时切断所有桥臂,导致电机线圈产生高压,击穿三极管。</P>
<P>发光二极管的设置主要是为了便于监测程序的运行状态,可以根据需要改变LED闪烁的方式,达到调试或状态检测的目的。</P>
<P>电路设计上为了便于作为其他用途,PCB上留出了可以扩充的I/O口,包括:</P>
<UL>
<LI>4路可作为模拟输入的I/O口,接内部A/D转换器;
<LI>2路数字I/O,接内部外部中断,可灵活作为各种用途的监测;
<LI>TXD、RXD串口,既作为编程的接口,也可在执行用户程序时作为通用的数据接口;
<LI>提供了3.3V和5V两种电源,便于扩充需要。 </LI></UL>
<P>为了增加灵活性、减小PCB,仍然采用软线引出,使用空中对接插头连接(插头资料见之二的附件),这样可以方便的按照自己的需要接出所需的信号,而不会受制于直接设计在PCB上的插座的约束。</P>
<P>从PCB的设计上可以看出,如果需要更复杂可靠的轨迹采样,可以再接一块采样板,使用保留的4路A/D通道,实现8个轨迹采样或者其他特殊的需求。</P>
<H2>5.5 硬件设计总结</H2>
<P>至此,控制硬件设计基本完成,综观上述设计,尤其是PCB的设计,应当可以看出,整个设计的宗旨均贯穿着这样的理念:</P>
<UL>
<LI>便于灵活的组合,以达到不同的目的,满足不同的需求;
<LI>尽量使所做的东西可以不断的被利用,以发挥其最大价值;(两个部分总共有4块PCB,他们可以灵活组合,每一块PCB又都可以方便的作为其它用途:)
<LI>H桥部分可以作为其它主控板的功率驱动部分;
<LI>采样部分也可以单独作为光电采样的信号预处理;
<LI>电机驱动器的控制部分可作为一个通用的最小系统,方便的构成一些智能部件 。 </LI></UL>
<P>硬件设计到此为止,在实施中也许会做适当改进。</P>
<P>(未完待续)</P>
<P>附件:<BR>1、 <A
href="http://www.robotdiy.com/images/FollowMe_robot/followme_robot_logic.rar">电原理图、PCB(RAR压缩文件)</A><BR>2、
<A
href="http://www.robotdiy.com/images/FollowMe_robot/followme_robot_logic.XLS">元器件清单(Excel文件,供参考)</A></P>
<P>参考资料:<BR>1、 NCP1402 数据手册<BR>2、 《电动机的单片机控制》王晓明编著
北京航空航天大学出版社<BR></P>
<H2 align=left>提示:</H2>
<P>由于文章是分开多节上传到网站上,为了方便大家讨论,请把相关的问题集中在<A
href="http://www.robotdiy.com/phpbb2/viewtopic.php?p=48671"
target=_blank>这个帖子</A>上,这样可以方便作者回答大家的问题,谢谢!<BR></P></TD></TR>
<TR>
<TD class=type4 align=right>
<DIV align=right><A
href="http://www.robotdiy.com/friend.php?op=FriendSend&sid=263"><IMG
alt="Send this announcement to a friend"
src="寻迹小车 FollowMe—— 之三:轨迹采样及逻辑控制部分硬件设计.files/friend.gif"
align=middle border=0></A> | <A
href="http://www.robotdiy.com/article.php?op=Print&sid=263"><IMG
alt="Printable Version"
src="寻迹小车 FollowMe—— 之三:轨迹采样及逻辑控制部分硬件设计.files/print.gif"
align=middle
border=0></A> </DIV></TD></TR></TD></TR></TBODY></TABLE><BR><BR>
<TABLE style="TEXT-ALIGN: left" cellSpacing=2 cellPadding=4
width="100%" border=0>
<TBODY>
<TR>
<TD class=article-top
style="BACKGROUND-COLOR: #e0e0e0">评论 - <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=a">张贴你的评论</A></TD></TR>
<TR>
<TD class=white>
<DIV align=center>所有的评论属于张贴者,本网站不对任何内容负责。
<FORM action=mod.php method=post>定制显示方式:显示 <SELECT
name=cmt_new_thold><OPTION value=-1>-1 :
4</OPTION><OPTION value=0 selected>0 :
4</OPTION><OPTION value=1>1 : 0</OPTION><OPTION
value=2>2 : 0</OPTION><OPTION value=3>3 :
0</OPTION><OPTION value=4>4 : 0</OPTION><OPTION
value=5>5 : 0</OPTION></SELECT> <SELECT
name=cmt_new_mode> <OPTION value=nocomments>NO
Comments</OPTION> <OPTION value=nested
selected>Nested</OPTION> <OPTION
value=threaded>Threaded</OPTION> <OPTION
value=flat>Flat</OPTION></SELECT> <SELECT
name=cmt_new_order> <OPTION value=4 selected>Oldest
First</OPTION> <OPTION value=1>Newest First</OPTION>
<OPTION value=3>Lowest Scores First</OPTION> <OPTION
value=2>Highest Scores First</OPTION></SELECT> <INPUT
type=hidden value=comments name=mod> <INPUT type=hidden
value=refresh name=op> <BR><BR><INPUT type=submit value=刷新> </FORM>
<HR width="50%" SIZE=1>
</DIV><BR>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>我们想做一个线控的比赛用的小机器人 | (Scores:
0)<BR>作者: Anonymous 发表日期: 星期二 18 七月 @
10:57:57<BR></TD></TR>
<TR>
<TD>就是说不是采用这种采集信号反馈的方式,而是可以由人员操作的,可以给些控制电机方面的建议不?
</TD></TR>
<TR>
<TD><BR>[ <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=1">回复</A>
]<BR><BR></TD></TR></TBODY></TABLE>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>RE:我们想做一个线控的比赛用的小机器人 | (Scores:
0)<BR>作者: Anonymous 发表日期: 星期三 19 七月 @
09:27:59<BR></TD></TR>
<TR>
<TD>关键看你的控制要求,如果只是正反转,用倒顺开关即可,但是要调速,就要加一些控制了。<BR></TD></TR>
<TR>
<TD><BR>[ <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=2">回复</A>
]<BR><BR></TD></TR></TBODY></TABLE>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>不可爱了 | (Scores: 0)<BR>作者:
Anonymous 发表日期: 星期三 13 九月 @ 14:26:15<BR></TD></TR>
<TR>
<TD>还是喜欢原来全积木式的! </TD></TR>
<TR>
<TD><BR>[ <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=3">回复</A>
]<BR><BR></TD></TR></TBODY></TABLE>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>寻轨迹机器人 | (Scores: 0)<BR>作者:
Anonymous 发表日期: 星期二 21 十一月 @ 08:10:52<BR></TD></TR>
<TR>
<TD>这是啥牌子的机器人<BR></TD></TR>
<TR>
<TD><BR>[ <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=4">回复</A>
]<BR><BR></TD></TR></TBODY></TABLE>
<DIV align=center><A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=a">张贴你的评论</A></DIV></TD></TR></TBODY></TABLE><BR><!-- BEGIN: File: themes/foo/footer.php --></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV class=smalltextatbottom style="TEXT-ALIGN: center">版权所有,2002-2006。<A
href="http://www.robotdiy.com/">中国机器人社区(机器人发烧友天地) </A>及<A
href="http://www.robotdiy.com/phpbb2/"> 机器人技术论坛</A><BR><IMG
src="寻迹小车 FollowMe—— 之三:轨迹采样及逻辑控制部分硬件设计.files/robot_email.gif"><BR><A
href="http://www.miibeian.gov.cn/" target=_blank>沪ICP备05037206号</A>
</DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -