扬州大学能源与动力工程学院课程设计报告总结题目:智能小车运动控制系统课程:电子技术综合课程设计专业:测控技术与仪器班级:学号:姓名:指导教师:完成日期:《电子技术综合课程设计》任务书一、课程设计的目的本课程实在学完《模拟电子技术基础》、《数字电子技术基础》之后,集中两周时间,进行的复杂程度较高、综合性较强的设计课题的实做训练。
主要包括:方案论证,系统电路分析、单元功能电路设计、元器件选择、安装调试、计算机辅助设计、系统综合调试与总结等。
通过本课程设计可培养和提高学生的科研素质、工程意识和创新精神。
真正实现了理论和实际动手能力相结合的教学改革要求。
二、课程设计的要求1、加强对电子电路的理解,学会查寻资料、方案比较,以及设计计算等环节,进一步调高分析解决实际问题的能力。
2、独立开展电路实验,锻炼综合应用所学电子技术知识,分析、解决电子电路问题的实际本领,真正实现由知识向技能的转化。
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)1.任务及要求任务:(1)小车可完成启动、停止控制;(2)小车可完成前进、后退、转向等行驶方向;(3)小车可完成调速控制行驶;(4)可通过遥控器控制小车的运行。
要求:(1)课题要求用可编程逻辑器件(CPLD/FPGA)设计实现;(2)在试验箱上或印刷电路板上安装、调试出所设计的电路;(3)在EDA编程实验系统上完成硬件系统的功能仿真;(4)写出设计、调试、总结报告。
2.整体方案设计2.1各器件模块说明1.电源模块采用输出7.2V的可充电电池组,便于重复利用。
2.控制模块采用CPLD EPM7128S模块3.电机驱动模块采用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 ZZJS ISPORT (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 ISSIGNAL WD:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINWD<=H3&H2&H1&H0;PROCESS(WD)BEGINCASE(WD) ISWHEN"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"=>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)生成元件(如下图所示)(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 ISPORT( CLK :IN STD_LOGIC;A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ENA:OUT STD_LOGIC);END TPWM;ARCHITECTURE example OF TPWM ISSIGNAL COUNTT:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS(CLK)BEGINIF CLK'EVENT AND CLK='1' THENIF COUNTT>="1111" THENCOUNTT<="0000";ELSECOUNTT<=COUNTT+1;END IF;IF COUNTT<A THEN ENA<='1';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 ISPORT (D3,D2,D1,D0:IN STD_LOGIC;H3:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));END AA3;ARCHITECTURE XMAN OF AA3 ISSIGNAL DD3,M3:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL B:STD_LOGIC;BEGINPROCESS(D3,D2,D1,D0)BEGINB<=D2 OR D1 OR D0;DD3<=D3&D3;IF (B='1') THEN M3<="00";ELSIF (RISING_EDGE (D3)) THENIF (M3="10") THEN M3<="10";ELSE M3<=M3+'1';END IF;END IF;H3<=(M3 and DD3);END PROCESS;END XMAN;(2)生成元件(如下图所示)(3)通过maxplus2仿真脉冲波形(如下图所示)3.4 系统总的设计图(1)原理图(2)波形仿真4.最终成果5.心得体会经过两周的实际操作和实习,我们小组完成了运动控制智能小车的组装和程序调制,实现了智能小车的调速功能。
在智能小车的组装和程序调制过程中,我们虽然遇到了一些问题,但经过一次又一次的认真思考,一遍又一遍的修改尝试终于找出了原因,最终完成了智能小车的功能。
课程设计刚开始的时候,可以说什么都不知道,MAX+Plus II不会用,VHDL语言看不懂,不理解,拿着选定的题目不知如何入手。
毕竟课程设计不同于实验课,电路图和程序都要自己设计。