机电一体化实训报告

机电控制实 训 总 结

学 号:2013035105 姓 名:华锦辉 院 系:成教学院

专 业:机械设计制造及其自动化 年 级:2013级 指导教师:陈成坤

一、实训目的

1、通过实习,学生应对机电工程学科有一定的感性和理性认识,对机械设计、机电技术等方面的专业知识做进一步的理解。

2、通过实习,学生应了解相关程及相关硬件,掌握机电技术相关知识及使用工具,熟练掌握其实际操作和安装技能,

3、通过实习,学生应了解电路图安装与调试技术,掌握电路元件装配、焊接技术及对故障的诊断和排除。

4、通过实习,培养学生理论联系实际的能力,提高分析问题和解决问题的能力,增强独立工作能力,培养学生团结合作。

二、实训内容

(一)闪烁灯

1.任务要求

(1)按照电路原理图和PCB 线路图,接线和焊接电子元件

(2)接通电源后,绿灯常亮,黄灯闪烁。按下开关,三灯交替闪烁。 2. 电路图及PCB 线路图

图1.1 电路图

图1.2 PCB线路图

3. 面包板连接实物图

图1.3 面包板连线图

图1.4 面包板实物图

4. 闪烁灯实物

图1.5 闪烁灯实物

(二)LED 灯显示屏

1. 任务要求

(1)本设计是以单片机为核心控制器件的简单图像的LED 显示系统,系统由单片机、和显示屏构成。

(2)设计并实现5*5LED显示,要求单片机与显示器之间接口设计,并编制程序,在显示器上显示英文字母。

2.ArduinoMega2560单片机

ArduinoMega2560是一款基于ATmega2560(数据手册) 的微控制器板。它有54个数字输入/输出引脚(其中15个可用作PWM 输出)、16个模拟输入、4个UART (硬件串行端口)、1个16MHz 晶体振荡器、1个USB 连接、1个电源插座、1个ICSP 头和1个复位按钮。它包含了支持微控制器所需的一切;只需通过USB 电缆将其连至计算机或者通过AC-DC 适配器或电池为其供电即可开始。Mega 与面向ArduinoDuemilanove 或Diecimila 的盾板大多都兼容。 (1)概要

微控制器 ATmega2560 工作电压 5V 输入电压(推荐值) 7-12V 输入电压(极限值) 6-20V

数字I/O引脚 54(其中15个提供PWM 输出) 模拟输入引脚 16 每个I/O引脚的DC 电流 40mA 3.3V 引脚的DC 电流 50mA

FlashMemory 256KB,其中8KB 被启动加载器占用 SRAM 8KB EEPROM 4KB 时钟速度 16MHz (2)编程

可以利用Arduino 软件(download)给ArduinoMega 编程。

ArduinoMega 上的ATmega2560预先烧录了启动加载器,从而无需使用外部硬件编程器即可将新代码上传给它。它利用原始的STK500协议进行通信。您还可以旁路启动加载器,利用ArduinoISP 等通过ICSP (在线串行编程)头为微控制器编程。

Arduino 库提供ATmega16U2(或rev1和rev2电路板内的8U2)固件源代码。ATmega16U2/8U2配有DFU 启动加载器,它可以通过下列方式激活:

在Rev1电路板上:连接电路板背面上的焊接跨接线(靠近意大利地图),然后复位8U2。 在Rev2或更新的电路板上:有1个电阻器,能将8U2/16U2HWB线路接地,从而更轻松地进入DFU 模式。然后,您可以利用AtmelFLIP 软件(Windows)或者DFU 编程器(MacOSXandLinux)(MacOSX 和Linux )来加载新固件。或者,你也可以使用带有外部编程器(覆写DFU 启动加载器)的ISP 头。 (3)外形

图2.1 ArduinoMega2560

3. 电路图

图2.2 5*5LED电路图

4.5*5LED焊接实物图

图2.3 焊接实物图

5. 程序

Const row[5]={2,7,5,13,18}

Const int col[5]={6,11,10,3,4}; Int pixels[5][5]; Int x=5; Int y=5;

Void setup (){

For (int thisPin=0;thisPin

For(int x=0;x

Void loop(){ readSensors(); refreshScreen(); }

Void readSensors(){ Pixels[x][y]=HIGH;

X=7-map(analogRead(A0),0,1023,0,7); Y=map(analogRead(A1),0,1023,0,7); Pixels[x][y]=LOW; }

Void refreshScreen(){

For(int thisRow=0;thisRow

digitalWrite(row[thisRow],HIGH);

for(int thisCol=0;thisCol

digitalWrite(col[thisCol],HIGH); } }

6. 外壳

使用三维制图软件设计,通过3D 打印技术制作

图2.4 CATIA三维制图

图2.5 3D打印制作实物图

7. 实物图

图2.6 设计成果

(三)“创意之星”机器人

1. 任务要求

要求:完全自主的机器人,使用各种传感器来感知自身的位置、姿态,实现移动,爬坡,推圆柱,避障等功能 任务规划:

(1)搭建机器人,布置传感器。实现 (2)编制程序,并做练习。 (3)模拟比赛练习。 2. 创意之星

(1)“创意之星”是一种模块化机器人组件,其特点是组成机器人的各种零件都是通用、可重组的,各个零件之间有统一的连接方式,零件之间可以自由组合,从而构建出各种各样的机器人构型。为了保证“创意之星”机械结构的刚性、牢固,如下图所示零件之间采用面接触、键连接、螺钉紧固的方式进行组合。

图3.1典型连接方式

3. 控制器

(1)以ATmega128为核心的MultiFLEX 2-AVR 控制器

图3.2 MultiFLEX 2-AVR控制器功能示意图

(2)以PXA270为控制核心的MultiFLEX 2-PXA270控制器。

图3.3 MultiFLEX2-PXA270控制器

4. 传感器

(1)“创意之星”布置了大量的传感器

图3.4“创意之星”传感器类型及电气规范

(2)红外接近传感器

红外接近传感器俗称光电开关。它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。多数光电开关选用的是波长接近可见光的红外线光波型,因此也称为红外开关。

图3.5 红外接近传感器

5. 执行器

机器人常用的运动驱动部件有直流有刷电机、直流无刷电机、步进电机、舵机等。“创意之星”配置了直流有刷电机、微型舵机、机器人专用舵机等。 (5.1) CDS5516机器人舵机

proMOTION CDS 系列机器人舵机属于一种集电机、伺服驱动、总线式通讯接口为一体的集成伺服单元,主要用于微型机器人的关节、轮子、履带驱动,也可用于其它简单位置控制场合。

图3.6 CDS5516机器人舵机

(5.2)CDS5516的调试设置软件

CDS5516的基础参数设置、保护参数调节、性能测试等都可以通过RobotSevo Terminal 软件来实现。

图3.7 RobotSevo Terminal

(5.3)CDS5516机器人舵机外接单片机

6.NorthSTAR 图形化开发环境

(6.1)NorthSTAR 是一个图形化交互式机器人控制程序开发工具。在NorthSTAR 中,通过鼠标的拖动逻辑框的控件和对控件做简单的属性设置,就可以快捷的编写机器人控制程序。程序编辑完后,可以编译并下载到机器人控制器中运行。NorthSTAR 编程环境具有操作简便、功能强大特点,能让您在图标拖动中创建复杂的逻辑,让您的机器人按照您的意愿动作。

图3.8 流程图界面

(6.2) NorthSTAR具有调试和在线监控功能,可以实时查询传感器的值、舵机位置,或者设置舵机速度和位置。

图3.9舵机调试界面

7. 机器人的装配(大家的共同努力)

整个擂台机器人由1个控制板,12个舵机和3个红外接近传感器及“创意之星”机器人零部件组成。4个舵机组成主要的四个车轮,由6个舵机组成两个机械臂,2个舵机组成两个机械腿。下列是装配实物图:

图3.10 机器人机构图

8. 程序

(1)下面是图形化的程序语言:

图3.11 NorthSTAR 图形化程序

(2)源程序如下:

#include "Apps/SystemTask.h"

uint8 SERVO_MAPPING[12] = {10,3,4,8,19,20,1,16,18,2,9,17};

int main()

{

MFInit();

MFInitServoMapping(&SERVO_MAPPING[0],12);

MFSetPortDirect(0x00000FF0);

MFSetServoMode(10,0);

MFSetServoMode(3,0);

MFSetServoMode(4,0);

MFSetServoMode(8,0);

MFSetServoMode(19,0);

MFSetServoMode(20,0);

MFSetServoMode(1,0);

MFSetServoMode(16,0);

MFSetServoMode(18,1);

MFSetServoMode(2,1);

MFSetServoMode(9,1);

MFSetServoMode(17,1);

//爬坡动作序列

while (1)

{

//收拢手臂

MFSetServoPos(10,512,1000);

MFSetServoPos(3,512,1000);

MFSetServoPos(4,512,300);

MFSetServoPos(8,512,300);

MFSetServoPos(19,512,300);

MFSetServoPos(20,512,300);

MFSetServoPos(1,512,300);

MFSetServoPos(16,512,300);

MFSetServoRotaSpd(18,-500);

MFSetServoRotaSpd(2,500);

MFSetServoRotaSpd(9,-500);

MFSetServoRotaSpd(17,500);

MFServoAction();

DelayMS(1000);

//爬坡动作1—前进

MFSetServoPos(10,512,1000);

MFSetServoPos(3,512,1000);

MFSetServoPos(4,400,300);

MFSetServoPos(8,400,300);

MFSetServoPos(19,400,300);

MFSetServoPos(20,400,300);

MFSetServoPos(1,620,300);

MFSetServoPos(16,400,300);

MFSetServoRotaSpd(18,-500);

MFSetServoRotaSpd(2,500);

MFSetServoRotaSpd(9,-500);

MFSetServoRotaSpd(17,500);

MFServoAction();

DelayMS(1000);

//爬坡动作2—前倾

MFSetServoPos(10,512,1000);

MFSetServoPos(3,512,1000);

MFSetServoPos(4,273,300);

MFSetServoPos(8,285,300);

MFSetServoPos(19,178,300);

MFSetServoPos(20,722,300);

MFSetServoPos(1,493,300);

MFSetServoPos(16,512,300);

MFSetServoRotaSpd(18,-500);

MFSetServoRotaSpd(2,500);

MFSetServoRotaSpd(9,-500);

MFSetServoRotaSpd(17,500);

MFServoAction();

DelayMS(1000);

//爬坡动作3—后倾

MFSetServoPos(10,512,1000);

MFSetServoPos(3,512,1000);

MFSetServoPos(4,273,200);

MFSetServoPos(8,285,200);

MFSetServoPos(19,178,200);

MFSetServoPos(20,722,200);

MFSetServoPos(1,360,200);

MFSetServoPos(16,652,200);

MFSetServoRotaSpd(18,-500);

MFSetServoRotaSpd(2,500);

MFSetServoRotaSpd(9,-500);

MFSetServoRotaSpd(17,500);

MFServoAction();

DelayMS(1000);

//收拢手臂

MFSetServoPos(10,512,1000);

MFSetServoPos(3,512,1000);

MFSetServoPos(4,273,300);

MFSetServoPos(8,285,300);

MFSetServoPos(19,178,300);

MFSetServoPos(20,722,300);

MFSetServoPos(1,360,300);

MFSetServoPos(16,652,300);

MFSetServoRotaSpd(18,-500);

MFSetServoRotaSpd(2,500);

MFSetServoRotaSpd(9,-500);

MFSetServoRotaSpd(17,500);

MFServoAction();

DelayMS(1000);

}

}

9. 自豪的设计成品

图3.12 不太完美的“擂台机器人”

三、实训心得

机电一体化实训,两周,转眼就过了。实训,在我看来是一种练习或者说复习,是为了巩固以前学的知识和增强自己的动手能力,因此,每个实训我都很重视,都全力以赴,都有很大的收获。

我们的实训训练不仅是锻炼个人技能,同样的还有人与人之间的合作能力,因此,分组,分任务,这是必不可少的。在短暂的大学学习和实习过程中,我深深的感觉到自己所学知识的肤浅和在实际运用中的专业知识的匮乏。本次试验控制系统的编程对我是一个很大的挑战,平时接触的编程方面的知识不是很多。不过,幸运的是有了NorthSTAR 图形化编程界面,可以方便直观的实现准确的编程控制,为我们提供了很大的便利性。这次实训因为有用到电烙铁,所以安全方面不得不强调。电烙铁用的是220V 的电压,通电之后本身又有高温,因此,一不小心就是烧物,伤人。我发现在实训场里的很多东西都是伤痕累累的,桌子有很多一块块的伤疤,更恐怖的是电烙铁的电线上也是充满伤疤,这可以看出来,我们同学对这个安全的问题还不是很重视,相信不少同学都有烫伤的体验。我觉得,无论是在哪里,无论是做什么东西、什么事情,安全都是前提,耐心、细心很重要。

实训完了,我们的作品也出来了,看着手中不太完美的作品,我们也是充满了自豪感。实训是大学的一种很重要、很有必要的学习方式,它能让我们学到课堂学不到的知识,谢谢老师为我们付出的汗水。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn