marlin 多个步进电机的驱动没有用定时器比较外设,
是用普通的定时器

stm32 主要有两个参数调定时器运行频率

1.Prescaler
2.Period

上面两个参数能调电机运行速度

marlin 是用的是bresenham算法驱动步进电机的

/ Bresenhamdemo.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//

#include
#include
#include<Windows.h>
int step_even_count; // 步数计数
int step_x, step_y, step_z; //各轴输出的步数 ΔY
int count_x, count_y, count_z;//各轴的Pi
int step_completed;//步数计数器

int step_completed_x;
int step_completed_y;
int step_completed_z;
int main()
{
step_completed_x=0;
step_completed_y=0;
step_completed_z=0;
step_x = 10;
step_y =10;
step_z = 4000;
step_even_count = max(step_x, step_y);
step_even_count = max(step_z, step_even_count);//取各轴最大值作为X(ΔX)
count_x = -(step_even_count >> 1);//-ΔX/2 ΔX➗2,后边所有数据都是除2处理
count_y = count_x;
count_z = count_x;
for (; ; )
{
// put your main code here, to run repeatedly:
// ΔX都是一致的
// < 0 Pi + ΔY
// > 0 Pi + ΔY - ΔX
//并且应该注意到 P1 = ΔY - ΔX/2
while (step_completed < step_even_count)
{
count_x += step_x; //计算小于0 的情况 = Pi + ΔY
if (count_x > 0) //Pi >0
{
step_completed_x++;
printf("++++++++x =%d \r\n", step_completed_x);
//输出一个脉冲
count_x -= step_even_count; //由于Pi + ΔY已经计算,此处直接减去ΔX即可

         printf("--------x=%d    \r\n", step_completed_x );}count_y += step_y;if (count_y > 0){step_completed_y++;printf("++++++++y==%d\r\n", step_completed_y);count_y -= step_even_count;printf("--------y==%d\r\n", step_completed_y);}count_z += step_z;if (count_z > 0){step_completed_z++;printf("++++++++z  ==%d\r\n", step_completed_z);count_z -= step_even_count;printf("--------z==%d\r\n", step_completed_z);}step_completed += 1;}while (1);
}

}

// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件

电机驱动算法跟代码跑得快和慢有很大关系,
如果mcu 跑得非常慢的话,就出现电机不动,电机转动很慢的情况。

marlin 多轴电机驱动相关推荐

  1. abb外部轴零位校准_RobotStudio软件:机器人自定义行走轴配置与仿真

    概述 很多时候由于安装场地限制的原因,使用ABB机器人厂商提供的标准行走轴并不能满足系统集成的需求.这个时候就需要自定义设计机器人行走轴,对机器人生产线进行仿真时就同样需要使用自定义设计的行走轴. R ...

  2. RobotStudio软件:机器人自定义行走轴配置与仿真

    目录 概述 行走轴模型拆分 行走轴模型导入仿真软件 创建行走轴机械装置 外部轴配置向导插件安装 虚拟机器人系统创建 行走轴系统配置 机器人安装到行走轴 行走轴运动控制 本文已经首发在个人微信公众号:工 ...

  3. 打造新一代计算平台,STEPVR将在2022开启元宇宙“大门”

    元宇宙是虚拟的现实世界,也是新一代互联网.这是继PC.移动端带来的二维互联网体验之后,人们将通过元宇宙"大门"--新的计算硬件终端,进入元宇宙三维互联网获得前所未有的五感交互体验, ...

  4. 3D打印机Marlin固件双Z轴设置

    3D打印机Marlin固件双Z轴设置 在3D打印机Marlin固件的最新版本2.1.1中,设置双Z轴和老版本有一些改动.记录一下如何在最新版本的Marlin固件中设置双Z轴. 以MKS GEN_L V ...

  5. DRV8825步进电机驱动控制模块以及双轴平台

    简 介: 实验研究了基于TI公司的DRV8825不仅电机驱动芯片模块,并利用它与原来存在的X-Y的平台构建了一个可以自动测量的平台 . 关键词: DRV8825,X-Y平台 ■ DRV8825简介   ...

  6. xlinx项目之基于zynq的多轴伺服电机驱动控制

    现代数控机床多使用伺服电机系统,随着数控机床的发展,对伺服系统提出了很多不一样的要求,伺服系统只有不断研发和创新,才能满足数控机床的发展需求. 高精度数控机床要求具备比较好的定位精度和加工精度,要求伺 ...

  7. MKS MONSTER8 V1.0使用说明书(基于Marlin 2.0.X固件配置Voron 2.4)

    广州谦辉信息科技有限公司 (基于Marlin 2.0.x 固件配置 Voron 2.4) 创客基地QQ群:489095605 232237692 邮箱:Huangkaida@makerbase.com ...

  8. 3D打印机DIY之三------Arduino开发环境构建和Marlin固件配置

    一.Arduino开发环境 1.搜索Arduino IDE下载安装即可. 2.使用VS code开发Arduino Arduino IDE很简单,很多功能都没有,使用起来很不方便.因此建议使用Visu ...

  9. 组装肩部带有减速器双轴机械臂组装与调试

    ➤ 00背景 在 增加了机械爪的双轴机械臂 安装调试之后, 发现进行平顺控制效果不好 ,因此在原来的基础上进行了如下的改动: 肩部和肘部的角度传感器采用了: 角度编码器 ST-3806-15-RS 读 ...

  10. 双轴机械臂调试:步进电机42HS348E,BH32角度传感器,MCU:STC8H1K28

    ■ 前言 这款双轴机械臂是应用于实验室中进行自动样品转换的执行机构.为了能够在一定范围内将试剂瓶(试管) 完成自动搬运,需要完成对样品的抓取,提升和放下.水平移动(二维) 等功能.使用带有肘关节.肩关 ...

最新文章

  1. python 连续输出日期_我想生成连续的日期
  2. (每日一题)P3312 [SDOI2014]数表(经典莫比乌斯反演 + 树状数组维护离线询问)
  3. 【转】CreateWindowEx异常原因汇总
  4. php Function split() is deprecated 的解决办法(转)
  5. java 安卓蓝牙程序_求Java大神帮忙,简单修改下安卓蓝牙串口输出程序代码!!急...
  6. 创建ASPState数据库
  7. 【微软黑科技一周概览】
  8. 开源视频平台:ViMP
  9. 可以在电脑上在线录制视频GIF的软件,不需要下载安装
  10. WPS JS 宏搜索带颜色的字的笔记
  11. 如何下载B站高清视频
  12. python 微商城_微商城是自己开发好还是用第三方平台好?
  13. hutool的BeanUtil
  14. [abc] Placing Rectangles
  15. java mongodb gridfs_MongoDB-4 GridFS 文件存储
  16. 验证中文和英文姓名 正则表达式
  17. php卡片式,卡片式设计的优点和不适用性
  18. 找出游戏的获胜者(java)
  19. 套接字 I/O 模型 WSAEvent
  20. CF633C Spy Syndrome 2(字典树+dp)

热门文章

  1. cpu多开测试软件,游戏多开CPU优化工具
  2. 函数重载 overload
  3. 质造未来,首届腾讯WeTest技术交流开放日成功举办
  4. 两阶段最小二乘法原理_两阶段最小二乘法第一阶段为什么加入原模型外生变量...
  5. 【PS技能+】简单几步教会你使用PS制作GIF动图
  6. office 2010图标出现异常时的解决办法
  7. Excel论文画折线图
  8. 配置项目构建完成后文件移动---- Jenkins自动化部署学习笔记(三)
  9. 《财富自由子路》李笑来
  10. 非root用户安装或升级CUDA和CUDNN版本