Nextmech机电一体化套件是专门为工科院校师生设计的机电一体化创新套件,结合了机械、电子、传感器、计算机软/硬件、控制、人工智能和虚拟仪器等众多的先进技术,帮助学生在动手中培养综合创新能力。Nextmech机电一体化套件使用LabVIEW软件,套件中包含大量的舵机、机械结构件、传感器等,以Nextcore(ARM7)为核心。Nextcore使用LPC23××系列ARM为主要芯片,支持LabVIEW对Nextcore进行编程和下载,并提供底层驱动,方便客户二次开发及功能扩展。学生可以通过套件中的机械零件和传感器搭建所需要的机械结构来完成创新类实验。Nextmech机电一体化套件具有以下特点。
(1)突出的机构设计。Nextmech设计思路是用各种具备“积木”特性的基础机械套件搭建出各种各样的机械机构。
(2)Nextmech控制器使用高性能的ARM核心控制器,可同时控制6个舵机、2个直流电动机、4个传感器,并且可以串联协同工作,比较适合用作智能机电系统的控制器。
(3)开放的电子端口。Nextmech开放了包含控制器和传感器在内所有电子部件的I/O接口,并且提供所有电子元器件的电路图,供用户学习和使用。用户可以进行与传感器、单片机、数字/模拟电路等课程相关的各种实验,极大地方便了有二次开发需要的用户。
1.ARM
1)ARM简介
ARM是英国Acorn公司的第一款低功耗、低成本的精简指令集计算机(reduced instruction set computer,RISC)。Nextmech机电一体化套件采用ARM7作为核心控制器,其主要特点如下:
(1)体积小、成本低、功耗低、性能高;
(2)能支持16位Thumb 或32位的ARM双指令集,兼容8位和16位器件;
(3)大量寄存器使执行指令速度更快;
(4)大多数据操作在寄存器中完成;
(5)具有简单灵活的寻址方式,较高的执行效率;
(6)具有固定的指令长度。
如果传感器是输入,舵机是输出,那么ARM就是连接输入和输出的中心,是控制的核心。ARM芯片可接收传感器数据,控制舵机的运行。
2)LabVIEW for ARM嵌入式开发模块
LabVIEW for ARM嵌入式开发模块是一个完整的图形化开发环境,由NI联合Keil公司开发而成。LabVIEW for ARM是针对ARM微控制器的嵌入式模块,用于连接LabVIEW软件到各种支持RTX内核的ARM微控制器,为用户提供了一个完善的解决方案。使用该模块对ARM芯片进行开发可投入较少费用,并较快完成开发任务。该模块建立在NI LabVIEW嵌入式技术之上,将嵌入式系统开发移植到人们熟悉的数据流图形环境,包含数以百计的分析和信号处理函数,集成I/O和交互式调试接口。使用该模块能使用JTAG、串口或TCP/IP口在前面板查看数值更新。另外,该模块包含LabVIEW代码产生器,可以将编写的程序框图转换成C语言代码。
如果选择一个支持RTX和实时代理的ARM硬件,连接是十分简单的。首先,在LabVIEW内创建目标硬件,同时整合到Keil工具链。其次,使用Elemental I/O向导去创建Elemental I/O的节点,便于在新设备上访问合适的内存镜像寄存器。若选择的ARM硬件不支持RTX,则必须完成一些额外的工作去配置这个操作系统,之后加入实时代理模块。
ARM嵌入式控制器与PLC功能类似,它能够控制各种设备以满足自动化控制需求。其与PLC的区别在于,ARM嵌入式控制器采用图形化的LabVIEW编程语言进行程序设计和控制,实现软硬件的连接。
3)LabVIEW for ARM 模块的安装与程序下载
软硬件的连接必须在LabVIEW中安装LabVIEW for ARM 模块。LabVIEW for ARM模块安装界面如图11.1所示。图11.2为ARM安装与程序下载界面。
图11.1 LabVIEW for ARM模块安装界面
图11.2 ARM的安装与程序下载界面
4)ARM中VI的创建
在LabVIEW for ARM模块安装界面单击“开始”按钮,开始创建VI。安装时应注意,选中“MCB2300”复选框并保存,选择保存位置,并给VI命名,即可完成创建。
在ARM的安装与下载界面选择“MCB2300”并右击,在弹出的快捷菜单中选择“新建”→“Elemental I/O”命令,弹出“新建Elemental I/O”对话框,如图11.3所示。单击中间的左、右箭头图标,添加或移除相应传感器信号接口。添加后的引脚或接口可以直接拖动到程序框图中,进行调用编程。程序编写完成后,运行程序的同时,完成了程序与Nextcore的数据读写工作,即可进行机械动作的观测及程序的调试。
图11.3 “新建Elemental I/O”对话框
注意:当程序编程结束后,单击“运行”按钮,就会将程序烧录进ARM。如果双击“Application”,弹出属性对话框(图11.4),当选中“Enable debugging”复选框时,可以在计算机上对程序进行实时状态的监控、观察,程序并未写入ARM,LabVIEW与ARM之间有实时的数据传送,方便程序在计算机上调试。
图11.4 LabVIEW与ARM之间的数据传送设置
当取消选中“Enable debugging”复选框时,程序写入ARM芯片,写入后LabVIEW与ARM之间脱离联系,两部分独立工作。当调试时,选中“Enable debugging”复选框可以在计算机上显示传感器等的数据;程序调试好后,取消选中该复选框,程序可以在ARM上独立运行。
2.舵机简介
舵机,顾名思义是控制舵面的电机。舵机最早是作为遥控模型控制舵面、油门等结构的动力来源出现的。由于舵机具有体积紧凑、便于安装、输出力矩大、稳定性好、控制简单、便于和数字系统接口等特点,现在不仅仅应用在航模运动中,还已经扩展到各种机电产品中,在机器人控制中的应用也越来越广泛。
Nextmech套件中有两种舵机,分别为标准舵机和圆周舵机。标准舵机结构如图11.5所示。圆周舵机与标准舵机结构大致类似,但标准舵机存在限位器,只能在一定的角度内旋转。
图11.5 标准舵机结构
在硬件上,圆周舵机由标准舵机改造而成:拆除标准舵机中电位器与减速箱之间的反馈电路,使标准舵机的电动机无法判断自身转动角度而持续转动。因此,圆周舵机的软件控制原理上与标准舵机相同,都是PWM控制。
标准舵机具体参数如表11.1所示。标准舵机在套件中以M01编号,只能进行180°转动,一般用于关节运动。圆周舵机在套件中以M02编号,可以进行360°转动,一般用于轮子等运动,可控制速度及转动方向。
表11.1 标准舵机具体参数
1)控制原理
PWM原理:采用一个固定频率的周期信号去控制电源的接通和断开时间,并且可以根据需要去改变一个周期内“接通”或“断开”的时间,以此来改变电动机电枢电压的占空比,间接改变平均电压的大小,控制电动机的转速。正因如此,PWM系统又称为开关驱动装置。
PWM信号采用20ms的信号,其中脉冲宽度为0.5~2.5ms,对应标准舵机M01的转角为-90°~90°。对于标准舵机而言,理论上舵机输出转角与输入脉冲的关系如图11.6所示。在实际应用中,经过多次实验验证,占空比在3%~12%时,所对应的角度为-90°~90°。PWM信号的占空比与舵机终止角度的关系如图11.7所示。
图11.6 理论上标准舵机输出转角与输入脉冲的关系(www.xing528.com)
图11.7 PWM信号的占空比与舵机终止角度的关系
对于圆周舵机,PWM信号控制的是转速的大小和方向。控制原理为当电动机一直接通电源时,上升沿时间1tT=(周期),下降沿时间20t=,电动机转速最大(设为maxV),占空比为D=t1/T。对应不同占空比,电动机的平均速度大小为Va=Vmax×D,其中,Va是不同占空比对应的电动机的平均速度。由此可见,当改变占空比D时,可以得到不同的电动机平均速度Va,进而达到调速的目的。从理论上来讲,平均速度Va与占空比D为线性关系,即当输入为0时,舵机无转速,理论上输入值在0~7.5时与在7.5~15时的转速是大小相同,方向相反的,且在7.5时转速几乎为0。但是,由于不同舵机有着或大或小的制造误差,转速近似于0的点往往不是在7.5,而且转速的大小变化与输入常量之间也不是严格的线性关系。实际应用中,只能近似地看成线性关系。
2)使用方法
舵机的输入线共有3条。红色线位于中间,是电源线,一般黑色的线是地线。这两根线给舵机提供最基本的能源保证,主要用于电动机的转动消耗。电源有两种规格,即4.8V和6.0V,分别对应不同的转矩标准。另外一根线是控制信号线,FUTABA的一般为白色,JR的一般为橘黄色。
使用时,舵机控制程序PWM有三个设置参数,一个为PWM信号的输出口;另一个为PWM信号的频率,通常采用频率为50Hz的信号,输入常量即为PWM调制信号的脉冲宽度20ms;最后一个为占空比,通过数学运算使占空比转换为脉冲宽度,使其在输入时为0.5~2.5ms,对应标准舵机的转角为-90°~90°。
注意:使用舵机时,应避免堵转。堵转的意思就是人为或机械阻碍舵机输出轴正常转动。舵机堵转会导致内部电流增至7倍以上,温度升高,这样会使舵机烧坏。一般在舵机驱动的机械结构较重、超出其转矩大小时,发生堵转。所以,设计结构时,要考虑所选舵机的承载能力。
3)舵机的调用
(1)舵机子VI简介。无论是圆周舵机M02还是标准舵机M01,控制其转动的程序都可以使用泛华公司提供的PWM_Init和PWM_Out两个子程序。PWM_Init用于初始化舵机,PWM_Out控制舵机具体运行。在图11.8中,程序的两个输入常量的功能分别为,第一个输入常量用于确定受控对象为ARM的哪个PWM输出引脚,数字即为引脚序号,表示舵机和ARM的接口;第二个输入常量为脉冲宽度。圆周舵机可以像轮子一样一直循环转动,而标准舵机只能转动固定角度,无法整圈转动。圆周舵机根据编写数值来控制其正转、反转及其快慢;而标准舵机则根据数值控制其转动的位置。
图11.8 基本的舵机程序
(2)舵机的标定。舵机在实际使用时,要先对其进行标定,确定输入与输出的关系曲线。理论上,在PWM_Out中,PWM脉冲宽度设置为0~15的一个数值,0~7.5为正转,7.5~15为反转;0与7.5速度为0,越接近7.5的数值,角速度越小,反之越大。实际测试中,最中值一般不是7.5,而是7.3左右。因此,需要对实际使用的舵机标定,得到中值。图11.9为圆周舵机的脉宽与速度关系。
图11.9 圆周舵机的脉宽与速度关系
由图11.9可看出,横坐标脉宽在无限接近0时,速度为0.16s/60°。
对于标准舵机的标定如图11.7所示,理论上PWM信号的占空比0~15%对应不同角度,但实际使用中,由于其转动的速度和安装的位置等,输入与输出关系需要实验人员多次调试。
(3)舵机程序的调用。在项目浏览器中的MC2300处右击,在弹出的快捷菜单中选择“Add”→“File”命令,如图11.10所示,弹出“选择需插入的文件”对话框。找到控制舵机的两个程序PWM_Init.vi和PWM_Out.vi,单击“添加文件”按钮,效果如图11.11所示。将这两个子VI拖入程序的后面板,就调用了舵机的VI。
图11.10 舵机程序的调用(一)
图11.11 舵机程序的调用(二)
3.传感器
Nextmech机电一体化套件包含的传感器非常多,在这里只列出常用的传感器。
1)近红外传感器
近红外传感器可以发射并接收反射的近红外信号,有效检测范围在20cm以内,其电压为4.7~5.5V,工作电流为1.2mA,频率为37.9kHz。
2)触碰传感器
触碰传感器用来检测是否有物体碰触开关,通过开关的动作触发相应的信号。触碰开关有效距离为2mm。
3)黑标/白标传感器
黑标/白标传感器可以帮助进行黑线/白线的跟踪,可以识别白色/黑色背景中的黑色/白色区域,或悬崖边缘。寻线信号可以提供稳定的输出信号,使寻线更准确、更稳定。其有效距离为0.7~3cm,工作电压为4.7~5.5V,工作电流为1.2mA。
4)触碰传感器
触碰传感器可以检测到物体对弹簧的有效触动。安装时通常将弹簧与地面平行,其有效触动角度为45°。
Nextmech机电一体化套件的传感器为了方便与Nextcore(ARM)连接,全部统一规格,接口也全部一样。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。