1、目录13.1 计算机控制系统概述23.2 工业控制计算机33.3 Arduino43.4 PLC(可编程控制器)53.5 总线工业控制计算机普通车床普通车床数控车床数控车床机电一体化与非机电一体化产品本质的区别在于前者是具有计算机控制的伺服系统。计算机作为伺服系统的控制器,将来自各传感器的检测信号与外部输入的命令进行采集存储分析、转换和处理,然后根据处理结果发出指令控制整个系统的运行。本章重点介绍:计算机控制系统组成、工业控制计算机,Arduino,总线工业控制计算机。自动控制系统通常由被控对象、检测传感装置、控制器等组成。控制器既可以由模拟控制由模拟控制器组成,也可以由数字控制器器组成,也可
2、以由数字控制器组成,数字控制器大多是用计算机实现的。因此计算机控制系统指的是采用了数字控制器的自动控制系统。3.1.1 计算机控制系统概述图图3-1 3-1 典型计算机闭环控制系统典型计算机闭环控制系统 计算机控制系统包括计算机控制系统包括控制计算机控制计算机(包括硬件、软(包括硬件、软件和网络)和件和网络)和生产过程生产过程(包括被控对象、检测传感器、(包括被控对象、检测传感器、执行机构)两大部分执行机构)两大部分。3.1.1 计算机控制系统概述计算机控制系统的核心是控制程序。计算机控制系统执行控制程序的过程如下:(1)实时数据采集 对被控参数按一定的采样时间间隔进行检测,并将结果输入计算机
3、。(2)实时计算 对采集到的被控参数进行处理后,按预先设计好的控制算法进行计算,决定当前的控制量。(3)实时控制 根据实时计算得到的被控量,通过D/A转换器将控制信号作用于执行机构。(4)实时管理 根据采集到的被控参数和设备的状态,对系统的状态进行监督和管理。3.1.1 计算机控制系统概述3.1.2 计算机控制系统的组成 简单的讲,计算机控制系统由控制计算机和生产过程两大部分组成,控制计算机是计算控制计算机是计算机控制系统中的核心装置,是系统中信号处理机控制系统中的核心装置,是系统中信号处理和决策的机构,相当于控制系统的神经中枢。和决策的机构,相当于控制系统的神经中枢。生产过程中包含了被控对象
4、、执行机构、测量变送等装置。计算机控制系统由硬件和软件两部分组成计算机控制系统由硬件和软件两部分组成。1、系统系统硬件硬件 计算机控制系统的硬件主要由主机、外围设备、硬件主要由主机、外围设备、过程输入过程输入/输出输出通道和生产过程通道和生产过程组成组成。3.1 计算机控制系统概述图图3-2 典型计算机控制系统典型计算机控制系统(1)主机)主机 主机由CPU和内存储器(RAM和ROM)通过系统总线连接而成,是整个控制系统的核心。它它按照预先存放在内存中的程序指令,由按照预先存放在内存中的程序指令,由过程输入通道不断地获取反映被控对象运行过程输入通道不断地获取反映被控对象运行工况的信息,并按程序
5、中规定的控制算法,工况的信息,并按程序中规定的控制算法,或操作人员通过键盘输入的操作命令自动的或操作人员通过键盘输入的操作命令自动的发出控制命令,以实现对被控对象的自动控发出控制命令,以实现对被控对象的自动控制。制。3.1.2 计算机控制系统的组成(2)常规外部设备 计算机的常规外部设备有4类:输入设备、输出设备、外存储器和网络通讯设备。输入设备 最常用的有键盘,鼠标输出设备 通常由CRT、LED和LED显示器、打印机和记录仪等。外存储器 最常用的是磁盘(包括硬盘和软盘)、光盘和磁带机。网络通讯设备 以上的常规外部设备通过接口和主机连接便构成通用计算机,若要用于控制,还需配备过程输还需配备过程
6、输入入/输出通道构成控制输出通道构成控制计算机计算机。3.1.2 计算机控制系统的组成(3)过程输入/输出通道 过程输入/输出通道又简称过程通道。被控对象的过程参数一般是非电物理量,必须经过传感器(又称一次仪表)变换为等效的电信号。为了实现计算机对生产过程的控制,必须在计算机和生产过程之间设置信息传递和变换的连接通道。过程输入/输出通道分为模拟量和数字量(开关量)两大类型。3.1.2 计算机控制系统的组成(4)生产过程)生产过程 生产过程包括被控对象及其测量变送仪表被控对象及其测量变送仪表和执行机构和执行机构。测量变送仪表将被控对象需要监视和控制的各种参数(如温度、流量、压力、(如温度、流量、
7、压力、液位、位置、速度等液位、位置、速度等)转换为电的模拟信号(或数字信号),而执行机构将过程通道输出的模拟控制信号转换为相应的控制动作,从而改变被控对象的被控量。3.1.2 计算机控制系统的组成2.系统软件系统软件(1)系统软件)系统软件 系统软件是计算机的通用性、支撑性的软件,是为用户使用、管理、维护计算机提供方便的程序的总称。(2)应用软件)应用软件 应用软件是计算机在系统软件支持下实现各种应用功能的专用程序。3.1.2 计算机控制系统的组成3.1.3 计算机控制系统的特点图图3-3 计算机控制系统中信号的具体变换与传输计算机控制系统中信号的具体变换与传输计算机控制系统中信号的具体变换与
8、传输如图3-3所示。计算机控制系统与连续控制系统相比,有如下特点:1)控制规律的实现灵活、方便。2)控制精度高。3)控制效率高。4)可集中操作显示。5)可实现分级控制与整体优化,可通过计算机网络系统与上下位计算机相通信,进行分级控制,实现生产过程控制与生产管理的一体化与整体优化,提高企业的自动化水平。6)存在着采样延迟。3.1.3 计算机控制系统的特点3.1.4 计算机控制系统的类型 计算机控制系统有各种各样的结构和形式。按计算机参与的形式,可以分为开环和闭环控制系统;按采用的控制方案,又分为程序和顺序控制、常规控制、高级控制(最优、自适应、预测、非线性等)、智能控制(FUZZY控制、专家系统
9、和神经网络等)。3.1.4 计算机控制系统的类型 根据计算机控制系统的发展历史和在实际发展历史和在实际应用中的状态应用中的状态并参考以往的教材进行分类:一般分为六大类六大类:数据采集系统、直接数字控制系统、监数据采集系统、直接数字控制系统、监督控制系统、集散控制系统、现场总线督控制系统、集散控制系统、现场总线控制系统和计算机集成制造系统六大类。控制系统和计算机集成制造系统六大类。3.1.4 计算机控制系统的类型一、采集和监视系统一、采集和监视系统(DAS,Data Acquisition System)1、采集和监视系统框图、采集和监视系统框图图3-4采集和监视系统3.1.4 计算机控制系统的
10、类型2、数据采集系统功能、数据采集系统功能生产过程的集中监视生产过程的集中监视DAS通过输入通道对生产过程的参数进行实时采集、加工处理,并以一定格式在CRT上显示,或通过打印机打印出来,实现生产过程的集中监视。操作指导操作指导DAS对采集到的数据进行分析处理,并以有利于指导生产过程的方式表示出来,实现生产过程的操作指导。越限报警越限报警DAS预先将各种工艺参数的极限存入计算机,DAS在数据采集过程中进行越限判断和报警,以确保生产过程安全。3.1.4 计算机控制系统的类型二、直接数字控制系统(二、直接数字控制系统(DDC,Direct Digital Control)1、直接数字控制系统、直接数
11、字控制系统结构图结构图图3-5 直接数字控制系统结构图3.1.4 计算机控制系统的类型2、直接数字控制系统、直接数字控制系统特点特点:计算机通过过程控制通道对工业生产过程进行在线实时控制在线实时控制;计算机参与闭环控制计算机参与闭环控制,可完全替代模拟调节器,可实现对多回路多参数的控制;系统是灵活性大、可靠性高,能实现各种能实现各种从常规到先进的控制方式从常规到先进的控制方式。3.1.4 计算机控制系统的类型三、监督计算机控制系统三、监督计算机控制系统(SCC,Supervisory Computer Control)在这个系统中,计算机根据工艺参数和过程参数的检测值,按照所设定的控制算法进行
12、计算,得出最佳设定值并直接传递给常规的模拟调节器或者DDC计算机,最后由拟调节器或者DDC计算机控制生产过程。3.1.4 计算机控制系统的类型1、监督控制系统结构图、监督控制系统结构图(a(a)SCCSCC模拟调节器系统模拟调节器系统 (b(b)SCCSCCDDCDDC3.1.4 计算机控制系统的类型2、监督计算机控制系统、监督计算机控制系统特点特点:SCC计算机输出不通过人去改变计算机输出不通过人去改变,而直接控制控制器,改变控制的设定值或参数,完成对生产过程的控制。该系统类似计算机操作指导控制系统。SCC计算机可以利用有效的资源去完成生产过程计算机可以利用有效的资源去完成生产过程控制的参数
13、优化控制的参数优化,协调各直接控制回路的工作,而不直接参与直接的控制,监督计算机控制系统是安全性可靠性较高的一类计算机控制系统,是计算机集散系统的最初、最是计算机集散系统的最初、最基本的模式。基本的模式。3.1.4 计算机控制系统的类型四、集散控制系统四、集散控制系统(DCS,Distributed Control System)1、集散控制系统概念、集散控制系统概念 集散控制系统又称分布控制系统。该系统采该系统采用分散控制、集中操作、分级管理、分而自治、用分散控制、集中操作、分级管理、分而自治、综合协调形成具有层次化体系结构的分级分布式综合协调形成具有层次化体系结构的分级分布式控制;一般分为
14、四级:过程控制级、控制管理级、控制;一般分为四级:过程控制级、控制管理级、生产管理级和经营管理级生产管理级和经营管理级。过程控制级是集散控制的基础,直接控制生产过程,在这级参与直接控制的可以是计算机也可以是PLC或专用数字控制器,完成对现场设备直接监测和控制;3.1.4 计算机控制系统的类型图图3-7 集散控制系统结构图集散控制系统结构图3.1.4 计算机控制系统的类型3、集散控制系统特点、集散控制系统特点 由于生产过程控制分别由独立控制器进行控制,可以分散控制器故障,局部故障不会影响整个系统工作,提高了系统工作可靠性。3.1.4 计算机控制系统的类型五现场总线控制系统(五现场总线控制系统(F
15、CS)1、现场总线控制系统概念、现场总线控制系统概念 现场总线现场总线控制系统:控制系统:利用现场总线将各智能现场设备,各级计算机和自动化设备互联,形成了一个数字式全分散双向串行传输,多分支结构和多点通信的通信网络。现场总线现场总线:一种数字通信协议,可以连接各智能设备以形成通信网络。3.1.4 计算机控制系统的类型图图3-8 3-8 现场总线控制系统结构图现场总线控制系统结构图2、现场总线控制系统结构图、现场总线控制系统结构图3.1.4 计算机控制系统的类型3、现场总线控制系统特点、现场总线控制系统特点 (1)在现场总线控制系统中,生产过程现生产过程现场的各种仪表、变送器、执行机构控制器都场
16、的各种仪表、变送器、执行机构控制器都配有分级处理器,属智能现场设备配有分级处理器,属智能现场设备。现场总线可以直接连接其它的局域网,甚至Internet。可构成不同层次的复杂控制网络,它已经成为今后工业控制体系结构发展的方向之一。(2)FCS是从DCS发展而来,仅变革了DCS的控制站,形成了现场控制层,其他层不变;3.1.4 计算机控制系统的类型六.计算机集成制造系统1、计算机集成制造系统概述(CIMS,Computer Integrated Manufacturing Systems)计算机集成制造系统计算机集成制造系统:将工业生产的全过程集成由计算机网络和系统在统一模式进行,包括从设计、工
17、艺、加工制造到产品的检验出厂一体化的模式。发展:发展:随着现代市场需求和企业模式现代化,计算机集成制造已将制造集成转换为信息集成,并融企业全面管理和市场营销。前景:前景:尽管目前CIMS工程在企业的推广存在许多困难,但是它确实是企业真正走向现代化的方向。规模:规模:CIMS是一项庞大的系统工程,需要有许多基础的应用平台支持,实现的是企业物流、资金流和信息流统一。由于涉及面广,应用存在困难较多,许多CIMS工程在规划实施中都提出了整体规划分步实施策略。3.1.4 计算机控制系统的类型图图3-9 计算机集成制造系统结构图计算机集成制造系统结构图3.2 工业控制计算机 控制器控制器是机电一体化系统的
18、中枢,它的主要任务是:按照编制的程序指令、完成机械工按照编制的程序指令、完成机械工作状态或工业现场各种物理量状态的实时信息作状态或工业现场各种物理量状态的实时信息采集、加工和处理、分析、判读、做出相应的采集、加工和处理、分析、判读、做出相应的调节校正和控制决策,发出模拟或数字形式的调节校正和控制决策,发出模拟或数字形式的控制信号,控制执行机构动作、实现机电一体控制信号,控制执行机构动作、实现机电一体化系统控制目标的动作。化系统控制目标的动作。当今,最能胜任这个任务的控制器就是用于工业现场控制的工业控工业控制计算机。制计算机。3.2.1 工业控制计算机概述 工业控制工业控制计算机是用于工业现场的
19、生产设计算机是用于工业现场的生产设备和工艺过程控制的计算机,备和工艺过程控制的计算机,如PLC、总线型、总线型工业控制计算机等都是专为工业环境下应用而工业控制计算机等都是专为工业环境下应用而设计的控制计算机设计的控制计算机,简称简称“工业控制机工业控制机”或或“工控机工控机”。它的最大特点是抗干扰性强、电磁兼容性好、可靠性高、适应工业环境能力强。工业控制计算机按被控工业对象的控制要求、接收并处理来自被测对象的各种物理参数,然后把处理结果输出至执行机构去控制生产过程,同时可对生产过程进行监督、管理。3.2.2 工业控制计算机的特点 工业工业领域领域中,由于现场存在干扰,环境干扰,环境恶劣,普通计
20、算机在工业现场不能正常运行恶劣,普通计算机在工业现场不能正常运行,工业控制计算机的应用对象及使用环境的特殊性,决定了要满足以下基本要求:(1)完善的过程输入)完善的过程输入/输出功能输出功能 要保证所面向工业现场的各种机电设备、测量和控制的仪器仪表、执行机构正常运转,必须有丰富的模拟量和数字量的输入/输出通道,以方便计算机系统数据采集,及时放映过程控制参数的变化,要求做到信息传递快速、准确、灵敏。3.2.2 工业控制计算机的特点(2)实时控制功能)实时控制功能 工业控制计算机应具有时间与时间驱动能力,在工况发生变化时,能实时进行监视和控制。当被控参数出现偏差时,能迅速响应与纠偏,因此必须要有实
21、时操作系统与中断系统。(3)高可靠性)高可靠性 工业控制计算机需昼夜不停的连续工作,系统需要高可靠性和自诊断系统。一般要求工控机的平均无故障时间(MTBF)不低于上万小时,现有的工业控制机无故障工作时间已经达到了几十万小时。3.2.2 工业控制计算机的特点(4)较强的环境适应性较强的环境适应性 工控机具有能在高温、低温、高湿、振动等恶劣环境工作和抗电磁干扰、电源波动等的能力。(5)丰富的应用软件)丰富的应用软件 工控机的控制软件正向结构化、组态化方向发展。在进行控制时,一般需建立能正确反映生产过程规律的数学模型,寻找生产过程的最佳工况,编制标准控制算法及控制程序。3.2.2 工业控制计算机的特
22、点3.2.3 工业控制计算机的常用类型 在设计机电一体化系统时,必须根据控制方案、体系结构、复杂程度、系统功能等具体情况、正确的选择工业控制计算机系统。按软硬件结构与应用特点,常用的工业控制计算机有三种类型:可编程控制器(PLC),总线工业控制计算机和单片机控制器或嵌入式单片机控制器。每种控制器具有自己的性能特点,它们与个人PC比较如下图所示:3.2.3 工业控制计算机的常用类型3.3 Arduino3.3.1 什么是Arduino什么是Arduino?相信很多读者会有这个疑问,也需要一个全面而准确的答案。不仅是读者,很多使用Arduino的人也许对这个问题都难以给出一个准确的说法,甚至认为手
23、中的开发板就是Arduino,其实这并不准确。那么,Arduino究竟该如何理解呢?3.3.1 什么是Arduino1.Arduino不只是不只是电路板电路板 Arduino是一种开源的电子平台,该平台最是一种开源的电子平台,该平台最初主要基于初主要基于AVR单片机的微单片机的微控制器和控制器和相应的开相应的开发软件,发软件,目前在国内正受到电子发烧友的广泛关注。自从2005年Arduino腾空出世以来,其硬件和开发环境一直进行着更新迭代。现在Arduino已经有将近十年的发展历史,因此市场上称为Arduino的电路板已经有各式各样的各式各样的版本版本了。Arduino开发团队正式发布的是Ar
24、duino Uno和Arduino Mega 2560。3.3.1 什么是Arduino图3-10 Arduino Uno R3图3-11 Arduino Mega 2560 R3 上面上面2图图所示的开发板就是所谓的所示的开发板就是所谓的Arduino I/O印刷印刷电路板(电路板(Printed Circuit Board,PCB)。)。Arduino起源 Massimo Banzi(马西莫班兹)之前是意大利Ivrea一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器。2005年冬天,Massimo Banzi跟David Cuartielles讨论了这个问题。David
25、 Cuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生David Mellis为电路板设计编程语言。两天以后,David Mellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。3.3.1 什么是Arduino2.Arduino程序的开发过程程序的开发过程 由于Arduino主要是为了非电子专业和业余爱好者使用而设计的,所以Arduino被设计成一个小型控制器的形式,通过连接到计算机进行控制。Arduino开发过程是:(1)开发者设计并连接好电路;(2)将电路连接到计算机上进行编程;(3)
26、将编译通过的程序下载到控制板中进行观测;(4)最后不断修改代码进行调试以达到预期效果。3.3.1 什么是Arduino3.为什么要使用为什么要使用Arduino 在嵌入式开发中,根据不同的功能开发者在嵌入式开发中,根据不同的功能开发者会用到各种不同的开发平台会用到各种不同的开发平台。而Arduino作为新兴开发平台,在短时间内受到很多人的欢迎和使用,这跟其设计的原理和思想是密切相关的。3.3.1 什么是Arduino(1)首先,首先,Arduino无论是硬件还是软件都是无论是硬件还是软件都是开源的,开源的,这就意味着所有人都可以查看和下载其源码、图表、设计等资源,并且用来做任何开发都可以。(2
27、)其次,正如林纳斯本纳第克特托瓦兹的Linux操作系统一样,开源还意味着所有人可以开源还意味着所有人可以下载使用并且参与研究和改进下载使用并且参与研究和改进Arduino,这也,这也是是Arduino更新换代如此迅速的原因更新换代如此迅速的原因。3.3.1 什么是Arduino图图3-12 智能垃圾桶智能垃圾桶3.3.1 什么是Arduino Arduino可以和LED、点阵显示板、电机、各类、点阵显示板、电机、各类传感器、按钮、以太网卡等各类可以输出输入传感器、按钮、以太网卡等各类可以输出输入数据或被控制的任何东西连接数据或被控制的任何东西连接,在互联网上各种资源十分丰富,各种案例、资料资源
28、十分丰富,各种案例、资料可以帮助用户迅速制作自己想要制作的电子设备迅速制作自己想要制作的电子设备。在应用方面,Arduino突破了传统的依靠键盘、鼠标等外界设备进行交互的局限,可以更方便地进行双人或者多人互动,还可以通过Flash、Processing等应用程序与Arduino进行交互。3.3.1 什么是Arduino3.3.2 Arduino硬件分类1.Arduino开发板开发板 Arduino开发板设计得非常简洁,一块一块AVR单单片机、一个晶振或振荡器和一个片机、一个晶振或振荡器和一个5V的直流电的直流电源源。常见的开发板通过一条USB数据线连接计算机。Arduino有各式各样的开发板,
29、其中最有各式各样的开发板,其中最通用的是通用的是Arduino UNO。另外,还有很多小型的、微型的、基于蓝牙和小型的、微型的、基于蓝牙和Wi-Fi的变种开发板的变种开发板。3.3.2 Arduino硬件分类Arduino UNO性能性能描述描述:(1)Digital I/O 数字输入数字输入/输出端口输出端口013。(2)Analog I/O 模拟输入模拟输入/输出端口输出端口0-5。(3)支持ISP下载功能。(4)输入电压:接上USB时无须外部供电或外部5V9V 直流电压输入。(5)输出电压:5V 直流电压输出和3.3V 直流电压输出和外部电源输入。(6)采用Atmel Atmega328
30、微处理控制器。因其支持者众多,已有公司开发出来32位的MCU平台支持Arduino。3.3.2 Arduino硬件分类图图3-13 Arduino UNO R3功能标注功能标注3.3.2 Arduino硬件分类2Arduino 扩展硬件扩展硬件 与Arduino相关的硬件除了核心开发板外,各种扩展板各种扩展板也是重要的组成部分。Arduino开发板设计的可以安装扩展板可以安装扩展板,即盾板盾板进行扩展。它们是一些电路板,包含其他的元件,如网络模块、网络模块、GPRS模块、语音模块等模块、语音模块等3.3.2 Arduino硬件分类图图1-5 Arduino UNO与一块原型扩展板连接与一块原型
31、扩展板连接图图1-6 Arduino UNO与网络扩展板连接与网络扩展板连接3.3.3 Arduino IDE介绍 Arduino IDE软件,(Integrated Development Environment),译为集成开发环境3.3.4 常用的Arduino第三方软件介绍 Arduino开发环境安装完成之后,一些第三方软件可以帮助读者更好地学习和使用Arduino制作电子产品。1图形化编程软件图形化编程软件ArduBlock ArduBlock是一款专门为Arduino设计的图形化编程软件,由上海新车间创客创客研制开发。ArduBlock是以图形化积木搭建的方式进行编程的。就如同小孩子
32、玩的积木玩具一样,这种编程方式使得编程的可视化和交互性大大增强,而且降低了编程的门槛,让没有编程经验的人也能够给Arduino编写程序,让更多的人投身到新点子新创意的实现中来。3.3.4 常用的Arduino第三方软件介绍下载地址下载地址:http:/ 常用的Arduino第三方软件介绍2Arduino仿真软件仿真软件Virtual breadboard Virtual breadboard是一款专门的是一款专门的Arduino仿真软件,简称仿真软件,简称VBB,中文名为中文名为“虚拟面包虚拟面包板板”。这款软件主要通过单片机实现嵌入式软件的模拟和开发环境,它不但包括了所有Arduino的样例
33、电路,可以实现对面包板电路的设计和布置,非常直观地显示出面包板电路,还可实现对程序的仿真调试。3.3.4 常用的Arduino第三方软件介绍3.3.4 常用的Arduino第三方软件介绍 VBB可以模拟可以模拟Arduino连接各种电子模块,连接各种电子模块,例如液晶屏、舵机、逻辑数字电路、各种传例如液晶屏、舵机、逻辑数字电路、各种传感器以及其他的输入感器以及其他的输入/输出设备输出设备。这些部件都可以直接使用,也可以通过组合,设计出更复杂的电路和模块。3.3.4 常用的Arduino第三方软件介绍3.3.5 Arduino使用方法1硬件连接:用对应的USB线连接开发板和电脑。2.驱动安装:X
34、P系统会提示“新硬件需要安装驱动”,直接关掉,选择手动安装。Win7及以上系统会自动搜索驱动安装,大部分都能正确安装,如果不能正确,直接手动 安装,方法同XP。3.3.5 Arduino使用方法 3.安装 IDE 软件,(Integrated Development Environment),译为集成开发环境。3.3.5 Arduino使用方法3.3.6 Arduino 应用实例一、一、数字量输出(闪烁数字量输出(闪烁 LED)(1)简介)简介闪烁 LED是最简单却经典的程序之一。打开 file-examples-01.Basics-Blink随即系统打开一个新的窗口,这个就是Arduino
35、的程序。可以看出这个程序非常简洁,灰色部分的文字是注释(注释灰色部分的文字是注释(注释是解释程序的作用和一些参数等信息说明,不参是解释程序的作用和一些参数等信息说明,不参与实际运行与实际运行)。该程序是正确无误的,下一步就是把这个程序编译成功并烧写到板卡中,并让其运行。3.3.6 Arduino 应用实例3.3.6 Arduino 应用实例(3)程序基本结构说明程序基本结构说明 下面分析这个程序的基本内容,通过这个程序了解一下 arduino 语言的特点。int LED=13;/定义LED引脚void setup()pinMode(LED,OUTPUT);/初始化端口void loop()di
36、gitalWrite(LED,HIGH);/设定LED为高电平 delay(1000);/延时1秒钟,1000微秒 digitalWrite(LED,LOW);/设定LED为低电平 delay(1000);/延时1秒钟 3.3.6 Arduino 应用实例(3)程序详细解释)程序详细解释 程序是英文编写的,它的格式和C语言一样。有C语言基础的同学容易看懂,arduino语言的特点是把所有寄语言的特点是把所有寄存器的选择、修改、执行等工作编写成了库文件存器的选择、修改、执行等工作编写成了库文件,用户不需要了解底层的内容就可以写出好的应用程序。Arduino 也有关键字高亮功能,通过关键字可以看到
37、程也有关键字高亮功能,通过关键字可以看到程序的意图,关键字是内部规定的,不能修改,必须完全序的意图,关键字是内部规定的,不能修改,必须完全一样,否则系统识别错误一样,否则系统识别错误。int LED=13;这句和c 语言的定义是一样的效果,指定 LED 灯对应单片机硬件的第13引脚,开发板上对每个引脚都有标号标明。板卡的 LED 灯也连接到这个引脚。3.3.6 Arduino 应用实例 void setup()是一个函数,这个函数相当于是一个函数,这个函数相当于c中中的初始化函数的初始化函数,一些在主程序运行之前需要做的准备工作都在这里设置完成,比如端口输入或者输出功能,输出的标准或者推挽模式
38、等。pinMode(LED,OUTPUT)这个语句的功能是把这个语句的功能是把LED引脚定义为输出引脚定义为输出,这样就可以用来驱动LED灯,引脚状态有OUTPUT(输出)和INPUT(输入),拼写必须为大写。函数函数 loop 就相当于就相当于 c 语言的主循环函数语言的主循环函数,所有的需要循环执行的功能都在这里面操作。3.3.6 Arduino 应用实例 digitalWrite(LED,HIGH);译为数字信号写译为数字信号写入函数,通过这个函数可以对指定的端口写入函数,通过这个函数可以对指定的端口写入数字信号入数字信号0或或1,这里用,这里用HIGH和和LOW表示表示1或或0。第一句
39、是把LED 端口置1,从硬件角度看就是点亮LED。delay(1000),延时延时 1000ms,也就是延时,也就是延时1秒,秒,如果延时如果延时300ms,只要把对应的数字改成,只要把对应的数字改成 300 即可,最小值为即可,最小值为1,这个函数的最小延时时长1ms。3.3.6 Arduino 应用实例 digitalWrite(LED,LOW),熄灭 LED 灯。delay(1000),然后延时 1秒钟。这样就完成了一个闪烁周期,由于loop内的语句是循环执行的,之后会重新从点亮 LED、延时1秒、熄灭LED、延时1秒,反复循环。最终看到LED灯以周期2秒的频率闪烁(亮1秒灭1秒)。3.
40、3.6 Arduino 应用实例二、串口通讯二、串口通讯 利用Arduino IDE 的串口工具,在电脑中显示我们想要显示的内容。(1)实例程序)实例程序 void setup()Serial.begin(9600);/打开串口,设置波特率为9600 Serial.println(Hello World!);void loop()3.3.6 Arduino 应用实例2)说明说明 Serial.begin(9600);这个函数是为串口数据传这个函数是为串口数据传输设置每秒数据传输速率,每秒多少位数输设置每秒数据传输速率,每秒多少位数(波特率)(波特率)。为了能与计算机进行通信,可选择使用以下这些
41、波特率:“300,1200,2400,4800,9600,14400,19200,28800,38400,57600 或 115200”3.3.6 Arduino 应用实例(3)实验结果与操作)实验结果与操作1)把代码下载到Arduino控制板。2)下载成功后,先从选项“tool”,选择相应的Arduino控制板,和对应的“com”口。打开串口工具,在新打开的串口工具窗口的“右下角”选择相应的波特率,显示结果如下图所示:3.3.6 Arduino 应用实例三、三、PWM 应用(应用(PWM调控灯光亮度)调控灯光亮度)PWM 是英文是英文“Pulse Width Modulation”的缩写,简
42、称脉宽调制的缩写,简称脉宽调制。它是利用微处理器的它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。与变换等许多领域。3.3.6 Arduino 应用实例 脉冲宽度调制(PWM)是一种对模拟信是一种对模拟信号电平进行数字编码的方法号电平进行数字编码的方法,由于计算机不能输出模拟电压,只能输出0 或5V 的的数字电压值,我们就通过使用高分辨率计数器,利用方波的占空比被调制的方法来对一个具体模拟信号的电平进行编码。3.3.6 Arduino 应用实例 只
43、要带宽足够,任何模拟值都可以使用PWM 进行编码。输出的电压值是通过通和断的时间进行计算的。输出电压输出电压=(接通时间(接通时间/脉冲时间)脉冲时间)*最大电压最大电压值值。3.3.6 Arduino 应用实例下面介绍一下PWM 的三个基本参数:1、脉冲宽度变化幅度(最小值/最大值)2、脉冲周期(1 秒内脉冲频率个数的倒数)3、电压高度(例如:0V-5V)3.3.6 Arduino 应用实例 PWM 在一些情况下可以替代在一些情况下可以替代 DAC(数模(数模转换)功能。转换)功能。所以在所以在 Arduino 里面使用函数里面使用函数analogWrite();写模拟量,写模拟量,Ardu
44、ino 的的 PWM 是是 8 位,换算成数字量是位,换算成数字量是 0255。PWM 使用芯使用芯片内部自带的片内部自带的 PWM 发生器功能,只有在主发生器功能,只有在主板上标有板上标有 PWM 的端口才能使用这个功能,的端口才能使用这个功能,否则此函数写无效。否则此函数写无效。UNO 的的 PWM 端口是端口是 3、5、6、9、10、11 。基本的硬件连接如下:3.3.6 Arduino 应用实例3.3.6 Arduino 应用实例int LED=9;/LED 引脚定义,这里需要使用有 PWM 功能的引脚 int brightness=0;/LED 亮度 int fadeAmount=5
45、;/调节的单步间隔/初始化 void setup()pinMode(LED,OUTPUT);/LED 引脚定义位输出 3.3.6 Arduino 应用实例/主循环 void loop()analogWrite(LED,brightness);/设置了 LED 的亮度 brightness=brightness+fadeAmount;/下一个循环调整 LED 亮度/到最大值后反向调整 if(brightness=0|brightness=255)fadeAmount=-fadeAmount;delay(30);/延时 30ms 3.3.6 Arduino 应用实例四四、模型模型量信号读取(光敏电
46、阻测试)量信号读取(光敏电阻测试)(1)简介)简介 光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这这些制作材料具有在特定波长的光照射下,其阻值迅些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。速减小的特性。光敏电阻器在电路中用字母“R”或“RL”、“RG”表示。3.3.6 Arduino 应用实例(2)硬件连接)硬件连接3.3.6 Arduino 应用实例(3)程序)程序int sensorPin=0;/模拟输入引脚 int LEDPin=4;/LED 指示灯引脚 int sensorValue=0;/模拟输入数值变量 void setup(
47、)pinMode(LEDPin,OUTPUT);/声明引脚为输出模式 void loop()sensorValue=analogRead(sensorPin);/读取电位器电压值 if(sensorValue=800)digitalWrite(LEDPin,HIGH);/点亮LEDelse if(sensorValue=600)digitalWrite(LEDPin,LOW);/熄灭 3.3.6 Arduino 应用实例五、运动控制(舵机控制)(1)简介)简介 舵舵机是船舶上的一种大甲板机械机是船舶上的一种大甲板机械。舵机的大小由外舾装按照船级社的规范决定,选型时主要考虑扭矩大小。在航天方面,
48、舵机应用广泛。航天方面,导弹姿态变换的俯仰、导弹姿态变换的俯仰、偏航、滚转运动都是靠舵机相互配合完成的偏航、滚转运动都是靠舵机相互配合完成的。舵机在许多工程上都有应用,不仅限于船舶舵机在许多工程上都有应用,不仅限于船舶。3.3.6 Arduino 应用实例舵舵机机基本组成基本组成 舵机主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机发出讯号给舵机,经由电路板上的IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的
49、角度。3.3.6 Arduino 应用实例舵机的控制信号实际上是 PWM 信号,周期不变,高电平的时间决定舵机的实际位置。标准的模拟舵机有三根接线,电源线2根,信号线1根。3.3.6 Arduino 应用实例 图图3-32 小型舵机外型小型舵机外型 图图3-33 舵机接线图舵机接线图3.3.6 Arduino 应用实例 舵机的控制信号为周期是周期是20ms的脉宽调制的脉宽调制(PWM)信号)信号,其中脉冲宽度从脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0180度度,呈线性变化呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给
50、它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。由此可见,舵机是一种位置伺服的驱动器,舵机是一种位置伺服的驱动器,转动范围不能超过转动范围不能超过180度,适用于那些需要角度度,适用于那些需要角度不断变化并可以保持的驱动当中不断变化并可以保持的驱动当中。3.3.6 Arduino 应用实例(2)程序)程序#include /调用舵机库文件Servo myservo;/最多可以控制 8 路舵机int pos=0;/用于存储舵机位置的变量/初始化 void setup()myservo.attach(9);/舵机控制信号引脚 3.3.6 Arduino 应用实例/主循环 voi