基于51单片机的自动寻迹小车控制设计
基于51单片机智能小车循迹程序

#include<reg52.h>#define uchar unsigned char#define uint unsigned int////电机驱动模块位定义////sbit M11=P0^0;//左轮sbit M12=P0^1;sbit M23=P0^2;//右轮sbit M24=P0^3;sbit ENA=P0^4;//左轮使能PWM输入改变dj1数值控制转速sbit ENB=P0^5;//右轮使能PWM输入改变dj2数值控制转速////占空比变量定义////unsigned char dj1=0;unsigned char dj2=0;uchar t=0;////红外对管位定义////sbit HW1=P1^0;//左前方sbit HW2=P1^1;//右前方sbit HW3=P1^2;//左后方sbit HW4=P1^3;//右后方////小车前进////void qianjin(){M11=1;//左轮M12=0;//M23=1;//右轮M24=0;//dj1=50;dj2=50;}////向左微调////void turnleft2(){M11=1;M12=0;M23=1;M24=0;dj1=7;//左轮dj2=50;//右轮}////向右微调////void turnright2(){M11=1;M12=0;M23=1;M24=0;dj1=50;dj2=7;}////向左大调////void left(){M11=0;M12=1;M23=1;M24=0;dj1=7;dj2=80;}////向右大调////void right(){M11=1;M12=0;M23=0;M24=1;dj1=80;dj2=7;}////循迹动作子函数////void xj(){if(HW1==0&&HW2==0&&HW3==0&&HW4==0)//前进逻辑{qianjin();}if(HW1==1&&HW2==0&&HW3==0&&HW4==0)//左右微调{turnleft2();}if(HW1==0&&HW2==1&&HW3==0&&HW4==0){turnright2();}if(HW1==1&&HW2==0&&HW3==1&&HW4==0)//左右大调{left();}if(HW1==0&&HW2==1&&HW3==0&&HW4==1){right();}}////初始化////void init(){TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;EA=1;ET0=1;TR0=1;}////定时器0中断////void timer0() interrupt 1 using 1{TH0=(65536-500)/256;TL0=(65536-500)%256;t++;if(t<dj1)ENA=1;else ENA=0;if(t<dj2)ENB=1;else ENB=0;if(t>=50){t=0;}}void main(){init();P1=0Xff;while(1){/////////////////循迹模式/////////////////////xj();}}。
基于51单片机智能小车循迹程序

#include <reg51.h>#include <stdio.h>#define uint unsigned int#define uchar unsigned char/**********************************/uchar led_data[9]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80}; uchar turn_count=0;bit end=0; //圈数跑完标志/*********************************/sbit xg0=P1^0; //左寻轨对管sbit xg1=P1^1; //中间寻轨对管sbit xg2=P1^2; //右寻轨对管sbit xz=P1^3; //感应挡板对管/*********************************/sbit Q_IN1=P2^0; //车前左轮控制sbit Q_IN2=P2^1;sbit Q_IN3=P2^2; //车前右轮控制sbit Q_IN4=P2^3;sbit H_IN1=P2^4; //车尾左轮控制sbit H_IN2=P2^5;sbit H_IN3=P2^6; //车尾右轮控制sbit H_IN4=P2^7;sbit Q_ENA=P3^0; //车前左轮使能,PWMsbit Q_ENB=P3^1; //车前右轮使能,sbit H_ENA=P3^6; //车尾左轮使能,sbit H_ENB=P3^7; //车尾右轮使能,/****************************************/#define stra_q_l 100 //直线行走时,四个轮子占空比调试#define stra_q_r 100#define stra_h_l 100#define stra_h_r 100#define turn_q_l 100 //转弯时四个轮子的占空比调试#define turn_q_r 100#define turn_h_l 100#define turn_h_r 100#define turnr_time 2900//右转弯时的延时常数#define turnl_time 3000 //左转弯时的延时常数#define dt_time 5800 //原地掉头时延时常数#define over_time 1000 //停止延时#define back_time 2500 //走完环形,回到直道延时转弯#define black_time 1500 //过黑线的时间#define correct_l_time 700 //左矫正时间#define correct_r_time 700 //右矫正时间#define hou_time 200/***************************************/uchar q_duty_l,q_duty_r,h_duty_l,h_duty_r,//车前后左右轮占空比i=0,j=0,k=0,m=0;/**************************************/void delay_cir(uint n){uchar x;while(n--){for(x=0; x<250;x++);};}/***********************************/void delay(uint ct) // 延时函数{uint t;t=ct;while(t--);}/***************************************/ void straight() //直走{q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=1;Q_IN2=0;Q_IN3=1;Q_IN4=0;H_IN1=1;H_IN2=0;H_IN3=1;H_IN4=0;}/***************************************/ void houtui() //后退{q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=0;Q_IN2=1;Q_IN3=0;Q_IN4=1;H_IN1=0;H_IN2=1;H_IN3=0;H_IN4=1;}/***************************************/ void turn_left() //左转{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(turnl_time);}/***********************************/ void turn_right() //右转{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_q_l;h_duty_r=turn_q_r;Q_IN1=1; //左轮正转Q_IN2=0;H_IN1=1;H_IN2=0;Q_IN3=0; //右轮反转Q_IN4=1;H_IN3=0;delay(turnr_time);}/**************************************************/ void turn_round() //原地掉头{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;H_IN2=1;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(dt_time);}/******************************************************/void over() //小车停止{Q_IN1=0;Q_IN2=0;Q_IN3=0;Q_IN4=0;H_IN1=0;H_IN2=0;H_IN3=0;H_IN4=0;}/*****************************************************/ void correct_right() //左偏,向右矫正{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_q_l;h_duty_r=turn_q_r;Q_IN1=1; //左轮正转Q_IN2=0;H_IN1=1;H_IN2=0;Q_IN3=0; //右轮反转Q_IN4=1;H_IN3=0;H_IN4=1;delay(correct_r_time);}void correct_left() //右偏,向左矫正{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;H_IN2=1;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(correct_l_time);}/*************************************/ void xunji(){if(xg1==1){turn_count++;over();delay(over_time);if(turn_count==1){straight();delay(black_time);}elseif(turn_count==2){houtui();delay(hou_time);turn_left();}elseif(turn_count==3) {houtui();delay(hou_time); turn_right();}elseif(turn_count==4) {houtui();delay(hou_time); turn_right();}elseif(turn_count==5) {straight();delay(black_time); }elseif(turn_count==6) {houtui();delay(hou_time); turn_right();}elseif(turn_count==7) {houtui();delay(hou_time); turn_right(); straight();delay(back_time); turn_left();}elseif(turn_count==8) {straight();delay(black_time); }elseif(turn_count==9) {houtui();delay(100);turn_round();}if(turn_count>=9){turn_count=0;cir_count++;circle--;}{end=1;over();delay(500);}}elseif((xg0==0)&&(xg1==0)&&(xg2==0)) {straight();}elseif((xg0==1)&&(xg1==0)&&(xg2==0)) {over();delay(over_time);houtui();delay(hou_time);correct_right();}//左偏,向右矫正elseif((xg0==0)&&(xg1==0)&&(xg2==1)){over();delay(over_time);houtui();delay(hou_time);correct_left();} //右偏,向左矫正}/***********************************************/ void int0(void) interrupt 0 //中断圈数设定{EX0=0;delay_cir(250);circle++;if(circle>8){circle=0;}P0=led_data[circle];EX0=1;}/*************************************/void time1(void) interrupt 3 //T1溢出中断,电机调速{i++;j++;k++;m++;if(i<q_duty_l)Q_ENA=1;else Q_ENA=0;if(i>100){Q_ENA=1;i=0;}if(j<q_duty_r)Q_ENB=1;else Q_ENB=0;if(j>100 ){Q_ENB=1;j=0;}if(k<h_duty_l)H_ENA=1;else H_ENA=0;if(k>100){H_ENA=1;k=0;}if(m<h_duty_r)H_ENB=1;else H_ENB=0;if(m>100){H_ENB=1;m=0;}P0=led_data[circle];TH1=0XFF;TL1=0XF6;}/*************************************/ void main(){P0=led_data[circle];P1=0xFF;P1=0XFF; //P1口做输入P2=0X00; //P2口初始化,小车禁止P3=0XFF;TMOD=0X11;//T0,T1,工作方式1TH1=0XFF; //T1中断一次10USTL1=0XF6;TR1=1;EX0=1;ET1=1;EA=1;while(1){while((xz==1)&&(end!=1)) //无挡板,扫描对管,前进{xunji();};};}。
基于51单片机智能小车设计

北华航天工业学院课程设计报告(论文)设计课题:基于51单片机智能循迹小车设计专业班级:B12242学生姓名:***指导教师:**设计时间:2014年6月15日北华航天工业学院电子工程系基于51单片机智能循迹小车课程设计任务书指导教师:王晓教研室主任:王晓2014年06 月15 日注:本表下发学生一份,指导教师一份,栏目不够时请另附页。
课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。
内容摘要本设计主要有单片机模块、地面寻线模块、发光二极管模块,电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用ATMEL公司的AT89C2051单片机作为控制芯片,传感器模块采用红外接收管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模由LM393芯片和两个直流电机构成,组成了智能车的动力系统,电源采用5V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
索引关键词:智能小车AT89C2051 单片机LM393 红外接收管目录一概述 (1)二方案设计与论证 (8)三单元电路设计及各模块具体电路 (3)3.1. 电路中51单片机芯片介绍 (13)3.2 最小系统部分电路 (19)3.3控制模块电路电路 (20)3.4电机驱动及二极管模块电路 (20)3.5寻线检测模块部分电路 (21)3.6软件设计 (22)四总原理图及元器件清单4.1总原理图 (23)4.2元器件清单 (23)五安装与调试5.1.电子元器件的装配 (24)5.2.机械装配 (25)5.3.总装 (25)六性能测试与分析6.1测试方法及注意事项 (26)6.2源程序 (26)七结论 (27)八心得体会 (28)九参考文献 (29)一、概述目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。
基于51单片机的循迹避障小车的设计

清华大学本科生毕业论文题目: 基于51单片机的循迹避障小车的设计专业班级:电子信息工程2012级02班学号:学生姓名:指导教师:论文完成日期: 年月郑重声明本人的毕业论文是在指导老师的指导下独立撰写并完成的。
毕业论文没有剽窃、抄袭、造假等违反学术道德、学术规范和侵权行为,如果有此现象发生,本人愿意承担由此产生的各种后果,直至法律责任;并可通过网络接受公众的查询。
特此郑重声明。
毕业论文作者(签名):年月日目录1 绪论 (3)1.1 课题研究的背景 (3)1.2 课题研究的意义 (5)1.3 课题研究的主要内容 (6)2 系统方案确定及主要元件的选择 (7)2.1 系统方案确定 (7)2.2 主要模块的选择 (7)3 系统硬件部分设计 (11)3.1 主控器AT89C51 (11)3.2 复位电路 (13)3.3 时钟电路 (13)3.4 寻迹模块 (14)3.5 避障模块 (15)3.6 H桥电机驱动 (16)3.7 电源模块 (17)4 系统软件部分设计 (19)4.1 系统使用的软件简介 (19)4.2 软件调试平台 (19)4.3 系统程序流程设计 (21)5 系统仿真实现 (26)6 调试结果分析 (27)结束语 (28)附录 (29)附录1 元件清单 (29)附录2 程序代码 (29)参考文献 (33)致谢 (34)基于51单片机的循迹避障小车的设计专业:电子信息工程班级:**班作者:*** 指导老师:***摘要智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。
本设计通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,采用存储空间较大的AT89C51作为主控制芯片,小车电机驱动采用L298N芯片,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。
基于51单片机循迹避障太阳能小车软硬件设计原理

基于51单片机循迹避障太阳能小车软硬件设计原理下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、引言一款基于51单片机的循迹避障太阳能小车是一种集成了光电传感器、红外传感器、电机驱动器等各种器件的智能小车。
51单片机_循迹小车项目报告(完整)

宜宾职业技术学院《单片机系统设计》项目设计报告项目设计题目:智能寻迹小车系部:电子信息与控制工程系班级:电子XXXX 班组号:第四组小组成员:XXX指导教师:XXX2017年10月10日目录一、引言 (3)二、方案论证 (4)三、小车车体设计 (7)四、硬件系统设计 (8)1、单片机最小系统 (8)2、循迹电路 (9)3、电机驱动电路 (9)五、软件系统设计 (12)六、系统的制作、仿真与调试 (14)七、总结 (15)一、引言当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。
现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。
作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。
但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为电子专业学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
单片机课程设计基于单片机的循迹小车
黄山学院单片机课程设计说明书专业:自动化班级: 14自动化2班学生姓名:指导老师:成绩:目录第1章绪论 (3)1.1引言 (3)1.2课题任务要求 (3)1.3本论文研究的内容 (3)第2章系统总体设计 (4)2.1小车的机械特性 (4)2.2寻迹小车基本原理 (4)第3章系统硬件设计 (6)3.1控制器的选择 (6)3.1.1概述 (6)3.1.2STC89C51 开发工具特性 (6)3.2硬件电路设计 (6)3.2.1系统电源电路 (6)3.2.2电机驱动模块 (8)3.3附加功能 (9)3.3.1蓝牙模块 (9)3.3.2 蓝牙小车 (10)第4章系统软件设计 (11)4.1编译环境 (11)4.2模块的驱动 (11)4.2.1红外线传感器模块 (11)4.2.2电机模块的驱动 (12)第5章系统调试分析 (16)5.1系统设计中的注意事项 (16)5.1.1外部因素 (16)5.1.2内部因素 (16)5.2硬软件总体调试 (16)第6章结束语 (17)参考文献 (18)[8]Jonathan Zdziarski ,Hacking and Securing Applications: Stealing Data, Hijacking Software, and How to Prevent It,2012:432 (18)[9]Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded Java Security: Security for Mobile Devices,2010:221-223 (18)[10]Stephen Arolagon,Clark and David Thiel Mobile Application Security,2012:157-161 (18)29附录 (30)第1章绪论1.1 引言我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。
基于单片机的智能循迹小车设计
基于单片机的智能循迹小车设计智能循迹小车是一种基于单片机控制的小型车辆,通过传感器检测路面信息,结合预设路线实时调整行驶方向,实现自动循迹行驶。
智能循迹小车在无人驾驶、智能物流、探险救援等领域具有广泛的应用前景。
智能循迹小车的硬件主要包括单片机、传感器、电机和电源。
其中,单片机作为整个系统的控制中心,负责接收传感器信号、处理数据并输出控制指令;传感器用于检测路面信息,一般选用红外线传感器或激光雷达;电机选用直流电机或步进电机,为小车提供动力;电源为整个系统提供电能。
智能循迹小车的软件设计主要实现传感器数据采集、数据处理、控制指令输出等功能。
具体来说,软件通过定时器控制单片机不断采集路面信息,结合预设路线信息进行数据分析和处理,并根据分析结果输出控制指令,实现小车的自动循迹。
为提高智能循迹小车的稳定性和精度,需要对算法进行优化。
常用的算法包括PID控制、模糊控制等。
通过对算法的优化,可以实现对路面信息的精确检测,提高小车的循迹精度和稳定性。
为验证智能循迹小车的实际效果,需要进行相关测试。
可以在平坦的路面上进行空载测试,检验小车的稳定性和循迹精度;可以通过加载重量、改变路面条件等方式进行负载测试,以检验小车在不同条件下的性能表现;可以结合实际应用场景进行综合测试,以验证智能循迹小车在实际应用中的效果。
测试环境的选择要具有代表性,能够覆盖实际应用中可能遇到的各种情况。
测试过程中要保持稳定的行驶速度,以获得准确的测试数据。
对于测试过程中出现的问题,要及时记录并分析原因,以便对系统进行改进。
测试完成后,要对测试数据进行整理和分析,评估系统的性能表现,提出改进意见。
通过以上测试,我们发现基于单片机的智能循迹小车在循迹精度、稳定性等方面表现良好,能够满足实际应用中的需求。
同时,通过对算法的优化和硬件的改进,可以进一步提高小车的性能表现。
本文介绍了基于单片机的智能循迹小车的设计和实现过程。
通过合理选择硬件和优化软件算法,实现了小车的自动循迹功能。
基于51单片机的寻迹小车设计报告
寻迹小车摘要:以C8051F单片机作为微空机器,设计出一种寻迹小车,通过红外传感器检测黑带信号,利用单片机输出PWM脉冲控制两组直流电机正反转和转动的速度,使小车沿着还带行走。
关键词:寻迹,检测,传出信号。
1.方案论证与选择1.1电机驱动芯片的选择方案一:采用内部集成H桥式芯片L298驱动电路。
方案二:采用分立元件的H桥驱动电路。
由于采用内部集成H桥式芯片每一组PWM波用来控制一个电机的速度,而另外两个I/O口可以控制电机的正反转,控制比较简单,电路也很简单,一个芯片内包含有8个功率管,这样简化了电路的复杂性,所以采用方案一。
1.2传感器的选择方案一:采用发光二极管发光,用光敏二极管接收。
当发光二极管发出的可见光照射到黑带时,光线被黑带接收,光敏二极管检测到信号,呈现高阻抗,使输出端为低电平。
当发光二极管发出的可见光照射到地面时,它发出的可见光反射回来被光敏二极管检测到时,起阻抗迅速降低,此时输出端为高电平。
但是由于光敏二极管受环境中可见光影响较大,电路中的电压不太稳定。
方案二:利用红线发射管发射红线,红外线二极管进行接收。
采用四组红外光敏耦合三极管发射和接收红外信号,外面课见光对接收的信号影响较小。
接收的红外信号转化为电压信号经过LM393进行比较,产生高电平或低电平输出,信号返回给C8051F单片机.方案三:采用光敏电阻接收可见光检测。
四组光敏电阻用于检测可见光信号。
当光敏电阻检测到黑带时,输出端为低电平,当光敏电阻没有检测到黑带时,输出端为高电平,信号返回给单片机,通过单片机控制电机的转向。
光敏电阻易受环境的影响,电压稳定性较差。
综上比较,本设计才用方案二。
2.硬件设计2.1元器件明细表:(1) C8051单片机×1(2) 298带散热片×1(3) 7805带散热片×2(4) TCR5000 ×8(5) LM393 ×4(6)定位器×9(7) 1602显示屏×1(8)开关×1(9)电容:470uF ×110uf ×2104 ×4(9)电阻:EN4007 ×8150Ω×125.1K ×8200Ω×1(10)发光二极管×11(11)三极管×1(12)蜂鸣器×1(13)其他:导线,排线,排针,杜邦头,杜邦针2.2单元电路设计:2.11单片机最小系统电路2.12驱动电路2.13寻迹电路2.14电源电路2.15显示屏电路2.16蜂鸣器电路2.17指示灯电路VDD +5150VSS3、软件设计主控芯片为C8051F120,编程由C语言实现,程序流程如下:4.系统测试4.1单元电路的检测:4.11驱动电路的检测5V、12V、接地分别接好,使能1使能2接口接5V,A口接5V,B口接地,C口接5V,D口接地,然后用万用电表测01和02,03和04的输出电压是否为12V(可有小偏差),然后交换A,B接口,测01和02,03和04的输出电压是否反向,最后断开使能1和使能2接口,测01和02,03和04的输出电压是否为0V.4.12寻迹电路的检测先把电路接通,用照相机观察TCRT5000是否发光,再把万用表调到20V档位,正接线柱接输出,负接线柱接负极,看电压表示数是否5V(可有小偏差),用白纸挡上四个TCRT5000后,看电压是否有明显变化,最好低电压为1V以下。
基于51单片机的智能循迹小车的设计
2011年第 2期
仪表技术
55
1. 3 直流电机驱动模块 两个 后 轮 采 用 L 293D 驱 动 的 直 流 电 机 带 动。
L293D 是驱动二相和四相直流电机的专用芯片, 内含 两个 H 桥的高电压大电流双全桥式驱动器, 接收标准
TTL 逻 辑 电 平 信 号, 可 驱 动 36V、2A 以 下 的 电 机。 L293D可驱动两个电机, 3、6和 11、14脚之间分别接 2 个电机。 2、7、10、15脚接输入控制电平, 控制电机的 正 反转, EN1、EN 2接 控制使能端, 控制电机的停转,
二个网络对第一个网络的作用权值及第一个网络对第
二个网络的作用权值。相应的算法在文献 [ 3] 中有详
细地介绍。
3 结语
本文以中央空调系统为被控对象, 研究了 P ID 神 经网络算法在中央空调温湿度控制中的应用。对单神 经元 P ID 控制器进行了 S IMUL INK 仿真, 仿真结果表 明单神经元 P ID控制器控制效果显著, 达到了系统的 精度要求, 但是对温湿度控制中存在的耦合问题解决 效果不明显, 因此在本文最后介绍了一种新的解耦控 制器: 三层前向 P ID 神经网络解耦控制器。从理论上 该种控制器考虑到了温度控制和湿度控制间的耦合问 题, 温度及湿度不再是单独控制, 在三层神经网络的隐 含层有相互的交叉, 在学习时能有效考虑互相的影响。 接下来控制器模型的建立及算法的改进还需进一步地 研究。
图 7 软件流程图
3 结论
智能循迹小车采用了 51单片机为控制核心, 因为 该单片机的稳定性较好, 性价比较高。黑线的循迹采 用了红外发射对管 TCRT 5000, 并通过施密特 触发器 整形, 抗干扰能力较强, 采用的技术主要有: 通过编程