资源描述:
《机电一体化实训资料报告材料.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、机电控制实训总结学号:2013035105姓名:华锦辉院系:成教学院专业:机械设计制造及其自动化年级:2013级指导教师:成坤一、实训目的1、通过实习,学生应对机电工程学科有一定的感性和理性认识,对机械设计、机电技术等方面的专业知识做进一步的理解。2、通过实习,学生应了解相关程及相关硬件,掌握机电技术相关知识及使用工具,熟练掌握其实际操作和安装技能,3、通过实习,学生应了解电路图安装与调试技术,掌握电路元件装配、焊接技术及对故障的诊断和排除。4、通过实习,培养学生理论联系实际的能力,提高分析问题和解决问题的能力,
2、增强独立工作能力,培养学生团结合作。二、实训容(一)闪烁灯1.任务要求(1)按照电路原理图和PCB线路图,接线和焊接电子元件(2)接通电源后,绿灯常亮,黄灯闪烁。按下开关,三灯交替闪烁。2.电路图及PCB线路图图1.1电路图图1.2PCB线路图2.面包板连接实物图图1.3面包板连线图图1.4面包板实物图2.闪烁灯实物图1.5闪烁灯实物(二)LED灯显示屏1.任务要求(1)本设计是以单片机为核心控制器件的简单图像的LED显示系统,系统由单片机、和显示屏构成。(2)设计并实现5*5LED显示,要求单片机与显示器之间接
3、口设计,并编制程序,在显示器上显示英文字母。2.ArduinoMega2560单片机ArduinoMega2560是一款基于ATmega2560(数据手册)的微控制器板。它有54个数字输入/输出引脚(其中15个可用作PWM输出)、16个模拟输入、4个UART(硬件串行端口)、1个16MHz晶体振荡器、1个USB连接、1个电源插座、1个ICSP头和1个复位按钮。它包含了支持微控制器所需的一切;只需通过USB电缆将其连至计算机或者通过AC-DC适配器或电池为其供电即可开始。Mega与面向ArduinoDuemilan
4、ove或Diecimila的盾板大多都兼容。(1)概要微控制器ATmega2560工作电压5V输入电压(推荐值)7-12V输入电压(极限值)6-20V数字I/O引脚54(其中15个提供PWM输出)模拟输入引脚16每个I/O引脚的DC电流40mA3.3V引脚的DC电流50mAFlashMemory256KB,其中8KB被启动加载器占用SRAM8KBEEPROM4KB时钟速度16MHz(2)编程可以利用Arduino软件(download)给ArduinoMega编程。ArduinoMega上的ATmega2560预
5、先烧录了启动加载器,从而无需使用外部硬件编程器即可将新代码上传给它。它利用原始的STK500协议进行通信。您还可以旁路启动加载器,利用ArduinoISP等通过ICSP(在线串行编程)头为微控制器编程。Arduino库提供ATmega16U2(或rev1和rev2电路板的8U2)固件源代码。ATmega16U2/8U2配有DFU启动加载器,它可以通过下列方式激活:在Rev1电路板上:连接电路板背面上的焊接跨接线(靠近意大利地图),然后复位8U2。在Rev2或更新的电路板上:有1个电阻器,能将8U2/16U2HWB
6、线路接地,从而更轻松地进入DFU模式。然后,您可以利用AtmelFLIP软件(Windows)或者DFU编程器(MacOSXandLinux)(MacOSX和Linux)来加载新固件。或者,你也可以使用带有外部编程器(覆写DFU启动加载器)的ISP头。(3)外形图2.1ArduinoMega25603.电路图图2.25*5LED电路图4.5*5LED焊接实物图图2.3焊接实物图3.程序Constrow[5]={2,7,5,13,18}Constintcol[5]={6,11,10,3,4};Intpixels[5
7、][5];Intx=5;Inty=5;Voidsetup(){For(intthisPin=0;thisPin<5;thisPin++){pinMode(col[thisPin],OUTPUT);pinMode(row[thisPin],OUTPUT);digitalWrite(col[thisPin],HIGH);}For(intx=0;x<5;x++){For(inty=0;y<5;y++){Pixels[x][y]=HIGH;}}}Voidloop(){readSensors();refreshScreen
8、();}VoidreadSensors(){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;}VoidrefreshScreen(){For(intthisRow=0;thisRow<5;thisRow++){dig