基于80S51单片机同时对X-Y轴两个步进电机进行精密控制的实现
- 格式:doc
- 大小:28.50 KB
- 文档页数:5
基于MCGS的51系列单片机控制步进电机的设计作者:贺敬来源:《山东工业技术》2015年第03期摘要:介绍了MCGS组态软件和80C51单片机的特点。
并以基于80C51单片机设计的步进电机控制系统为例,详细阐述了开发基于MCGS的80C51单片机驱动程序的方法和步骤,并简单介绍了80C51的程序设计,最后给出了测试情况。
在实际应用中取得了良好效果。
关键词:MCGS;单片机;步进电机1 引言步进电机是实现电脉冲信号与角位移或线位移转换的开环控制电机原件。
在非超负荷的情况下,电机的转速只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。
当步进电机驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转过一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制输入脉冲的频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
2 系统总体方案本设计将系统分为上位机和下位机两部分以实现预期的控制效果。
下位机部分是以89C51单片机为主要控制核心,步进电机驱动电路为外设的控制系统,通过对单片机进行编程实现电机的启停、正反转和调试。
上位机监控系统使用MCGS组态软件开发,用户可以通过可视化见面对步进电机进行控制,本系统拥有操作简单,易于上手的特点。
虽然MCGS本身提供了大量设备的驱动程序,但是对于特殊设备仍然没有固定的程序模块。
因此,开发者可以利用MCGS提供的可扩充接口规范和开发工具包来开发自己需要的设备驱动构件。
实现上位机中MCGS与单片机进行通讯。
(1)最小系统。
89C51单片机最小系统,就是使单片机正常运行的最低配置:它有一系列模块组成。
#include "reg52.h"#define GPIO_MOTOR1 P2#define GPIO_MOTOR2 P0sbit K1=P3^1;sbit K2=P3^0;sbit K3=P3^2;sbit K4=P3^3;sbit K=P1^7;sbit S1=P1^3;sbit S2=P1^2;sbit S3=P1^1;sbit S4=P1^0;unsigned char code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //反转unsigned char code FFZ[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //正转unsigned char Direction1,Direction2,Speed,y;void Delay(unsigned int t);void Motor();void main(void){unsigned char i,j,a;Speed=30;y=5;j=1;a=1;K=0;while(1){if((K1==0)&&(j==1)){Delay(1);if((K1==0)&&(j==1)){Direction1=1;j=0;}while((i<200)&&(K1==0)){Delay(1);i++;}i=0;}if((K1==0)&&(j==0)){Delay(1);if((K1==0)&&(j==0)){Direction1=3;j=1;}while((i<200)&&(K1==0)){Delay(1);i++;}i=0;}if((K2==0)&&(j=1)){Delay(1);if((K2==0)&&(j=1)){Direction1=2;j=0;}while((i<200)&&(K2==0)){Delay(1);i++;}i=0;}if(K3==0){Delay(1);if(K3==0){Speed=Speed+y;if(Speed>=55){Speed=55;}}while((i<200)&&(K3==0)){Delay(1);i++;}i=0;}if(K4==0){Delay(1);if(K4==0){Speed=Speed-y;if(Speed<=5){Speed=5;}}while((i<200)&&(K4==0)){Delay(1);i++;}i=0;}if((S1==0)&&(a==1)){Delay(1);if((S1==0)&&(a==1)){Direction2=1;a=0;}while((i<200)&&(S1==0)){Delay(1);i++;}i=0;}if((S1==0)&&(a==0)){Delay(1);if((S1==0)&&(a==0)){Direction2=3;a=1;}while((i<200)&&(S1==0)){Delay(1);i++;}i=0;}if((S2==0)&&(a=1)){Delay(1);if((S2==0)&&(a=1)){Direction2=2;a=0;}while((i<200)&&(S2==0)){Delay(1);i++;}i=0;}if(S3==0){Delay(1);if(S3==0){Speed=Speed+y;if(Speed>=55){Speed=55;}}while((i<200)&&(S3==0)){Delay(1);i++;}i=0;}if(S4==0){Delay(1);if(S4==0){Speed=Speed-y;if(Speed<=5){Speed=5;}}while((i<200)&&(S4==0)){Delay(1);i++;}i=0;}Motor();}}void Motor(){unsigned char i;for(i=0;i<8;i++){if(Direction1==1)GPIO_MOTOR1 = FFW[i];if(Direction1==2)GPIO_MOTOR1 = FFZ[i];if(Direction1==3)GPIO_MOTOR1 = 0xff;if(Direction2==1)GPIO_MOTOR2 = FFW[i];if(Direction2==2)GPIO_MOTOR2 = FFZ[i];if(Direction2==3)GPIO_MOTOR2 = 0xff;Delay(Speed);}}void Delay(unsigned int t) {unsigned int k;while(t--){for(k=0; k<20; k++){ }}}。
目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (4)2.3功能模块的设计与实现 (5)第3章结果测试及分析 (8)3.1结果测试 (8)3.2结果分析 (8)参考文献 (9)附录A (10)附录B(电路原理图) (15)附录C (元件列表) (16)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容与要求,要实现步进电机的工作过程,步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出位移增量和输入数字脉冲对应的驱动器件。
首先要给步进电机送入脉冲信号来启动,然后在已经设定好的步进电机的正反转及三种节拍工作方式中切换,步进电机的三种节拍工作方式分别为单四拍、双四拍、单双八拍。
步进电机的驱动需要时钟脉冲信号,改变单片机输出脉冲信号来实现的。
改变各脉冲的先后顺序,可以改变电机的旋转方向和工作方式。
步进电机工作方式的转换则通过键盘控制,可以进行启动、停止、正转、反转及三种节拍工作方式的选择。
键盘的控制是在程序中已经给给每个键设置相应的功能,扫描键盘判断是否有键按下,若有,则执行与之对应的功能;若没有键按下,则保持正在运行的状态不变。
1.2 设计思路采用C语言程序设计的方法结合硬件电路设计方法,利用Lab6000实验箱上已有芯片来实现步进电机的工作(包括正转、反转、单四拍、双四拍、单双八拍的节拍工作方式)。
1)提出方案首先,实现步进电机的启动与停止;其次,实现步进电机的正反转;再次,实现在正转时可选择三种节拍工作方式;最后,实现在反转时可选择三种节拍工作方式。
2)方案论证P1口接步进电机的A~D口,键盘接通片选信号,扫描键盘,由于本程序设定固定按键为功能键,所以扫描键盘时,将使用到的按键的相应列扫描码设置为低电平,如果有键按下,74LS374输出的低电平经过按键被接到74LS245的端口上,这样从74LS245读回的数据就会有低位,根据74LS374输出的列信号和74LS245读回的行信号,就可以判断哪个键被按下。
基于单片机的两轴步进电机协同控制学院自动化学院专业自动化班级学号姓名指导教师负责教师沈阳航空航天大学2011年6月沈阳航空航天大学毕业设计(论文)摘要鉴于单片机具有优异的性能价格比、较高的集成度和较小的体积以及很强的控制功能和低电压、低功耗等优点,用它作为控制核心的产品越来越多,广泛应用于机电控制、智能仪器仪表以及人类生活中。
本次设计采用单片机作为核心元件,设计了两轴步进电机协同控制的硬件系统。
该系统按功能可分成四大模块;即输入模块,控制模块,被控模块以及实时监控显示模块。
其中,控制模块的控制方案选用了圆弧插补控制算法控制两轴步进电机协同工作;输入模块采用键盘输入方式,利用键盘分别控制想对应的状态,达到不同象限的不同运行模式;被控模块主要采用了两个四相步进电机,利用步进电机精确度高,没有积累误差的优点来实现所需要的运行轨迹;由于本次试验并没有真正的做二维工作平台,因此增加一个实时监控模块来监控步进电机的运行状态,更加直观的观察到步进电机的运行轨迹,判断是否符合设计要求。
本次设计由于采用了大量成熟的元器件,因此所设计的系统具有价格低廉,易于实现,可大量生产的优点。
关键词:单片机,机电控制,圆弧插补,控制系统基于单片机的两轴步进电机协同控制Two-axes Step Motors Cooperative Control Based on MSC-51AbstractIn view of the fact that the Microcontroller has the cheap price and good controlling function、the high integration rate and the small volume as well as low voltage、low power loss. It is to be the controlling core of the product more and more. Applying widely in the mechanical and electrical controlling、the intelligent instrument measuring appliance and the humanity lives.The design uses a microcontroller as a core component, the design of two-axis stepper motor control hardware together. The system according to the functions can be divided into four modules; the input module, control module, was charged with the module and real-time monitoring of the display module. Among them, the control module of the control scheme used a circular interpolation control two-axis stepper motor control algorithm to work; input module uses keyboard input methods, like using the keyboard, respectively, corresponding to the state control, to different quadrants of the different operating modes; charged module uses two four-phase stepper motors, stepper motors using high precision, there is no accumulation of errors required to achieve the benefits of running track; Since this test does not really do the two-dimensional work platform, thereby increasing a real-time monitoring module to monitor the operational status of the stepper motor, a more intuitive observation to the stepper motor trajectory, to determine compliance with design requirements.Since this design uses a large number of mature components, so the design of the system is inexpensive, easy to implement, can the advantages of mass production.Key word: Microcontroller, Machinery and electrical controlling, the circular running,the controlling system沈阳航空航天大学毕业设计(论文)目录1 绪论 (1)1.1 简介 (1)1.2 课题研究的内容及要求 (3)1.2.1 课题的主要研究的内容 (3)1.2.2 本系统的功能 (3)1.3 本文的主要内容 (4)2 单片机控制两轴步进电机协同控制硬件设计 (5)2.1 单片机控制系统总体设计方案 (5)2.2 单片机的最小系统 (5)2.2.2存储结构 (6)2.2.3中断系统 (7)2.2.4定时/计数器工作方式 (9)2.2.5 I/O口的结构及功能 (10)2.2.6 其它主要管脚介绍 (11)2.3 键盘输入模块 (12)2.3.1键盘介绍 (12)2.3.2键盘设计方案 (12)2.4 被控模块 (13)2.4.1步进电机选择 (13)2.4.2 步进电机驱动设计 (14)2.5 显示模块 (15)3 系统软件设计 (17)3.1 系统主程序 (17)3.2 显示子程序 (18)3.3 键盘按键控制步进电机控制子程序 (19)3.4 两轴步进电机协同工作的控制方案 (20)4 联合调试 (25)4.1 联合调试说明 (25)基于单片机的两轴步进电机协同控制4.2 联合调试结果 (25)4.3 结论 (27)参考文献 (28)致谢 (29)附录I 程序清单 (30)沈阳航空航天大学毕业设计(论文)1 绪论1.1简介随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时器/计数器和多种I/O接口集成在一块芯片上,形成了芯片级的计算机,而单片机就是这种微型计算机。
基于80S51单片机同时对X\Y轴两个步进电机进行精密控制的实现摘要:以单片机为核心,通过硬件和软件相结合,用自动和手动的方法控制步进电动机完成X方向和Y方向的移动控制,系统硬件包括键盘输入电路、单片机主控电路、显示电路、和驱动电路和两个步进电机。
主控电路是使用89S51单片机,从P3口键盘输入,P1口输出控制步进电动机的脉冲序列,P0和P2口输出显示信号。
显示电路使用共阳数码管实现从键盘设置的坐标参数的显示。
驱动电路和主控制电路间使用光耦合器实现隔离。
从单片机P1口输出的脉冲序列通过达林顿管TIP122的放大输出到X方向和Y方向的两个步进电机,从而实现系统在X和Y两个方向的吊装控制。
关键词:89S51;步进电机;达林顿管Abstract:Take the monolithic integrated circuit as the core, unifies through the hardware and the software, step-by-stepped the electric motor with automatic and the manual method control to complete X direction and the Y direction movement control, the system has included the keyboard entry electric circuit, the monolithic integrated circuit master control electric circuit, the display circuit and the actuation electric circuit and two stepping motors. The master control electric circuit uses 89S51 monolithic integrated circuit, from P3 mouth keyboard entry, P1 mouth output control step-by-steps the electric motor pulse sequence, P0 and P2 mouth output demonstration signal. The display circuit use altogether positive numerical code tube realization the coordinates parameter demonstration which establishes from the keyboard. Actuates between the electric circuit and the master control electric circuit uses the optical coupler to realize the isolation. Outputs from the monolithic integrated circuit P1 mouth output pulse sequence through the Darington tube TIP122’s enlargement to X direction and Y direction two step-by-steps the electrical machinery, thus realization system in X and Y two direction hoisting controls.Key words:89S51;stepping motor;drington tube引言随着经济的发展,步进电机在车床、机器人等精密控制领域的使用越来越广泛,而实现更准确、更智能、更安全高效的控制步进电机是当前最迫切需要。
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
摘要步进电机是一种进行精确步进运动的机电执行元件,它广泛地用于工业机械的数字控制。
为使系统的可靠性,通用性,可维护性以及性价比最优,根据控制系统功能要求及步进电动机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电动机的开环控制系统。
控制系统通过单片机存储器、I/O口、中断、键盘、LED显示器的扩展,步进电动机的环形分配器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计。
实现了四相步进电动机的正反转、急停等功能。
为实现单片机控制步进电动机系统在数控机床上的特殊应用,系统设计了两个外部中断,以实现步进电动机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动。
关键词:8051单片机;四相步进电动机;控制Realizes based on single chip microcomputer 51 the stepping motor the control systemABSTRACTThe stepping motor is a precision electromechanical incremental actuator.It widely uses the digital approach for control of industrial machines.For dependable,in general use that make system,can support sex an sex price ratio superior,divide the line according to control system funcion request and a function for entering electricmotor applying environment,making sure designing system hardware with softwares, from but realizes to base on single chip microcomputer 8051 of four mutually the step enters the dynamoelectric opening the wreath the control the system.The control system passes the single saving maching,I/O in a machine, break off,the keyboard, the display of LED expands, a wreah for entering elecreic motor form assigns the machine,drive and the design of its protection electric circuit, man-machine connection electric circuit,interrupt system and reset circuit, single-voltage driver circuit and so on,realizes four mutually the step enters the electric motor positive and negative to turn, nasty stop to wait the function.For realizing single chip microcomputer control a special application for entering electric motor system in severalth contorling machine bed, the system designed two exteriors breaks off,toing realize a the step enters electric motor is in a certain time of again and again positive and negative turn the function, also count namely the knife that control the machine bed is automatic to enter to the sport.KEYWORD:single chip microcomputer 8051;four-phase stepper motor ;control第一章绪论1.1 课题背景当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。
单片机控制双步进电机运动控制的方式单片机控制双步进电机运动控制的方式在现代机电系统中,单片机控制双步进电机运动控制已经变得越来越常见。
这种方式可以使用单片机和双步进电机来控制机械设备的运动,使其更加精准、高效。
在本文中,我们将介绍如何使用单片机控制双步进电机运动控制的方式,以及相关的技术和应用。
一、什么是步进电机?步进电机是一种特殊的电机,其转子位置是由一定的电脉冲信号控制的。
使用者只需要提供一个脉冲信号,就可以让电机转动一定的角度。
因此,步进电机的精度非常高,控制起来也非常方便。
同时,它的结构简单,品质好,价格也相对较低,因此广泛应用于机床、自动化设备、计算机外部设备等领域。
二、单片机是什么?单片机是一种集成了处理器、内存、输入输出和时钟等功能的微型电脑,它具有很强的控制能力和数据处理能力。
由于体积小、功耗低、性能高、可编程的特点,单片机适用于各种各样的控制任务。
在现代机电系统中,使用单片机可以实现更加复杂的控制逻辑和算法,例如PID、自适应控制和神经网络等。
三、双步进电机的原理与结构双步进电机具有较高的精度和重复性,因此被广泛应用于各种运动控制系统中。
它的原理是通过调节电流和电压的方式控制转子的运动。
具体来说,双步进电机是由两个独立的步进电机组成,每个步进电机分别带有两个线圈,每个线圈分别由一对交流供电的绕组组成。
当两个电机同时工作时,可以产生平稳而可控的运动。
四、单片机控制双步进电机的方式单片机控制双步进电机的方式分为两种:基于硬件电路的方式和基于软件的方式。
基于硬件电路的方式是指使用专用的独立集成电路(IC)控制电机的运动,常见的IC芯片有ULN2003和L298N。
在这种方式中,控制电机转动的信号来自单片机的输出口,通过接口电路的变换和放大来驱动电机。
这种方式的优点是结构简单,控制精度高,但是需要大量的硬件电路和操作系统支持。
基于软件的方式是指通过单片机的程序控制电机的运动。
在这种方式中,单片机的程序根据特定的算法生成相应的脉冲信号,并通过驱动电路来控制电机。
基于80S51单片机同时对X\Y轴两个步进电机进行精密控制的实现摘要:以单片机为核心,通过硬件和软件相结合,用自动和手动的方法控制步进电动机完成X方向和Y方向的移动控制,系统硬件包括键盘输入电路、单片机主控电路、显示电路、和驱动电路和两个步进电机。
主控电路是使用89S51单片机,从P3口键盘输入,P1口输出控制步进电动机的脉冲序列,P0和P2口输出显示信号。
显示电路使用共阳数码管实现从键盘设置的坐标参数的显示。
驱动电路和主控制电路间使用光耦合器实现隔离。
从单片机P1口输出的脉冲序列通过达林顿管TIP122的放大输出到X方向和Y方向的两个步进电机,从而实现系统在X和Y两个方向的吊装控制。
关键词:89S51;步进电机;达林顿管Abstract:Take the monolithic integrated circuit as the core, unifies through the hardware and the software, step-by-stepped the electric motor with automatic and the manual method control to complete X direction and the Y direction movement control, the system has included the keyboard entry electric circuit, the monolithic integrated circuit master control electric circuit, the display circuit and the actuation electric circuit and two stepping motors. The master control electric circuit uses 89S51 monolithic integrated circuit, from P3 mouth keyboard entry, P1 mouth output control step-by-steps the electric motor pulse sequence, P0 and P2 mouth output demonstration signal. The display circuit use altogether positive numerical code tube realization the coordinates parameter demonstration which establishes from the keyboard. Actuates between the electric circuit and the master control electric circuit uses the optical coupler to realize the isolation. Outputs from the monolithic integrated circuit P1 mouth output pulse sequence through the Darington tube TIP122’s enlargement to X direction and Y direction two step-by-steps the electrical machinery, thus realization system in X and Y two direction hoisting controls.Key words:89S51;stepping motor;drington tube引言随着经济的发展,步进电机在车床、机器人等精密控制领域的使用越来越广泛,而实现更准确、更智能、更安全高效的控制步进电机是当前最迫切需要。
使用单片机对步进电机进行控制,可以使控制更简单、更精确,并且扩展性更好。
步进电动机工作原理电动机定子上有A、B、C三对磁极,磁极上绕有线圈,分别称之为A 相、B相和C相,而转子则是一个带齿的铁心,这种步进电动机称之为三相步进电动机。
如果在线圈中通以直流电,就会产生磁场,当A、B、C三个磁极的线圈依次轮流通电,则A、B、C三对磁极就依次轮流产生磁场吸引转子转动。
首先有一相线圈(设为A相)通电,则转子1、3两齿被磁极A吸住,转子就停留在第一个位置上。
然后,A相断电,6相通电,则磁极A的磁场消失磁极B产生了磁场,磁极召的磁场把离它最近的2、4两齿吸引过去,停止在第二个位置上,这时转子逆时针转了30°。
再接下去B相断电,C相通电。
根据同样道理,转子又逆时针转了30°,停止在第三个位置上。
若再A相通电,C相断开,那么转子再逆转30°,使磁极A的磁场把2、4两个齿吸住。
定子各相轮流通电一次转子转过一个齿。
这样按A→B→C→A→B→C→A→…次序轮流通电,步进电动机就一步一步地按逆时针方向旋转。
通电线圈每转换一次,步进电动机旋转30°,我们把步进电动机每步转过的角度称之为步距角。
如果把步进电动机通电线圈转换的次序倒过来换成A→C→B→A→C→B→…的顺序,则步进电动机将按顺时针方向旋转,所以要改变步进电动机的旋转方向可以在任何一相通电时进行。
系统结构设计系统设计要求A. 能用单片机控制两台步进电机,实现吊装控制;B. 能实现变速和匀速控制。
系统组成系统硬件包括键盘输入电路、单片机主控电路、显示电路、驱动放大电路以及X方向和Y方向两个步进电机。
主控电路的P3口从键盘接收控制信号,然后对接收到的信号判别和进行对应的运算,从P1口输出对应的脉冲序列,同时从P0和P2口输出显示信号,显示电路完成对具体坐标的显示;脉冲序列通过驱动电路的放大,输出到X和Y 两个方向的步进电机。
从而实现从键盘输入到系统的控制。
硬件电路设计步进电机选择实验步进电机使用的是混合式4相步进电机,其工作电压较低只有3.6V,单步相位,经过软件细分,可以做到单步相位。
步进电机驱动部分由于此步进电机的电流较大1.2A,开始设计时使用了达林顿阵列芯片ULN2003A来驱动,但该芯片单路工作最大电流仅提供0.5A,工作后不久,芯片温度急剧上升,故未采用此方案,而是自己搭建达林顿阵列,选用了TIP122达林顿管,电流可达5A,已完全满足电路的设计要求。
键盘输入部分为了能够进行人机交互,必须有键盘输入系统,考虑到本系统并不需要太多的按键信息,故采用普通的非编码键盘.简单的按键电路,可以实现在按下的时候是高电平。
方案一:用电容消除抖动。
方案二:在单片机程序里用10MS再检测来消除抖动。
主控电路部分系统中的ATMEL 89S51是核心部分,所有的控制算法都由其来完成。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
驱动电路的选择:由于以往很多都是使用ULN2003驱动,所以最先是使用了ULN2003芯进行驱动,但后来发现发热问题很严重,而且工作不稳定,最后实验电路选择了S8050来驱动。
在最后使用大的步进电机时,选择了用光耦合的办法来消除脉冲对单片机的影响。
并且选择使用达林顿管TIP122来驱动。
软件结构设计系统软件设计相对复杂,为了便于调试和系统功能的扩充,采用了子程序模块的办法来编程序,使得程序实现更容易,调试更快捷。
步进电机控制对于相位的步进电机,要实现更高精度的运动,必须对其进行软件细分。
本系统则采用相位步进。
相位的驱动时序为:A-->B-->C-->D-->A相位的驱动时序为:A-->AB-->B-->BC-->C-->CD-->D-->DA-->A程序设计下面是用到的四相八步取值表:(未取反)X轴电机正转表:TAB1:DB 01H,03H,02H,06H,04H,0CH,08H,09HX轴电机反转表:TAB2:DB 09H,08H,0CH,04H,06H,02H,03H,01HY轴电机正转表:TAB3:DB 10H,30H,20H,60H,40H,0C0H,80H,90HY轴电机反转表:TAB4:DB 90H,80H,0C0H,40H,60H,20H,30H,10H(程序在附页)系统测试及误差分析整个系统安装完毕后,在X方向长度为60厘米,Y方向长度为40厘米的测试范围里进行了测试:在自动模式下,误差控制在1厘米范围内。
手动模式下误差控制在5毫米的范围内。
参考文献[1]白驹珩雷晓平. 单片计算机及其应用[M].成都.电子科技大学出版社2003,(5):163.[2]谢自美.电子线路设计.实验.测试[M].武汉:华中科技大学出版社,2000:189.[3]The Control Method of Stepping Motors for Biped-Robot[S],2001.[4]蔡春晓.单片机原理与应用[M].桂林:桂林电子科技大学教学实践部,2005.1~100[5]Electric Direct-drive Stepping Motor for Robots[P], Tokyo, Japan,2004[6]老虎工作室.电路设计与制版——Protel 99入门与提高[M],北京,人民邮电出版社出版[7]黄冰覃伟年黄知超.微机原理及应用[M].桂林.重庆大学出版社.2003.200-300。