基于ardruino机械臂的养成(一)

做出一个可以受控制的机械臂,首先得明确使用什么控制机械臂的动作,需要哪些材料,使用什么进行开发,如何控制机械臂的动作,然后一步一步执行即可.

1.使用什么控制机械臂的动作?

一般控制硬件属于单片机的范畴,如果使用类似51单片机类似的工业解决方案可能学习成本会非常高,所以为了控制这个学习成本,我们将范围缩小到一些开源硬件控制器或者说是微电脑,比如近段时间比较火的树莓派,但是仔细分析下后,树莓派并不能满足这个需求,因为这个机械臂可能需要5-6个舵机进行动作,也就是需要5-6个pwm输出进行控制,而树莓派硬件实现的pwm信号输出只有2个,软件模拟性能又不稳定,所以放弃了它.

那么我们重新选择控制器,重新选择的结果是arduino,这是另外一个比较火社区又比较活跃的开源硬件平台,关于这个开源硬件平台可以上http://www.arduino.cc/官网看下.arduino具体的产品有多种型号,每种所带的信号输出口的数量以及一些硬件性能有一些差异,我买的是输出相对比较丰富的arduino mega 2560,以应对多样控制需求.

2.需要哪些材料?

材料主要指硬件,除了控制器外还需要机械臂组成的材料,主要是机械臂夹,舵机,角铁和架子,云台.机械臂夹和云台都只要一个就可以了,舵机的数量主要取决于机械臂分几段,其中云台上和机械臂夹需要固定的两个,如果臂分成2段那么云台旋转需要一个,第一段需要一个,第二段和臂夹链接的地方需要一个.所以总共是5个,角铁和架子根据臂的长度选择,如果是2段,那么需要角铁是3个,架子也需要3个(具体按照不同的设计进行选择)。

其他硬件包括面包板,连接线,控制器外接电源或者是电池盒(控制器所接的usb所提供的电源带不动舵机)以及其他工具准备,比如螺丝刀,万用表,剥线钳等.

3.使用什么进行开发?

arduino有官方的开发软件下载,直接上官网即可,如果你有visual studio,那么可以将arduino的开发环境集成到里面,那么开发也就会更加方便.

arduino的软件开发默认使用的是c语言,下载的集成开发环境有大量的例子可供测试.arduino的代码有个固定模式,一个setup()函数,一个loop()函数,前者主要初始化一些环境,只会调用一次,比如绑定各种输出口,初始化串口通信波特率等信息,后者是实现逻辑的主体,需要注意的是loop()方法arduino会按照一定的频率反复调用,所以一般会在里面实现一套状态迁移代码,配合串口通信进行执行控制.

另外需要tips一点,对于像我一样的新手,一定要对这个代码有一个清晰认识,就是这个代码是upload到arduino中跑的,而不是在开发的电脑上.

4.如何控制机械臂的动作?

这个主题,后续我会使用多篇文章进行说明,主要会涉及到 舵机角度控制, 开发电脑实时控制arduino的行为, 定制串口通信界面, 整合图像识别结果控制机械臂 几个部分.

猜你喜欢

转载自bucketli.iteye.com/blog/2089347