重邮自动工程实训实验报告(共50页).doc

上传人:飞****2 文档编号:15189475 上传时间:2022-05-11 格式:DOC 页数:50 大小:1.85MB
返回 下载 相关 举报
重邮自动工程实训实验报告(共50页).doc_第1页
第1页 / 共50页
重邮自动工程实训实验报告(共50页).doc_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《重邮自动工程实训实验报告(共50页).doc》由会员分享,可在线阅读,更多相关《重邮自动工程实训实验报告(共50页).doc(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上学生实验报告册课程名称:自动工程实训学 院:自动化专业班级:姓 名:学 号:指导教师:成 绩:学年学期:2017 -2018 学年 o春秋学期重庆邮电大学教务处制实验项目名称车灯本地控制实验实验地点电装实训室A303实验时间2017/10/23一二节实验指导教师成绩一、实验目的1)了解车灯实验箱控制板原理图2)熟悉车灯的控制逻辑(逻辑图、逻辑表)3)了解并熟悉MCS08DZ60主要模块,看懂数据手册4)学会在CodeWarrior软件环境下的简单编程。二、实验原理(或设计方案)通过车灯逻辑控制图我们可知我们可以将输入输出变量传给MCS08DZ60芯片,通过MCS08D

2、Z60处理,输出对各种车灯进行有效控制。车灯输入输出配置说明:/输入 PTCD_PTCD2 /远光灯开关 PTBD_PTBD1 /小灯开关PTCD_PTCD1 /左转灯开关 PTAD_PTAD0 /右转灯开关PTFD_PTFD7 /近光灯开关 PTBD_PTBD0 /前雾灯灯开关 PTDD_PTDD5 /刹车指示灯开关 保留未用 /输出 PTBD_PTBD6 /远光灯 PTAD_PTAD6 /小灯 PTBD_PTBD5 /左转灯 PTAD_PTAD5 /右转灯 PTCD_PTCD4 /近光灯 PTBD_PTBD4 /前雾灯 PTAD_PTAD4 /刹车指示灯 保留未用 注:所有输出为高电平才有

3、效。通过上表我们可以得到每个车灯模块需要达到的控制效果,我们通过CodeWarrior编程,结合车灯控制台,以达到以上效果。三、实验仪器设备、材料车灯控制台、CodeWarrior软件、一台电脑四、实验步骤(或设计过程)1)实验相关关键原理图了解(如继电器、开关量输入接口、AD输入接口等)、输入输出接口定义; 电机驱动模块中J1、J2为输出控制接插件,OUTPUT0-OUTPUT7为7个继电器输出控制信号,电路原理图如图1所示,J1、J2的具体管脚定义如表1和表2所示。图1 电机驱动模块电路原理图图2、 输入模块电路原理图2)软件流程图3)软件模块功能介绍软件模块主要有IO口控制模块、RTC定

4、时中断模块、MCG时钟模块、CAN总线模块几个部分。其中IO口分为输入和输出,实现对各车灯的控制,RTC定时器通过产生一个100ms的时间基准,控制灯光的闪烁以及CAN报文的发送。IO口控制模块 在本模块中,通过对7个输入和7个输出IO口的控制,来实现车灯的按钮控制,主要的程序代码如下:void IO_Init(void) PTDDD_PTDDD5=0; /输入 PTFDD_PTFDD7=0; PTBDD_PTBDD0=0; PTCDD_PTCDD1=0; PTADD_PTADD0=0; PTCDD_PTCDD2=0; PTBDD_PTBDD1=0; PTDD_PTDD5=1; /刹车指示灯开

5、关 PTFD_PTFD7=1;/倒车指示灯开关 PTBD_PTBD0=1; /车门灯开关 PTCD_PTCD1=1;/左转灯开关 PTAD_PTAD0=1; /右转灯开关 PTCD_PTCD2=1;/远光灯开关 PTBD_PTBD1=1; /近光灯开关 PTBDD_PTBDD6=1;/输出 PTADD_PTADD6=1;/ PTBDD_PTBDD5=1; PTADD_PTADD5=1; PTCDD_PTCDD4=1; PTBDD_PTBDD4=1; PTADD_PTADD4=1; PTBD_PTBD6=0;/远光灯 PTAD_PTAD6=0;/近光灯 PTBD_PTBD5=0;/左转灯 PTA

6、D_PTAD5=0;/右转灯 PTCD_PTCD4=0;/门灯 PTBD_PTBD4=0;/倒车指示灯 PTAD_PTAD4=0;/刹车指示灯 MCG时钟模块 本模块采用外部晶体为4MHZ、总线频率8为MHZ的时钟源。相应的程序代码请参考光盘中的源代码。CAN总线模块 本模块主要包括CAN模块寄存器的初始化设置,本实验中设置的CAN通信波特率为125kbps,此外,还有CAN发送和CAN接收两个部分,相应的程序代码请参考光盘中的源代码。RTC定时中断 本模块中包括RTC定时器初始化,RTC定时器中断函数,通过RTC定时来产生400ms的定时器中断发送CAN报文,相应的程序代码请参考光盘中的源代

7、码。灯光逻辑控制 这部分主要是通过按键来控制车灯的点亮和熄灭等操作,通过检测输入信号(按钮的动作),来判断是哪个开关动作,从而实现相应的操作(灯点亮或熄灭)。4)下载程序实现结果五、实验过程原始记录(数据、图表、计算等)(或设计计算、图纸等)给实验箱上电,打开电源开关。当把按钮打到近光档时,近光灯点亮,继续把按钮打到远光灯时,近光灯远光灯同时点亮;当按下刹车灯的开关时,刹车灯点亮;当按下倒车灯的开关时,倒车灯点亮;当把按钮打到左转档时,左转指示灯会出现周期性(闪烁频率10HZ)的闪烁,把按钮打到右转档时,右转指示灯会出现周期性(闪烁频率10HZ)的闪烁,把按钮打到中间档时,左转灯和右转灯全部熄

8、灭;当按下警示灯开关时,左转向灯、右转向灯同时周期性(闪烁频率10HZ)的闪烁,并且车身上的四个门灯全部打开。六、实验结果及分析(或设计总结) 通过不断CodeWarrior软件环境下编程,不断实验,最终成功实现了对近光灯、远光灯、左转灯、右转灯、倒车灯、应急灯和雾灯等模块对应功能的实现,拨动每个模块车灯按钮便能实现对应的车灯效果。 通过这个实验我们第一次接触了汽车电子方面的控制技术,不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力,学习到了很多软硬件方面的知识,学会熟练使用CodeWarrior集成开发环境,学会了车灯控制台的硬件设计。实验时

9、一定要在安全的情况下多动手多实践才能熟悉控台才能了解操作过程的各个环节,同时在动手的过程中就能慢慢学会如何去调好每一个模块。是的,纸上得来终觉浅,在这次实验学习中我清楚的认识到了车灯控制操作更多要靠实践,衷心感谢学校给我们安排的这次学习机会,谢谢老师的安排同时希望我们专业以后会有更多这样的机会。七、评阅意见 评阅人签字:评阅日期:附录专心-专注-专业#include /* for EnableInterrupts macro */#include derivative.h /* include peripheral declarations */#include MSCAN.hUnsigned

10、 char flag,flag1,flag2,warn_flag;void delay(unsigned int x) unsigned int i,j; for(i=0;ix;i+) for(j=0;j250;j+) ; void IO_Init() / 配置为输入 PTDDD_PTDDD5 = 0; PTFDD_PTFDD7 = 0; PTBDD_PTBDD0 = 0; PTCDD_PTCDD1 = 0; PTADD_PTADD0 = 0; PTCDD_PTCDD2 = 0; PTBDD_PTBDD1 = 0; PTDD_PTDD5 = 1; /刹车指示灯开关 保留未用 PTFD_PTFD

11、7 = 1; /近光灯开关 PTBD_PTBD0 = 1; /前雾灯灯开关 PTCD_PTCD1 = 1; /左转灯开关 PTAD_PTAD0 = 1; /右转灯开关 PTCD_PTCD2 = 1; /远光灯开关 PTBD_PTBD1 = 1; /小灯开关 /配置为输出 PTBDD_PTBDD6 = 1; PTADD_PTADD6 = 1; PTBDD_PTBDD5 = 1; PTADD_PTADD5 = 1; PTCDD_PTCDD4 = 1; PTBDD_PTBDD4 = 1; PTADD_PTADD4 = 1; PTBD_PTBD6 = 0; /远光灯 PTAD_PTAD6 = 0; /

12、小灯 PTBD_PTBD5 = 0; /左转灯 PTAD_PTAD5 = 0; /右转灯 PTCD_PTCD4 = 0; /近光灯灯 PTBD_PTBD4 = 0; /前雾灯灯 PTAD_PTAD4 = 0; /刹车指示灯 保留未用 void led_control() if(PTCD_PTCD2=1) /远光灯开关 PTBD_PTBD6 = 0; /远光灯关 else PTBD_PTBD6 = 1; /远光灯开 if(PTBD_PTBD1=1) /小灯开关 PTAD_PTAD6 = 0; /小灯关 else PTAD_PTAD6 = 1; /小灯开 if(PTFD_PTFD7=1) /近光灯

13、开关 PTCD_PTCD4 = 0; /近光灯关 else PTCD_PTCD4 = 1; /近光灯开 if(PTBD_PTBD0=1) /前雾灯开关 PTBD_PTBD4 = 0; /前雾灯关 else PTBD_PTBD4 = 1; /前雾灯开 void RTC_Init() RTCMOD= 0x00; RTCSC_RTIF = 0; /清除RTC标志位 RTCSC_RTCLKS = 0; /选择时钟源 00 1Khz 01 外部时钟 1x 内部时钟 RTCSC_RTIE = 1; /开定时器中断 RTCSC_RTCPS = 13; /时钟源100预分频void main(void) Di

14、sableInterrupts; IO_Init(); RTC_Init(); EnableInterrupts; for(;) led_control(); /Send_CAN_Msg(); interrupt VectorNumber_Vrtc void RTI_ISR(void) /100ms定时中断 RTCSC_RTIF=1; /该位写0无效,写1清除RTIF位和实时中断 if(PTCD_PTCD1=1) /左转灯开关 flag1 = 0; PTBD_PTBD5 = 0; /左转灯关 else if(PTCD_PTCD1=0) flag1+; if(flag1=4) flag1=0;

15、PTBD_PTBD5=PTBD_PTBD5; /左转灯闪烁 if(PTAD_PTAD0=1) /右转灯开关 flag2 = 0; PTAD_PTAD5 = 0; /右转灯关 else if(PTAD_PTAD0=0) flag2+; if(flag2=4) flag2 = 0; PTAD_PTAD5=PTAD_PTAD5; /右转灯闪烁 实验项目名称智能天窗本地控制实验实验地点电装实训室A303实验时间2017.10.25一二节实验指导教师成绩一、实验目的1)掌握智能天窗控制的控制逻辑2)天窗控制编程基本方法3)在对原理图和外围电路进行充分的了解4)编程实现智能天窗操作按钮对电机的控制、逻辑控

16、制二、实验原理(或设计方案)智能天窗的逻辑图如下智能天窗的逻辑表如下智能天窗模块功能和定义表序号功能和定义动作显示形式与说明1天窗玻璃滑移控制向上按键天窗玻璃向前滑移(电机正转)向下按键天窗玻璃向后滑移(电机反转)2天窗玻璃斜升控制向上按键天窗玻璃向上斜升(电机正转)向下按键天窗玻璃向下斜降(电机反转)3阅读灯控制上按键闭合前阅读灯点亮(LED显示)下按键闭合后阅读灯点亮(LED显示)三、实验仪器设备、材料1) 智能控制实验箱一套2) BDM下载器一个3) 预装有Freescale开发软件的电脑四、实验步骤(或设计过程)1) 实验相关关键原理图了解(如控制信号输入接口、控制量输出接口等)、输入

17、输出接口定义; 控制信号输入电路原理图如下:INPUT0-INTPUT3、INPUT6为输入端口与外围按键连接,KRIN0-KRIN3、KRIN6与单片机个引脚相连。图1 控制信号输入端口(只列出两个端口其他的类似)引脚编号网络标号含义电平要求1INPUT0天窗玻璃滑移电机正转低电平有效2INPUT1天窗玻璃滑移电机反转低电平有效3INPUT2天窗玻璃斜升电机正转低电平有效4INPUT3天窗玻璃斜升电机反转低电平有效5INPUT4阅读灯控制低电平有效6INPUT5阅读灯控制低电平有效 表1 控制信号输入端口定义 图2中OUT0OUT7分别于单片机个控制端口相连,单片机输出的控制信号经过ULN2

18、803A后信号被放大直接输出控制继电器。 图3中继电器输出OUTPUT1,OUTPUT2和OUTPUT3,OUTPUT4分别控制电机转动(图示只列出一个继电器),端口定义如表2所示。图2 单片机控制信号输出图3 继电器控制接口含义电平要求OUTPUT0OUTPUT1天窗滑移电机两个输入端不能相等,相等电机停止转动OUTPUT2OUTPUT3天窗斜升电机两个输入端不能相等,相等电机停止转动表2 天窗电机控制端口定义2) 软件流程图 3) 软件模块功能介绍void Init_IO(void); 为单片机端口寄存器控制函数,定义端口为输入还是输出;void RTC_Init(void);定时器初始化

19、函数,定义为100ms中断一次;void MCU_Init(void);电机控制端口初始化函数,初始化为停止;void MCG_Init(void);时钟源初始化函数;void CANInit(void);CAN通信初始化函数;void Send_CAN_Msg(void);CAN发送数据函数;void CAN_TxData( UINT32 CAN_ID,UINT8 Msg_Length,UINT8 *CANTxData); CAN发送数据函数;void scankeystate(void);按键状态扫描函数,按键状态放在相应的变量中;void MOTORcontrol(void);天窗电机控

20、制函数;interrupt VectorNumber_Vrtc void RTC_ISR(void);定时器中断函数;interrupt VectorNumber_Vcanrx void CANRx_ISR(void);CAN发送数据中断函数。4) 实验程序见光盘资料5) 下载程序6) 程序下载后的操作,如按动某按钮,与之对应的电机会转动。五、实验过程原始记录(数据、图表、计算等)(或设计计算、图纸等)电子控制系统ECU是一个数字控制电路,并设有定时器、蜂鸣器和继电器等。其作用是接受开关输入的信息,通过数字电路进行逻辑运算,确定继电器的动作,以控制天窗开闭.执行机构是用来执行驾驶员的指令,使天

21、窗进行开闭。六、实验结果及分析(或设计总结) 通过两个输入变量便能够对电机进行正反转控制,天窗开闭过程就是电机的正反转过程,通过不断CodeWarrior软件环境下编程,不断实验,最终成功实现了智能天窗的控制。 这个实验必须了解天窗电机控制端口定义以及看懂继电器控制接口原理图,这样才能知道怎样通过编程对天窗进行控制。通过这个实验我们学会了汽车天窗电机的控制技术,熟练使用CodeWarrior集成开发环境写的编程,学会了天窗的硬件设计。培养了我们实际操作能力,把理论控制原理用于实践,联系实际,学以致用,衷心感谢学校给我们安排的这次学习机会,谢谢老师的安排同时希望我们专业以后会有更多这样的机会。七

22、、评阅意见 评阅人签字:评阅日期:附录#include /* for EnableInterrupts macro */#include derivative.h /* include peripheral declarations */#include mc9s08dz60.h#include includes.htypedef unsigned short UINT16;typedef unsigned char UINT8;typedef unsigned long UINT32;#define CAN_TXID 0x574 /* Transmit message */#define C

23、AN_RXID 0x74 /* Receive message */#define STD_ID (UINT32)(CAN_TXID) 3); /CANTIDR1 = (UINT8)CAN_ID)&0x007)5); for (Index=0;IndexMsg_Length;Index+) *(&CANTDSR0 + Index)= CANTxDataIndex; CANTDLR =Msg_Length; /数据长度 CANTFLG =TxBuffer; / Start transmission /while(CANTFLG & TxBuffer)!=TxBuffer); /CAN发送数据函数

24、/void Send_CAN_Msg(void) data=128*Bit7+64*Bit6+32*Bit5+16*Bit4+8*Bit3+4*Bit2+2*Bit1+Bit0; TxBuffer1=data; CAN_TxData(STD_ID,sizeof(TxBuffer),TxBuffer);void main(void) Init_IO(); RTC_Init(); MCG_Init(); CANInit(); MCU_Init(); EnableInterrupts; for(;) if(temp=3) CANsendDelayFlag=0xff; Send_CAN_Msg();

25、temp=0; scankeystate(); MOTORcontrol(); void scankeystate(void) /按键状态扫描 if(!MOUP) MOUPsta=1; else MOUPsta=0;if(!MODOWN) MODOWNsta=1; else MODOWNsta=0; if(!MTUP) MTUPsta=1; else MTUPsta=0; if(!MTDOWN) MTDOWNsta=1; else MTDOWNsta=0;void MOTORcontrol(void) /电机控制 if(MOUPsta) /天窗玻璃滑移电机正反转 M1_OUT0=1; M1_O

26、UT1=0; else if(MODOWNsta) M1_OUT0=0; M1_OUT1=1; else M1_OUT0=1; M1_OUT1=1; if(MTUPsta) /天窗玻璃斜升控制电机正反转 M2_OUT2=1; M2_OUT3=0; else if(MTDOWNsta) M2_OUT2=0; M2_OUT3=1; else M2_OUT2=1; M2_OUT3=1; if(LIGHTON=0)&(LIGHTOFF=0) /阅读灯控制 M3_OUT4=1; M3_OUT5=1; else if(LIGHTON=0) M3_OUT4=1; M3_OUT5=0; else if(LIG

27、HTOFF=0) M3_OUT4=0; M3_OUT5=1; else M3_OUT4=0; M3_OUT5=0; interrupt VectorNumber_Vrtc void RTC_ISR(void) RTCSC_RTIF=1; temp+; interrupt VectorNumber_Vcanrx void CANRx_ISR(void) UINT8 Msg_Length; UINT8 Index; Msg_Length=(CANRDLR&0x0F); for (Index=0; Index Msg_Length; Index+) RxDataIndex = *(&CANRDSR0

28、 + Index); CANRFLG_RXF = 1; /* Clear reception flag */ 实验项目名称车门本地控制实验实验地点电装实验室A303实验时间2017.10.30一二节实验指导教师成绩一、实验目的1)掌握车门控制的控制逻辑2)车门控制编程基本方法3)在对原理图和外围电路进行充分的了解4)编程实现车门操作按钮对电机的控制、逻辑控制二、实验原理(或设计方案)智能天窗的逻辑图如下智能天窗的逻辑表如下车门模块功能和定义表序号功能和定义动作显示形式与说明1右车门玻璃滑移控制向上按键右车门玻璃向前滑移(电机正转)向下按键右车门玻璃向后滑移(电机反转)2左车门玻璃滑移控制向上按

29、键左车门玻璃向前滑移(电机正转)向下按键左车门玻璃向后滑移(电机反转)3左后视镜上按键闭合左后视镜上移(电机正转)下按键闭合左后视镜下移(电机反转)左按键闭合左后视镜左移(电机正转)右按键闭合左后视镜右移(电机反转)上按键闭合左后视镜上移(电机正转)下按键闭合左后视镜下移(电机反转)4右后视镜左按键闭合左后视镜左移(电机正转)右按键闭合左后视镜右移(电机反转)三、实验仪器设备、材料1)实验控制对象模型的小车2)烧写程序的下载器3)一台电脑四、实验步骤(或设计过程)1.首先需要掌握车窗和前视镜控制的原理,其是通过控制电机的正反转从而控制车窗和前视镜的移动。2.阅读相关的程序,了解相关的定义,知道

30、I/O口的含义以及其控制的相应电机。/输入信号#define LRUP PTAD_PTAD0 /选择左视镜#define LRDOWN PTCD_PTCD1 /选择右视镜#define RFUP PTBD_PTBD0 /右前窗反转输入#define KRIN12 PTCD_PTCD2 /右前窗反转输入#define RFDOWN PTCD_PTCD0 /右前窗正转输入#define RRDOWN PTCD_PTCD2 /右前窗正转输入#define LFUP PTDD_PTDD7 /左前窗正转输入#define LFDOWN PTBD_PTBD1 /左前窗反转输入#define KRIN8 P

31、TFD_PTFD7 /上#define KRIN9 PTDD_PTDD5 /下#define KRIN10 PTDD_PTDD4 /左#define KRIN11 PTDD_PTDD3 /右 /电机方向控制端口#define M_OUT1 PTBD_PTBD6 /左前窗输出#define M_OUT4 PTAD_PTAD5 /左前窗输出#define M_OUT2 PTAD_PTAD6 /右前窗输出#define M_OUT3 PTBD_PTBD5 /右前窗输出#define M_OUT8 PTAD_PTAD3 /左后视镜上下输出#define M_OUT5 PTCD_PTCD4 /左后视镜左

32、右输出#define M_OUT9 PTBD_PTBD3 /左后视镜电机公共端#define M_OUT10 PTCD_PTCD3 /右后视镜上下输出#define M_OUT7 PTAD_PTAD4 /右后视镜左右输出#define M_OUT11 PTAD_PTAD2 /右后视镜电机公共端3.根据相应的I/O口输入输出配置,在相应的电机控制程序中编写相关的控制电机程序。4.编写好程序后就用下载器下载到控制器上实现对车窗和前车镜的控制,如果编写的程序不能正确控制车窗和车镜,就再进行程序的编写直到能控制为止。五、实验过程原始记录(数据、图表、计算等)(或设计计算、图纸等)通过控制相应按钮能够实

33、现对左右车门、左右后视镜的控制。六、实验结果及分析(或设计总结)通过本次实验,了解了对电机的控制,学会了电机控制的原理图,了解相关的程序控制语句, 通过两个输入变量便能够对电机进行正反转控制,车门后视镜玻璃升降过程就是电机的正反转过程,通过不断CodeWarrior软件环境下编程,不断实验,最终成功实现了车门的控制。 这个实验必须了解车门后视镜电机控制端口定义以及看懂继电器控制接口原理图,这样才能知道怎样通过编程对车门后视镜进行控制。通过这个实验我们学会了汽车电机的控制技术,熟练使用CodeWarrior集成开发环境写的编程,学会了车门后视镜的硬件设计。培养了我们实际操作能力,把理论控制原理用

34、于实践,联系实际,学以致用,衷心感谢学校给我们安排的这次学习机会,谢谢老师的安排同时希望我们专业以后会有更多这样的机会。七、评阅意见 评阅人签字:评阅日期:附录/头文件#include /* common defines and macros */#include derivative.h /* derivative-specific definitions */#include /#include includes.h/#include main_asm.h /* interface to the assembly module */宏定义#define RRUP PTBD_PTBD1 /#define RRDOWN PTCD_PTCD2 /#define LRUP PTAD_PTAD0 /选择左视镜#define LRDOWN PTCD_PTCD1 /选择右视镜#define RFUP PTBD_PTBD0 /右前窗正转输入#define RFDOWN PTCD_PTCD0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁