扬州大学能源与动力工程学院 课程设计报告总结
题 目: 智能小车运动控制系统 课 程: 电子技术综合课程设计 专 业: 测控技术与仪器 班 级: 学 号: 姓 名: 指导教师: 完成日期:
2
《电子技术综合课程设计》任务书 一、课程设计的目的 本课程实在学完《模拟电子技术基础》、《数字电子技术基础》之后,集中两周时间,进行的复杂程度较高、综合性较强的设计课题的实做训练。主要包括:方案论证,系统电路分析、单元功能电路设计、元器件选择、安装调试、计算机辅助设计、系统综合调试与总结等。通过本课程设计可培养和提高学生的科研素质、工程意识和创新精神。真正实现了理论和实际动手能力相结合的教学改革要求。 二、课程设计的要求 1、加强对电子电路的理解,学会查寻资料、方案比较,以及设计计算等环节,进一步调高分析解决实际问题的能力。 2、独立开展电路实验,锻炼综合应用所学电子技术知识,分析、解决电子电路问题的实际本领,真正实现由知识向技能的转化。 3、独立书写课程设计报告,报告应能正确反映设计思路和原理,反映安装、调试中解决各路问题。 三、课程设计进度安排
序号 设计进程内容 地点 时间/天 1 方案设计 自定 1.5
2 电路设计 实验室 2 3 电路仿真 实验室 2.5 4 装配图设计 实验室 1 5 电路制作 实验室 2 6 总结鉴定 实验室 1 3
目 录 1、任务及要求…………………………………………………………..………4 2、整体方案设计……………………………………...………………………..5
2.1 各器件模块说明…………………………………………………......5 2.2 系统控制框图…………………………………………………...….…6 3、程序编写与设计………………………………………………………...…..7 3.1 主控芯片模块程序设计及仿真波形………….....................7 3.2 PWM模块程序设计及仿真波形…………………………...…..9 3.3 运动控制模块程序设计及仿真波形………………...……10
3.4 系统总的设计图…………………………………………............12
4、最终成果………………………………………………………………..........13 5、心得体会………………………………………………………….…….........14
6、参考文献………………………………………………………………..........16
7、附 录………………………………………………………………................16 4
1.任务及要求 任务:(1)小车可完成启动、停止控制; (2)小车可完成前进、后退、转向等行驶方向; (3)小车可完成调速控制行驶; (4)可通过遥控器控制小车的运行。 要求:(1)课题要求用可编程逻辑器件(CPLD/FPGA)设计 实现; (2)在试验箱上或印刷电路板上安装、调试出所设 计的电路; (3)在EDA编程实验系统上完成硬件系统的功能仿 真; (4)写出设计、调试、总结报告。 5
2.整体方案设计 2.1各器件模块说明 1.电源模块 采用输出7.2V的可充电电池组,便于重复利用。
2.控制模块 采用CPLD EPM7128S模块
3.电机驱动模块 采用L298N驱动模块 6 号信 L298N驱动 CPLD
遥控器
入输
4.遥控模块 采用四建无线遥控器
5.小车车型选择 采用双层透明的小车地盘,既美观大方,而且易于检查线路问题。
2.2系统控制框图 7
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 ZZJS IS PORT ( H3,H2,H1,H0:IN STD_LOGIC_VECTOR(1 DOWNTO 0); A,B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); IN1,IN2,IN3,IN4:OUT STD_LOGIC); END ZZJS; ARCHITECTURE XMAN OF ZZJS IS SIGNAL WD:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN WD<=H3&H2&H1&H0; PROCESS(WD) BEGIN CASE(WD) IS WHEN"01000000"=> A<="1000";B<="1000";IN1<='1';IN2<='0';IN3<='1';IN4<='0'; WHEN"10000000"=> A<="1110";B<="1110";IN1<='1';IN2<='0';IN3<='1';IN4<='0'; WHEN"00010000"=> A<="1000";B<="1000";IN1<='0';IN2<='1';IN3<='0';IN4<='1'; WHEN"00100000"=> A<="1110";B<="1110";IN1<='0';IN2<='1';IN3<='0';IN4<='1'; WHEN"00000100"=> 8
A<="0010";B<="1110";IN1<='1';IN2<='0';IN3<='1';IN4<='0'; WHEN"00001000"=> A<="1000";B<="1110";IN1<='0';IN2<='1';IN3<='1';IN4<='0'; WHEN"00000001"=> A<="1110";B<="0010";IN1<='1';IN2<='0';IN3<='1';IN4<='0'; WHEN"00000010"=> A<="1110";B<="1000";IN1<='1';IN2<='0';IN3<='0';IN4<='1'; WHEN OTHERS=> A<="0000";B<="0000";IN1<='0';IN2<='0';IN3<='0';IN4<='0'; END CASE; END PROCESS; END XMAN;
其中A,B输出分别是改变PWM来改变小车左右轮速度来实现左右转动 (2)生成元件(如下图所示) 9
(3)通过maxplus2仿真脉冲波形(如下图所示) 3.2 PWM模块程序设计及仿真波形 (1)通过编程实现(程序如下) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY TPWM IS PORT ( CLK :IN STD_LOGIC; A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); ENA:OUT STD_LOGIC); END TPWM; ARCHITECTURE example OF TPWM IS SIGNAL COUNTT:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF COUNTT>="1111" THEN COUNTT<="0000"; ELSE COUNTT<=COUNTT+1; END IF; 10
IF COUNTT ELSE ENA<='0'; END IF; END IF; END PROCESS; END example;
其中,A为通过主控芯片输出用于调节pwm改变轮速的参量。 (2)生成元件(如下图所示)
(3)通过maxplus2仿真脉冲波形(如下图所示) 3.3运动控制模块程序设计及仿真波形 (1)通过编程实现(程序如下) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY AA3 IS PORT ( D3,D2,D1,D0:IN STD_LOGIC; H3:OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); END AA3; ARCHITECTURE XMAN OF AA3 IS