当前位置:首页 > 下推式磁悬浮系统软件设计 - 图文
河南科技大学毕业设计(论文)
软件设计基于 Arduino nano 开发板。Arduino 是一块基于开放原始代码 的 Simple i/o 平台,并且具有使用类似 java, C 语言的开发环境。
§4.1.1 Arduino nano 开发板介绍
Arduino nano 控制板基于 Atmega328,有 14 个数字输入输出脚,6 个模 拟输入口,16Mhz 内部晶振,USB 链接,电源插座和 ICSP 接头。它包含了 微处理器所必须的所有元件,只需用 USB 连接线插入电脑即可开始使用。
Arduino nano 特色:
1、开放源代码的电路图设计,程序开发接口免费下载,也可依需求自 己修改。
2、使用低价格的微处理控制器(ATmega328)。可以采用 USB 接口供电, 不需外接电源。也可以使用外部 5VDC 输入。
3 、Arduino 支持 ISP 在线烧,可以将新的“bootloader ” 固件烧入 ATmega328 或 ATmega168 芯片。有了 bootloader 之后,可以通过串口或者 USB to RS232 线更新固件。
4、可依据官方提供的 Eagel 格式 PCB 和 SCH 电路图,简化 Arduino 模 组,完成独立运作的微处理控制。可简单地与传感器,各式各样的电子元件 连接(EX:红外线、超音波、热敏电阻、光敏电阻、伺服马达等)。
5、支持多种互动程序,如:Flash、Max/Msp、PD、C、Processing 等。 6、应用方面,利用 DFRduino ,突破以往只能使用鼠标、键盘,CCD 等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。
Arduino nano 规格参数:
1.微控制器核心:AVRmega328-20PU(处理速度可达 20MIPS) 2.工作电压:+5V
3.外部输入电压:+7V~+12V(建议) 4.外部输入电压(极值):+6V≤Vin≤+20V
5.数字信号 I/O 接口:14(其中 6 个 PWM 输出接口) 6.模拟信号输入接口:6 7.DC I/O 接口电流:40 mA
8.Flash 容量:16 KB (其他 2K 用于 bootloader) 9.SRAM 静态存储容量:1KB
16
河南科技大学毕业设计(论文)
10.EEPROM 存储容量:512 bytes
11.时钟频率:16MHz
图 4-1 Arduino nano 开发板
§4.1.2 Arduino 编程环境
Arduino 开发板使用其官网自带编程软件,开发编译环境十分简洁。本 设计使用版本:Arduino-1.5.5-r2。 界面集成性很好,显示按键功能简单明 了,在界面中直接用 C 语言编程,如图 4、5 所示。
Arduino-1.5.5-r2 开发编译环境很简洁,Arduino 语言是建立在 C/C++基 础上的,其实也就是基础的 C 语言。它只不过把 AVR 单片机相关的一些寄 存器参数设置等都函数化了,使我们不用去了解它的底层,轻松上手。Arduino 语言是以 setup()开头,loop()作为主体的一个程序构架。setup()函数:用来初 始化变量,管脚模式,调用库函数等等,此函数只运行一次。loop()函数是一 个循环函数,函数内的语句周而复始的循环执行,功能类似 C 语言中 的 “main()”。
17
河南科技大学毕业设计(论文)
图 4-2 Arduino 开发板编程软件界面
图 4-3 Arduino 软件界面按键功能
使用 Arduino 开发板和其自带的集成开发环境使得开发过程变得简单, 在程序编辑框中编写程序,然后点工具栏中的编译按钮 击下载按钮 行串口调试。
即可完成程序的下载,点击按钮
,编译成功后点
可打开串口调试窗口进
18
河南科技大学毕业设计(论文)
§4.2 软件设计思想与程序流程图
根据下推式磁悬浮的结构设计安排可知,软件设计思想有以下几点: 1.电磁线圈电流由 PWM 占空比控制,占空比越大,线圈电流越大; 2.悬浮体的位置信号通过传感器得到,传感器返回信号越强,表示需要 电磁线圈吸力越大,即 PWM 占空比越大。
3.所需的 PWM 占空比可通过 PID 算法对传感器返回值进行计算获得。 4.在主程序中,软件系统不仅要实时显示磁悬浮状态信息,还要与上位 机进行通讯。为了实现多任务同时进行,需要引入中断方式。
本课题设计的磁悬浮系统下位机软件,需要实现的功能有:串口数据发 送、按键进行相应动作、传感器返回值读取、PID 算法控制、PWM 输出。 程序流程图大致如图 6 所示:
19
共分享92篇相关文档