用C语言设计智能车的方案
智能循迹避障小车设计分析解析

毕业设计(论文)课题名称智能循迹避障小车设计学生姓名XXX学号00000000000000系、年级专业XXXXXXXXXXXXXXXXXXX指导教师XXX职称讲师2016年5月18日摘要自从首个工业智能设施诞生以来,智能设施的发展已经扩展到了包括机器、刻板、电子、冶金、交通、宇航、国防等产业领域。
近年来智能设施水平迅速上升,大大的改变了大多数人类的生活方式。
在人类的智能化技术不断飞速进步的过程中,能够取代手动的机器人在更加人性化的同时也越来越智能化。
本文主要讨论了基于单片机的智能循迹避障小车的设计。
智能自动循迹制导系统在驱动电路的基础上,实现自动跟踪汽车导线,而智能避障是使用红外传感器测距系统来实现功能来规避障碍。
智能寻光避障小车是一种采用了多种传感器,以单片机为核心,电力马达驱动和自动控制为技术,根据程序预先确定的模式,而不是人工管理来实现避障导航的自动跟踪高新技术。
这项技术已广泛应用于智能无人驾驶、智能机器人、全自动工厂等许多领域。
这个设计使用STC89C52单片机[1]作为小车的智能核心,使用红外传感器对智能小车跟踪模块识别引导线跟踪,收集模拟信号并将信号转换成为数字信号,使用C 语言编写程序,设计的电路结构简单,易于实现,时效性高。
关键词:智能化;单片机最小系统;传感器;驱动电路ABSTRACTFrom the first level of industrial intelligent facilities since birth, the development of intelligent facilities has been broadened to include machinery, electronics, metallurgy, transportation, aerospace, defense and other fields. Intelligent facilities level rising in recent years, and rapidly, significantly changed the way people live. People in the process of thinking, improvement, learning and intelligence of replace the manual machine is more and more.This paper mainly discusses the intelligent tracking based on single chip microcomputer control process of the obstacle avoidance car. Intelligent automatic tracking is based on the driving circuit of the guidance system, to achieve automatic tracking car line; obstacle avoidance is the use of infrared sensor ranging system to realize the function to evade obstacles. Intelligent tracking obstacle avoidance car is a use different sensor , motor drive for power and automatic control technology to realize according to the procedures predetermined mode, not by artificial management can realize the automatic tracking of obstacle avoidance navigation of high and new technology. The technology has been widely used in unmanned intelligent unmanned line, intelligent robot and so on many fields.Using infrared sensors for car tracking module to identify the guide line tracking, collecting analog signal and converts the signal into digital signal; Using C language to write the program, the design of the circuit structure is simple, easy to implement,timeliness is high.Keywords: Intelligent; Single chip microcomputer minimum system; The Sensor; Driver circuit目录第1章绪论 (1)1.1智能小车的发展近况与趋势 (1)1.2课题研究的目的及意义 (1)1.3课题研究的主要内容 (2)第2章方案设计 (3)2.1系统概述 (3)2.2硬件模块方案 (3)2.3软件模块方案 (5)第3章硬件设计 (6)3.1电源模块 (6)3.2核心控制模块 (6)3.3循迹模块 (7)3.4避障模块 (8)3.5无线遥控模块 (9)3.6电机驱动模块 (10)3.7拓展模块 (13)第4章软件模块 (15)4.1循迹程序模块 (15)4.2避障程序模块 (16)4.3无线遥控程序模块 (17)4.4寻光拓展程序模块 (18)4.5驱动电机程序模块 (19)第5章系统测试与分析 (20)5.1硬件调试 (20)5.2软件调试 (21)总结 (22)参考文献: (23)附录 (24)致谢 (25)第1章绪论1.1智能小车的发展近况与趋势1.1.1智能小车的发展近况现阶段智能汽车的发展十分的迅速,从智能玩具到其他各行各业都有实质性的结果[1]。
基于蓝牙遥控的智能小车设计【范本模板】

《嵌入式系统设计》项目设计报告题目:基于蓝牙技术的智能遥控小车的设计专业:自动化班级:姓名:学号:指导老师:成绩:( 2015.12)摘要随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注.遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势.我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,但是与国际先进还存在一定的差距。
可见其研究意义很大。
本设计就是在这样的背景下提出的。
设计的智能电动小车能够实现无线遥控,串口通讯,实时检测速度,避障碍等功能。
无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势,目前在信息家电方面应用正在铺设。
各种家电共用遥控,并可组网与公众互联网相接,共享有用信息。
目前蓝牙技术实现无线遥控的短板在于传输距离短和芯片价格高方面.但随着科技发展,这些问题正在逐步得以解决。
无线遥控机器人有着广阔的应用前景。
无线遥控的小车,可以在危险的环境作业,人员搜索,可以在各类领域中发挥着它特殊的作用,本次设计是选择基于蓝牙遥控的多功能智能小车为对象。
控制系统以C51单片机为主控芯片,采用L298N为电机驱动芯片、HC-06蓝牙无线模块、12864液晶显示模块、四路循迹模块等构成外围扩展电路。
将自制的控制电路、控制程序和四轮小车机械相结合,制作多功能智能小车。
实验调试实现了智能小车的蓝牙无线遥控、自动避障、自动测距及各种灯光的功能。
关键词:51单片机;蓝牙遥控;智能小车目录摘要 (1)1. 绪论............................................ 错误!未定义书签。
1.1课题目的 (4)1.2课题研究内容 (4)2 .方案论证 (4)2.1 总体方案设计 (4)2.2设计系统的功能要求 (5)2.3 系统硬件方案 (5)3.系统硬件设计 (5)3.1STC89C52芯片简介 (6)3.2 STC89C52最小系统 (7)3.3电机驱动设计 (7)3.4显示电路设计 (8)3.5 蓝牙模块设计 (8)3.6 PCB图设计 (9)3.7 智能车结构分析 (10)3.7.1 底板设计 (10)3.7.2电机与底板的连接支架设计 (10)3..7.3整体装配图 (11)4.系统软件设计 (11)4.1系统的程序流程 (11)4.2蓝牙模块参数设置程序 (12)4.3蓝牙发送程序接收程序和中断程序 (12)4.4自动避障及灯光声音控制程序设计 (13)4.5液晶显示程序设计 (15)5 . 调试结果分析 (18)5.1蓝牙遥控调试及结果分析 (18)5.2避障功能调试及结果分析 (18)6.参考文献\ 附录程序 (18)1.绪论1。
51单片机控制智能小车(3)

51单片机控制智能小车(毕业论文)目录前言方案设计与论证控制器模块选取电机模块选取电机驱动器模块选取电源模块选取硬件设计主控系统电机模块电机驱动模块电源模块按键模块软件设计直行设计转弯设计调试中存在的问题参考文献一、前言:随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,指导教师已经有充分的准备。
本题目是结合科研项目而确定的设计类课题。
我们设计的智能电动小车该具有圆形运行、三角形运行、矩形运行和三者一起运行的功能。
都是运行一循环自动停车。
根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加了四个按键,实现对电动车的运行轨迹的启动,并将按键的状态传送至单片机进行处理,然后由单片机根据所检测的各种按键状态实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
本设计采用STC89C52单片机。
以STC89C52为控制核心,利用按键的动作,控制电动小汽车的轨迹。
实现四种运行轨迹。
STC89C52是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。
二、方案设计与论证控制器模块选取我们采用STC公司的STC89S52单片机作为主控制器,STC公司的单片机内部资源比起ATMEL公司的单片机来要丰富的多,它在5V供电情况下,最多支持80M晶振、且内部有512B的RAM数据存储器、片内含8k空间的可反复擦些1000次的Flash只读存储器、1K的EEPROM、8个中断源、4个优先级、3个定时器、32个IO口、片机自带看门狗、双数据指针等。
但是不兼容Atmel。
从方便使用的角度考虑,我们选择了此方案电机模块选取采用普通直流电机。
直流电机运转平稳,精度有一定的保证。
直流电机控制的精确度虽然没有步进电机那样高,但完全可以满足本题目的要求。
arduino循迹小车毕业论文

a r d u i n o循迹小车毕业论文This model paper was revised by the Standardization Office on December 10, 2020摘要 (2)23Arduino智能小车设计方案简介 (3)34555556 667 8889 023345122Arduino循迹小车设计与实现摘要:循迹小车是Arduino单片机的一种典型应用。
本智能小车是由ardiuno单片机和外部电路组成,包括检测模块,控制模块,电源模块。
循迹车设计采用Arduino单片机作为小车的控制核心,采用灰度传感器作为小车的检测模块来识别绿色路面中央的黑色引导线,采集信号并将信号转换为能被ardiuno单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机。
其中软件系统采用C程序。
关键词:Arduino单片机,自动循迹,驱动电路。
引言自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。
人们在不断探讨、改造、认识自然的过程中,制造能替代人工作的机器一直是人类的目标。
单片机是一种可通过编程控制的微处理器,虽其自身不能单独用在某项工程或产品上,但当其与外围数字器件和模拟器件结合时便可发挥强大的功能,现在单片机已广泛应用于众多领域。
例如:工业自动化,智能仪器仪表,消费类电子产品,通信方面,武器装备等。
作为与自动化技术和电子密切相关的理工科学生,掌握单片机是最基础的要求。
为进一步丰富和巩固单片机知识,也为能更好的联系实际应用,本次毕业设计选择了基于单片机Arduino循迹车,并做出实物。
鉴于电子技术、计算机技术以及各种更先进的仿真软件的出现,使用高级语言如C代替汇编语言进行编程和控制已成为现实,单片机C语言编程相对于MC51汇编语言编程有如下优点:对单片机的指令系统不需要有很深的理解就可以编程操作单片机。
智能小车实验报告心得(3篇)

第1篇一、引言随着科技的不断发展,人工智能技术逐渐渗透到我们生活的方方面面。
作为人工智能的一个典型应用,智能小车实验为我们提供了一个将理论知识与实践操作相结合的平台。
在本次智能小车实验中,我深刻体会到了理论知识的重要性,同时也感受到了动手实践带来的乐趣和成就感。
以下是我对本次实验的心得体会。
二、实验目的本次实验旨在通过设计、搭建和调试智能小车,让学生掌握以下知识:1. 传感器原理及在智能小车中的应用;2. 单片机编程及接口技术;3. 电机驱动及控制;4. PID控制算法在智能小车中的应用。
三、实验过程1. 设计阶段在设计阶段,我们首先对智能小车的功能进行了详细规划,包括自动避障、巡线、遥控等功能。
然后,根据功能需求,选择了合适的传感器、单片机、电机驱动器等硬件设备。
2. 搭建阶段在搭建阶段,我们按照设计图纸,将各个模块连接起来。
在连接过程中,我们遇到了一些问题,如电路板布局不合理、连接线过多等。
通过查阅资料、请教老师,我们逐步解决了这些问题。
3. 编程阶段编程阶段是本次实验的核心环节。
我们采用C语言对单片机进行编程,实现了小车的基本功能。
在编程过程中,我们遇到了许多挑战,如传感器数据处理、电机控制算法等。
通过查阅资料、反复调试,我们最终完成了编程任务。
4. 调试阶段调试阶段是检验实验成果的关键环节。
在调试过程中,我们对小车的各项功能进行了测试,包括避障、巡线、遥控等。
在测试过程中,我们发现了一些问题,如避障效果不稳定、巡线精度不高、遥控距离有限等。
针对这些问题,我们再次查阅资料、调整程序,逐步优化了小车的性能。
四、心得体会1. 理论与实践相结合本次实验让我深刻体会到了理论与实践相结合的重要性。
在实验过程中,我们不仅学习了理论知识,还通过实际操作,将所学知识应用于实践,提高了自己的动手能力。
2. 团队合作在实验过程中,我们充分发挥了团队合作精神。
在遇到问题时,我们互相帮助、共同探讨解决方案,最终完成了实验任务。
寻迹小车智能控制系统的设计方案

寻迹小车智能控制系统的设计方案1 绪论进入二十一世纪,随着计算机技术和科学技术的不断进步,机器人技术较以往已经有了突飞猛进的提高,智能循迹小车即带有视觉和触觉的小车就是其中的典型代表。
1.1 智能循迹小车概述智能循迹小车又被称为Automated Guided Vehicle,简称AGV,是二十世纪五十年代研发出来的新型智能搬运机器人。
智能循迹小车是指装备如电磁,光学或其他自动导引装置,可以沿设定的引导路径行驶,安全的运输车。
工业应用中采用充电蓄电池为主要的动力来源,可通过电脑程序来控制其选择运动轨迹以及其它动作,也可把电磁轨道黏贴在地板上来确定其行进路线,无人搬运车通过电磁轨道所带来的讯息进行移动与动作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。
AGV的另一个特点是高度自动化和高智能化,可以根据仓储货位要求、生产工艺流程等改变而灵活改变行驶路径,而且改变运行路径的费用与传统的输送带和传送线相比非常低廉。
AGV小车一般配有装卸机构,可与其它物流设备自动接口,实现货物装卸与搬运的全自动化过程。
此外,AGV小车依靠蓄电池提供动力,还有清洁生产、运行过程中无噪音、无污染的特点,可用在工作环境清洁的地方。
1.1.1 循迹小车的发展历程回顾随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度很高等其他事情的工具,于是就诞生了机器人这门学科。
世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。
循迹小车共历了三代技术创新变革:第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。
支持离线编程的第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。
智能搬运小车C语言程序(完整)
xunji();
delay(20);
}
fangxia();
delay(10);
songkai();
delay(10);
houtui();
qianjinfangxiang();
turn_left2();
}
void main() //主程序
{
time_init();
zkb1=30;
zkb2=30;
qianjinfangxiang();
qianjin();
delay(10);
while(1)
{
xunji();
turn_right2();
else if((RSIGN1==0)&&(RSIGN2==0)&&(LSIGN1==0)&&(LSIGN2==1))//右偏1,左转1
turn_left1();
else if((RSIGN1==0)&&(RSIGN2==0)&&(LSIGN1==1)&&(LSIGN2==1))//右偏2,左转2
zkb1=10;
zkb2=40;
}
void turn_left2()//大左转函数
{
zkb1=0;
zkb2=50;
}
void turn_right1()//小右转函数
{
zkb1=40;
zkb2=10;
}
void turn_right2()//大右转函数
diaotou();
}
}
}
qianjin();
基于单片机的智能小车速度控制设计
基于单片机的智能小车速度控制设计一、本文概述随着科技的飞速发展,智能化、自动化已成为现代工业和生活的重要趋势。
智能小车作为这一趋势的代表之一,其研究与应用日益受到人们的关注。
智能小车在无人驾驶、物流配送、智能巡检等领域具有广泛的应用前景。
而速度控制作为智能小车运行过程中的关键环节,其设计的优劣直接影响到小车的性能与稳定性。
因此,本文旨在探讨基于单片机的智能小车速度控制设计,以期为智能小车的实际应用提供有益的参考。
本文将首先介绍智能小车速度控制的重要性及其研究背景,阐述基于单片机的速度控制设计的基本原理与优势。
接着,文章将详细分析智能小车速度控制系统的硬件组成和软件设计,包括单片机的选型、电机驱动电路的设计、速度传感器的选择以及控制算法的实现等。
在此基础上,文章还将探讨如何通过优化算法和硬件配置来提高智能小车的速度控制精度和稳定性。
文章将总结基于单片机的智能小车速度控制设计的实际应用效果,展望未来的发展趋势与挑战。
通过本文的研究,我们期望能够为智能小车的速度控制设计提供一种新的思路和方法,推动智能小车技术的进一步发展,为智能交通和智能化生活贡献一份力量。
二、智能小车速度控制的意义和现有技术智能小车的速度控制是现代智能车辆技术中的关键组成部分。
它对于提高小车的行驶安全性、提升运输效率以及实现无人驾驶等先进功能具有极其重要的意义。
精确的速度控制能够确保小车在复杂多变的环境中保持稳定,避免因速度过快或过慢导致的碰撞或延误。
通过速度控制,智能小车可以在不同路况和交通条件下实现自适应调整,提高行驶效率。
速度控制还是实现智能小车高级功能如自动巡航、自动避障等的基础,对于推动智能车辆技术的发展具有重要意义。
目前,智能小车的速度控制技术主要依赖于电子控制单元(ECU)和传感器技术。
ECU通过接收来自各种传感器的信号,如轮速传感器、加速度传感器等,实现对小车速度的精确控制。
同时,随着微处理器技术的发展,越来越多的智能小车开始采用基于单片机的控制系统,这种系统具有集成度高、成本低、可靠性强的优点。
毕业设计基于Arduino单片机的智能小车设计
江海职业技术学院毕业设计毕业设计题目:姓名学号:所在系(部):专业及班级:指导教师:完成日期:中文摘要智能车辆是集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,是智能交通系统的一个重要组成部分。
它在军事、民用、太空开发等领域有着广泛的应用前景。
随着电子工业的发展,智能技术广泛运用于各种领域,运用于智能家居中的产品更是越来越受到人们的青睐。
本系统在硬件设计方面,以Arduino单片机为控制核心,以超声波传感器检测前方障碍物,从而自动避障。
在软件方面,利用C语言进行编程,通过软件编程来控制小车运转。
根据家庭各种房间家具的布局不同而使用不同的路径,从而使得家居中常用到的智能清扫小车智能化,人性化。
该小车能自动避障,有一定的实用价值。
关键词:单片机;智能清扫小车;自动避障目录第一章绪论 (1)1.1 选题背景 (1)1.2 智能小车研究现状 (2)1.3 课题主要内容 (4)第二章智能小车总体结构 (5)2.1 方案综述 (5)2.2 主控单元方案比较与选择 (5)2.3 避障单元方案比较与选择 (6)2.4 “小车”的必要的信息 (7)第三章智能小车的触觉、眼睛 (8)3.1 智能小车内部检测原理 (8)3.2 电机电流、电压检测 (10)3.3 超声波测距 (11)第四章智能小车的脚 (23)4.1 轮系结构详述 (23)4.2 直流电机 H 桥驱动电路 (26)4.3 电机控制信号 (28)第五章智能小车的大脑 (29)5.1 Arduino单片机简介 (29)5.2 Arduino单片机引脚简介 (30)5.3 Arduino编程软件 (33)第六章智能小车控制流程及程序 (35)6.1 控制流程 (35)参考文献 (36)致谢 (37)第一章绪论随着科技进步,现代工业技术发展越来越体现出机电一体化的特征。
无论是在金属加工、汽车技术、工业生产等等方面,机器设备表现了所谓智能化、集成化、小型化、高精度化的发展趋势。
智能迷宫小车设计方案
sbit P2_1=P2^1; //中右传感器
sbit P2_2=P2^2; //中间传感器
sbit P2_3=P2^3 //中间传感器
sbit P2_4=P2^4; //左侧传感器
turn1=P2|0xE0; //P2 用于检测路线 0xE0 屏蔽高位
switch(turn1)
{//寻线模块//
case 0xE4: advance(1)
黑 龙 江 科 技 大 学 center311 Lab 2 制 作 实 验 室 学生组 设 计
我们采用了五个传感器
前端三个为寻线,左右两个为路口检测
用三个传感器中间的在线上两侧分别骑线这样便于快速校正小车位置,而且中间传感器还用
于 90 度转弯时小车头部位置的确定。
寻线程序:
sbit P2_0=P2^0; //右侧传感器
***************电机选择及问题分析:*************** 电机为网上购买 220r/min 存在问题: 1 速度过快 2 采用蓄电池 惯性较大 3 两轮速度不均 右侧轮速度较慢 解决: 综上原因我们采用 pwm 调速,降低速度减小惯性影响,双 pwm 调速平衡两轮速度 pwm 采用 T0 定时器 工作模式 2 自动重载模式 (详细程序见 .c) 晶振 11.0592 TH0=0x9B
黑 龙 江 科 技 大 学 center311 Lab 2 制 作 实 验 室 学生组 设 计
总体设计
作品简介: 作品硬件主要分为 5 个模块:传感器模块、电机驱动模块、电源及稳压模块、主控模 块、车体框架。 软件部分:采用 C 语言编写
软件主要部分包括: (1)寻线函数 (2)pwm 调速函数 (3)1602 显示函数 (4)路口判断与记录函数 (5)最优路劲计算函数 (6)直角平角转弯函数 (7)时间记录函数 ****************传感器选择**************
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用C语言设计智能车的方案一、需求与设计目标1、实现电动车的驱动模块功能2、实现传感器模块控制电动车的基本驱动功能3、实现显示模块功能4、实现语音控制模块功能5、合理设计实现电路,外观、布局、布线美观二、车体硬件功能设计方案1、成品电动车的外观改造2、电动车驱动模块设计3、传感器控制模块设计4、显示模块设计5、中心控制电路模块设计6、语音识别控制模块设计(备选功能)三、车体硬件功能实施方案1、车体介绍供电:电池(四节AA)工作电压:直流4-6V工作电流:200mA小车驱动结构:双侧履带驱动2、行走原理直行:两侧履带同时前进后退:两侧履带同时后退左转:右侧履带前进,左侧履带后退右转:左侧履带前进,右侧履带后退3、系统方案选择与论证(1)电机的选择方案一:采用步进电机控制。
步进电机的优点是步数可以精确控制;缺点是步进电机低转速时会产生振动,振动幅度过大则会影响车体的平衡,因此不适于此题过跷跷板的要求。
方案二:采用左右双直流驱动电机控制。
直流电机的优点是具有优良的调速特性,带负载能力强,便于电动车在有限的场地内灵活运动。
考虑到用左右电机的转速差来控制电动车转向比步进电机有较大的优势且电路相对简单方便控制,本设计采用了方案二。
(2)单片机的选择方案一:采用可编程逻辑器件CPLD。
这种器件的功能强大,运算速度快、集成度高,但是其价格相对比较昂贵。
因此这种器件比较适用于较高级和传感器数量非常多的设计中。
方案二:采用单片机。
单片机已经发展了30多年,其技术已非常成熟,应用也非常广泛,从高端的嵌入式系统到我们生活中的日常家电都有它的身影。
众所周知,单片机本身就是一个计算机系统,这对于实现本设计的各项功能都十分方便,并且其价格与CPLD相比要便宜许多,有很高的性价比。
这两种方式各有特点,在目前的相关研究中都有广泛应用。
鉴于电动车过跷跷板所实现的功能有限,规模较小,考虑到端口数量、所需的存储器的容量、成本等因素后,决定采用单片机作为本次设计的控制系统核心部件。
最后选择了Atmel公司开发的AT89C51型单片机作为主控元件,AT89C51有32个可编程I/O口,有四个I/O口P0~P3,其中P0~P2为普通I/O口,而P3口有其他功能,如外部中断(INT0,INT1)、记数(T0,T1)。
AT89C51外型及引脚如图F-1所示。
(3)显示系统方案一:采用LCD液晶显示器。
从显示信息的容量来看比较理想,但是价格比较昂贵,大量的显示数据也不符合本设计的智能移动机器人的情况。
方案二:采用LED数码管显示器。
LED数码管亮度高、醒目,且性价比很好。
基于上述讨论,我们采用了方案二。
4、系统的设计与实现图F-2 系统硬件结构框图系统可分为三大部分,即信号检测部分(传感器电路),控制部分(控制电路)和执行部分(电机驱动电路)。
其中信号检测部分通过传感器检测黑色轨迹,并将信号传回控制器处理。
控制部分的作用是接收并处理输入的控制信息以及检测信号,通过控制电机来改变电动车的行进方向和速度,并将电动车行使所用的时间实时显示出来。
本设计基于单片机及传感器,完成了一个电动车跷跷板的制作。
(1)使用单片机AT89C51作为系统控制核心,实现对电动车的智能控制。
(2)采用直流电机作为驱动。
(3)为了检测路面黑线,在车底安装了一组三个反射式光电传感器,在车尾安装了一个。
利用该模块探测路面黑线的原理是:光线照射到路面并反射,根据黑线和白纸的反射系数不同,通过以光电传感器为核心的光电检测电路将路面两种颜色进行区分,转化为不同电平信号,将此电平信号传送至单片机,由单片机控制转向电机作相应的转向,保证电动车沿引导线行驶。
电动车工作在光源较充足的环境时,光电传感器就会受到很大影响,导致系统误动作,无法正常工作。
为了减少环境干扰,应在光电传感器的发射管和接收管周围用黑胶布裹上,避免光照,而且应尽量让系统工作在光线较弱的场合。
(4)通过LED数码管显示器分阶段实时显示电动车行使所用的时间。
经试验测试表明,该系统各项功能都已满足题目的要求。
从总的方面来考虑,传感器的使用数量应该尽量减少单片机的信号处理量,但是又必须能使电动车行使自如。
控制电路要根据选用的电机和传感器来设计,主要考虑稳定性和抗干扰性。
四、理论分析与计算1、测量与控制方法(1)传感器寻迹测量根据实际情况,选择在电动车底部安装三个反射式光电传感器。
分别将两个传感器对称置于电动车前端轴线的两侧,再将一个传感器安装在电动车前端轴线上,即前两个传感器的中间位置,这样,中间传感器将始终检测到黑线。
如果除中传感器之外,左、右传感器中的任意一个检测到黑线,则该传感器将输出“有线”信号,根据信号来驱动电机改变电动车的运行方向,以次来达到校正行进方向的目的。
(2)LED数码管显示控制显示部分的电路如图F-3所示。
图F-3 共阴极数码管动态现实电路2、理论计算(1)电动机PWM 驱动模块的电路设计与实现由四个大功率晶体管组成的H 桥电路组成,四个晶体管分为两组,交替导通和截止,由于电机平均功率满足如下关系⎰==ATAP dt P TP 0max max 1其中P 为电机的平均功率,P max 为电机全速运转的功率。
A 为脉宽,可见,电机的平均功率与脉宽成正比。
电动车行使后其平均功率:P =fv 则 AP max =Af =fv 式中 v =Av max所以电动车的速度与脉宽成正比。
单片机发出脉冲信号的宽度即可决定PWM 放大器输出的电压平均值的大小。
(2)跷跷板的处理根据题目的要求,我们选择了三合板加木梁的结构作为跷跷板。
为了增大磨擦力,防止电动车行进时打滑,还在上面铺了一层素描纸。
为使电动车能够自动驶上跷跷板,我们在1cm 厚的板的两端,以距离地面5度倾角的位置锯掉些木板,使跷跷板任一端落地时可以与地面很好地贴合。
另外,在保证跷跷板中心轴两端与支架圆滑接触、灵活转动的前提下,我们在支架底座钉上了防滑橡胶垫来加大与地面的摩擦力,增强了跷跷板的稳定性。
(3)角度传感器测试角度的计算根据题目给出的示意图及相关数据,可得到跷跷板半径AC长为800mm,又因为跷跷板中心点C距离地面的高度CD长为70mm,所以计算出直角三角形ADC中角β的度数约为[arcsin(70/800)]5°,即角度传感器的测试调整角度。
3、电路设计(1)总体电路图本系统采用单片机作为控制核心,对控制信号和传感器送来的信号进行分析处理,然后电动车沿指定黑线运动,并通过LED显示器显示电动车行驶所用的时间。
详细电路图如图F-4所示。
图F-4 总体电路图(2)检测与驱动电路设计直流电机驱动电路使用最广泛的就是H型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。
桥式电路以及电机原理图如图F-5所示。
考虑到电机启动和制动时较大的电流会造成电源电压不稳定,从而出现电磁兼容性(EMC)问题,对单片机和传感器的工作产生干扰,所以,在单片机与电机驱动电路之间采用光耦隔离的措施来解决电磁兼容性问题。
光耦的电路连接图如图F-6所示。
图F-5 桥式电路以及电机原理图图F-6 4N25的连接示意图这极大地减小了系统可能受到的电磁干扰,为控制电路的可靠性及安全性提供了保证。
两路电机的驱动电路图如图F-7所示。
图F-7 电机驱动部分电路图五、模块报价清单和工具清单(1)模块报价1、车体及改造费(150元)2、核心控制模块(50元)3、驱动电路模块(50元)4、显示模块(30元)5、传感器模块(300元)6、语音备选模块(待议)7、消耗性材料(焊锡、导线等,100元)合计:680元(2)设备与工具1、电脑(1台,有c语言编程软件)2、单片机试验箱(1部,5000-7000元,此设备借用,须经校方同意)3、烧录机(1台,700-1500元)4、焊接工具及材料(1套,包括电烙铁、螺丝刀、电钻、吸锡器、尖嘴嵌、拨线嵌、锉刀、剪刀等,500元,此设备借用,须经校方同意)软件设计#include <reg51.h>#define uchar unsigned char#define uint unsigned intvoid zhu(); //主函数void zheng(); //正向前进函数void zuo(); //左转函数void you(); //右转函数void hou(); //反向倒退函数void ting(); //停车函数void daoche(); //倒车函数void delay(uint k); //延时函数void time();void init_timer();void shijian(); //时间函数unsigned int a;unsigned char y;unsigned char c;unsigned char v;unsigned char r;char DATA_7SEG[10]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,};uchar sec=0;uchar deda=0;bit d_05s=0;void delay(uint k);void conv();void disp();void main(){init_timer();zhu(); //主函数}void zhu() //主函数{unsigned char z;P3=0xff;while(1){z=(P3&0x07);if((z&0x01)==0x01){zheng(); //正向前进函数}else if((z&0x02)==0x02){zuo(); //左转函数}else if((z&0x04)==0x04){you(); //右转函数}else{gensui(); //正向跟随函数}}}void zheng() //正向前进函数{P1=0x05;for(a=0;a<23;a++){time();}P1=0x00;for(a=0;a<12;a++){time();}return;}void zuo() //左转函数{P1=0x04;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++) {time();}return;}void you() //右转函数{P1=0x01;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++) {time();}return;}void hou() //反向倒退函数{P1=0x0a;delay(150);P1=0x00;P2=0xff;sec=0;init_timer();for(a=0;a<1000;a++) {time();}sec=0;P2=0xff;P3=0xff;while(1){r=(P3&0x0f);if((r&0x01)==0x01) {daoche(); //倒车函数}else{P1=0x0a;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++){time();}}}}void ting() //停车函数{while(1){P1=0x00;P2=0x00;}}void daoche() //倒车函数{P3=0xff;while(1){v=(P3&0x0f);if((v&0x0fe)==0x0e){P1=0x05;delay(150);ting(); //停车函数}else if((v&0x08)==0x08){P1=0x0a;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++) {time();}}else if((v&0x02)==0x02) {P1=0x08;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++) {time();}}else if((v&0x04)==0x04) {P1=0x02;for(a=0;a<23;a++) {time();}P1=0x00;for(a=0;a<12;a++){time();}}}}void init_timer(){TMOD=0x01;TH0=-(2400/256);TL0=-(2400%256);IE=0x82;TR0=1;}void T0_srv(void) interrupt 1 {TH0=-(2400/256);TL0=-(2400%256);deda++;}void conv(){if(deda<=100)d_05s=0;else d_05s=1;if(deda>=200){sec++;deda=0;}if(sec==60){sec=0;}}void disp(){P0=DATA_7SEG[sec/10];P2=0xfd;delay(1); P0=DATA_7SEG[sec%10];P2=0xfe;delay(1); }void shijian() //时间函数{init_timer();while(1){time();}}void time(){conv();disp();}void delay(uint k) //延时函数{uint i,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;}}}。