嵌入式超声电机微步距控制检测系统设计

2015-03-01 11:34郑之龙孙志峻
机械制造与自动化 2015年2期
关键词:嵌入式系统

郑之龙,孙志峻

(南京航空航天大学 a. 机电学院, b. 航空宇航学院 江苏 南京 210016)



嵌入式超声电机微步距控制检测系统设计

郑之龙a,孙志峻b

(南京航空航天大学 a. 机电学院, b. 航空宇航学院 江苏 南京 210016)

摘要:设计了一种行波超声电机的嵌入式微步距控制检测系统,该系统分为三大部分:嵌入式上位机、电机控制器和检测系统。以ARM9微控制器作为主控芯片,将Linux系统和Qtopia图形界面移植到ARM微控制器上,作为整个控制系统的上位机和人机交互的工具;电机控制器使用PSoC芯片,上位机与电机控制器之间用UART进行通信;以基恩士激光位移传感器为核心搭建了微步距检测系统,对整个系统进行了测试。实验结果表明,此系统能实现超声电机精确的微步距控制和检测。

关键词:超声电机;微步距;嵌入式系统

0引言

电磁步进电机的最小步距角可以做到124μrad,电磁伺服电机的最小步距角可以做到43μrad。获得更小的步距角一直为各国学者孜孜以求的目标,各种功能驱动元件几乎都曾被用来尝试精密旋转定位。超声电机是一种具有全新原理、全新结构的新型驱动器, 它突破了传统的电磁电机的概念, 无电枢绕组和磁路, 不依靠电磁的相互作用来转换能量, 而是利用压电陶瓷的逆压电效应和超声振动来获得驱动力, 通过摩擦耦合转换成转子或滑块的运动[1]。与传统的电磁电机相比, 具有惯性小, 响应快, 控制特性好, 噪声小, 断电自锁, 不受磁场影响, 本身不产生磁场, 低速大转矩及可直接驱动负载等特性。超声电机作为一种全新的电机,其步进控制目前还处于探索发展阶段。浙江大学纪科辉等从具体实验中表明纵扭复合型超声电机具有高分辨率和步进特性,并证实在结构上无需作特别处理,超声电机的最小步距可以做到0.005°[2]。南京航空航天大学孙志峻等的研究表明,行波型超声电机在适当的驱动信号作用且开环状态下,最小步距可以做到1.2μrad(此时转速为100r/min)[3],但目前还难以保持运行的稳定性。

目前控制系统大多采用PC机与控制器相结合,使用通用操作系统,如windows操作系统。其优点在于能将PC机的开放性和信息处理能力与电机控制器的运转控制特性相结合,但整个控制系统成本高、硬件资源浪费严重、功耗大,而且windows系统存在延时性。本研究上位机的设计抛弃了传统的PC机,搭建了以触摸屏为人机交互工具的嵌入式上位机系统,以嵌入式技术为平台,利用其软硬件资源可定制的特性,开发了高可靠性、低功耗、高性价比的嵌入式微步距控制系统。

1控制系统总体设计

采用了Cypress Microsystems公司的PSoC混合信号阵列芯片CYC28466作为电机主控制器。它抛弃了使用分立元件搭建驱动及控制电路, 将频率发生、分频分相、死区和占空比设置、功率放大电路以及部分控制电路等整合到PSoC中, 极大地缩小了驱动控制器的体积, 提高了驱动控制器的稳定性、可靠性[4]。嵌入式上位机系统采用三星公司的S3C2440微控制器为核心,以Linux为上位机操作系统,选用Qt/Embedded为上位机软件开发工具。上位机的作用是发送控制命令到电机控制器、运行算法、接收微步距检测信号并生成相应图形。上位机与电机控制器的通讯采用的是UART。电机微步距检测,传统的做法是采用光电编码器加数字示波器组成的系统。本文采用了KEYENCE公司LK-H020型高速高精度CCD激光位移传感器作为超声电机微步距的检测装置。该传感器具有最快的采样速度(50 kHz),业界最高的精确度(±0.002%),同类中最高的分辨率(0.01 μm),有多功能控制器和简单易用的菜单式软件;传感器探头的投光部配置了柱面镜头,从而实现了尖锐线束,将线束直径尖锐到极限(25 μm),从而实现了以往不能实现的高稳定检测;通过识别因目标工件表面状态的变化而产生的CMOS入光波形的不同,自动进行最佳的波形处理。类似金属细线以及树脂、橡胶等过去难以检测的工件,也可以无调谐的实现稳定检测。传感器检测反馈的信号通过上位机的处理,可生成相应的波形。总体设计如图1所示。

图1 系统总体设计

整个系统的工作过程为:在触摸屏上点击相应按钮和输入参数,发送给嵌入式上位机,再通过上位机发送到PSoC控制器,控制器收到命令后,调用相应函数,控制电机执行相应动作;与此同时,CCD激光位移传感器检测电机的运转数据,然后将数据反馈到嵌入式上位机,上位机经过相应处理,将步距波形显示到触摸屏上面,并且会根据一定算法智能的调整步距的大小。

2系统硬件设计

将嵌入式技术应用到超声电机微步距控制系统设计的一大特点就是应用其灵活的软硬件可裁剪、可定制性,针对不同的对象,可设计与其性能要求相匹配的嵌入式系统硬件。

综合超声电机微步距控制的各项因素,系统的设计应实现以下要求:

1) 超声电机的步距角调整、电机运转频率调节、电机电压调节以及传感检测数据的处理都应该由嵌入式上位机统一处理;

2) 上位机应具有一款功能强大的嵌入式CPU,能够搭载合适的嵌入式系统,满足系统多任务和实时性的要求;

3) 能够提供友好的人机交互接口,支持触摸屏和操作面板,最人性化的实现操作者对超声电机的控制;

4) 能够提供丰富的接口资源,如串口、USB、网络接口以及各种标准总线接口,方便对外通信和系统开发初期调试;

5) 能对传感器反馈回来的数据进行高速处理,并实时的显示出来。

综合以上考虑对系统硬件进行了合理的选择和设计,系统硬件设计如图2所示。

图2 系统硬件设计

2.1 基于PSoC的超声电机控制器

电机控制器部分的驱动信号是由主控芯片PSoC内部的两个带死区发生16位可编程数字脉宽调制(PWM)模块直接产生4路相位互差90°的功率方波信号,取代了原来驱动器中众多分立元件搭建而成的信号发生电路。该方波信号的高电平为5V,管脚驱动电流为25mA,可直接驱动MOS管完成直流逆变,最终产生超声电机所需要的驱动信号。驱动电压、频率等可在上位机软件中进行设置。孤极电压反馈电路用于实现电机的自动调频。

2.2 嵌入式上位机系统和传感检测反馈系统

嵌入式上位机和微步距检测部分根据硬件需要可自行定制。上位机与控制器的通讯采用的是串口,用一根交叉串口线将上位机的UART接口和控制器的UART接口连接起来。激光位移传感器与上位机之间用的是USB连接,一方面传感器通过USB将检测数据传递给上位机,由上位机进行数据处理,并将数据存入NAND FLASH中;另一方面,上位机可发送相关配置信息到传感器,以便调节传感器的检测参数。如图2,上位机系统中扩展了网络接口,便于实现一对多(一个上位机控制多个电机控制器)的控制模式。对于触摸屏,S3C2440提供了触摸检测模块、触摸控制模块和A/D转换模块,满足触摸控制的所有条件。

3系统软件设计

嵌入式超声电机微步距控制系统的软件设计主要涉及两个部分,基于PSoC的超声电机步进控制程序设计和嵌入式操作系统搭建。

3.1 基于PSoC的超声电机步进控制程序

PSoC Designer(TM)是PSoC的传统软件开发环境,它是一款功能全面的基于图形用户接口(GUI)的设计工具套件,使用户能以简单的点击对设计中的硅技术进行配置(图3)。在PSoC Designer的帮助下,用户可以采用C语言或汇编语言编写MCU的代码,还可用事件触发器和多断点等先进的特性对设计进行调试,同时还可以采用C语言、汇编语言或二者的结合,通过代码实现单步进。

图3 PSoC Designer基于GUI的设计工具套件

PSoC芯片集成有8位和16位的通用PWM模块, 根据超声电机的工作频段及频率分辨率的需要,采用16位的PWM模块并采用48MHz的系统主振频率作为模块的时钟源。由于采用推挽逆变电路, 不允许两个串联的开关管同时导通的情况出现, 这样会损坏开关管, 因此不能使用50%占空比的方波信号进行驱动[5], 必须为两路驱动信号设置死区。出于以上情况的考虑, 在PSoC芯片的内部分别利用3个数字模块配制了两个带死区的16位的PWM模块, 它可直接产生4路互差90°的方波信号。通过对各个模块函数参数的调节, 即可完成对PWM信号的频率、死区、占空比、相位差及电机启停的调节。

超声电机的步进是在超声电机的连续运转的基础上进行的:将PWM模块产生的PWM波形按一定时间间隔分为n段,每段的脉冲波数一定,将每段的脉冲个数称为超声电机步进的单步波数。而且单步波数和时间间隔可人为调整,这样便可实现超声电机的步进。电机控制器与上位机的底层通讯协议程序是按照图4的通讯规约编写的,使用是PSoC中的UART模块,只需在程序中设定接收某个字符或数据便可调用相应的电机运转和设置程序,实现上位机对控制器的控制。通讯规约如图4。

图4 通讯规约

完成以上代码编写,便可实现超声电机的正反转、步进、自动调频、与上位机通信等工作模式。

3.2 嵌入式操作系统搭建

嵌入式系统软件层面的搭建流程(由底层到应用层)如图5所示。

图5 嵌入式系统软件搭建流程

简单的说,bootloader是一段程序,它的作用就是加载操作系统,bootLoader(引导加载程序)是系统加电后运行的第一段软件代码。通过这段代码实现硬件的初始化,建立内存空间的映射图,为操作系统内核准备好硬件环境并引导内核的启动[6]。在设备的启动过程中,bootloader位于最底层,首先被运行来引导操作系统运行,很容易可以看出 bootloader是底层程序所以它的实现严重地依赖于硬件,特别是在嵌入式系统。文中采用的是嵌入式系统中常用的U_boot,移植U_boot时以S3C2410为模板。

Linux内核配置与编译的步骤为:清除临时文件、中间文件和配置文件;确定目标系统的软硬件配置情况,如CPU类型、网卡类型;使用make menuconfig命令配置内核;使用make zImage命令编译内核;编译内核模块;安装内核模块[7]。

根文件系统采用的是Busybox,直接使用的已编译好的根文件系统,安装到Linux系统上。

Linux设备驱动程序开发是一个很大的工程。本文编写了LED、按键、中断、定时、串口、触摸屏、网卡等设备的驱动程序。由于在开发阶段,这些设备的驱动程序还不稳定,所以将这些驱动程序以内核模块的方式安装到内核。

上位机控制界面的开发环境为Linux环境下的Qt/Embedded。与其他开发环境相比,其特点是:良好的平台移植性[8]、良好的封装机制、丰富的API、信号与槽通信机制等。主要的界面模块有:串口选择模块(下拉框),按钮,文本输入模块,波形显示插件,其中波形显示插件使用的是第三方插件qwt_plot。界面如图6所示。

图6 上位机控制界面

4系统测试实验

实验使用南京航空航天大学大学自主研制的60型行波超声电机作为对象,对整个嵌入式超声电机微步距控制检测系统进行了测试实验。单步波数为20个,电机频率为38.506kHz,外接电源电压为5V,得到超声电机步进波形如图7所示。

图7 超声电机步进波形图

横坐标为时间,纵坐标为电机步进位移。可以看出,系统不仅可以实现步距角较为稳定且单步时间较为均匀的超声电机的步进,还可以对超声电机的微步距进行精确的检测与显示。

5结语

设计了一个嵌入式超声电机微步距控制检测系统,具有功能完善、软硬件可裁剪、实时性高、运行稳定、检测精确、操作简单、人机交互友好等优点。与传统的微步距控制检测系统相比,增加了嵌入式的应用,提高了检测精度。在后续的研究中,可进一步完善微步距的控制算法,提高波形显示的实时性。

参考文献:

[1] 段小汇,莫岳平,张新星. 基于ARM的超声波电机嵌入式驱动控制系统[J]. 微特机电,2009,12.

[2] 纪科辉,郭吉丰,刘晓. 超声波电机的步进特性和步进定位控制[J]. 中国电机工程学报,2004,24(1):71-75.

[3] Zhijun Sun, Chunsheng Zhao. Micro Stepping Performance of Traveling Wave Type Ultrasonic Motor Using a Special Drive Method, the 7 the International Workshop on Piezoelectric Materials and Applications Actuators, 2010,46-50.

[4] 李华峰,冒俊,赵淳生. 基于PSoC的超声电机快速反应装置驱动控制器[J]. 压电与声光,2009,31(2).

[5] 李华峰,冒俊,赵纯生,等. 基于可编程片上系统的超声电机小型驱动电源[J]. 压电与声光,2009,31(3).

[6] 杨铸,唐攀,嵌入式底层软件开发[M]. 北京:北京航空航天大学出版社,2011.

[7] Linux内核设计与实现[M]. 陈莉君,康华译,北京:机械工业出版社,2011.

[8] 丁丁,习勇,魏急波,三种主流嵌入式图形用户界面的移植及性能比较[J]. 电子产品,2004,9(5):3-4.

Design of Embedded System of Micro-step Control and Measurement Based on Ultrasonic Motor

ZHENG Zhi-longa,SUN Zhi-junb

(a. College of Mechanical and Electrical Engineering; b. College of Aerospace Engineering,

Nanjing University of Aeronautics and Astronautics, Nanjing 210016, China)

Abstract:This paper designs an embedded micro-step control and detection system of a travelling wave ultrasonic motor. The system is composed of three parts: the embedded host computer, the motor controller, and the detecting devices. ARM9 microcontroller is adopted as the master chip and the Linux system and Qtopia graphical interface are incorporated in the ARM micro controller as the tool of the host PC and human. computer interation of the overall system. PSoC chip is employed as the motor controller, and the communication method between the host PC and the motor controller is UART. To detect the outputs of the ultrasonic motor, a micro-step detection system is developed based on the Keyence laser displacement sensor. The experimental results show that the system can be used to achieve accurate micro-step control and detection of a travelling wave ultrasonic motor.

Keywords:ultrasonic motor; micro-step; embedded system

中图分类号:TM32;TP274+.5

文献标志码:B

文章编号:1671-5276(2015)02-0177-04

作者简介:郑之龙(1988-),男,安徽安庆人,硕士研究生,研究方向为超声电机控制和嵌入式教学应用。

基金项目:国家自然科学基金资助项目(51175264)

收稿日期:2014-02-24

猜你喜欢
嵌入式系统
Teaching Research on IoT and—Embedded System of Software Engineering
基于Xilinx口袋实验室的组合逻辑电路设计实验
面向应用的智能专业嵌入式系统教学
基于AVR单片机的SPI接口设计与实现
办公自动化系统的设计
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究