基于上位机的运动小车的设计Word文档格式.docx
《基于上位机的运动小车的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于上位机的运动小车的设计Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
![基于上位机的运动小车的设计Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/23/63061404-c387-42c0-8860-eabd8f1b69bc/63061404-c387-42c0-8860-eabd8f1b69bc1.gif)
一引言1
1.1课题背景1
1.2课题研究的目的及意义1
1.3系统设计主要任务2
1.3.1硬件部分2
1.3.2软件部分3
二方案设计4
2.1上位机方案4
2.2下位机方案5
2.3总体控制系统5
三系统硬件电路设计6
3.1主控模块6
3.2射频模块8
3.3串口通信9
3.4运动小车10
3.4.1电机驱动芯片10
3.4.2直流电机12
3.5小车运动系统电源13
四系统软件设计14
4.1软件工具简介14
4.1.1C#简介14
4.1.2.NET简介14
4.1.3VisualStudio201214
4.2系统控制流程图15
五系统整机调试及功能测试16
5.1上位机及无线数据发送模块16
5.2下位机及无线数据接收模块16
5.3上位机控制运动小车16
六设计总结及心得17
参考文献18
附录19
一引言
1.1课题背景
科技技术的腾飞是现今时代进步的主题,是世界进步的主旋律之一,随着现代化的信息技术的爆炸式飞跃、迅猛的发展,使计算机通信技术广泛应用于一系列得科学技术之中。
在工业迅猛发展的今天,计算机技术、人工智能技术已成为科技发展过程中不可或缺的一部分,应用计数机智能控制的技术在各个领域越来越受到人们的欢迎。
在计算机平民化的信息化时代基础下,其相关技术的迅速普及,并伴随着快速发展的计算机控制等技术,使得计算机在现代社会的所有的控制领域都被普遍的使用。
运用计算机实现一个控制过程,需要用到计算机的控制系统[1-3]。
这种系统是现代化控制系统的重要组成部分[4],它一般由上位机和下位机组成,这种组成方式与传统控制方式相比,具有需要控制人员少,自动执行的智能化高;
不需人工感觉控制,计算机直接控制的精确度高;
不需逐级对数据记录,计算机实时监控使系统的实时性强;
不需要大量人工、设备,实施成本低;
易实现和能在特殊环境下运行等特点。
上位机控制下位机的系统是基于计算机控制平台发展的控制系统,其本身具有智能处理的能力,在各个领域都非常突出,为各行业发展做出了突出贡献。
上位机控制系统软件,是在Windons系统上运行以.Net开发环境为平台,使用C#语言编写的操作控制软件。
其再连接通过串口通信、无线射频通信来接收、发送控制数据、指令的单片机;
下位机是通过串口通信、无线射频通信来接收、发送控制数据、指令的单片机,并且能采集数据、控制相应的单元。
达到完成上位机与下位机的连接通信的目的,最终达到数据信号的传输和数据信息的采集、处理[5]。
此选题拟用运动小车为控制对象,利用计算机对运动小车进行通信、控制,从而实现上位机、下位机之间的通信、控制,为基于上位机的控制系统提供设计理念。
1.2课题研究的目的及意义
现今工业测控、商业控制乃至家庭电器的控制系统,上位机、下位机的控
制使用已近非常普遍。
本系统的选题基于上位机的运动小车的控制,旨在研究计算机控制系统中,上位机控制下位机的系统。
研究控制过程的数据处理、命令的处理等,使系统本身和使用者可以实现受控双方的信息共享、信息反馈等。
从而达到人机交互,真正实现“智能化、人性化”。
在系统设计时,要处理各种传感器检测数据和控制单元参数,需要将各种接口按照接口标准和计算机、单片机进行连接,通过MCU(STC89C52)进行各种数据的实时处理,再通过上位机的可视化控制按键,经过MCU进行命令的处理,对控制单元进行实时测控,使系统更加“智能化、人性化”。
这种系统以其自身的优势在各种测控领域都有广泛应用,为人们节省大量的成本、时间等。
如:
在一条较长的工业控制线上,不需要每一个质量检测控制点上安排一名专业人员,只要放上控制传感器,他就会实时监控,实时把关,自动执行;
在一些检测点或一些过程控制点上,不需要人为的感控,使用一些灵敏度高的传感器、控制装置,事先在电脑上设定好参数,整个过程就不需要专门的技术人员去实时感控,减少人力、减少人为的错误感控;
在一些关联性较大的工业线上,各个设备、各条产线、各个车间甚至各个厂区之间的数据结合处理,关系到生产、质量、产能等一系列问题,仅仅依靠人工,不仅效率不高,可靠性也大打折扣,使用计算机对各个数据进行收集、处理、反馈,不仅效率大幅度提高,而且实现了数据的实时性,减少中间环节对数据的破坏;
在一些特殊、极其恶劣的环境下,人工不能实时处理的地方,如矿井、电力输送线路等,就可以使用上位机控制下位机的方式,轻而易举解决各种不便。
上述就是我们现代智能上位机下位机的测控系统,其对不同领域的贡献,提高工作效率,使各种测控系统井然有序的进行。
1.3系统设计主要任务
系统设计时,主控制器发送控制指令,通过串口通信、无线通信技术,发送
到从控制器,从控制器处理指令,控制小车,实现小车按指令运动。
1.3.1硬件部分
系统硬件由三大部分构成:
(1)串口接收、无线发送单元。
单片机(STC89C52)是单元主要部分,它
控制串口接收,无线发送。
(2)无线接收、控制单元。
单片机(STC89C52)是单元主要控制系统,它控制无线接收,数据处理[8]。
(3)受控部分。
经过控制单元、指令处理单元,来控制运动小车,实现系统设计的指定功能、检验系统的性能。
1.3.2软件部分
系统软件由三部分构成:
(1)机算机上位机软件。
控制小车的运动状态,控制指令输出。
(2)指令收发部分。
处理计算机指令,发送控制命令。
(3)分析控制部分。
接收控制指令,处理数据,操作受控部分。
二方案设计
系统以计算机为系统的主控制器,单片机(STC89C52)为从控制器,运用单片机接口技术、无线数据通信技术、串口数据通信技术,将串口通信模块、无线通信模块、小车控制模块等有机结合,组成一个上位机控制运动小车的系统
2.1上位机方案
系统使用单片机做上位机的转换主芯片,选用NRF24L01射频模块做无线信息收发模块,电脑做上位机主控和显示系统,用户控制指令输入系统,一起组成上位机控制系统。
[10]
图1上位机控制系统
2.2下位机方案
系统利用51系列的单片机做下位机的MCU主控芯片,使用射频数据传输模块NRF24L01做无线数据信息接收、发送的通信模块,运动小车做指令执行系统,共同组成下位机被控系统[6]。
图2运动小车控制系统
2.3总体控制系统
图3系统总体控制图
三系统硬件电路设计
硬件系统设计由两个主要部分组成,上位机(指令发送设备)和下位机(运动小车),上位机的部分主要包括以单片机为主的中央控制处理器、串口传输模块、无线传输模块;
下位机部分包括单片机中央控制模块、无线传输模块、小车运动模块、小车及其配件。
硬件电路整体设计紧凑、简约、可靠,为软件设计编写打下良好基础。
3.1主控模块
系统设计时采用STC89C52单片机。
其有小巧且灵活、安全性好、适用的温度范围较宽、易与扩展、指令丰富等优点和较强的实用功能,且STC89C52价格较为便宜。
一般可用在工业的自动化、智能仪表仪器、消费性的电子产品、信息通讯方面、智能化的武器装备、手持终端以及外部测控设备等,尽管精确度较ARM有所降低,但是其内部的系统包含有8位的CPU(中央微处理器)一个、内部4K的EPROM一个、其内部RAM有128个字节一个、内部含21个系统的特殊功能寄存器、8位并行的I/O数据口四个、含有全双工的串行数据传输接口一个、含有16位工作方式可调的定时器/计数器两个、工作方式可调的内部和外部的中断控制系统等,已经基本可以满足本系统的各项要求,且相对容易控制。
并行传输数据的八位I/O数据连接接口共有四个,分别是P1数据接口,准双向数据传输的I/O数据连接接口,能够驱动起LS类型的TTL式负载四个[1];
P2数据接口,准双向传输的I/O数据接口,能够和其内部地址的高八位信号总线进行复用,能够驱动起LS类型的TTL式负载四个[1];
P3数据口,准双向传输的I/O数据接口,可以双功能的复用数据接口,能够驱动LS类型的TTL式负载四个[1];
P0数据口,具有三态的双向I/O数据传输接口,可以与内部地址的低八位数据总线及系统数据的总线的分时进行复用I/O数据接口,能够驱动起LS类型的TTL式负载八个,其中P1数据接口、P2数据接口、P3数据接口的内部都有片内上拉电阻,在进行硬件电路系统设计时不用再加外部上拉电阻,P0数据口内部没有上拉电阻,要在外部加一个103的上拉电阻。
P3.0数据接口、P3.1数据接口是串行信号数据的传输通讯数据接口RXD和TXD,可以完成串行地数据信息的发送和接收功能,P3.2数据信号接口、P3.3数据信号接口是系统外部的中断接口
和
,软件设定完成后可被触发启动。
硬件设计中,单片机供电的电源外部接线引脚Vcc(40号接口)、Vss(20号接口)分别接正五伏电源和接地;
与外部连接的时钟引脚接口XTAL1(18号接口)、XTAL2(19号接口),必须连接适合外部晶振器件;
单片机的控制信号引脚接口:
(29号接口)是片内程序储存器是否允许输出的数据控制端接口、ALE(30号接口)是地址锁存信号是否允许输出的数据端接口、
(31号接口)是内部与外部的程序储存器进行选择的控制输出端接口、RESET(RST9号接口)是系统用于复位的信号输入端数据接口,接复位电路。
图4STC89C21单片机最小系统
3.2射频模块
数据信号间的无线射频传输,选择无线信息数据收发的传输模块NRF24L01完成,其含有全球的开放式且免许可证即可使用的2.4GhzISM频段功能,其拥有的最高工作传输速率为2Mbps,空中的传输时间很短,避免了无线传输中的碰撞现象,提高传输速率;
高效的GFSK调制,抗干扰能力强;
内置2.4GHz天线,体积小巧;
125个无线频道,可以满足多点的通信要求和跳频的通信技术需求,能耗较低[6],产品价格相对便宜;
电路完全集成于模块上的链路层,方便于产品的开发和应用;
信号数据包在传输的过程中,具有重发丢失数据包的功能和自动检测数据传输的功能,它的重新发送的次数和时间是可以由系统相应软件程序进行设定控制[6];
NRF24L01无线数据传输模块中的SPI数据接口,能够使用单片机的I/O数据接口进行SPI功能模拟,或者直接使用电路硬件的SPI数据接口与单片机的接口连接,因含有FIFO在其内部,能够和各种高、低速的微处理器进行连接,降低单片机成本等优点。
射频模块上的电源(VCC)接线引脚,可连接1.9伏到3.6伏之间的低电压,超过3.6伏就可能使射频模块停止工作、甚至烧毁;
GND引脚接地;
由于本设计的硬件系统上没有SPI,就要使用普通的单片机I/O数据口模拟SPI功能,则可以不使用单片机的串行数据口,且此模块的数据传输接口能够和普通的5V单片机的I/O数据接口直接进行连接,不需要加电平转换装置。
NRF24L01射频数据传输模块有四种工作方式,三种接收、发送数据信号的模式,使用何种数据收发模式是由具体的硬件电气配置而决定的[6]。
1GND
2VCC
3CE
4CSN
5SCK
6MOSI
7MISO
8IRQ
用单片机I/O口模拟SPI,要运用各个引脚接口,完成各时序指令,从而达到特定功能。
图5NRF24L01引脚图
图6NRF24L01内部结构图
3.3串口通信
本系统使用的是232串行数据接口通信电路,选用的是使用MAX232转换芯片,其可以适用RS-232C技术类标准所有的要求,只要提供简单的+5伏稳定的电源,芯片上的自带片载式电荷泵拥有对电压的极性进行反转、提升工作电压的功能,功耗低,内部有RS-232接收器两个和RS-232启动器两个。
MAX232芯片可以使计算机串行数据接口的rs232数据信号输出电平(-10伏,+10伏)[2],将其转换成普通单片机可以直接应用的TTL数据信号输出电平(0伏,+5伏)的芯片中的一种,使单片机与计算机之间相互的串行数据信号通信可以完成。
电路引脚有三部分,电荷泵电路、数据转换通道、供电电路[2]。
由1号到6号六只引脚再外接4只电容构成电荷泵电路[2],具有可以生成+12伏和-12伏两个极性相反的电源等功能,可以供RS232数据串行数据接口的电平要求;
7号到14号八只引脚可以组成两组数据传输的通道,其中的R1IN、R1OUT、T1IN和T1OUT四个接口组成了第一组的数据信号传输通道,R2IN、R2OUT、T2IN和T2OUT四个接口组成了第二组数据信号传输通道,其主要的工作流程是:
串行信号经过T1IN、T2IN信号接口输入到RS-232之中,经过处理分析后的信号从T1OUT、T2OUT数据接口由DB9信号插头输入到与其连接的计算机上;
计算机信号经过DB9信号插头与232连接,再由R1IN、R2IN接口输送到RS-232中,数据信号经处理后从R1OUT、R2OUT接口输出并使用;
15号(GND)接口引脚连接电气地,16号(VCC)接口引脚连接道+5伏的稳定电源[2]。
图7MAX232串口接线图
3.4运动小车
3.4.1电机驱动芯片
电动机的驱动芯片选用SGS公司的L298N芯片,其正常运行时输出的工作峰值电流能够达到3安培的大电流特性,输出的工作电压最高值能够达到46伏的高电压特性,输出的工作电流持续值为2伏,输出的额定功率值为25瓦。
在市
面上我们经常能见到的是一种15个接口引脚、封装类型为Multiwatt型的L298N
芯片,逻辑驱动引脚有四个通道接口电路在其内部,能够驱动电机正常工作[7]。
其内部包含有两个大电流、高电压的H型双全桥模式的电机运行驱动电路,是使用二相、四相电源型电机的专用电机驱动电路芯片的一种,可以进行正常的接收、处理TTL类型逻辑的标准数字电平信号,其能够将46伏、2安培以下的两台正常直流式电动机带动运行、能够将两相及四相式的步进电动机带动运行、带的起继电器的磁感线圈,以及相关类型的感性负载。
其有电机转速能够调节、驱动的信号可指示、排除和抗击干扰信号的能力较强、器件的过电流、电压的保护功能、PWM脉宽平滑的调节速度等特点和功能。
系统设计时,采用L298N集成模块,使硬件更容易控制,更加简洁美观。
系统用到模块与外部的十个接口,VCC、GND分别接电源与地线,IN1、IN2和ENA三个接口是电动机A的控制信号数据输入的接口[7],IN3、IN4和ENB三个接口是电机B的控制信号数据输入接口,OUT1至OUT4四个接口就是两个受控电机A、B各自输出信号的控制输出数据接口。
PWM调速,实现电流的脉冲输入。
电动机实际上能够将其看成是一个比较大的电感,它能够实现阻碍输入输出电流变化、输入输出电压的突变,所以PWM波脉冲信号的输入,能够在时间上实现被平均的分配,所以,在输入数据信号方波处的占空比进行改变,就可以使电动机输入的两端端电压大小进行改变,从而使转速得以改变。
图8L298N芯片
图9L298N芯片接线图
3.4.2直流电机
系统采用直流减速电机控制小车的运动。
步进电动机的平稳转动不会受到负载值大小的改变而被影响正常运转,它的正常运转转动决定于PWM信号的数字脉冲0、1个数比和信号的频率,且是以设定的固定角度和方向一步一步执行运转。
能够通过调节PWM的脉冲情况来实现控制电机的角位移量的多少,最终可以完成准确的控制电机确定位值的功能;
也能够通过调节PWM脉冲波来完成电动机转动的相应速度、加速度等的控制,最终实现PWM波调节电机速度的功能,因此它对软件的要求比较高。
但是直流减速电机转动起来的速度很快,同样可以用PWM调速,系统不需要特别的微小角度变化,性价比高,可以很好的满足系统要求。
系统选用直流减速电机,负载能力比一般直流电机强,既保证了速度,又保证了实用性。
且它是双向电机,在电机两个输入端输入颠倒的正负极电压时,电机旋转方向是相反的,可以达到小车的前后移动、左右转弯等移动功能的目的,保持了小车灵活运动的特点。
为了保证与电路输入端有良好的信号隔离,在电的机工作电源信号的输入接口处并联了一个小电容,用来预防系统的主控电路以外的大电流、高电压进入,防止电源的电压突然降低所形成的电源输入端污染,导致底线的电位浮动。
表1电机转动状态编码
左A电机
右B电机
运动小车运行状态
IN1
IN2
IN3
IN4
1
正转
前行
反转
右转
停止
以左电机为中心原地左转
左转
以右电机为中心原地右转
后退
3.5小车运动系统电源
系统运行、小车在运动时,都在耗能,选定准确的电源系统是整个系统能否正常运行的基础。
方案选定是必须综合考虑,单片机系统运行时,电源供5伏电源,电机运行时要供稳定的电压,无线通信模块的电源供给需要3.6伏左右等。
本系统选用1.8伏干电池4节进行供电,经过设计的滤波电电路,再将+7.2伏直流电通过LM7805进行转换,使其成为单片机可以直接使用的+5伏电压,给硬件系统提供持续的、稳定的、有效的电源电压,保证系统稳定运行,再经过电压转换模块为无线通信模块供电。
图107.2V转5V电源转换电路
四系统软件设计
系统软件同样有两个主要组成部分,上位机(指令发送设备)系统和下位机(运动小车)系统,上位机系统的主要部分包括计算机视窗部分以及信号接收、发送,指令处理的单片机相关部分;
下位机部分包括信号接收、发送,指令处理,受控部件的控制。
软件部分是系统的灵魂,好的软件可以使硬件得以充分利用。
4.1软件工具简介
4.1.1C#简介
由微软公司开发、研究,2000年6月发布的,一种开发程序面向对象、为.NET平台设计的专门的计算机语言——C#(读做C-sharp)编程语言。
C#是从C,C++和Java中衍生经过优化发展高级程序设计语言,它集中了三者语言中最优秀部分,在这基础上衍生出许多自己的优点。
C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序[12]。
4.1.2.NET简介
微软公司XMLWeb的服务平台——.NET平台。
它能使网络上的传输和数据共享的应用程序,而不在乎的编程语言,使用的操作系统,设备有何区别[12]。
4.1.3VisualStudio2012
由美国微软公司在西雅图隆重推出的“VisualStudio2012”程序开发平台,是最受程序员欢迎的程序的开发应用环境之一。
4.2系统控制流程图
主要实现命令、指令的下达,信息的反馈。
使用电脑下达命令,单片机分析处理后,经无线数据通信模块下达给下位机。
下位机获取信息,分析执行,反馈执行情况。
实现互相实时测控。
图11系统流程图
五系统整机调试及功能测试
系统实现功能所包含的所有模块:
上位机软件及与上位机连接的无线数据发送模块,下位机主控单元及与下位机相连的无线数据接收模块,运动小车。
5.1上位机及无线数据发送模块
用户通过上位机软件发送指令,与上位机相连的中央控制器接收指令,分析指令,处理指令,再通过无线数据发送模块,将正确指