📄 寻迹小车 followme—— 之四:电机驱动软件设计.htm
字号:
<P>如果是“单极性受限PWM驱动”模式,则直接根据PWM值和PWM的频率即可计算出前、后半周期持续时间。然后再根据转动方向给出电机输出控制字。</P>
<P>如果是“双极性可逆PWM驱动”模式,根据PWM值、转动方向、PWM频率计算出钱后半周的持续时间,其前、后半周的电机输出控制字不随转动方向变化,其转动方向由前、后半周持续时间的比例决定。</P>
<P>基于前面设计的硬件电路,控制引脚对应关系如下:<BR>P2.4 - CTL 2, H 桥的左下臂,1
电平输出导通, 0 电平输出截止<BR>P2.5 - CTL 1, H 桥的左上臂,0 电平输出导通, 1
电平输出截止<BR>P2.6 - CTL 3, H 桥的右上臂,0 电平输出导通, 1
电平输出截止<BR>P2.7 - CTL 4, H 桥的右下臂,1 电平输出导通, 0
电平输出截止<BR>(注:上面的1、2顺序颠倒是由于PCB排版造成的。桥臂的位置描述是根据原理图的位置表述的。)</P>
<P>电机控制逻辑:</P>
<P align=center><IMG height=146
src="寻迹小车 FollowMe—— 之四:电机驱动软件设计.files/Motor_control_logic.gif"
width=676></P>
<P>电机输出控制字根据上述控制逻辑产生。</P>
<P>电机的控制输出用PCA3的中断产生,将PCA3设为“16位软件定时器”模式,通过在中断中不断加载比较器的内容实现PWM输出。因为对应最高2000Hz的PWM频率,一个周期持续时间只有500us,时间很短,所以将PCA置为高级中断,以消除中断响应滞后带来的偏差。同时简化中断的处理,使中断服务时间尽量短,以保证其它程序功能正常。<BR>“计算电机控制参数”标志的建立有两个来源,一个是串口所发的开环控制命令,二是闭环模式下PID控制所产生。这样设计可以方便的使电机驱动器工作于不同的模式。<BR>具体实现细节见程序。<BR>到此,电机驱动器已可以作为常见的“调功方式”电机驱动器使用了。速度反馈和PID闭环控制下一篇叙述。<BR>(未完待续)</P>
<P>附件:</P>
<P>1、<A
href="http://www.robotdiy.com/images/FollowMe_robot/Motor_Control_Program.rar">电机驱动模块程序压缩包(RAR压缩格式,10KB)</A><BR>含:</P>
<UL>
<LI>MotorDrv.c C51程序
<LI>STC12C5410AD.H STC12C54XX的C语言头文件,内有所有SFR的定义
<LI>Port_Def.H 对应硬件设计的I/O口变量定义
<LI>constant.H 程序中硬件初始化参数、符号化常量的定义
<LI>Motor_Var.H 程序中全局变量的定义 </LI></UL>
<P>注:程序只通过了编译,还未调试,所以会有不妥之处,仅供参考。</P>
<P>参考资料:<BR>1、 STC12C54XX 数据手册<BR>2、 《电动机的单片机控制》王晓明编著
北京航空航天大学出版社</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=264"><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=264"><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 :
5</OPTION><OPTION value=0 selected>0 :
5</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 发表日期: 星期三 09 八月 @ 13:35:41<BR></TD></TR>
<TR>
<TD>作者同志你好,非常感谢你的热心为我们开辟入门之路,非常敬畏你的精神希望能有更多的研究学者能像你一样能够打破技术坚冰,为我们指点各方面的技术...相信如果祖国有千万个你,我们的祖国的科技一定会更加发达。<BR>对于你的下一章我们已经迫不急待...<BR>QQ657785021
tao </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>敏于行 | (Scores: 0)<BR>作者: Anonymous
发表日期: 星期四 10 八月 @ 08:40:12<BR></TD></TR>
<TR>
<TD>你好,我是一名电动车爱好者,正在循着你的脚印进入单片机神奇的世界。我也在编制程序,但感觉不理想,很想参考你的程序,但是你上传得文件包打不开,没有程序出现。
</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>RE:敏于行 | (Scores: 0)<BR>作者:
Anonymous 发表日期: 星期五 11 八月 @ 03:51:20<BR></TD></TR>
<TR>
<TD>可以啊!你再试试!有无WinRAR软件? </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>
<BLOCKQUOTE>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>下载 | (Scores: 0)<BR>作者:
Anonymous 发表日期: 星期一 30 十月 @ 11:18:52<BR></TD></TR>
<TR>
<TD>编好的程序不能下载是什么原因啊?怎样才能找到相关的驱动程序啊? </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></BLOCKQUOTE>
<TABLE width="100%" summary=Comment border=0>
<TBODY>
<TR>
<TD class=type4>急需 | (Scores: 0)<BR>作者: Anonymous
发表日期: 星期六 11 十一月 @ 12:03:44<BR></TD></TR>
<TR>
<TD>急需这方面的资料,各位朋友,如果有这份资料的话,<BR>请发给我一份!!!!<BR>在此不胜感激!!!!<BR>jsrd_jij@126.com
</TD></TR>
<TR>
<TD><BR>[ <A
href="http://www.robotdiy.com/mod.php?mod=comments&op=reply&cmt_cid=5">回复</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 + -