电子综合课程设计超声波避障小车资料.docx
《电子综合课程设计超声波避障小车资料.docx》由会员分享,可在线阅读,更多相关《电子综合课程设计超声波避障小车资料.docx(27页珍藏版)》请在冰点文库上搜索。
电子综合课程设计超声波避障小车资料
扬州大学水利与能源动力工程学院
电子技术综合设计
题目:
智能小车避障控制系统
课程:
电子技术综合课程设计
专业:
测控技术与仪器
班级:
测控1301
学号:
111703126
姓名:
潘雪飞
指导教师:
郑洁
完成日期:
2015.9.26
总目录
第一部分:
任务书
第二部分:
课程设计报告
第一部分
任
务
书
《电子技术综合课程设计》任务书
一、课程设计的目的
本课程是在学完《模拟电子技术基础》、《数字电子技术基础》之后,集中两周时间,进行的复杂程度较高、综合性较强的设计课题的实做训练。
主要包括:
方案论证、系统电路分析、单元功能电路设计、元器件选择、安装调试、计算机辅助设计、系统综合调试与总结等。
使学生在《模拟电子技术基础》、《数字电子技术基础》基本知识、实践能力和综合素质、创新意识、水平诸方面得到全面提高,为后续课程的学习,为培养应用型工程技术人才打下重要基础。
通过本课程设计可培养和提高学生的科研素质、工程意识和创新精神。
真正实现了理论和实际动手能力相结合的教学改革要求。
二、课程设计的要求
1、加强对电子电路的理解,学会查寻资料、方案比较,以及设计计算等环节,进一步提高分析解决实际问题的能力。
2、独立开展电路实验,锻炼综合应用所学电子技术知识,分析、解决电子电路问题的实际本领,真正实现由知识向技能的转化。
3、独立书写课程设计报告,报告应能正确反映设计思路和原理,反映安装、调试中解决各种问题。
三、课程设计进度安排
1、方案设计;(1.5天)
根据设计任务书给定的技术指导和条件,进行调查研究、查阅参考文献,进行反复比较和可行性论证,确定出方案电路,画出主要单元电路,数据通道,输入、输出及重要控制信号概貌的框图。
2、电路设计:
(2天)
根据方案设计框图,并画出各单元电路的详细电路图及总体电路图。
3、电路仿真:
(2.5天)
熟悉EDA工具,在EDA软件平台上修改设计的电路,给出正确的仿真结果。
4、装配图设计:
(1天)
根据给定的元器件,结合逻辑电路图,设计出电路制作的具体装配图(即绘出组件数量,管脚号以及器件布置的实际位置)。
同时配以必要的文字说明。
5、电路制作:
(2天)
对选定的设计,按装配图进行装配,调试实验。
6、总结鉴定:
(1天)
考核样机是否全面达到现定的技术指标,能否长期可靠地工作,并写出设计总结报告。
四、设计题目及内容
1、数字频率计
(1)、测频范围:
1~10KHZ,精度为1HZ;
(2)、测频对象:
方波、正弦波、三角波等周期信号;
(3)、五位数码显示;
(4)、用施密特触发器完成被测信号整形。
2、信息显示系统
(1)、有静态和动态两种显示方式;
(2)、静止显示方式时,可自动或手动控制多屏翻页;
(3)、用一个模式控制开关完成动态显示、静态显示以及翻页等模式的切换;
(4)、用EPROM存储字库。
3、多功能信号发生器
(1)、要求产生正弦波、方波、锯齿波、阶梯波等6种波形;
(2)、用一个输出端口实现对6种波形可选择地输出;
(3)、输出波形的频率范围200HZ—2KHZ、幅度范围1—5V;
(4)、D/A转换器用DAC0832。
4、PWM直流电机控制
(1)、通过按键实现对直流电机的正转、反转、启停控制;
(2)、通过按键实现对直流电机转速的控制;
(3)、用霍尔传感器测速并实时显示电机转速;
(4)、显示读数每隔2秒刷新一次。
5、超声波测距议
(1)、用超声波传感器进行测距;
(2)、测距范围20~1000cm;
(3)、当被测障碍物距离≤20cm时,进行提示报警;
(4)、测试精度1cm,五位显示(数码管显示或液晶屏显示)。
6、微波炉控制器
(1)、具有系统复位功能;
(2)、烹调时间设置功能;
(3)、烹调自动计时功能;
(4)、烹调成提示;
(5)、用数码管显示工作模式和实施烹调时间。
7、出租车计费系统
(1)、用三位数码管显示里程,精确到1千米;
(2)、能预置起步价,如设置起步里程为5千米,起步价为10元;
(3)、行车能按里程收费,可用数据开关设置每千米单价;
(4)、等候按时间收费,如每10分钟增收1千米的费用;
(5)、按复位键,显示装置清零(里程清0,计价部分灭0);
(6)、按下计价键后,如果汽车运行计费,侯时关断;如果侯时计费,运行计费关断;
(7)、价格显示精确到0.1元。
8、交通灯信号控制器
(1)、东西、南北干道均设有红、黄、绿灯,绿灯亮通行,红灯和黄灯亮禁止通行;
(2)、东西、南北干道交替通行,东西干道每次放行X秒。
南北干道每次放行Y秒;
(3)、每次绿灯变黄灯时,黄灯先亮5S(此时另一干道上的红灯不变);
(4)、东西、南北干道均有以秒为单位作减法计数的显示器;
(5)、东西、南北干道均有左、右转弯、人行道通行和禁止指示功能。
9、数据采集控制系统
(1)、系统按一定速率采集输入电压UI,经ADC0809转换为8位数字量DATA;
(2)、可通过键盘预置标准数据;
(3)、输入数据与通过预置按键输入数据采集控制器内的标准数据相减,求得带极性位的差值量±ΔU(数字量);差值之绝对值送至DAC0832转换为ΔU,它和特定的极性判别电路共同输出±ΔU;
(4)、数据采集和处理均在数据采集控制器的管理下有序进行。
工作速率由时钟信号CLK的速度决定。
10、智能小车运动控制系统
(1)、小车可完成启动、停止控制;
(2)、小车可完成前进、后退、转向等行驶方式;
(3)、小车可完成调速控制行驶;
(4)、可通过遥控器控制小车的运行。
11、智能小车避障控制系统
(1)、小车可完成前进、后退、转向等行驶方式;
(2)、小车在前、左、右三个方向分别安装三个超声波传感器;
(3)、系统根据超声波传感器提供的信息测算小车前、左、右三个方向与障碍物的距离;
(4)、当小车与障碍物的距离超过警戒距离时,实时报警;
(5)、同时自动以转小弯、转大弯、后退的运动方式调整小车的行进轨迹。
12、智能小车循迹控制系统
(1)、小车可完成前进、后退、转向等行驶方式;
(2)、小车在底盘安装四组红外传感器;
(3)、系统根据红外传感器提供的信息测算小车与地面深色路径的偏离程度;
(4)、当小车偏离地面深色路径时自动以转小弯、转大弯的运动方式调整小车的行进轨迹,完成自动循迹的运动方式。
13、智能小车测速系统
(1)、小车可完成前进、后退、转向等行驶方式;
(2)、小车在车轮安装霍尔传感器;
(3)、系统根据霍尔传感器提供的信息测算小车的实时行进速度;
(4)、测试结果用数码管或液晶显示屏显示,2秒刷新一次。
五、设计要求
1、课题要求用可编程逻辑器件(FPGA/CPLD)设计实现;
2、在实验箱上或印刷电路板上安装、调试出所设计的电路;
3、在EDA编程实验系统上完成硬件系统的功能仿真;
4、写出设计、调试、总结报告。
六、器件与器材
1、CPLDEPM7128S
2、FPGAEPF10K10
3、只读存储器EPROM2732A
4、稳压降压模块
5、小车
6、L298驱动板
7、红外遥控发送、接收模块
8、超声波传感器
9、红外传感器
10、测速码盘
11、霍尔传感器、磁钢
12、LED点阵显示器
13、施密特触发器74LS14
14、A/D转换器ADC0804、ADC0809
15、D/A转换器DAC0832
16、振荡分频器CD4060
17、BCD七段显示译码器74LS48
18、八线驱动器74LS244
19、555定时器555
20、LED共阴七段数码管BS207
21、石英晶体(4M、2M、32768HZ)
22、万能版
23、微动开关、拨盘开关、继电器、LED(红、绿、蓝)、电阻、电容、二极管、三极管、光敏二、三极管、导线……等。
24、工具(镊子、剪刀、万用表、电烙铁……)
七、使用仪器设备
1、稳压电源(±5V,±15V);
2、实验电路箱;
3、信号发生器;
4、示波器
5、数字万用表
6、PC机(装有MAX+PLUSII或QuartusII软件);
7、EDA编程系统实验箱等。
八、参考文献
1、“模拟电子技术基础”和“数字电子技术基础”教材;
2、有关“电子技术课程设计指导书”;
3、“集成电路特性应用手册”;
8、EDA技术使用教程
9、其他。
九、设计总结报告主要内容
1、任务及要求;
2、整体方案及特点;
3、各组成部分的电路结构及工作原理(应结合框图写);
4、系统硬件电路设计(各模块的硬件连接关系);
5、CPLD控制模块内各单元模块的设计(功能、原理、程序、仿真波形);
6、CPLD控制模块的顶层电路图;
7、系统总装配图;
8、实验结果(照片、及说明);
9、实验结果分析(画出必要的波形,进行测量精度和误差分析);
10、调试中出现问题的解决;
11、改进意见及收获体会等。
第二部分
课
程
设
计
报
告
目录
1.任务及要求……………………………………………………………11
2.整体方案及特点………………………………………………………11
2.1整体框架图……………………………………………………11
3.主要器件及其参数……………………………………………………11
3.1下载模块………………………………………………………11
3.2智能小车模型…………………………………………………12
3.3充电电池组……………………………………………………13
3.4电机驱动模块…………………………………………………13
4.CPLD控制模块内各单元模块的设计………………………………14
4.1主控模块………………………………………………………14
4.2pwm模块…………………………………………………………16
4.3超声波计数模块………………………………………………18
4.4超声波触发信号模块……………………………………………19
4.5超声波滤波信号模块……………………………………………21
4.6系统总图…………………………………………………………22
5.实验结果………………………………………………………………23
6.调试中出现问题的解决………………………………………………23
7.改进意见及收获体会…………………………………………………23
7.1改进意见…………………………………………………………23
7.2收获体会…………………………………………………………23
8.参考文献………………………………………………………………24
1.设计任务要求:
智能小车避障控制系统
(1)、小车可完成前进、后退、转向等行驶方式;
(2)、小车在前、左、右三个方向分别安装三个超声波传感器;
(3)、系统根据超声波传感器提供的信息测算小车前、左、右三个方向与障碍物的距离;
(4)、当小车与障碍物的距离超过警戒距离时,实时报警;
(5)、同时自动以转小弯、转大弯、后退的运动方式调整小车的行进轨迹。
要求:
(1)课题要求用可编程逻辑器件(CPLD/FPGA)设计实现;
(2)在试验箱上或印刷电路板上安装、调试出所设计的电路;
(3)在EDA编程实验系统上完成硬件系统的功能仿真;
(4)写出设计、调试、总结报告
2.整体方案及特点
智能小车避障控制系统的设计通过超声波传感器进行计数、PWM调速模块进行调速。
具体原理是:
以CPLD为核心,用L298N驱动两个减速电机,当产生信号驱动小车前进时,是通过超声波检测信号返回到CPLD,然后CPLD根据程序设计的要求做出相应的判断送给电机驱动模块,让小车来实现前进、左转、右转、左大转、右大转等基本功能。
2.1整体框架图
超声波模块
3.主要器件及其参数
3.1下载模块
EPM7128SLC84-15可编程逻辑芯片
管脚图
3.2智能小车模型
小车底盘(亚克力材质)2只
直流减速电机(强磁过EMC检测)4只
黄色轮子4只
20线测速码盘(非普通六线十线)4只
紧固件8只
3D装配图纸(中文版)1张
螺丝螺帽铜柱若干
3.3充电电池组7.2V1300MA容量
3.4L298N模块/直流电机步进电机驱动模块/集成DC-DC/输出5V
产品参数:
1.驱动芯片:
L298N双H桥直流电机驱动芯片
2.驱动部分端子供电范围Vs:
+5V~+30V;如需要板内取电,则供电范围Vs:
+6V~+30V
3.驱动部分峰值电流Io:
2A
4.逻辑部分工作电流范围:
0~36mA
6.控制信号输入电压范围(IN1IN2IN3IN4):
低电平:
-0.3V≤Vin≤1.5V
高电平:
2.3V≤Vin≤Vss
7.使能信号输入电压范围(ENAENB):
低电平:
-0.3≤Vin≤1.5V(控制信号无效)
高电平:
2.3V≤Vin≤Vss(控制信号有效)
8.最大功耗:
20W(温度T=75℃时)
9.存储温度:
-25℃~+130℃
10.驱动板尺寸:
55mm*45mm*33mm(带固定铜柱和散热片高度)
12.其他扩展:
控制方向指示灯、逻辑部分板内取电接口。
4.CPLD控制模块内各单元模块的设计
4.1主控模块
主控模块主要实现输入信号的判断,并进行处理,输出不同的信号驱动小车进行事先设定好的运动方式进行运动。
程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityzhukongis
port(d2,d1,d0:
instd_logic;
n1,n2,n3,n4:
outstd_logic;
led0,led1,led2:
outstd_logic;
al:
outstd_logic_vector(3downto0);
ar:
outstd_logic_vector(3downto0));
endzhukong;
architecturertlofzhukongis
begin
process(d2,d1,d0)
variableus:
std_logic_vector(2downto0):
="000";
begin
us:
=d2&d1&d0;
if(us="000")then
n1<='1';n2<='0';n3<='1';n4<='0';
led0<='0';led1<='0';led2<='0';
al<="1001";ar<="1001";
elsif(us="001")then
n1<='1';n2<='0';n3<='1';n4<='0';
led0<='0';led1<='0';led2<='1';
al<="0001";ar<="1010";
elsif(us="010")then
n1<='1';n2<='0';n3<='0';n4<='1';
led0<='0';led1<='1';led2<='0';
al<="1001";ar<="1001";
elsif(us="011")then
n1<='0';n2<='1';n3<='1';n4<='0';
led0<='0';led1<='1';led2<='1';
al<="1001";ar<="0010";
elsif(us="100")then
n1<='1';n2<='0';n3<='1';n4<='0';
led0<='1';led1<='0';led2<='0';
al<="1010";ar<="0001";
elsif(us="101")then
n1<='1';n2<='0';n3<='1';n4<='0';
led0<='1';led1<='0';led2<='1';
al<="0010";ar<="0010";
elsif(us="110")then
n1<='1';n2<='0';n3<='0';n4<='1';
led0<='1';led1<='1';led2<='0';
al<="0010";ar<="1001";
elsif(us="111")then
n1<='1';n2<='0';n3<='0';n4<='1';
led0<='1';led1<='1';led2<='1';
al<="1010";ar<="1010";
endif;
endprocess;
endrtl;
生成模块
仿真波形
补充说明
输入信号为‘000’‘001’‘010’‘011’‘100’‘101’‘110’‘111’这八种信号之一,控制小车的电机输入控制端和左轮右轮占空比,使得小车实现向前,后退,左转,右转,左大转,右大转的功能。
4.2pwm模块
调速模块决定了小车的调速功能,本次设计使用PWM进行调速。
脉冲宽度调制(PWM)是英文“PulseWidthModulation”的缩写,简称脉宽调制。
它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。
一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitypwmisport(clk:
instd_logic;
a:
instd_logic_vector(3downto0);
pwmout:
outstd_logic);
endpwm;
architecturecondofpwmis
signalcount:
std_logic_vector(3downto0);
begin
process(clk)
begin
if(rising_edge(clk))then
if(count=a)then
count<="0000";
else
count<=count+1;
endif;
if(countpwmout<='1';
else
pwmout<='0';
endif;
endif;
endprocess;
endcond;
生成模块
仿真波形
补充说明
PWM模块为电动机驱动模块,程序整体思路为脉冲计数,本次设计设置其值为十进制,该模块从主控模块接收变量a的值,确定高电平信号的宽度,从而确定控制电机电压的大小,实现速度的控制。
4.3超声波计数模块
原理是通过计数器计算超声波反馈回来的高脉冲的个数,然后与我们设定的标准值进行比较,送入主控程序进行判断。
程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityjishuis
port(clk:
instd_logic;
ww:
instd_logic;
b:
outstd_logic);
endjishu;
architecturertlofjishuis
signalq:
std_logic_vector(3downto0);
begin
process(clk,ww)
begin
if(ww='0')then
q<="0000";
elsifrising_edge(clk)then
q<=q+1;
endif;
iffalling_edge(ww)then
if(q<"0100")then
b<='1';
elsif(q="0100")then
b<='0';
elsif(q>"0100")then
b<='0';
endif;
endif;
endprocess;
endrtl;
生成模块
仿真波形
4.4超声波触发信号模块
产生超声波计数模块的触发高电平。
程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitychufaisport(clk:
instd_logic;
chufa:
outstd_logic);
endchufa;
architecturecondofchufais
signalcount:
std_logic_vector(7downto0);
begin
process(clk)
begin
ifrising_edge(clk)then
if(count="11111111")then
count<="00000000";
else
count<=count+1;
endif;
if(count<"11111111")then
chufa<='0';
else
chufa<='1';
endif;
endif;
endprocess;
endcond;
生成模块
仿真波形
4.5超声波滤波信号模块
防止出现干扰信号(如尖峰脉冲)。
程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entitylvbois
port(clk:
instd_logic;
inus:
instd_logic;
outus:
outstd_logic);
endlvbo;
architecturertloflvboi