APP下载

简易智能小车设计制作

2018-11-08梁少志

电子测试 2018年21期
关键词:C语言串口小车

梁少志

(江苏省江阴中等专业学校徐霞客校区,江苏无锡,214407)

1 课题的硬件电路

1.1 系统架构

硬件电路以单片机AT89S52为核心部分。小车电路主要由以下几个电路组成组成。如图1所示。

图1 系统原理框图

1.2 硬件电路设计

1.2.1 单片机模块

高性能、低功耗的AT89S52是51系列中CMOS形式的 8位CPU单片机,拥有8K 系统可编程Flash闪存,带有ISP在线编程功能,对芯片进行写入程序操作时只要一根ISP下载线,编写改写程序非常方便。主要包括单片机最小系统(晶振电路和手动复位电路等)、LED指示灯电路和ISP下载口。

1.2.2 电源部分

利用正电压5V的稳压芯片L7805和可调式稳压芯片LM317,外部接俩个10uf的电容,一个104的瓷片电容, 可以为后面的控制电路提供5V和3.3V的稳定直流电压。

1.2.3 电机驱动模块

在电机驱动电路中,为了实现转向控制,小车设置2个直流电机,左右轮分开控制。(1)调速原理。课题中采用额定电压为6 V的直流电机,使用脉宽调速PWM(脉冲宽度调制)。(2)驱动电路。采用有4个输出的驱动芯片L298N来控制电机,L298N是一款在当前智能控制领域应用很广泛的驱动控制芯片,可以驱动2个两相电机或者一个四相电机,本课题中用来控制2个直流电机;驱动芯片是接5 V电源,因为单片机电源也是5V,所以可以直接相连组成PWM控制电路;驱动芯片的2个使能控制端设置为允许或禁止器件工作。电机工作时产生的电磁干扰容易影响电源的工作,为了避免直流电机对电源品质造成影响,电路采用双电源供电。一组是给单片机和控制电路供电的5V电源,另外一组给L298N的+VSS、+VS供电的电源。同时在驱动芯片的输出和电机之间采用光耦电路隔开,减小干扰。

1.2.4 无线数据传输模块

无线传输部分采用超低功率的MSP430单片机对无线通讯模块LSD-RFC1100A进行了包装和处理。从而大大简化了整体的开发工作,实现无线通信功能时只要通过UART串口即可,把其当作串口使用就可以了,使用起来简洁方便。有两个工作模块 (发送模块和接收模块),当用户通过串口向发射模块发送命令数据,发射模块就以无线形式将命令数据发送出去。此时,处于接受状态的接收模块接受到无线的数据,再通过串口发送给用户。在整体电路中有两个地方需要电压转换电路,一个是单片机与无线模块之间,即5 V逻辑电平(单片机)与3.3 V逻辑电平(无线模块),在2个接口之间采用电压转换电路。另一个是在PC机和无线模块之间,即RS232电平(PC机)与3.3V逻辑电平,所以也要采用电压转换电路。

2 软件编程

以C语言为工具,为小车设计了如下功能:速度控制(前进,后退),转向控制(左转,右转),启动停止。主程序流程图如图2。整个控制过程采用中断方式实现,即PWM的输出采用定时器0中断,无线数据传输采用串口中断,串口的波特率由定时器1的定时频率决定。同时,串口中断设置为高优先级。串口中断程序流程图如图3。应用C语言编写程序,因为C语言程序编写结构简单,有利于学生操作。

图2 单片机主程序流程图

图3 串口中断流程图

3 小车功能的测试

软件功能以C语言为工具来编程实现,整个过程简单,操作方便。小车上电后,红色的LED电源指示灯会亮。分2步进行小车功能的测试。首先,将用C语言编译好的程序下载到单片机中,小车自动分别完成速度控制,转向和启动停止等操作。当单片机的程序执行结束,小车自动停止,代表结束的绿色LED指示灯亮起。其次,在小车的主板和上位机的接口端插上无线传输模块,然后按照上位机软件的指示操作。当单片机接收到了数据,小车主板上的绿指示灯会亮起,然后小车会按照指令进行各项功能测试。然后每组同学根据测试结果进行电路功耗的分析对比。

4 设计制作的意义

本课题涉及了电子产品装配与调试,单片机原理及其接口转换电路,电机驱动,EDA技术,C语言程序设计等多门课程。采用AT89S52单片机不仅在于其满足课题需要,容易学习掌握,也在于可以降低成本,符合学校实训教学成本控制的客观条件。在中职课程中,从我校的实际教学出发,学生所学习的编程语言只有C语言,尽管汇编语言也有这样那样的优点,但是用C语言开发单片机非常方便,甚至现代企业的开发一般都是以C语言开发为主,根据学校实际开课情况,参与本课题的学生也基本掌握了C语言编程,所以本课题中采用了C语言开发编译。本设计是针对中职高年级学生和竞赛小组的学生设计的,对理论课程学习和动手操作能力要求比较高。要求设计制作者对于所学的电子技术知识和计算机知识的应用更灵活。这样的课题设计制作将学生所学的专业知识和技能关联起来,使学生对课题的理解更加的深刻,也突出了实训教学的优点,从而有效弥补了传统教学的不足。在具体的实践过程中,学生从全方面提高了发现,分析,解决问题的能力,提高了学生的资源查找整合能力,也促进了学生自我创新。当然,当这样一辆智能小车摆在面前的时候,也给学生带来的自信心飞跃,这对普遍缺乏自信心的中职生来说是相当重要的,而这样的成就感和自豪感更会不断的激励他们投入大量时间参与到实训中来。学生以竞赛小组的形式开展实训操作,既可以强化模拟竞赛时候的氛围和心理承受力,也会不断促进组内成员之间的交流合作,分工协作以及分享经验技巧。实训教学的重点在于学生与课程平台之间有一个密切的互动,充分的激发学生自主探索,通过学生的主动学习去激发学生的内在动力,从而培养良好的学习能力和习惯。通过在学校里参与本课题的实际经历,像公司工程技术人员在工作的时候一样,在这样的课堂上既没有单调乏味的总结、精心设计和没有约束条件的理想化课后习题,也没有千篇一律的解题方法,只有在实际的探索过程中不断的发现问题再去解决问题,学生可以在这样一种模拟公司创作环境的氛围中获得临场体验。这样的教学模式既不同于传统的课堂教学,也不同于一般的实验教学。知识源于实践,能力在实践中培养,素质在实践中提高[8]。中职阶段的学习,就我校的实际情况来看,实训教学贯穿了学生三年全部的学习生涯,实验室是主要的实践场所。但是学校却并没有建立起与理论教学同样重要和科学全面的实训教学体系,当然这也是当前大部分中职学校存在的问题。所以结合学校的软硬件条件,建立完善的实训教学独立体系,为理论学习和科学研究奠定基础。

5 结束语

学生通过本课题可以很好的训练电子产品装配与调试方面的基本技能,掌握常用元器件的性能与使用方法,能熟练的对一些设备仪器进行调试操作及C语言编译平台的熟练使用等。不但巩固了学生已学知识与技能,还能为今后的专业发展和参与竞赛提供帮助。

猜你喜欢

C语言串口小车
浅谈AB PLC串口跟RFID传感器的通讯应用
大车拉小车
自制小车来比赛
基于Visual Studio Code的C语言程序设计实践教学探索
刘老师想开小车
基于C语言的计算机软件编程
两轮自平衡小车的设计与实现
高职高专院校C语言程序设计教学改革探索
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索