基于AT89S51单片机的步进电机控制外文翻译资料

 2021-11-17 12:11

(1) Stepper Motor Control Based on AT89S51 Microcontroller

Abstract:

Along with the application of computer and microelectronic technology in industrial production, the use of computer technology and microelectronic technology to control the stepping motor has gradually become a new technology. Stepper motor control system is designed based on AT89S51, including the hardware circuit design and software design. Keyboard input signal is used to control the stepper motor rotation direction and speed. The rotation direction is displayed by LED. The design has high reliability and strong stability, which can be applied to the field of disk drive, robots and automation instrument.

Introduction

SECTION I.

Stepper motor is firstly appeared execution parts in modern digital control technology and electrical pulse signal is used to control [1], [2]. Electrical pulse signal is transformed into the corresponding angular displacement or linear displacement of the micro motor. Stepper motor has the characteristics of fast start-stop, simple control, no cumulative error and high accuracy, etc[3]. At present, the research and development of the control system of step motor has also made a lot of achievements, which are mainly based on micro controller, such as MCU, DSP, ARM and CPLD and control system based on PLC [4]–[5][6][7][8][9][10]. Among them, the single chip microcomputer to control stepping motor has a very wide range of application, including industrial automatic control, computer peripheral equipment, medical equipment, satellite antenna positioning system and controlled machine tools, etc. So with the continuous development of computer technology and digital control technology, the application field of stepper motor is more broad. According to the actual needs, a kind of stepping motor control system using AT89S51 as the core is designed. It is cheap, simple and easy to implement, which can be used in the numerical control machine tool.

Stepper motor should be driven by a dedicated power supply and driver power and stepping motor composes a set of servo device to drive the load[11]. Stepper motor driver power mainly includes three parts of frequency signal source, pulse distributor and pulse amplifier[12]. Frequency signal source is a signal generator, the frequency of which changes from dozens of Hertz to thousand Hertz continuously. Variable frequency signal can use a variety of lines. The most common is multi-vibrator and oscillator composed of unijunction transistor. They changes capacitor charge and discharge time constant by adjusting size of the resistor and capacitor to achieve the purpose of selecting the pulse signal frequency. Pulse distributor is composed of gate and flip-flop logic circuit, it add pulse signal to the amplifier according to certain logical relations, making the operation of the step motor in a certain way[13].

At present, with the development of the microcomputer, especially single chip microcomputer, the task of pulse distributor and variable frequency signal source can be replaced by the single chip microcomputer, which is not only more reliable, but has better performance[14], [15]. Pulse distributor output current is only a little milliampere, which cannot directly drive stepping motor, because the stepper motor drive current can reach several dozens of Ann. Behind the pulse distributor is a power amplifier circuit as pulse amplifier. Electrical pulse signal after power amplification can be directly output to every phase of the stator winding to control the stepper motor work.

AT89S51 is a low power consumption, high performance CMOS8 MCU, containing 4kBytes ISP (In system programmable)Flash read-only program memory which can be wiped again and again for 1000 times [16]–[17][18]. Device is made by high density, nonvolatile storage technology of of ATMEL company. It is compatible with standard MCS-51 instruction system and 80C51 pin. Chip integrates general 8-bit CPU and ISP Flash memory cell.

SECTION II.The Hardware Circuit Design

The system mainly includes AT89S51 stepper motor controller, stepper motor and sensor detection unit, 8279 keyboard and display system. The system controls the stepping motor rotation direction and speed mainly through receiving the keyboard input signal. Stator of three-phase stepper motor has six poles and rotor is four uniform teeth. The rotation of the motor is controlled by connected state of power supply and winding, which depends on the power phase sequence. In this system, we mainly adopts three-phase motor three-phase single and double six pat: A-AB-B-BC-C-CA-A-hellip; Firstly AA phase is connected with power, then B phase is connected(at this time A phase is always connected). AB two winding is connected at the same time. Then disconnect A phase winding, B phase is connected separately and this way completes a cycle using six switches. Every step angle of single phase three pats is 3 degree and step angle of three-phase six pats is 1.5 degree. Therefore, in three phase six pats, the reversal operation of the stepping motor is smooth and soft. But under the same operation angle and speed, the frequency of the three-phase six-step pats drive pulse need to be increased 1 times, which has higher requirements for the switch features of driving switch tube.

When stepping motor drive system is working, the keyboard input signal is sent into a single chip microcomputer data mouth (P1). The microcontroller should sends stepper pulse to P1.0, P1.1, P1.2 port to control motor in turn. In the program, as long as 6 control word is sent to P1 mouth in turn stepping motor will turn a pitch angle. Sending a control word completes a clap, then stepper motor turns a step angle. The stepper motor is driven by single-chip microcomputer according to the corresponding program. When receiving signal from the sensor, step motor stops working. In this system, the function of microcontr

  1. 基于AT89S51单片机的步进电机控制

摘要:随着计算机和微电子技术在工业生产中的应用,利用计算机技术和微电子技术控制步进电机已逐渐成为一项新技术。基于AT89S51设计的步进电机控制系统,包括硬件电路设计和软件设计。键盘输入信号用于控制步进电机的旋转方向和速度。旋转方向由LED显示。该设计可靠性高,稳定性强,可应用于磁盘驱动器,机器人和自动化仪表领域。

步进电机首先出现在现代数字控制技术中的执行部件,电脉冲信号用于控制[1],[2]。电脉冲信号被转换成微电机的相应角位移或线性位移。步进电机具有启停快,控制简单,无累积误差,精度高等特点[3]。目前,步进电机控制系统的研究和开发也取得了很多成果,主要基于微控制器,如MCU,DSP,ARM和CPLD以及基于PLC的控制系统[4] - [ 5] [6] [7] [8] [9] [10]。其中,单片机控制步进电机具有非常广泛的应用,包括工业自动控制,计算机外围设备,医疗设备,卫星天线定位系统和受控机床等。因此随着计算机技术的不断发展和数字控制技术,步进电机的应用领域更广泛。根据实际需要,设计了一种以AT89S51为核心的步进电机控制系统。它便宜,简单且易于实施,可用于数控机床。

步进电机应由专用电源驱动,驱动电源和步进电机组成一套伺服装置来驱动负载[11]。步进电机驱动电源主要包括频率信号源,脉冲分配器和脉冲放大器三部分[12]。频率信号源是一个信号发生器,其频率从几十赫兹连续变为千赫兹。变频信号可以使用多种线路。最常见的是由单结晶体管组成的多振子和振荡器。它们通过调节电阻器和电容器的大小来改变电容器充电和放电时间常数,以达到选择脉冲信号频率的目的。脉冲分配器由门和触发器逻辑电路组成,它根据一定的逻辑关系向放大器添加脉冲信号,使得步进电机的运行有一定的作用[13]。

目前,与微型计算机的发展,尤其是单芯片微计算机,脉冲分配器和可变频率信号源的任务可以由单芯片的微型计算机,这不仅更可靠更换,但具有更好的性能[14] ,[ 15]。脉冲分配器的输出电流只有一点毫安,这不能直接驱动步进电机,因为步进电机的驱动电流可以达到几十安。脉冲分配器后面是功率放大器电路作为脉冲放大器。功率放大后的电脉冲信号可以直接输出到定子绕组的每个相位,以控制步进电机的工作。

AT89S51是一款低功耗,高性能的CMOS8 MCU,包含4kBytes ISP(系统可编程)Flash只读程序存储器,可以反复擦拭1000次[16] - [17] [18]。器件由ATMEL公司的高密度,非易失性存储技术制成。它与标准MCS-51指令系统和80C51引脚兼容。芯片集成了通用的8位CPU和ISP闪存单元。

第二节硬件电路设计

系统主要包括AT89S51步进电机控制器,步进电机和传感器检测单元,8279键盘和显示系统。系统主要通过接收键盘输入信号来控制步进电机的旋转方向和速度。三相步进电机的定子有六个极,转子是四个均匀的齿。电机的旋转由电源和绕组的连接状态控制,这取决于电源相序。在该系统中,我们主要采用三相电动机三相单双六联:A-AB-B-BC-C-CA-A- ...首先将AA相与电源连接,然后连接B相(at此时A相始终连接)。AB两个绕组同时连接。然后断开A相绕组,B相单独连接,这种方式使用六个开关完成一个循环。单相三拍的每一步角为3度,三相六拍的步进角为1.5度。因此,在三相六拍中,步进电机的反转操作是平滑和柔软的。但在相同的操作角度和速度下,三相六步脉冲驱动脉冲的频率需要增加1倍,这对驱动开关管的开关特性提出了更高的要求。

当步进电机驱动系统工作时,键盘输入信号被送入单片机数据口(P1)。微控制器应向P1.0,P1.1,P1.2端口发送步进脉冲,依次控制电机。在程序中,只要将6个控制字发送到P1口,步进电机就会转动一个俯仰角。发送控制字完成拍手,然后步进电机转动一个步进角。步进电机由单片机根据相应程序驱动。当从传感器接收信号时,步进电机停止工作。在该系统中,微控制器的功能是按照设定的程序接收键盘设定值来控制步进电机的运行,同时还具有串行通讯的功能。收到键盘输入信号后,P1.0,P1。1和P1.2提供定时脉冲来控制步进电机,以控制步进电机的运行。系统使用软件完成脉冲分配。根据应用系统的需要,改变步进电机的控制方式灵活方便。通过发送两个控制字的时间间隔来确定步进电机的一步时间。步进电机驱动电路如图所示图1。三相六拍系统控制模型如表1所示。8279专用芯片用于实现键盘与微控制器AT89S51之间的连接。

AT89S51 ALE可以与8279 CLK引脚连接作为8279的外部时钟脉冲信号输入。脉冲信号频率不固定,但8279不需要时钟频率固定,因此,这种安排是有意义的。但应该注意的是,对于MCS-51微控制器,ALE脉冲频率通常是振荡频率的六分之一,这是ALE的最高频率。通过8279时钟命令字节编程的应用,8279可以将来自CLK引脚的脉冲频率分频为8279内部工作的100KHz内部时钟。如果振荡器频率为12MHz,则分频应为20.解码电路如下。

(1)8279解码电路

对于8279件选择的解码电路,可以根据电路的实际地址分配进行设计。

(2)键盘,扫描显示解码器

设置键盘/显示设置命令字的编程。8279可以扫描键盘或显示器。显示器使用4-16线解码器,如74 LS154。键盘使用3-8解码器,如74 LS138。在这个系统中,只有八个显示器,显示器和键盘可以共用一个3-8解码器。但是,应该注意键盘的扫描列必须是低电平,所以我们应该选择所选的结束(Y0-Y7)作为74 LS138的低电平。

74 LS138输出显示器的位选择信号,电流值太小,不能点亮LED显示器。系统采用共阴极LED BS202,因此位驱动器选择开路集电极(OC)同相输出门72LS07和段信号由两个同相输出功率驱动器75491提供。有8个5.1k上拉电阻,用于保证输出高电平,使LED有足够的亮度。

按下某个键时,8279测量按下的键并延迟10 ms,然后确认已按下该按钮。当8279识别按键时,它将键值放入FIFO寄存器中。此时,FIFO存储器不为空。只要FIFO存储器不为空,则IRQ处于高电平。但AT89S51 INTO或INT1中断是低电平或下降请求。在连接到AT89S51 INTI之前,应该反转IRQ。当微控制器读取FIFO的内容时,IRQ返回低电平。如果在FIFO存储器中没有读取密钥值,则使IRQ处于高电平并向MCU发送中断。

第三节系统软件开发

AT89S51在设计中用作处理器,因此可以使用MCS51编程语言,包括ASM51编译语言和C51语言,而这两种语言各有特色。汇编语言更接近机器语言,用于编写与系统硬件相关的程序,如访问I / O端口,中断处理程序,实时控制程序,实时通信等。数学程序适用对于C51语言,高级语言可以提高编程效率和应用程序的可靠性。

考虑到汇编语言的特点,整个程序采用ASM51编译语言。AT89S51与以前的80C51不同,后者具有在线调试和下载功能。它由Keil uVersion4.0开发系统提供。也就是说,开发系统可以与AT89S51串行接口通信,并直接进行用户的系统调试。完成调试后,调试的程序将下载到AT89S51。Keil uVersion4.0开发系统提供编译,下载,调试和仿真四个功能,分别由编译器,在线串口下载器,调试器和模拟器实现。Keil uVersion4.0编译器可以直接在Windows操作系统下使用,编译汇编源程序,并生成十六进制文件和列表文件。串行下载器是一个软件程序,允许标准PC串行端口将汇编器下载到闪存程序存储器。调试器使用Windows系统,允许用户使用UART串行接口来调试代码执行。在典型的调试对话框中,调试器提供对芯片上所有外设的访问,单步执行代码执行控制模式和设置断点。模拟器使用Windows系统,AT89s51的所有功能都可以完全模拟。Simulator易于使用,结合许多标准调试功能,包括多个断点,单步和代码执行跟踪功能。系统主程序结构如图所示 允许用户使用UART串行接口来调试代码执行。在典型的调试对话框中,调试器提供对芯片上所有外设的访问,单步执行代码执行控制模式和设置断点。模拟器使用Windows系统,AT89s51的所有功能都可以完全模拟。Simulator易于使用,结合许多标准调试功能,包括多个断点,单步和代码执行跟踪功能。系统主程序结构如图所示 允许用户使用UART串行接口来调试代码执行。在典型的调试对话框中,调试器提供对芯片上所有外设的访问,单步执行代码执行控制模式和设置断点。模拟器使用Windows系统,AT89s51的所有功能都可以完全模拟。Simulator易于使用,结合许多标准调试功能,包括多个断点,单步和代码执行跟踪功能。系统主程序结构如图所示 结合许多标准调试功能,包括多个断点,单步和代码执行跟踪功能。系统主程序结构如图所示 结合许多标准调试功能,包括多个断点,单步和代码执行跟踪功能。系统主程序结构如图所示图2。驱动程序的结构如图3所示。

(2)基于FPGA的步进电机矢量控制系统设计

摘要:在本文中,我们在现场可编程门阵列(FPGA)上实现了步进电机驱动系统,该设计主要基于矢量控制策略。首先,控制系统由MATLAB / Simulink构建,并在Modelsim平台上进行仿真。接下来,生成的软件系统将转换为Verilog HDL代码,并在Altera Cyclone III FPGA上实现。首先通过仿真和实验证明了开发硬件系统的定子电流,验证了矢量控制结构的有效性和性能。之后,显示电机转子的速度响应,以证明外环控制系统和编码器计数器电路的性能。

第一节介绍

由于定位精度高,无累积误差和驱动器成本低,步进电机广泛应用于某些自动化系统。除现代工业的发展外,对步进电机作为驱动系统的精度和高速性能要求越来越高,步进电机的控制方式逐渐发展为闭环控制,采用高效控制器。与开环控制相比,获得更好的性能[1]。

最近,矢量控制广泛应用于感应电动机[2]和永磁同步电动机(PMSM)[3],[4]。由于混合式步进电机在作用机理上类似于永磁同步电机,因此也提出了步进电机矢量控制的理论基础和分析基础[1],[5]。

由于现场可编程门阵列(FPGA)的灵活性和高性能,它已广泛应用于控制器的硬件实现,一些例子是关于PID控制器[6]和模糊控制器[3 ]的设计。]。它也适用于电力电子电路[7],以及永磁同步电动机[3],[4],感应电动机[2],开关磁阻电动机[8]和无刷直流电动机[9]的驱动系统设计。。

在本研究中,我们使用FPGA进行步进电机驱动系统设计,并使用矢量控制策略来调节电流。我们首先在MATLAB / Simulink平台上设计和构建驱动系统[7],并在Quartus II和Modelsim [10]上模拟软件系统。最终的数字硬件系统实际上是在Altera Cyclone III FPGA上实现的。最后,将基于FPGA的系统和功率模块应用于混合式步进电机的电流和速度控制,以显示其有效性和性能。

第二节开发驱动系统的实验装置与建模

A.实验设置

所提出的系统的实验硬件设置如图1所示。它包括FPGA板和电源模块。在FPGA板中,它包括FPGA IC,模数转换器(ADC)和数模转换器(DAC)。在电源板中,有两个H桥电路和两个霍尔电流传感器。此外,还示出了直流电源和混合式步进电机。FPGA芯片用于开发硬件控制系统,包括矢量控制,速度控制和编码器计数器。ADC用于获取霍尔传感器检测到的A相和B相的模拟电流信号。DAC用于输出要检查和比较的受控变量的相应模拟电压信号,这些信号将显示在示波器上。步进电机是混合型,额定电流为2A,直流母线电压为24V。

我们使用名为2s到2e和2e到2s的块来执行转换,其中用于静止到旋转变换,用于旋转到静止变换。在(5)和(6)中,theta;Euml; 是转子位置, d 和 q 是旋转参考变量, 一个 和 b是固定变量。在设计的系统中,我们创建两个查找表来实现正弦和余弦函数,如图3所示。系统基于32位数据格式设计,变量的整数部分和小数部分如图4所示,数学计算采用定点结构。芯片的使用情况如表1所示。此外,我们使用两个名为d和q的PI控制器分别用于A相和B相的电流调节。此外,为了演示外环速度控制的性能,还建立了速度PI控制器,其接受来自编码器的速度命令和速度反馈。对于数字控制系统的设计,内环应具有比外环更快的采样时间。因此,我们将矢量电流控制环路的采样频率设置为20kHz,速度控制环路的采样频率设置为2kHz。

为了用FPGA实现整个驱动系统,我们首先在MATLAB / Simulink中设计系统,然后通过Modelsim进行仿真验证其正确性。最后,我们将它们转换为Verilog HDL代码。硬件系统如图5所示,其中名为HDL协同仿真的块位于中心,带有黄色,是所提出的步进电机矢量控制系统的硬件模型。通过将硬件代码应用于电流和速度控制系统的性能将在下一节中显示。

第三节模拟结果和讨论

使用方波和正弦波形的命令完成模拟,如图4和图5所示。6 -10。首先,为了显示电流调节的性能,将幅度为1A且频率为100Hz的方波应用于电流指令输入。仿真结果如图6所示。接下来,我们将输入更改为幅度为1A且频率分别为100Hz和500Hz的正弦信号。模拟结果如图4和图5所示。7和8。其中,蓝色曲线代表命令,绿色曲线代表响应。除了一点相位滞后和幅度下降之外,输出与命令输入非常匹配。

接下来,我们通过图3和图4展示外环速度控制的模拟结果。9和10。在图9中,它是速度命令10rad / sec的结果,图10是命令200rad / sec的模拟结果。这些模拟结果表明了所设计系统的正确性。所有数字,cmd是命令输入,fb是反馈信号。

第四节实验结果与讨论

根据第II部分设计的硬件控制器,我们在Altera Cyclone II

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。