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





《51单片机的三维平台控制方案721.pdf》由会员分享,可在线阅读,更多相关《51单片机的三维平台控制方案721.pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 基于52单片机的三维平台控制 技术方案 目 录 1系统总体设计思路.2 2系统硬件部分具体实现.2 2.1 主控制模块的设计与实现.2 2.2 驱动电路的设计与实现.5 2.3 显示电路的设计与实现.7 2.4 键盘电路的设计与实现.8 2.5 测速模块的设计与实现.9 2.6 限位反馈电路的设计与实现.9 3.系统软件部分具体实现.10 附录.13 附录 1:源代码.13 附录 2:单片机控制板原理图.27 附录 3:THB7128 驱动板原理图.28 附录 4:单片机控制板元件清单.29 附录 5:THB7128 驱动板元件清单.30 1系统总体设计思路 本系统采用STC89C52单片机
2、对三维平台上三个步进电机进行控制,初步实 现的功能有:系统启动与停止控制,三轴联动,三轴的加、减速控制,三轴正、反转控制,X轴的启动与停止控制、X轴与Y轴的限位控制、三轴的转速检测与显示,最高1/128电流细分等功能,其系统框图如图1.1所示:STC89C52单片机THB7128THB7128THB7128MMMX轴步进电机Y轴步进电机Z轴步进电机+5V DC+12V DC显示电路矩阵键盘晶振电路复位电路光电编码器光电编码器光电编码器 图1.1 三维平台步进电机控制系统框图 2系统硬件部分具体实现 2.1 主控制模块的设计与实现 本设计选用STC89C52单片机作为主控制模块。STC89C52
3、单片机是一种低功耗、高性能CMOS 8位微控制器,具有8K可编程Flash存储器,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,全双工串行口。STC89C52单片机作为主控芯片,在本设计中主要实现以下几个工作:(1)接收矩阵键盘输入的控制信号;(2)输出PWM脉冲控制三轴步进电机工作,包括输出PWM脉冲信号和方向信号;(3)处理给定转速信号和测速反馈转速信号;(4)在八个八段数码管上显示电机的给定转速和实时转速;(5)接收限位反馈并做逻辑判断;主控制器的引脚分配表如表1.1所示:I/0口 引脚号 对应元件 功能 输入/输出 P0.0P0.7 3932
4、 SB1SB12 矩阵键盘输入 输入(上拉电阻)P1.0P1.2 13 74HC138 3-8译码器控制信号 输出 P1.3 4 THB7128 X轴方向信号 输出 P1.4 5 THB7128 Y轴方向信号 输出 P1.5 6 THB7128 Z轴方向信号 输出 P1.6 7 限位开关X_1 限位信号 输入 P1.7 8 限位开关X_2 限位信号 输入 P3.0 10 限位开关Y_1 限位信号 输入 P3.1 11 限位开关Y_2 限位信号 输入 P3.5 15 THB7128 X轴脉冲输出 输出 P3.6 16 THB7128 Y轴脉冲输出 输出 P3.7 17 THB7128 Z轴脉冲输
5、出 输出 P2.0P2.7 2128 八个八段数码管 数码管段选信号 输出 XTAL1XTAL2 1918 晶振电路 时钟信号 输入 RST 9 复位电路 复位信号 输入 P3.2(INT0)12 X轴光电编码器 转速信号 输入 P3.3(INT1)13 Y轴光电编码器 转速信号 输入 P3.4 14 Z轴光电编码器 转速信号 输入 主控制器原理图,如图2.1.1所示:图2.1.1 主控制器原理图 2.2 驱动电路的设计与实现 驱动电路采用THB712步进电机驱动芯片对三位平台上的三个步进电机进行驱动。THB7128是一款专业的两相步进电机驱动芯片,它部集成了细分、电流调节、CMOS功率放大等
6、电路,配合外围电路可实现高性能、多细分、大电流的驱动电路。其主要参数和性能指标如下:单芯片两相细分步进电机驱动;直接采用单脉冲和方向信号译码控制模式;双全桥MOSFET驱动,低导通电阻0.53onR;可实现正反转控制;通过3位选择8档细分控制(1,1/2,1/4,1/8,1/16,1/32,1/64,1/128);最高耐压40V DC;高输出电流3.3outIA;HZIP19封装;有复位和使能管脚;芯片部有过热保(TSD)和过流检测电路。驱动电路原理图如图2.2.1所示:23456ABCD65432TitleNumberRevisionSizeBDate:2-Jun-2011 Sheet of
7、 File:G:THB7128.DDBDrawn By:VREFC4100pC2104M1M2M3NFANFBC1104VMCLKCWWENOUTIA OUT2A OUT1B OUT2BOSC1VCCOUT1A13NFB8OUT2A11OUT1B9NFA12OUT2B7SGND6VREF5VCC15GND1OSC14CLK3CW/CWW2VM14ENABLE19M318M217M116PGND10U1THB7128123654S1R75KR83K3VREFR110KR210KR310KM1M2M3VCCVCCR110.2/1%R120.2 /1%12345 6 7 8U26N137123 4U
8、3P521R9270R13270R42K7R151KC3471C5471VCCVCCCLKCWW123456J2123456J1CPCPCP-CP-U/DU/DU/D-U/D-FREFRE-OUTIAOUT2AOUT1BOUT2BVMGNDC7100UF/50VC8220UF/50VC9104C6104VCCVM123 4U4P521R14270R161KVCCENFREFRE-D1LEDR53K3Vin3ADJ1+Vout2U5LM317R171K2R183K6C11104R1910KR2010KR2110KR2210KD2IN5819 图2.2.1 驱动电路原理图 驱动器细分设定(M1、M
9、2、M3)如表2.2.1所示。表2.2.1 驱动器细分设定 M1 M2 M3 细分数 L L L 1 H L L 1/2 L H L 1/4 H H L 1/8 L L H 1/16 H L H 1/32 L H H 1/64 H H H 1/128 2.3 显示电路的设计与实现 本设计采用八个八段数码管实现转速显示功能,其中高4位数码管为给定转速显示,通过编程实现X、Y、Z三轴转速循环显示,低4位数码管为测速反馈的转速显示,显示方式同高4位。STC89C52单片机部采用查表法对转速信号进行数值处理,通过P2.0P2.7口输出段选信号,通过P1.0P1.2输出3路位选信号到74HC138中,通
10、过3-8译码器对八个八段数码管进行选择。具体显示模块的硬件电路如图 2.3.1所示:图2.3.1 显示模块的硬件电路 2.4 键盘电路的设计与实现 本设计中的键盘电路采用“4*4”矩阵键盘,采用键盘扫描的方式对按键信号进行捕获,并输入到STC89C52单片机的P0口中。具体键盘功能如表2.4.1所示。表2.4.1 矩阵键盘功能 L1 L2 L3 L4 H4 系统启动 系统停止 X轴启动 X轴停止 H3 X轴加速 X轴减速 X轴减速 X轴减速 H2 Y轴加速 Y轴减速 Y轴减速 Y轴减速 H1 Z轴加速 Z轴减速 Z轴减速 Z轴减速 2.5 测速模块的设计与实现 本设计采用E6B2-CWZ6C光
11、电编码器对三轴步进电机的转速进行实时检测,并反馈到单片机中用作转速的实时显示。E6B2-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 限位反馈电路的设计
12、与实现 限位开关工作原理是,当三维平台没有接近限位开关时,限位开关输出为高电平;当三维平台接近限位开关时,限位开关输出为低电平;利用单片机I/O口去捕获限位开关输出电平,当限位开关输出为低电平时,控制电机方向信号,使电机反转。本设计中限位开关是采用LJ8A3-1-Z型,实物如图2.6.1所示。图2.6.1 限位开关实物图 3.系统软件部分具体实现 STC89C52单片机部共有三个定时器/计数器资源分别是T0、T1、T2,两个外部中断输入口INT0和INT1,本设计中单片机的部资源分配如表3.1所示。表3.1 单片机部资源分配:部资源 工作模式 功 能 T0 16位计数器 接收X轴脉冲输入 T1
13、 16位定时器 记50ms时间作为转速计算的参考 T2 16位定时器 输出可调PWM脉冲信号 INTO 外部中断 接收Y轴脉冲输入 INT1 外部中断 接收Z轴脉冲输入 系统工作程序流程图如图3.1所示:扫描键盘执行init()判断启动键还是停止键按下三轴方向信号初始化定时器T0工作模式设置和初值设置定时器T1工作模式设置和初值设置定时器T2工作模式设置和初值设置开中断显示初始化启动键按下输出PWM脉冲更新I/O输出 图3.1 系统工作程序流程图 转速检测模块程序流程图如图3.2所示:计数器T0中断查表并显示INT1中断collect_y+查表并显示collect_y+INT0中断collec
14、t_x+查表并显示 图3.2 转速检测模块程序流程图 限位检测模块程序流程图如图3.3所示:限位X_1判断fx=fx_xX轴方向信号输出01限位X_2判断fx=fx_xX轴方向信号输出10限位Y_1判断fx=fx_yX轴方向信号输出01限位Y_2判断fx=fx_yX轴方向信号输出10 图3.3 限位检测模块程序流程图 附录 附录 1:源代码#include#include /*I/O口分配*/sbit cp_x=P35;/驱动脉冲信号输出x sbit cp_y=P36;/驱动脉冲信号输出y sbit cp_z=P37;/驱动脉冲信号输出z sbit fx_x=P13;/x轴方向信号 sbit
15、fx_y=P14;/y轴方向信号 sbit fx_z=P15;/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;sfr T2MOD=0 xC9;/T2定时器工作模式 unsigned char x_speed=8,y_speed=8,z_speed=8;/给定x,y,z三轴初始化
16、转速 unsigned char count_x=0,count_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_tmpdat
17、e8=0,0,0,0,0,0,0,0;code unsigned char table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/共阴数码管 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_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 三维 平台 控制 方案 721

限制150内