# MaxXYHiSpd **Repository Path**: allenembedlee/MaxXYHiSpd ## Basic Information - **Project Name**: MaxXYHiSpd - **Description**: 使用DDA算法进行XY轴2轴插补, 脉冲引脚+方向引脚控制驱动器输出 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 18 - **Created**: 2024-03-27 - **Last Updated**: 2024-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MaxXYHiSpd #### 介绍 使用DDA算法进行XY轴2轴插补, 脉冲引脚+方向引脚控制驱动器输出. DDA算法的好处是可以轻松做多轴插补, 哪怕是6轴或是100轴, 都一样的写法. 只要你的驱动芯片速度够用. #### 软件架构 本驱动程序是我从第一版本的项目文件中提取而出,提取出来以后并没有额外再次测试(之前项目中已经长期使用). 本程序在GCC编译器下使用C++编写, 如果你使用C语言, 只要把类(Class)里面的函数提取出来即可. #### 使用说明 **//定义一个电机实例 MOTORZ1** ``` MaxXYHiSpd MOTORXY; MOTORXY.begin( TIM1,1000,PIN_X_Pls,PIN_X_Dir,PIN_Y_Pls,PIN_Y_Dir,OUTPUT,OUTPUT,LOW ); ``` **//设置电机速度(1000转/分钟)** `MOTORXY.speed(1000);` **//使能电机加减速功能** `MOTORXY.EnRamp(true);` **//设置加减速长度(300脉冲)** `MOTORXY.RampLength(300);` **//设置电机的最小速度(30转/分钟)** `MOTORXY.MinSpeed(30);` **//重要:将scan()函数放入定制器1的中断函数中,才能自动输出脉冲** ``` void MAX_TIMER1_ISR(void) { MOTORXY.scan(); } ``` **//电机移动函数** **//XY轴自动插补运行到坐标(1500,3000)处,并自动加减速** `MOTORXY.MoveTo(1500,300); `