登录站点

用户名

密码

蜘蛛侠机器人(二) 转载

2已有 733 次阅读  2011-05-04 17:02   标签office  机器人  蜘蛛侠  style 
蜘蛛侠机器人(二) 

 

因为买的伺服电机只带一个关节,需要在上面固定一个长条形的东西做成机器人的脚。跑了好多商店,终于找到一种合适的东西----塑料夹子,就是平时晾衣服的那种。把夹子上的弹簧圈拆下来,每个夹子就变成了两个。这样拆了两个夹子,分别粘到四个关节上,就成了四条腿,每个关节上有两个伺服电机,分别控制这个关节做水平旋转和竖直运动。

做好的机器脚是这样的:

 

 

 

再弄一块洞洞板,在四个角上分别钻出四个孔,用来固定关节的水平运动电机,然后把4条腿安上。做好后是这样的:

 

 

 

 

好了,基本的机械部分搞定了,现在再做一个机器人驱动板,用85V稳压芯片7805分别驱动8个伺服电机。开始的时候想用两个LM11178个电机提供电流,不过以前没有经验啊,用的LM11173.3V,而且是贴片的,结果只放了3个电机就带不动了,特别热。现在为了保险起见,干脆就用8个稳压芯片,5V输出给伺服电机。不过单片机是3.3V的,这样输出PWM的引脚也是3.3V的,直接和5V的伺服电机控制线相连行吗?。。。经过试验,好像没有异常的地方,完全能够控制电机旋转角度。驱动板如下(还没焊好):

 

 

 

 

再把驱动板固定到机器人底座上,插上8个伺服电机的接线柱。驱动板引出的插针从左到右依次是:电源正、电源负、8个控制线。其中电源正负需要输入9~12V的电源,然后在8个控制线上施加PWM脉冲就可以分别控制8个伺服电机的旋转角度了。加上驱动板后是这样子的:

 

 

 

 

 

然后是电路部分了,用热转印方法做了一个单面PCB板子,上面加了一个nRF2401无线模块,这样将来可以扩展成笔记本控制的。还可以在机器人上加摄像头,用无线方式实时传送机器人前方图像,再用笔记本显示出来,。。  想想挺酷的,呵。一点点来吧,努力一定能做成的。

 

 

 

 

OK,把电路板装配上,看看整体效果:

 

 

 

 

 

 

现在机械部分都弄好了,开始给机器人编程,为它注入思想~ 呵,其实没有什么,只是那种很机械的动作而已,不过这也费了我一番心思。以前从没做过单片机和电机联合的东西,所以都要慢慢琢磨。比较困难的是伺服电机驱动这,一个12M晶振的AVR单片机,同时控制8路伺服电机,还真是挺困难的呀。一开始先用软件延时模仿产生8PWM,总算让电机动起来了。发现伺服电机的控制线上要不断地输入PWM脉冲才能保持当前的角度,不能让控制线的PWM停下来。一旦停了,比如始终低电平或高电平,那么电机就不会保持锁定状态,就像没通电一样。又慢慢琢磨了两天,经过本人坚持不懈实际验证和调试,终于发现了一种近乎“完美”的AVR单片机控制8PWM的方案:用一个定时器产生25us的中断,每个通道占用100次的定时器中断,8个通道一共用掉800个中断,25us*800就是20ms,正好为一个标准的伺服电机驱动周期,。。效果非常好。。各个电机可以独立控制,互不干扰。其实这个用到一个巧合:伺服电机的高电平时间在0.5ms2.5ms之间,就按照2.5ms计算吧,在一个周期(20ms)里正好有8个,所以把8个通道的控制平均分配到这20ms中,。。~ 真绝妙的想法~~ 先声明不是我原创的!不知道是哪个家伙最先想出的,先向原创者膜拜下~

按照这个思路,其实还可以实现24路、32路伺服电机的控制。不过还有个小小的问题,就是定时器中断中的函数尽量在25us内执行完毕,这样在主程序循环中才有时间做其他事,比如从无线模块接收操作者的命令,前进、后退、转弯等。可惜呀,我的编译器和那些商业的还有点差距,编译效率不高,真正要实现AVR驱动32PWM还有一段路要走了,。。。那个以后再说吧,至少现在这个8PWM能跑起来就行了。

下面这个是机器人行走的一小段视频,哪位朋友感兴趣就点下瞧瞧吧~ 呵呵,欢迎交流探讨。

 

机器人行走视频地址 http://www.tudou.com/programs/view/hTU6hYMySx4/

 

上一篇: stm32应用例程 下一篇: 蜘蛛侠机器人(一) 转载

分享 举报

发表评论 评论 (2 个评论)

涂鸦板