专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

机械手之旅(一)

作者:佚名   来源:本站原创   点击数:  更新时间:2010年05月14日   【字体:

1日:

   自从拿到一快单片机的用户板后并对它有一些了解后,就有用它做机械手的念头。对它控制继电器、步进电机、LED、LCD、数码管稍做研究之后,便着手开始了。

第一步,驱动步进电机

   驱动步进电机并不是一件难事,板上有现成的电路。但我要做续步驱动,对我这个菜鸟来说似乎有些棘手,但还好先前研究过C以外的高级语言,并编了些貌似很实用的工具。经过几轮的试验后,用函数的参数及返回值搞定了这个问题。

第二步 数码管同步显示经过步数

  开始在正转头文件中加入数码管扫描,转速快时一切正常,但转速稍慢,要了亲命了,简直可以用眼花缭乱来形容。将数码管扫描放入延时中,只用这些语句来做延时,成功!但有重影。只好又另外加了个延时函数来消除重影。但只扫描了3只数码管,今天要加入扫描8只数码管,不知道步进电机会不会卡步。

  好了,这就是前几天的成果,似乎有点慢。没办法,英文太差,倒霉的芯片资料几乎全是英文的。让我好不烦恼,只能*翻译软件,但效果不佳。被迫学英语,哎!这几天背的单词比初、高中背的的都多。好了,工作!

(本来这这是一篇数码管逐个点亮的视频,结果视频始终不能正常显示,无奈只好改做其他)


6日:

   今天把数码管从3个增加到5个,扫面仍然正常,并发现有足够的延时来容纳另外三个数码管的扫面,于是在0位管上又加了一个速度挡,并用KEY3来调节,开始没有加按键放开判断,所以出现按下按键后无反应现象,后来加循环来判断按键跳起。可正常的改变转速。又加入无操作时判断,使数码管在无动作时也可显示状态。

下一步就要开始怎样用按键调节后五位的数值,并传递到forward/reverse函数中,确定设置完毕后自动根据设置的速度旋转指定角度、旋转步数断电的存储、返回原点等操作。

然后就是加入编程模式,在键盘上编辑后,逐步运行,不过还要想想编程的程序格式,以便源程序的编辑和以后的编程。

另外,hex文件现在已经达到5K,要想办法压缩一些。

7日:

   今天初步编了一下调整数字并用数码管显示,发现它需要在延时扫描里面再嵌入一段独控程序,这样可能会使程序变的臃肿。为了节省空间,所以放弃这个功能,把回原点先编出来,这段到最后如果空间足够的话再放进去。

回原点已经有了初步功能,但unsigned int只能容纳到65536,这肯定远远不够,所以还要加一个变量来记录共走过几个周期,这样就有65536^2可以容纳经过步。还要判断现位置的+/-以免在回原点时方向错误。这是明天的事了。

 下一篇地址:http://www.51hei.com/mcu/832.html

关闭窗口