机电一体化实训报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机电控制实训总结学号: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<5;thisPin++){
pinMode(col[thisPin],OUTPUT);
pinMode(row[thisPin],OUTPUT);
digitalWrite(col[thisPin],HIGH);
}
For(int x=0;x<5;x++){
For(int y=0;y<5;y++){
Pixels[x][y]=HIGH;
}
}
}
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<5;thisRow++){ digitalWrite(row[thisRow],HIGH);
for(int thisCol=0;thisCol<5;thisCol++){
int thisPixel=pixel[thisRow][thisCol]; digitalWrite(col[thisCol],thisPixel);
if (thisPixel==LOW){
digitalWrite(col[thisCol],HIGH);
}
}
6.外壳
使用三维制图软件设计,通过3D打印技术制作