手把手教你做Arduino随动机械臂_第1页
手把手教你做Arduino随动机械臂_第2页
手把手教你做Arduino随动机械臂_第3页
手把手教你做Arduino随动机械臂_第4页
手把手教你做Arduino随动机械臂_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

手把手教你做随动机械臂课程作业主题:单片机硬件开发平台课程名称:计算机硬件根底1.工程介绍课程作业工程名称:基于单片机系统的四自由度随动机械臂子工程:〔1〕了解ArduinoLeonardo这款硬件开发平台;〔2〕制作随动机械臂〔3〕了解SSC32路舵机控制器的用法;工程介绍:工程旨在制作一台小型四自由度机械臂,控制方式为随动控制〔即用一种用电位器制作操纵杆,使舵机摆过的角度电位器的旋钮,从而到达机械臂跟随操纵杆运动的一种控制方式〕,此机械臂通过利用ArduinoLeonardo这款硬件开发平台作为处理器,电位器为输入设备,舵机为输出设备,搭建起以ArduinoLeonardo为核心的机械臂系统。2.图2,机械臂主体图1,机械臂主体和Arduino连接

实验视频链接3.子工程1:什么是ArduinoLeonardo?图三,我所用的ArduinoLeonardo名

称:ArduinoLeonardo概

述:ATmega32u4编

号:A000057厂

商:AtmelArduinoLeonardo的处理器核心是ATmega32u4,同时具有20路数字输入/输出口〔其中7路可作为PWM输出,12路模拟输入〕,一个16MHz晶体振荡器,一个USB接口,一个电源插座,一个ICSPheader和一个复位按钮。4.子工程1:什么是ArduinoLeonardo?概要处理器ATmega32u4工作电压5V输入电压〔推荐〕7-12V输入电压〔范围〕6-20V数字IO脚20(其中7路作为PWM输出〕模拟输入脚12IO脚直流电流40mA3.3V脚直流电流50mAFlashMemory32KB〔ATmega32u4,其中4KB用于bootloader,即引入程序〕SRAM2.5KB〔ATmega32u4〕EEPROM1KB〔ATmega32u4〕工作时钟16MHz

电源ArduinoUNO可以通过2种方式供电,而且能自动选择供电方式外部直流电源通过电源插座供电。USB接口直接供电。存储器ATmega32u4包括了片上32KBFlash,其中4KB用于Bootloader。同时还有2.5KBSRAM和1KBEEPROM。USB接口外接电源接口5.子工程1:什么是ArduinoLeonardo?输入输出20路数字输入输出口:工作电压为5V,每一路能输出和接入最大电流为40mA。每一路配置了20-50K欧姆内部上拉电阻〔默认不连接)。除此之外,有些引脚有特定的功能串口信号RX〔0号〕、TX〔1号〕:与内部ATmega32U4USB-to-TTL芯片相连,提供TTL电压水平的串口接收信号。外部中断〔2号和3号〕:触发中断引脚,可设成上升沿、下降沿或同时触发。脉冲宽度调制PWM〔3、5、6、9、10、11、13〕:提供7路8位PWM输出。SPI〔10(SS),11(MOSI),12(MISO),13(SCK)〕:SPI通信接口。LED〔13号〕:Arduino专门用于测试LED的保存接口,输出为高时点亮LED,反之输出为低时LED熄灭。模拟输入A0到A5、A6到A11:每一路具有10位的分辨率〔即输入有1024个不同值〕,默认输入信号范围为0到5V,可以通过AREF调整输入上限。除此之外,有些引脚有特定功能AREF:模拟输入信号的参考电压。Reset:信号为低时复位单片机芯片。通信接口串口:ATmega32U4内置的UART可以通过数字口0〔RX〕和1〔TX〕与外部实现串口通信;ATmega32U4可以访问数字口实现USB上的虚拟串口。TWI〔兼容I2C〕接口SPI接口物理特征ArduinoUNO的最大尺寸为2.7x2.1inches。开发环境Arduino1.0.1开发语言为C语言图四,开发环境6.子工程2:制作随动机械臂原理图:VVVVVVVVVUSB(连至电脑)AnalogInput(PWM)AnalogInputArduinoLeonardoVV+=5VV+=5V舵机〔servo〕有三条接线,分别为信号线〔signal〕,电源线〔V++〕和地线signal电位器〔pot〕有三根线,其中电刷连接的变阻线接板子的模拟输入7.子工程2:制作随动机械臂实际连接图〔以一号舵机为例〕:舵机电位器8.子工程2:制作随动机械臂程序源代码〔一个舵机〕#include<Servo.h>//开发环境Arduino1.0.1中有此库

Servomyservo;//创立一个舵机工程〔myservo〕以操控一个舵机

intpotpin=0;//模拟输入接口0号口接电位器intval;//引入变量读取电位器输入的电压值

voidsetup(){myservo.attach(9);//把舵机连接至九号PWM输出口上}

voidloop(){val=analogRead(potpin);//从电位器上读取电压值〔从0到1023〕val=map(val,0,1023,0,179);//用map函数将电压值转化成要控制的舵机的转动角度myservo.write(val);//将输出角度读出控制舵机转动delay(15);//等待舵机到达指定位置}9.子工程2:制作随动机械臂当控制四个舵机时,程序变成:#include<Servo.h>

Servomyservo1;Servomyservo2;Servomyservo3;Servomyservo4;

intpotpin1=0;intpotpin2=1;intpotpin3=2;intpotpin4=3;intval1;intval2;intval3;intval4;

voidsetup(){myservo1.attach(9);myservo2.attach(10);myservo3.attach(11);myservo4.attach(13);}

voidloop(){val1=analogRead(potpin1);val2=analogRead(potpin2);val3=analogRead(potpin3);val4=analogRead(potpin4);val1=map(val1,0,1023,0,179);val2=map(val2,0,1023,0,179);val3=map(val3,0,1023,0,179);val4=map(val4,0,1023,0,179);myservo1.write(val1);myservo2.write(val2);myservo3.write(val3);myservo4.write(val4);delay(15);}图5,Arduino1.0.1中的四自由度机械臂随动控制程序在制作硬件之前,可以现将此程序拷入板子10.子工程2:制作随动机械臂材料:1.ArduinoLeonardo板一个,miniUSB数据线一条〔接电脑用〕。2.舵机:普通模拟180度舵机一个〔盛辉mg996R即可〕;9g小型舵机2个;2.5g微型舵机一个。3.电位器4个〔1K1W,其实具体型号无所谓,1K左右的低功耗的就行,旋转角尽量接近180度,因为选取的舵机都是180度的舵机〕11.子工程2:制作随动机械臂材料:4.杜邦线假设干〔公母头的都要有哦〕。5.舵机摆臂假设干,各种型号螺丝假设干。工具各种螺丝刀〔必须的〕,强力胶水〔加固用〕,电烙铁,焊锡等技术宅必备电工用具。暂时还没买烙铁架。。。12.子工程2:制作随动机械臂准备工作:1.将程序校检后拷入板子2.先将舵机编号,再将电位器按照舵机顺序编号3.将杜邦线与电位器连接好〔杜邦线母头可以正好插入电位器引脚〕4.将舵机杜邦线的母头改造为公头〔这是因为Arduino板子上的连接口全部都是母头,所以舵机连不上的缘故,强烈建议Arduino将来出带公头的板子!改造接线花了我不少时间……〕图7,程序的校检图8,电位器编号和舵机的编号图9,接头被破坏时的惨状……图10,改造后的接口〔中间插上细铁丝再焊牢,再包上绝缘胶布〕123413.子工程2:制作随动机械臂1.将舵机摆臂以适宜角度固定在舵机上。正式开始搭建!!14.子工程2:制作随动机械臂2.用自攻螺丝在二号三号舵机的侧部中央钻孔〔力气活〕,但注意不要伤到里面的电路!正式开始搭建!!15.子工程2:制作随动机械臂3.如图搭建机械臂,注意小臂是用旧的电池架弯曲制成,如果没有,可以找相似的材料代替。搭建完毕后要注意将线绕整齐,不要阻碍到机械臂的动作。16.子工程2:制作随动机械臂发挥你的想象力!图11,可以给机械臂装上不同零件,让它更像一只手臂17.子工程2:制作随动机械臂图12,肩部特写2号舵机

3号舵机图13,肘部特写4号舵机18.子工程2:制作随动机械臂4.按照原理图逐步搭建电路图12,一个关节控制电路的搭建按照原理图搭建电路,注意:一号电位器信号输出端接A0;二号电位器接A1;三号电位器接A4;四号接A5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论