二维点样平台设计毕业论文(编辑修改稿)内容摘要:

程序发布 调试好程序之后,虽然没有错误出现,但该应用程序还只是源文件,只能在Visual Basic 的编译环境中运行,因此需要制作成可执行文件。 Visual Basic 很容易生成“ .exe”文件。 方法是选择“文件”菜单下的“生成 Make ”选项,在跳出来的对话框中修改文件名,然后确认即可,这样就完成了二维点样平台上位机的开发工作了 [1]。 3 二维点样平台下位机设计 单片机硬件电路设计 点样平台下位机以 AT89C51 单片机为控制核心,串口通信模块用来接收 上位机发送的坐标数据,外加两个步进电机用来模拟点样平台的二维电机控制。 下位机驱动步进电机运动流程图如图 6 所示 图 6 下位机控制步进电机流程图 51 单片机最小系统 AT89C51 是应用广泛的 8 位单片机,它拥有 4K 的 FLASH, 128 字节的 RAM,两个 16 位的定时器,可编程串行中断,以及低功耗闲置和掉电模式。 AT89C51 单片机最小系统包括单片机主控、时钟电路和复位电路。 如图 7 所示。 二维点样平台设计 12 时钟电路选用外部 12M 晶振,并联两个 30pf 的电容帮助起振。 复位电路是由电阻、电容和按键组成的上电复位和按键复位。 图 7 单片机最小系统 为了直观显示系统运行状态和步进电机运行状态,本设计中添加了三个 LED 指示灯,用来指示运行状态,如图 8 所示。 图 8LED 状态指示灯 串口通信电路 RS232 接口上通信时要 12V的电压才能识别,也 就是 高低电平为 12V和 0V,但是51 单片机的高低电平为 5V 和 0V,所以单片机和电脑的串口通信需要高平转换。 实际淮南师 范学院 20xx 届本科毕业论文 13 的电路中需要加入电平转换芯片,如 MAX232 或 PL2303。 本设计使用 Proteus 仿真,Protues 带有串口仿真元件 COMPIM, 它集成了 TTLRS232 电路 的。 设好波特率 即可实现串口通信。 为了查看单片机串口通信数据,仿真中加入 Virtual Terminal 虚拟终端。 该部分电路如图 9 所示。 图 9 串口通信电路 二维步进电机电路 为了模拟二维坐标电机的转动,本系统设计了两组步进电机, X 轴步进电机和 Y轴步进电机。 由于单片机驱动能力有限,最大只有 25mA,需要外加驱动电路。 ULN20xx 是高耐压、大电流复合晶体管阵列,由七个硅 NPN 复合晶体管组成。 当输入 5V电压时,输出电流高达 500mA。 所以本设计选 ULN20xx 驱动四线制步进电机。 设计电 路如图 10 所示。 图 10 步进电机驱动电路 单片机软件程序设计 单片机软件部分主要是串口通信程序、步进电机控制程序和接收到数据后的逻辑处理和控制程序。 51 单片机串口程序 51 单片机内部有一个可编程的双向全双工串行通信接口。 该接口有 4 种工作方 二维点样平台设计 14 式,以适用于不同场合。 波特率由单片机内部的定时器 /计数器产生,可以用软件进行设置。 51 单片机内部的串口拥有两个物理上相互独立的接收、发送缓冲器 SBUF,可以同时接收和发送数据,两个缓冲器占用同一个地址 (99H)。 本设计选用波特率 9600bit/s,根据 12M 时钟晶振算出装载值,并且开启接收中断。 接受到数据时进去进去中断函数进行相应的处理。 串口初始化代码如下收中断。 当接收到数据时进去中断函数进行相应的处理。 串口初始化代码如下: void init() { TMOD=0x20。 //定时器 1 工作方式 2 TH1=0xfd。 //装载初值,波特率设置为 9600 TL1=0xfd。 TR1=1。 //启动定时器 1 SM0=0。 //设置串口工作方式 1 SM1=1。 REN=1。 //允许串口接收 EA=1。 //开总中断 ES=1。 //开串口中断 } 串口产生接收中断, RI 硬件置位,在串口接收中断函数里必须软件清除接收中断标志。 接收中断入口函数如下所示: void ser()interrupt 4 { RI=0。 //接受中断标志位 … } 步进电机程序 步进电机工作原理简单,本设计中选用四线制步进电机,每一条线导通,步进电机会旋转一个角度,如果顺序导通,那么电机就会正转。 如果逆序导通,那么电机反转,通过改 变线线之间导通时间可以改变转速。 本设计的步进电机可以通过坐标判断而相应的正转或翻转。 电机驱动函数如下: void StepX(char xy, char m, char n)。 淮南师 范学院 20xx 届本科毕业论文 15 该函数有三个参数,第一个参数 xy用来选择电机, xy 为 1 的时候控制 X轴电机,xy为 2 的时候控制 Y轴电机;第二个参数 m是调整的角度;第三个参数 n是选择正转反转, n为 1 时正转, n为 0 时反转。 控制逻辑程序 该部分是通过对串口接收到的数据进行解析,然后驱动步进电机的转动。 串口接收到数据时会触发接收中断,在中断函数里不做处理,只把 它存到一个队列里,主函数判断到队列中有数值的时候会依次读取,并判断数值是 X 轴坐标数据还是 Y 轴坐标数据。 X 轴 Y 轴的判断是通过数据的最高位来判断的,因为在设计上位机的时候,考虑到数据在 0100 之间,可以通过最高位来标识,如果是 X 轴坐标数据那么把最高位置 1,否则置 0。 这样单片机处理起来就简单方便多了,单片机接到数据之后将最高位去除,然后送给相应的步进电机就可以了。 步进电机的控制是由步进电机的当前坐标值和接收到的新的坐标值决定的,如果新的坐标值大于当前坐标值,那么正转,否则反转。 转动的角度即是当前值和接收的坐标值 之间的差值。 因为步进电机旋转需要时间,而上位机可能会连续发送多个数据,所以需要定义一个队列,用来存储上位机发送过来的数据,在主函数中进行读取和控制。 队列的定义 : define len 20 //队列长度 uchar Value[len]。 //存数数组 uchar head = 0。 //队列头 uchar tail = 0。 //队列尾 uchar t = 0。 //队列中的数据个数 在接 收中断程序中将数据存入队列,程序如下: void ser()interrupt 4 { RI=0。 //清除接受中断标志位 if(t len) { Value[tail]=SBUF。 if(++tail == len) tail = 0。 t++。 二维点样平台设计 16 } } 程序中还设计了三个 LED 状态指示灯,系统运行时打开 LED1, X 轴步进电机运行时打开 LED2, Y轴步进电机运行时打开 LED3,停止运行时关闭相应的 LED。 4 系统测试 上位机串口通信测试 使用 Virtual Serial Port Driver 虚拟出一对串口,将 COM3 和 COM4 连接起来,这样就可以在电脑上进行串口通信测试了 [4]。 如图 11 所示。 图 11 虚拟串口软件 使用串口调试助手和本课题设计的串口控制平台进行通信,查看通信是否正常,测试图如图 12 所示。 图 12 上位机平台和串口调试助手通信测试 经测试,二维点样平台和串口调试助手通信正常。 手动采样、自动采样和回原点操作都能发送出正确的二维坐标数值。 淮南师 范学院 20xx 届本科毕业论文 17 下位机电路和通信测试 验证二维点样平台功能正常之后,使用它和单片机进行通 信。 单片机启动仿真按钮,上位机测试手动发送、自动发送和回原点操作,测试发送数据是否正确,数据接收是否正确,电机转动是否正常,以及指示灯状态是否正常 [12]。 判断单片机接收到的数据是否和上位机发送的一致,可以打开 Virtual Terminal 观察,串口接收到的数据可以实时的显示出来。 测试如图 13 所示。 图 13 上位机和单片机通信测试 当有数据接收到时,可以看到步进电机转动和 LED 状态灯点亮,转动方向和角度和上位机发送的一致。 整体测试如图 14 所示。 图 14 单片机系统仿真 二维点样平台设计 18 经测试,串口通信部分能接收 到正确的数据,单片机能驱动 X 轴和 Y 轴步进电机正转或反转一定角度,旋转方向和角度都和上位机发送的一致, LED 灯能正确指示系统和步进电机运行状态。 系统各个模块运行稳定。 5 总结 本课题设计了基于 Visual Basic 的二维点样控制平台和基于 51 单片机的串口通信控制系统。 上位机实现串口通信,当手动点样、自动点样或回原点操作时,会将相应的 X 轴和 Y 轴的坐标值传给下位机。 下位机是由 51 单片机控制一个系统,当接收到串口数据时,对数据进行分析,提取出上位机发送的坐标值,驱动 X 轴和 Y 轴步进电机,实现二维点样。 经测试各部分 工作正常,达到了本课题的设计目标。 由于本人时间和精力有限,有很多需要改进和完善的地方。 上位机控制平台可以添加更多功能,界面可以做的更美观。 单片机控制系统可以选用更强大的单片机,比如低功耗的 16 单片机 MSP430 或者运行更快的基于 CotexM3 内核的 32 位 STM32 单片机 [6] [9]。 参考文献: [1]李雁翎等 .Visual Basic 程序设计基础教程(第二版) [M]人民邮电出版社 [2]杨加国等 .单片机原理与应用及 C51 程序设计(第二版) [M]清华大学出版社 [3]周荣富 .电子线路 CAD [M]北京大学出版社 [4]陈忠平 .基于 Proteus 的 51 系列单片机设计与仿真(第二版) [M]电子工业出版社 [5]陈曾平 .电路设计基础 [M]北京高等教育出版社 .20xx:100110. [6]肖洪兵 .跟我学用单片机 [M]北京航空航天大学出版社 .. [7]何立民 .单片机应用技术大全 [M]北京航空航天大学出版社 ,1994. [8]邱光源等 .电路基础[ M]高等教育出版社 1998. [9]沈红卫 .基于单片机的智能系统设计与实现 [M]北 京:电子工业出版社 , [10]康华光.电子技术基础数字部分 [M]北京高等教育出版社, 20xx. [11]郁有文,常健 传感器原理及工程应用 [M]电子科技大学出版社, [12][ 数据采集与串口通信测控应用实战 ].李江全等 .扫描版. 淮南师 范学院 20xx 届本科毕业论文 19 [13]梅丽凤,王艳秋,汪毓铎 ,张军 . 单片机原理及接口技术 [M]清华大学出版社 20xx [1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。