基于Linux和QT的简便步进电机控制界面设计与实现

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解基于Linux和QT的简便步进电机控制界面设计与实现问题。 嵌入式控制系统以其低功耗、低成本、

大家好,我是本期栏目编辑小友,现在为大家讲解基于Linux和QT的简便步进电机控制界面设计与实现问题。

嵌入式控制系统以其低功耗、低成本、高性能等优点被广泛应用于工业控制领域,而步进电机驱动控制技术是嵌入式控制系统的关键技术之一。在步进电机控制系统的设计中,传统的方法是用逻辑电路或单片机实现步进电机控制。虽然这种方法是可行的,但由于电路复杂,制造后很难调整,因此有一定的局限性。随着嵌入式技术的发展,越来越多具有界面控制功能的智能小设备已经渗透到人们的生活中。基于嵌入式领域的Qt技术,开发人员为工业控制领域设计了一个具有人机交互界面的智能控制系统。Qt是挪威TrolLTEch著名的标志性产品。使用C作为编程语言,它已经成为基于C GUI工具包的Linux自由软件开发的主流,并且是在Linux上流行的KDE桌面环境的基础。Qt/Embedded是由著名的Qt库开发者Trolltech开发的用于嵌入式系统的Qt版本。它是一个Qt Server/Client结构,延续了Qt在X上的强大功能,在底层放弃了Xlib,只使用帧缓冲作为底层的图形接口。Qt/Embedded类库完全用C封装,提供了应用程序开发人员构建艺术图形用户界面所需的所有功能。Qt/Embedded完全面向对象,易于扩展,提供了丰富的小部件集,并允许真正的组件编程。

1硬件电路设计。

1.1整体系统框图。

控制系统硬件主要由步进电机、TA8435H、S3C2440微处理器、光电耦合器和触摸屏组成。控制系统的硬件结构图如图1所示。

在Linux下,利用Qt设计开发了嵌入式控制系统的人机界面。通过触摸屏界面控制步进电机,控制步进电机的旋转方向和速度以及细分方式。1.2电路设计1.2.1 SC2440和TA8435H电路设计本系统的硬件核心电路是由S3C2440处理器、TA8435H步进电机驱动芯片和步进电机组成的步进电机控制电路。步进电机控制电路如图2所示。

该步进电控系统采用以arm920t为核心的S3C2440芯片。这款芯片是三星生产的高性能微处理器,具有低功耗、高性能、低价格的优点,已经在很多领域得到应用。本文选取该芯片作为核心处理器,将其植入Linux系统,然后通过触摸屏完成步进电机的交互控制。S3C2440芯片有289个引脚,其中多功能通用I/O多达30个,都是GPA~GPJ,GPA有25个输出端口,其余可以根据需要配置为输入或输出。为了实现对四个电机的可靠控制,系统选择GPB端口作为控制端口,该端口有八个引脚,即GPB0~GPB8,可以完成对步进电机的实时控制。TA8435H是东芝公司生产的驱动正弦细分二项式步进电机的专用芯片。TA8435H能驱动二项式步进电机,电路简单,运行可靠。TA8435H步进电机驱动芯片引脚4的外部电容决定了芯片内部驱动级的斩波频率,这里使用的电容为0.01F,由于电机所需的驱动电流为0.1 A,因此将REF IN引脚设为高电平,rnf=0.8 。步进电机接口需要快速恢复二极管(D1-D4)来释放绕组电流。1.2.2电路可靠性设计为了提高硬件的可靠性,有效抑制干扰,在S3C2440和TA8435H之间增加了由光耦合器TLP521-4和TLP521-2芯片组成的电平隔离电路,对S3C2440处理器的控制信号和步进电机控制器进行电平移位和隔离。电平隔离电路如图3所示,S3C2440处理器的GPIO端口和PWM输出引脚通过光耦TLP251实现电平隔离转换。

2软件设计。

由于实际工业控制中对电机的精度、速度、稳定性和方向都有要求,设计时应通过触摸屏按键的交互,实现电机正转、反转、转速和细分模式的选择。TA8435H芯片有正转和反转两种工作模式,电机正转和反转分别由引脚CW/CK1/CK控制。您也可以通过M1和M2输入引脚的高低电平选择细分模式。当M1M2为00时,意味着步进电机在整个模式下工作,没有细分。10是半步模式,01是1/4模式;11是1/8细分模式。低速工作时,可选择1/4或1/8细分模式,提高步距角精度。高速工作时,可选择整步或半步,以提高步进电机运行的稳定性,降低步进电机的噪声和振动。步进电机的速度由脉冲信号的频率决定,脉冲信号的产生和控制实际上是由CPU产生的。脉冲信号的占空比一般在0.3-0.4左右,电机转速越高占空比越大。在这种设计中,通过改变定时器参数来控制电机速度,并产生具有其他频率和占空比的脉宽调制输出来控制步进电机。脉宽调制输出信号占空比公式为:

ndent: 2em;"> 嵌入式控制系统以其低功耗、低成本、高性能等优势被广泛用于工业控制领域,而在嵌入式控制系统中步进电机驱动控制技术是关键技术之一。在步进电机控制系统设计中,传统的方法是用逻辑电路或单片机实现步进电机控制,虽然此方法可行,但由于线路复杂而且制成后不易调整,存在一定的局限性。随着嵌入式技术的发展,越来越多的智能化带有界面控制功能的小型设备深入到人们生活当中。开发者基于嵌入式领域中的Qt技术,设计出一套应用于工控领域的具有人机交互界面的智能控制统,Qt是挪威TrolLTEch着名的标志性产品,采用C++作为程序设计语言,已经成为用C++GUI工具包在Linux上进行自由软件开发的主流,是Linux上流行的KDE桌面环境的基础。Qt/Embedded是着名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。Qt是Server/Client结构,延续了Qt在X上的强大功能,在底层摒弃了Xlib,仅采用帧缓冲作为底层图形接口。Qt/Embedded类库完全采用C++封装,提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt/Embedded是完全面向对象的,很容易扩展,提供了丰富的窗口部件集,并且允许真正的组件编程。

1 硬件电路设计

1.1 系统整体框图

该控制系统的硬件部分主要由:步进电机、TA8435H、S3C2440微处理器、光电耦合器、触摸显示屏组成。控制系统硬件结构图如图1所示。

系统在Linux下应用Qt设计开发嵌入式控制系统人机界面的方法,通过触摸屏界面对步进电机进行控制,控制步进电机的转动方向和转速、细分模式等。 1.2 电路设计 1.2.1 SC2440和TA8435H电路设计 本系统的硬件核心电路是由S3C2440处理器、TA8435H步进电机驱动芯片以及步进电机组成的步进电机控制电路。步进电机控制电路如图2所示。

在该步进电控制系统中,采用了以arm920t为内核的S3C2440芯片,该芯片是三星公司生产的一款高性能微处理器,具有功耗小、性能高、价格低等优势,在许多领域都获 得了应用。本文选择该芯片为核心处理器,并将其植入Linux系统,进而完成通过触摸屏对步进电机交互控制。S3C2440芯片拥有289个引脚,其中多功能通用I/O多达30个,分别为GPA~GPJ,GPA有25个输出端口,其余均可根据需要配置成输入或输出。为了实现四个电机的可靠控制,本系统选择GPB端口为控制端口,该端口具有8个引脚,分别为GPB0~GPB8,所以可完成步进电机的实时控制。TA8435H是东芝公司生产的单片正弦细分二项步进电机驱动专用芯片,TA8435H可以驱动二项步进电机,且电路简单,工作可靠。 TA8435H步进电机驱动芯片引脚4外接电容的电容值决定芯片内部驱动级的斩波频率,这里使用的电容容量是0.01μF。由于电机所需要的驱动电流为0.1 A,因此设定REF IN引脚为高电平,Rnf=0.8 Ω。步进电机接口需要使用快恢复二级管(D1—D4),用来泄放绕组电流。 1.2.2 电路可靠性设计 为了提高硬件的可靠性并且有效抑制干扰,S3C2440和TA8435H之间加入由光耦TLP521-4和TLP521-2芯片组成的电平隔离电路,将S3C2440处理器控制信号与步进电机控制器进行电平转换和隔离。电平隔离电路如图3所示,S3C2440处理器GPIO端口、PWM输出引脚通过光电耦合器TLP251实现电平隔离转换。

2 软件设计

由于在实际工业控制中会对电机有精度、速度、稳定性、方向等要求,所以本设计要通过触摸屏按键交互,实现对电机正转、反转、转速、细分模式的选择。 TA8435H芯片有正转反转两种工作模式,分别通过引脚CW/CK1/CK控制电机的正反转。也可以通过M1,M2输入引脚的高低电平来选择细分模式。当M1M2为00表示步进电机工作在整部方式,没有细分;10为半步方式,01为1/4方式;11为1/8细分方式。在低速工作时,可以选用1/4或1/8细分模式,以提高步距角精度;在高速工作时,可以选用整步或半步方式,以提高步进电机运行的稳定性,减小步进电机的噪声和振动。 步进电机的转速是由脉冲信号频率所决定的,脉冲信号的产生与控制实际是由CPU产生的,一般脉冲信号的占空比为0.3—0.4左右,电机转速越高,占空比则越大。本设计中电机转速是通过改变定时器参数,已产生其他频率和占空比的PWM输出控制步进电机。 PWM输出信号占空比公式为

技术专区 关于ARM7 S3C4510B上μClinux移植问题 多回路化成充放电控制器设计方案 ARM嵌入式系统的中断服务例程跳转 基于8位MCU的LED调光引擎设计 如何在液晶显示器上显示汉字、ASCII字符和彩色图形

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。