51单片机的三维平台控制方案

上传人:桔**** 文档编号:491230576 上传时间:2023-10-25 格式:DOC 页数:31 大小:644.50KB
返回 下载 相关 举报
51单片机的三维平台控制方案_第1页
第1页 / 共31页
51单片机的三维平台控制方案_第2页
第2页 / 共31页
51单片机的三维平台控制方案_第3页
第3页 / 共31页
51单片机的三维平台控制方案_第4页
第4页 / 共31页
51单片机的三维平台控制方案_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《51单片机的三维平台控制方案》由会员分享,可在线阅读,更多相关《51单片机的三维平台控制方案(31页珍藏版)》请在金锄头文库上搜索。

1、重庆邮电大学堂下考试答卷基于52单片机的三维平台控制技术方案目 录1系统总体设计思路22系统硬件部分具体实现22.1主控制模块的设计与实现22.2驱动电路的设计与实现52.3显示电路的设计与实现72.4键盘电路的设计与实现82.5测速模块的设计与实现92.6限位反馈电路的设计与实现93.系统软件部分具体实现10附录13附录1:源代码13附录2:单片机控制板原理图27附录3:THB7128驱动板原理图28附录4:单片机控制板元件清单29附录5:THB7128驱动板元件清单301系统总体设计思路本系统采用STC89C52单片机对三维平台上三个步进电机进行控制,初步实现的功能有:系统启动与停止控制,

2、三轴联动,三轴的加、减速控制,三轴正、反转控制,X轴的启动与停止控制、X轴与Y轴的限位控制、三轴的转速检测与显示,最高1/128电流细分等功能,其系统框图如图1.1所示:图1.1 三维平台步进电机控制系统框图2系统硬件部分具体实现2.1主控制模块的设计与实现本设计选用STC89C52单片机作为主控制模块。STC89C52单片机是一种低功耗、高性能CMOS 8位微控制器,具有8K可编程Flash存储器,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,全双工串行口。STC89C52单片机作为主控芯片,在本设计中主要实现以下几个工作:(1)接收矩阵键盘输入的

3、控制信号;(2)输出PWM脉冲控制三轴步进电机工作,包括输出PWM脉冲信号和方向信号; (3)处理给定转速信号和测速反馈转速信号;(4)在八个八段数码管上显示电机的给定转速和实时转速;(5)接收限位反馈并做逻辑判断;主控制器的引脚分配表如表1.1所示:I/0口引脚号对应元件功能输入/输出P0.0P0.73932SB1SB12矩阵键盘输入输入(上拉电阻)P1.0P1.21374HC1383-8译码器控制信号输出P1.34THB7128X轴方向信号输出P1.45THB7128Y轴方向信号输出P1.56THB7128Z轴方向信号输出P1.67限位开关X_1限位信号输入P1.78限位开关X_2限位信号

4、输入P3.010限位开关Y_1限位信号输入P3.111限位开关Y_2限位信号输入P3.515THB7128X轴脉冲输出输出P3.616THB7128Y轴脉冲输出输出P3.717THB7128Z轴脉冲输出输出P2.0P2.72128八个八段数码管数码管段选信号输出XTAL1XTAL21918晶振电路时钟信号输入RST9复位电路复位信号输入P3.2(INT0)12X轴光电编码器转速信号输入P3.3(INT1)13Y轴光电编码器转速信号输入P3.414Z轴光电编码器转速信号输入主控制器原理图,如图2.1.1所示:图2.1.1 主控制器原理图2.2驱动电路的设计与实现驱动电路采用THB712步进电机驱

5、动芯片对三位平台上的三个步进电机进行驱动。THB7128是一款专业的两相步进电机驱动芯片,它内部集成了细分、电流调节、CMOS功率放大等电路,配合外围电路可实现高性能、多细分、大电流的驱动电路。其主要参数和性能指标如下: 单芯片两相细分步进电机驱动; 直接采用单脉冲和方向信号译码控制模式; 双全桥MOSFET驱动,低导通电阻; 可实现正反转控制; 通过3位选择8档细分控制(1,1/2,1/4,1/8,1/16,1/32,1/64,1/128); 最高耐压40V DC; 高输出电流; HZIP19封装; 有复位和使能管脚; 芯片内部有过热保(TSD)和过流检测电路。驱动电路原理图如图2.2.1所

6、示:图2.2.1 驱动电路原理图驱动器细分设定(M1、M2、M3)如表2.2.1所示。表2.2.1 驱动器细分设定M1M2M3细分数LLL1HLL1/2LHL1/4HHL1/8LLH1/16HLH1/32LHH1/64HHH1/1282.3显示电路的设计与实现本设计采用八个八段数码管实现转速显示功能,其中高4位数码管为给定转速显示,通过编程实现X、Y、Z三轴转速循环显示,低4位数码管为测速反馈的转速显示,显示方式同高4位。STC89C52单片机内部采用查表法对转速信号进行数值处理,通过P2.0P2.7口输出段选信号,通过P1.0P1.2输出3路位选信号到74HC138中,通过3-8译码器对八个

7、八段数码管进行选择。具体显示模块的硬件电路如图2.3.1所示:图2.3.1 显示模块的硬件电路2.4键盘电路的设计与实现本设计中的键盘电路采用“4*4”矩阵键盘,采用键盘扫描的方式对按键信号进行捕获,并输入到STC89C52单片机的P0口中。具体键盘功能如表2.4.1所示。表2.4.1 矩阵键盘功能L1L2L3L4H4系统启动系统停止X轴启动X轴停止H3X轴加速X轴减速X轴减速X轴减速H2Y轴加速Y轴减速Y轴减速Y轴减速H1Z轴加速Z轴减速Z轴减速Z轴减速2.5测速模块的设计与实现本设计采用E6B2-CWZ6C光电编码器对三轴步进电机的转速进行实时检测,并反馈到单片机中用作转速的实时显示。E6

8、B2-CWZ6C光电编码器有以下特点: 对应电源电压DC 524V; 外径40具备2000P/R的分辨率; 具备使Z相对简单化的原点位置显示功能; 实现轴负重、径向30N、推力相20N; 附有逆接、负荷短路保护回路,改善了可靠性。E6B2-CWZ6C的输出方式为NPN集电极开路输出方式,共有红、白、橙三路转速信号输出,本设计中只采用其一路测速信号输入到单片机的外部中断口或T1计数器外部脉冲输入端进行转速检测。E6B2-CWZ6C内部结构如图2.5.1所示:图2.5.1 E6B2-CWZ6C内部结构2.6限位反馈电路的设计与实现限位开关工作原理是,当三维平台没有接近限位开关时,限位开关输出为高电

9、平;当三维平台接近限位开关时,限位开关输出为低电平;利用单片机I/O口去捕获限位开关输出电平,当限位开关输出为低电平时,控制电机方向信号,使电机反转。本设计中限位开关是采用LJ8A3-1-Z型,实物如图2.6.1所示。图2.6.1 限位开关实物图3.系统软件部分具体实现STC89C52单片机内部共有三个定时器/计数器资源分别是T0、T1、T2,两个外部中断输入口INT0和INT1,本设计中单片机的内部资源分配如表3.1所示。表3.1 单片机内部资源分配:内部资源工作模式功 能T016位计数器接收X轴脉冲输入T116位定时器记50ms时间作为转速计算的参考T216位定时器输出可调PWM脉冲信号I

10、NTO外部中断接收Y轴脉冲输入INT1外部中断接收Z轴脉冲输入系统工作程序流程图如图3.1所示:图3.1 系统工作程序流程图转速检测模块程序流程图如图3.2所示:图3.2 转速检测模块程序流程图限位检测模块程序流程图如图3.3所示:图3.3 限位检测模块程序流程图附录附录1:源代码#include#include /*I/O口分配*/sbit cp_x=P35; /驱动脉冲信号输出xsbit cp_y=P36; /驱动脉冲信号输出ysbit cp_z=P37; /驱动脉冲信号输出zsbit fx_x=P13; /x轴方向信号sbit fx_y=P14; /y轴方向信号sbit fx_z=P15

11、; /z轴方向信号sbit x_xianwei1=P16; /x轴限位sbit x_xianwei2=P17; /x轴限位sbit y_xianwei1=P30; /y轴限位sbit y_xianwei2=P31; /y轴限位sbit LHJ_A = P10; /74HC138(3-8)译码器输入控制信号线sbit LHJ_B = P11;sbit LHJ_C = P12;sfrT2MOD=0xC9; /T2定时器工作模式unsigned char x_speed=8,y_speed=8,z_speed=8; /给定x,y,z三轴初始化转速unsigned char count_x=0,cou

12、nt_y=0,count_z=0; /记录三轴给定脉冲数变量unsigned int collect_x=0,collect_y=0,collect_z=0;/三轴测速脉冲数存储变量unsigned char t1_flag=0,t2_flag=0,t3_flag=0,t4_flag=0; /定时器T1 10ms标志位unsigned int x_tmpdate8=0,0,0,0,0,0,0,0;/定义数组变量unsigned int y_tmpdate8=0,0,0,0,0,0,0,0;unsigned int z_tmpdate8=0,0,0,0,0,0,0,0;code unsigned

13、 char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /共阴数码管 0-9 a-f 表/*数码管位选*/#define SMG_1 LHJ_C=0;LHJ_B=0;LHJ_A=0/译码器的输入脚,全0选择第一位数码管。#define SMG_2 LHJ_C=0;LHJ_B=0;LHJ_A=1/译码器的输入脚,001选择第二位数码管。#define SMG_3 LHJ_C=0;LHJ_B=1;LHJ_A=0#define SMG_4 LHJ_C=0;LHJ_B=1;LHJ_A=1#define SMG_5 LHJ_C=1;LHJ_B=0;LHJ_A=0#define SMG_6

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号