版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务1智能小车驱动模块设计与制作单片机技术与应用智能车间搬运系统设计与制作任务1智能小车驱动模块设计与制作【基础任务要求】国产STC单片机控制4个直流电机,实现智能搬运小车前进、后退、左转弯、右转弯和停止。任务1智能小车驱动模块设计与制作对接“智能电子产品设计与开发”职业院校技能大赛任务实现四步骤绘制控制电路图搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试仿真运行实物运行功能实现绘制流程图直流电机正转、反转和停止编程方法软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路系统框图直流电机电路直流电机驱动电路任务1智能小车驱动模块设计与制作任务名:智能小车驱动模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻500Ω1RES直流电机驱动芯片L2981L298直流电机MOTOR4motor限流二极管1N41481N4148元器件选型硬件设计请问单片机能不能直接驱动直流电机?为什么需要使用直流电机驱动电路?采用哪种直流电机驱动芯片?L298驱动芯片如何和单片机、直流电机连接?重点一、L298电机驱动芯片的电路连接P2.0P2.1P2.2P2.3P1.4P1.5P1.6P1.751单片机IN1IN2IN3IN4ENAENBGNDVCCVSOUT1OUT2OUT3OUT4SENSASENSBL298+5V+12Vmotor右电机左电机【知识链接】二、L298电机驱动芯片的实物连接(重点)硬件电路搭接注意事项:1.直流电机连线方法2.直流电机与L298连线【知识链接】out1out2out4out3注:跟电路图连接引脚要一致P2.0P2.1P2.2P2.3P1.4P1.5P1.6P1.7stc单片机IN1IN2IN3IN4硬件电路图电路绘制规范:用统一规定的元件符号尽量避免导线的交叉导线要求横平竖直设置元器件参数元件放在编辑区内细致规范严谨小锦囊对接1+X证工作领域1工作任务1.1硬件原理图设计软件设计如何编程实现直流电机的正转、反转和停止?难点1端接+12V,2端接地,正转1端接地,2端接+12V,反转1端和2端同时接地或+12V,不转二、直流电机正转、反转、停止编程方法【知识链接】难点ENAIN1IN2运转状态0××停止110正转101反转111刹车100停止二、直流电机正转、反转、停止编程方法直流电机正反转控制逻辑表难点sbitIN1=P2^0;//右电机控制端sbitIN2=P2^1;sbitIN3=P2^2;//左电机控制端sbitIN4=P2^3;sbitENA=P1^4;//左电机使能sbitENB=P1^5;//右电机使能定义电机控制引脚:ENA=1;//使能端置1ENB=1;//使能端置1IN1=1;//右电机正转IN2=0;IN3=1;//左电机正转IN4=0;电机正转控制:注:跟实物连接引脚要一致二、直流电机正转、反转、停止编程方法对接1+X证工作领域1工作任务2.2代码编写难点如何编程实现小车前进、后退、左转弯、右转弯和停止?电机前进后退左转弯右转弯左电机右电机二、直流电机正转、反转、停止编程方法小车运动控制逻辑表正转正转反转反转停止正转停止正转难点voidrun(){ENA=1;//使能端置1ENB=1;//使能端置1IN1=1;//右电机正转IN2=0;IN3=1;//左电机正转IN4=0;}#include<reg51.h>sbitIN1=P2^0;//右电机控制端sbitIN2=P2^1;sbitIN3=P2^2;//左电机控制端sbitIN4=P2^3;sbitENA=P1^4;//左电机使能sbitENB=P1^5;//右电机使能代码编写规范-见名知意二、直流电机正转、反转、停止编程方法对接1+X证工作领域1工作任务2.2代码编写位定义前进函数主函数流程图智能小车驱动系统虚拟仿真【进阶任务要求】通过模拟企业智能车间AGV搬运小车,采用国产STC单片机控制4个直流电机,调节电机速度,实现智能小车前进、后退、左转弯、右转弯和停止。一、PWM(脉宽调制)电机调速原理并行I/O口一、PWM(脉宽调制)电机调速原理PWM技术,是一种周期一定而高低电平可调的方波信号。当输出脉冲的频率一定时,输出脉冲的占空比越大,其高电平持续的时间越长。占空比:在一个信号周期中,高电平持续的时间为T1,低电平持续的时间是T2,高电平持续的时间与信号周期的比值。例如:若信号周期T=4μs,高电平持续的时间T1=1μs,则占空比为T1/T=1/4=0.25一、PWM(脉宽调制)电机调速原理只要改变T1和T2的值,即改变波形的占空比,则高低电平持续的时间就改变了,即改变始能端EN1
和EN2
上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。PWM调速程序如下:unsignedcharpwm_val_left=0;//变量定义unsignedcharpwm_val_right=0;unsignedcharpush_val_left=5;//左电机占空比N/20,速度调节变量0-20,0最小,20最大unsignedcharpush_val_right=5;//右电机占空比N/20bitRight_PWM_ON=1;//右电机PWM开关bitLeft_PWM_ON=1;//左电机PWM开关//PWM调制电机转速//左电机调速/*调节push_val_left的值改变电机转速,占空比*/voidpwm_out_left_moto(void){if(Left_PWM_ON){if(pwm_val_left<=push_val_left){EN1=1;}else{EN1=0;}if(pwm_val_left>=20)pwm_val_left=0;}else{EN1=0;//若开启PWM则EN1=0左电机停止}}//TIMER0中断服务子函数产生PWM信号voidtimer0()interrupt1using2{TH0=0XFC;//1ms定时TL0=0X66;pwm_val_left++;pwm_val_right++;pwm_out_left_moto();pwm_out_right_moto();}voidrun(void){push_val_left=6;//速度调节变量0-20。0最小,20最大push_val_right=6;EN1=1;EN2=1;IN1=1;IN2=0;IN3=1;IN4=0;}每天学习一点点,变成更好的自己单片机技术与应用任务2智能小车循迹模块设计与制作单片机技术与应用智能车间搬运系统设计与制作任务2智能小车循迹模块设计与制作
【基础任务要求】利用红外循迹传感器,让搬运机器人沿着基础路线循迹。任务2智能小车循迹模块设计与制作任务实现四步骤绘制控制电路图搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试仿真运行实物运行功能实现绘制流程图红外循迹编程方法软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路系统框图直流电机电路直流电机驱动电路任务2智能小车循迹模块设计与制作红外传感器电路任务名:智能小车驱动模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻500Ω1RES按钮用按键代替红外传感器1BUTTON直流电机驱动芯片L2981L298直流电机MOTOR4motor限流二极管1N41481N4148元器件选型硬件设计1.利用黑色对光线的反射率小这个特点,当平面的颜色不是黑色时,传感器发射出去的红外光被大部分反射回来。于是传感器输出()。2.当平面中有一黑线,传感器在黑线上方时,因黑色的反射能力很弱,反射回来的红外光很少,达不到传感器动作的水平,所以传感器输出()。测一测:01软件设计1如何编程实现智能小车循迹?重点、难点2如何编程实现PWM调速?重点、难点知识链接循迹检测输入小车驱动输出左右两边都没检测到黑线Left==0&&Right==0run()调用前进函数左边检测到黑线Left==1&&Right==0leftrun()调用小车左转函数右边检测到黑线Right==1&&Left==0rightrun()调用小车右转函数左右都检测到黑线Right==1&&Left==1stop()调用停止函数1.红外循迹编程方法知识链接sbitRight=P3^2; //右循迹红外传感器sbitLeft=P3^3; //左循迹红外传感器
while(1) //无限循环
{
if(Left_1_led==0&&Right_1_led==0)//有信号为0没有信号为1run();//调用前进函数
elseif(Left_1_led==1&&Right_1_led==0) //左边检测到黑线
{ leftrun(); //调用小车左转函数
} elseif(Right_1_led==1&&Left_1_led==0) //右边检测到黑线
{ rightrun(); //调用小车右转函数
} else stop(); }红外循迹硬件调试(1)调试方法W3左光电信号强度调节----顺时针调节电位器是增加检测距离,反时针调节电位器时减少检测距离。W4右光电信号强度调节----顺时针调节电位器是增加检测距离,反时针调节电位器时减少检测距离(同W3一样)。(2)调试注意事项1)调试时不要对着强光2)调节电位器W3,在反馈距离与小车车轮底部一个平面上,操作员注意要认真,细致调动W3电位器,切忌着急。3)调节红外传感器的灵敏度细致认真【进阶任务要求】利用红外循迹传感器,让智能小车沿着复杂路线循迹。每天学习一点点,变成更好的自己单片机技术与应用任务3智能小车避障模块设计与制作单片机技术与应用智能车间搬运系统设计与制作任务3智能小车避障模块设计与制作【基础任务要求】通过模拟企业智能车间AGV搬运小车,按下启动键小车行走,当遇到障碍物,作出各种躲避障碍的动作和报警,并用LCD1602显示测试的距离,还可以根据情况增加功能。任务3智能小车避障模块设计与制作任务实现四步骤绘制控制电路图搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试仿真运行实物运行功能实现绘制流程图超声波避障和测距编程方法软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路系统框图直流电机电路直流电机驱动电路任务3智能小车避障模块设计与制作超声波传感器电路显示电路报警电路任务名:智能小车避障模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻10KΩ1RES直流电机驱动芯片L2981L298直流电机MOTOR4motor限流二极管1N414881N4148超声波传感器HCSR041HC-SR04蜂鸣器1BUZZER按钮1BUTTON液晶显示器LCD16021LM016L排阻1RESPACK-8晶体管1PNP元器件选型硬件设计1.认识HC-SR04超声波模块知识链接知识链接2.智能小车超声波测距HC-SR04接口定义:Vcc、Trig(控制端)、Echo(接收端)、Gnd本产品使用方法:控制口发一个10μS
以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,就可以达到你移动测量的值了。超声波模块电气参数采用51单片机的P2.0P2.1连接控制超声波模块其中P2.0为Echo(接收)其中P2.1为Trig(控制)40KHZ知识链接2.智能小车超声波测距超声波测距原理超声波是一种频率比较高的声音,指向性强。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。测距的公式表示为:L=C×T式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。已知超声波速度C=344m/s(20℃室温)知识链接2.智能小车超声波测距超声波测距原理知识链接2.智能小车超声波测距
超声波传播速度误差受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,近似公式为:C=C0+0.607×T℃式中:C0为零度时的声波速度332m/s;T为实际温度(℃)。对于超声波测距精度要求达到1mm时,就必须把超声波传播的环境温度考虑进去。知识链接2.智能小车超声波测距(1)采用IO来触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间(4)测试距离=(高电平时间*声速(340M/S))/2;模块工作原理:Trig控制端Echo接收端知识链接2.智能小车超声波测距智能小车超声波模块IO口采用51单片机的P2.0P2.1连接控制超声波模块其中P2.0为Echo(接收)其中P2.1为Trig(控制))注:1.此模块不宜带电连接,若有带电连接,则先让模块的GND端先连接,否则会影响模块的正常工作。2.测距时,被测物体的面积不少于0.5平方米且平面尽量要求平整,否则影响测量的结果。知识链接2.智能小车超声波测距软件设计1如何编程实现智能小车避障?重点、难点2如何编程实现LCD1602显示距离?重点、难点知识链接知识链接知识链接知识链接知识链接知识链接知识链接知识链接知识链接知识链接知识链接【进阶任务要求】通过模拟企业智能车间AGV搬运小车,按下启动键小车行走,当遇到障碍物,作出各种躲避障碍的动作和报警,并用LCD12864并行显示测试的距离,还可以根据情况增加功能。每天学习一点点,变成更好的自己单片机技术与应用任务4智能小车遥控模块设计与制作单片机技术与应用智能车间搬运系统设计与制作【基础任务要求】通过模拟企业智能车间AGV搬运小车,利用红外遥控实现智能小车前进、后退、左转、右转和停止。任务4智能小车遥控模块设计与制作任务实现四步骤搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试实物运行功能实现绘制流程图红外遥控编程方法软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路系统框图直流电机电路直流电机驱动电路任务4智能小车遥控模块设计与制作红外接收模块任务名:智能小车遥控模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻10KΩ1RES直流电机驱动芯片L2981L298直流电机MOTOR4motor限流二极管1N414881N4148红外遥控器和红外接收模块元器件选型硬件设计红外接收头软件设计1如何编程实现智能小车红外遥控?重点、难点知识链接1.红外遥控工作原理在使用前一定要记得给红外遥控器上电池,还有红外遥控器要结合红外接收模块使用,它负责将接收红外遥控器发射过来的信息并将其解码成十六进制码,这样才能实现既定的通信。红外遥控器红外接收模块知识链接1.红外遥控工作原理红外遥控器红外接收模块NEC协议我们日常生活中用的红外遥控器,都使用NEC通信协议PWM(脉冲宽度调制)。有了协议,红外通信就是一种编码与解码的过程,利用发光管通断时间的不同,就可以发射出去不同的字节,来表示不同的按键。NEC格式的特征:使用38kHz载波频率引导码间隔是9ms+4.5ms使用16位客户代码使用8位数据代码和8位取反的数据代码知识链接协议规定低位首先发送。一串信息首先发送9ms的AGC(自动增益控制)的高脉冲,接着发送4.5ms的起始低电平,接下来是8位数据码,最后是数据反码。如果你一直按那个按键,一串信息也只能发送一次。接收到的信号是跟发送信号正好反向的。9ms4.5msNEC协议知识链接NEC协议逻辑1的是由560us的高电平和1.69ms的低电平组成的脉冲表示。知识链接NEC协议逻辑0的是由560us的高电平和565us的低电平组成的脉冲表示。知识链接voidmain(void){EX0init();//初始化外部中断TIM0init();//初始化定时器P1=0x00;;//取位码第一位数码管选通,即二进制11111110while(1)//主循环{if(irok)//如果接收好了进行红外处理 {
Irpro();//
红外码值处理 irok=0; }if(irpro_ok)//如果处理好后进行工作处理,如按对应的按键后显示对应的数字等 { Ir_work();//红外键值散转程序 }}}知识链接#include<reg52.h>//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbitIR=P3^2;//红外接口标志unsignedcharcodetable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴数码管显示段码值0~9unsignedcharirtime;//红外用全局变量bitirpro_ok,irok;unsignedcharIRcord[4];unsignedcharirdata[33];知识链接
/*------------------------------------------------
外部中断0中断处理
检测到是否接收引导码中断程序------------------------------------------------*/voidEX0_ISR(void)interrupt0//外部中断0服务函数{staticunsignedchari;//接收红外信号处理staticbitstartflag;//是否开始处理标志位if(startflag){if(irtime<63&&irtime>=33)//引导码TC9012的头码,9ms+4.5ms头码的持续时间的范围,33(8.448ms)<63(16.128ms)i=0;irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1irtime=0;i++;if(i==33) //33是33位的意思,包括32位的数据和一位的头码。{irok=1;i=0;}}else{irtime=0;startflag=1;}}知识链接/*------------------------------------------------
红外码值处理
接收后面4个字节------------------------------------------------*/voidIrpro(void)//红外码值处理函数
分析出那些是1那些是0{unsignedchari,j,k;unsignedcharcord,value;k=1; //前导码没数据,从第二个开始,就是用户码开始。for(i=0;i<4;i++)//处理4个字节{for(j=1;j<=8;j++)//处理1个字节8位{cord=irdata[k];if(cord>7)//低电平下降沿到下一个下降沿的宽度是0.56+0.565=1.125ms,高电平则是0.56+1.69=2.25ms,同样我们也给出一个范围用于区分它们,可以这样识别(1.125ms+2.25ms)/2=1.68ms//大于1.68为高,小于1.68为低。 //假设使用12M晶振定时器的单位数值时1us,使用8位定时器自动重装,将得到每个定时周期0.256ms的时长,1.68/0.256=6.59,约等于7.也就是定时器0计数次数。value|=0x80;//最高位就给1,if(j<8){ value>>=1;}k++;}IRcord[i]=value;value=0;}irpro_ok=1;//处理完毕标志位置1}知识链接voidIr_work(void)//红外键值散转程序{switch(IRcord[2])//判断第三个数码前两个是用户码,最后一个是反码,第三个才是真正的数据码。{ case0x16:P0=table[0];break;//0按下遥控器上面0-9的按键,数码管显示相应的按键值 case0x0c:P0=table[1];break;//1 case0x18:P0=table[2];break;//2 case0x5e:P0=table[3];break;//3 case0x08:P0=table[4];break;//4 case0x1c:P0=table[5];break;//5 case0x5a:P0=table[6];break;//6 case0x42:P0=table[7];break;//7 case0x52:P0=table[8];break;//8 case0x4a:P0=table[9];break;//9default:break;} irpro_ok=0;//处理完成标志}知识链接/*------------------------------------------------
定时器0中断处理
通过定时器检测高低电平------------------------------------------------*/
voidtim0_isr(void)interrupt1using1{irtime++;//用于计数2个下降沿之间的时间}知识链接/*------------------------------------------------
定时器0初始化------------------------------------------------*/voidTIM0init(void)//定时器0初始化{
TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00;//装初值TL0=0x00;ET0=1;//开中断TR0=1;}/*------------------------------------------------
外部中断0初始化------------------------------------------------*/voidEX0init(void){IT0=1;//指定外部中断0下降沿触发,INT0(P3.2)EX0=1;//打开外部中断EA=1;//开总中断}知识链接voidmain(void){EX0init();//初始化外部中断TIM0init();//初始化定时器P1=0x00;;//取位码第一位数码管选通,即二进制11111110while(1)//主循环{if(irok)//如果接收好了进行红外处理 { Irpro(); irok=0; }if(irpro_ok)//如果处理好后进行工作处理,如按对应的按键后显示对应的数字等 { Ir_work(); }}}每天学习一点点,变成更好的自己单片机技术与应用任务5智能小车通信模块设计与制作单片机技术与应用智能车间搬运系统设计与制作【基础任务要求】通过模拟企业智能车间AGV搬运小车,使用蓝牙模块连接小车,用手机APP控制小车前进、后退、左转、右转、停止、加速、减速、鸣笛等动作。任务5智能小车通信模块设计与制作任务实现四步骤搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试实物运行功能实现绘制流程图蓝牙模块编程方法软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路系统框图直流电机电路直流电机驱动电路任务5智能小车通信模块设计与制作蓝牙模块任务名:智能小车通信模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻10KΩ1RES直流电机驱动芯片L2981L298直流电机MOTOR4motor限流二极管1N414881N4148蓝牙模块HC-06元器件选型硬件设计蓝牙模块HC-06蓝牙接线蓝牙模块VCC----单片机VCCGND----单片机GNDTXD----单片机IO口P3.0引脚RXDRXD----单片机IO口P3.1引脚TXD小锦囊:电源不得接反硬件设计硬件设计TXD:发送端,一般表示为自的发送端,正常通信必须接另一个设备的RXD。RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。正常通信时候本身的TXD永远接设备的RXD!自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 砖雕围墙施工方案(3篇)
- 开业活动策划剪彩方案(3篇)
- 钢丝pe施工方案(3篇)
- 合理的施工方案(3篇)
- 企业财务管理与内部控制制度实施指南
- 2025年大学大二(管理学)财务管理综合测试题及解析
- 2025年大学护理(护理效果测试)试题及答案
- T-CNLIC 0109-2023 绿色设计产品评价技术规范 涂覆镀锡或镀铬薄钢板
- 2025年中职旅游服务与管理(导游业务)试题及答案
- 2025年大学大三(家政学)家庭服务管理基础阶段测试题及答案
- 吞咽功能指南解读
- 脑卒中吞咽障碍评估护理
- 工程项目风险评估与控制方案
- 智慧校园背景下高校后勤设施设备全生命周期管理研究
- 中建三局2024年项目经理思维导图
- 小区道闸管理办法
- DB42-T 2391-2025 全域国土综合整治项目实施方案编制指南
- DB3301∕T 0419-2023 婴幼儿成长驿站管理与服务规范
- 老年医院重点专科建设方案
- 2025年江苏省苏州市初二(上)英语期末模拟卷(二)含答案
- 规培中医病例讨论流程规范
评论
0/150
提交评论