智能小车程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
扬州大学能源与动力工程学院课程设计报告总结
题目:智能小车控制系统
课程:电子技术综合课程设计
专业:测控技术与仪器
班级:测控 1002 学号: 101602203 姓名:邓天麟
指导教师:郑洁
完成日期: 2012年12月1日
《电子技术综合课程设计》任务书
一、课程设计的目的
本课程实在学完《模拟电子技术基础》、《数字电子技术
基础》之后,集中两周时间,进行的复杂程度较高、综合性较
强的设计课题的实做训练。主要包括:方案论证,系统电路分析、单元功能电路设计、元器件选择、安装调试、计算机辅助
设计、系统综合调试与总结等。通过本课程设计可培养和提高
学生的科研素质、工程意识和创新精神。真正实现了理论和实
际动手能力相结合的教学改革要求。
二、课程设计的要求
1、加强对电子电路的理解,学会查寻资料、方案比较,以及
设计计算等环节,进一步调高分析解决实际问题的能力。
2、独立开展电路实验,锻炼综合应用所学电子技术知识,分析、解决电子电路问题的实际本领,真正实现由知识向技能的
转化。
3、独立书写课程设计报告,报告应能正确反映设计思路和原理,反映安装、调试中解决各路问题。
三、课程设计进度安排
序号设计进程内容地点时间/天
1 方案设计自定 1.5
2 电路设计实验室 2
3 电路仿真实验室 2.5
4 装配图设计实验室 1
5 电路制作实验室 2
6 总结鉴定实验室 1
目录
1、任务及要求 (4)
2、整体方案设计 (4)
2.1 各器件模块说明 (4)
2.2 系统控制框图 (5)
3、程序编写与设计 (6)
3.1 主控芯片模块程序设计及仿真波形 (6)
3.2 PWM模块程序设计及仿真波形 (7)
3.3 系统总的设计图 (8)
4、最终成果 (9)
5、心得体会 (9)
6、参考文献 (10)
7、附录 (10)
1.任务及要求
任务:(1)小车可完成启动、停止控制;
(2)小车可完成前进、后退、转向等行驶方向;
(3)可通过遥控器控制小车的运行。
要求:(1)课题要求用可编程逻辑器件(CPLD/FPGA)设计实现;
(2)在试验箱上或印刷电路板上安装、调试出所设
计的电路;
(3)在EDA编程实验系统上完成硬件系统的功能仿
真;
(4)写出设计、调试、总结报告。
2.整体方案设计
2.1各器件模块说明
1.电源模块
采用输出7.2V的可充电电池组,便于重复利用。
2.控制模块
采用CPLD EPM7128S模块
2.电机驱动模块
采用L298N驱动模块
号
信
L298N 驱动
CPLD 遥控器 入
输
4.遥控模块
采用四建无线遥控器
5.小车车型选择
采用双层透明的小车地盘,既美观大方,而且易于检查线路问题。
2.2系统控制框图
3、程序编写与设计
3.1 主控芯片模块程序设计
(1)通过编程实现控制(程序如下)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY YAOKONG IS
PORT (
D3,D2,D1,D0:IN STD_LOGIC;
A,B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
IN1,IN2,IN3,IN4:OUT STD_LOGIC);
END YAOKONG;
ARCHITECTURE XMAN OF YAOKONG IS
SIGNAL SAJI:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
SAJI<=D3&D2&D1&D0;
PROCESS(SAJI)
BEGIN
CASE(SAJI) IS
WHEN"1000"=>
A<="1000";B<="1000";IN1<='1';IN2<='0';IN3<='1';IN4<='0';
WHEN"0100"=>
A<="1000";B<="1000";IN1<='0';IN2<='1';IN3<='0';IN4<='1';
WHEN"0010"=>
A<="0011";B<="1000";IN1<='1';IN2<='0';IN3<='1';IN4<='0';
WHEN"0001"=>
A<="1000";B<="0011";IN1<='1';IN2<='0';IN3<='1';IN4<='0';
WHEN OTHERS=>
A<="0000";B<="0000";IN1<='0';IN2<='0';IN3<='0';IN4<='0';
END CASE;
END PROCESS;
END XMAN;
其中A,B输出分别是改变PWM来改变小车左右轮速度来实现左右转动。