欢迎来到天天文库
浏览记录
ID:30317492
大小:1.82 MB
页数:61页
时间:2018-12-28
《智能机器人制作【全过程】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案智能机器人制#include#defineucharunsignedchar#defineuintunsignedint/********************端口定义*****************************/sbitIN1=P1^0;//电机控制端口//sbitIN2=P1^1;//电机控制端口//sbitIN3=P1^2;//电机控制端口//sbitIN4=P1^3;//电机控制端口//sbitLN=P2^0;//红外探测端口//sbitLW=P2^1;//红外探测端口//sbitRW=P2^2;//红外探测端口//sbit
2、RN=P2^3;//红外探测端口///*****************子函数声明****************************/voidahead(void);//前进voidleft(void);//左转精彩文档实用标准文案voidright(void);//右转voidstop(void);//停止main(){while(1){if(RN==1&&LN==1&&RW==1&&LW==1){ahead();continue;}if((RN==0
3、
4、LN==0)&&RW==1&&LW==1){right();continue;}if(RN==1&&LN==1&&(
5、RW==0
6、
7、LW==0)){left();continue;}if(RN==0&&LN==0&&RW==0&&LW==0)stop();}}voidahead(){精彩文档实用标准文案IN1=0;IN2=1;IN3=0;IN4=1;}voidleft(){IN1=0;IN2=0;IN3=0;IN4=1;}voidright(){IN1=0;IN2=1;IN3=0;IN4=0;精彩文档实用标准文案}voidstop(){IN1=0;IN2=0;IN3=0;IN4=0;}5.功能模块介绍5.1电源模块供电系统的原理图如下7805的5V输出给单片机以及各个功能模块供电,在实际应用过
8、程中我们可能需要好几块7805,但是我们要注意的是:各个7805之间的输出绝对不能够并联。7806的6V输出给点击供电作为动力电源。7805与7806要公地。5.2电机驱动模块的原理及驱动程序精彩文档实用标准文案5.2.1电机驱动模块的原理L298内部的原理图如下OUT1与OUT2与小车的一个电机的正负极相连,OUT3与OUT4与小车的另一个电机的正负极相连,单片机通过控制IN1与IN2,IN3与IN4分别控制电机的正反转。ENA与ENB分别控制两个电机的使能。L298控制表IN1IN2ENA电机状态xx0停止101顺时针011逆时针001停止111停止精彩文档实用标准文案注意
9、:X表示状态不定电机驱动模块原理图L298有两路电源分别为逻辑电源和动力电源,上图中6V为逻辑电源,12V为动力电源。J4接入逻辑电源,J6接入动力电源,J1与J2分别为单片机控制两个电机的输入端,J3与J5分别与两个电极的正负极相连。ENA与ENB直接接入6V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过J1与J2两个接口。由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。L298的PCB安装图精彩文档实用标准
10、文案5.2.2电机驱动模块测试程序程序清单1/*****************************************实现电机的方向控制******************************************/#include#defineucharunsignedchar#defineuintunsignedint/***************************************端口定义****************************************/sbitIN1=P1^0;//P10与电机驱动IN1相连
11、精彩文档实用标准文案sbitIN2=P1^1;//P11与电机驱动IN2相连sbitIN3=P1^2;//P12与电机驱动IN3相连sbitIN4=P1^3;//P13与电机驱动IN4相连/***************************************各个子函数定义****************************************/voidTurn_left(void){IN1=0;IN2=1;IN3=0;IN4=1;}voidTurn_right(void){
此文档下载收益归作者所有