linux-MDK can电机带导轨

确保接线正确,这个带导轨的电机需要24V的电压

$ ls /dev    //查看端口是什么

$ sudo slcand -o -s6 /dev/ttyACM0 can0    //将端口封装为can0
$ sudo ip link set can0 up                //打开端口

按照电机说明书,按照需要的指令计算检验和:

$ python3 test.py    //计算检验和

速度控制模式常用命令:

cansend can0 001#F6814002BA    //加速度为2,速度为320反转,远离电机
cansend can0 001#F60140023A    //加速度为2,速度为320正转,靠近电机
cansend can0 001#F7F8          //紧急停止,但是速度超过1000时,不建议使用该命令
cansend can0 001#F6000002F9    //让电机以加速度为2停止转动
cansend can0 001#F6000000F7    //让电机立即停止


位置控制模式常用指令:

按脉冲数相对运动

该位置控制模式下,可以控制电机以设定的加速度和速度,运行到指定的位置。

cansend can0 001#FD01400200FA003B    //电机以acc=2,speed=0x140,正向转动20圈(16细分)
cansend can0 001#FD81400200FA00BB    //电机以acc=2,speed=0x140,反向转动20圈(16细分)
cansend can0 001#FD00000400000002    //电机以减速度acc=4停止转动
cansend can0 001#FD000000000000FE    //电机立即停止转动

按脉冲数绝对运动

该位置控制模式下,可以控制电机以设定的加速度和速度,根据脉冲数绝对运行到指定的位置。

cansend can0 001#FE0258020040009B    //当前脉冲数为任意值时,电机以速度600(RPM),加速度2,绝对运行到0x4000。即电机运行完成后,当前脉冲数变为0x4000。

cansend can0 001#FE025802FFC00019    //当前坐标为任意值时,电机以速度600(RPM),加速度2,绝对运行到-0x4000。即电机运行完成后,当前脉冲数变为-0x4000。

cansend can0 001#FE00000400000003    //电机以减速度acc=4停止转动

cansend can0 001#FE000000000000FF    //电机立即停止转动

按坐标值相对运动

注:坐标值即为累加制多圈编码器值。注意:该控制模式下,坐标值会有+15左右误差!建议以“64细分”运行,以减小误差。位置控制模式2,可以控制电机以设定的加速度和速度,根据坐标值相对运行到指定的位置。

比如,当前坐标为0x8000

cansend can0 001#F402580200400091    //电机以速度600(RPM),加速度2,相对运行0x4000。
cansend can0 001#F4025802FFC00091    //电机以速度600(RPM),加速度2,相对运行-0x4000。

cansend can0 001#F4000004000000F9    //电机以减速度acc=4停止转动
cansend can0 001#F4000000000000F5    //电机立即停止转动

按坐标值绝对运动

注:坐标值即为累加制多圈编码器值。注意:该控制模式下,坐标值会有+15左右误差!建议以“64细分”运行,以减小误差。

位置控制模式3,可以控制电机以设定的加速度和速度,根据坐标值绝对运行到指定的位置。

cansend can0 001#F502580200400092    //电机以速度600(RPM),加速度2,绝对运行到0x4000。
cansend can0 001#F5025802FFC00011    //电机以速度600(RPM),加速度2,绝对运行到-0x4000。

cansend can0 001#F5000004000000FA    //电机以减速度acc=4停止转动
cansend can0 001#F5000000000000F6    //电机立即停止转动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/453319.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】tcp_transmit_skb

一、__tcp_transmit_skb讲解 这个函数 __tcp_transmit_skb() 是 Linux 内核中 TCP/IP 协议栈的一部分,负责处理传输控制协议(TCP)数据包的发送。具体来说,这个函数将 TCP 头部添加到一个没有任何头部信息的 socket buffer (sk_bu…

食药物质创新 赋能中式滋补健康产业发展交流会圆满结束

3月5日,“食药物质创新 赋能中式滋补健康产业发展交流会”在山东国际会展中心召开。本次会议由中国生物发酵产业协会主办,浙江科技大学、未名太研生物科技(绍兴)有限公司承办,汇乐达供应链服务(常州)有限责任公司支持。本次论坛旨在加强行业创…

C语言--从零开始的扫雷游戏

C语言--从零开始的扫雷游戏 1. 游戏说明2. 总体代码3. 详细讲解3.1 菜单部分3.2 游戏主体部分3.2.1 总体分析3.2.2 棋盘初始化3.2.3 棋盘展示3.2.4 设置地雷3.2.5 扫雷阶段3.2.6 统计雷个数的代码3.2.7 使用迭代的方式进行展开:3.2.8 扫雷部分主体代码 4. 总结 1. 游…

SpringBoot(源码解析 + 实现底层机制)

文章目录 1.搭建SpringBoot底层机制开发环境1.创建maven项目2.使用Git管理项目(可以略过)1.创建一个github存储库2.克隆到本地,复制文件夹的内容3.粘贴到idea项目文件夹,将其作为本地仓库与远程仓库关联 3.pom.xml 引入父工程和场…

【算法积累】辗转相除法

【算法积累】辗转相除法,python实现两种 辗转相除法(又称欧几里得算法)减法(不常用)代码实现执行结果 辗转相除法代码实现执行结果 辗转相除法(又称欧几里得算法) 又称欧几里得算法&#xff0c…

使用Python将多个pdf指定页整合到一个pdf文件中

在工作的一些场景中,有时需要我们将多个pdf文件中的内容提取出来,比如有10个pdf文件,我们要统一打印pdf文件的第一页或者最后一页… 需求分析 我们需要批量提取PDF文件中的任意一页,可以是第一页也可以是中间某一页,…

【C++算法模板】图的存储-邻接矩阵

文章目录 邻接矩阵洛谷3643 图的存储 邻接矩阵 邻接矩阵相比于上一篇博客邻接表的讲解要简单得多 数据结构,如果将二维数组 g g g 定义为全局变量,那默认初始化应该为 0 0 0 ,如果题目中存在自环,可以做特判, m e …

微信小程序云开发教程——墨刀原型工具入门(常用组件)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

docker+elasticsearch

一,环境准备:安装docker(往期文章) 二,elasticsearch简介: 用于储存数据 三,部署: 1),拉取镜像 使用本作者提供的java17镜像 2),…

基于大模型的Agent进行测试评估的3种方案

本文首发于博客 基于大模型的Agent进行测试评估的3种方案 我们都知道当前基于大模型构建的 Agent 能力极不稳定,而今年我司产品又在规划接入 Agent 能力,所以在引入之前,需要先设计一套测试框架,来看看各种场景下容错率是否能达…

Linux 基本命令

文章目录 1.echo2.cd3.find4.mkdir5.cp6.rm7.wc8.tar9.tail10.vim11.grep12.sed13 touch14 ls15 快捷键16 ln17 mv18 useradd19 usermod20 su 每天一个Linux命令 提示:以下是本篇文章正文内容,下面案例可供参考 1.echo 中文 (Chinese): “回声” 或 “输…

分布式链路追踪(一)SkyWalking(2)使用

一、使用方法 1、简介 agent探针可以让我们不修改代码的情况下,对Java应用上使用到的组件进行动态监控,获取运行数据发送到OAP上进行统计和存储。agent探针在Java使用中是使用Java agent技术实现。不需要更改任何代码,Java agent会通过虚拟…

Linux虚拟机安装Qt步骤记录

(一)安装命令,按照网上的教程,亲测可行 在终端中依次输入以下命令, 1.更新软件源列表: sudo apt-get update 2.安装Qt开发工具包,windows上我用的是Qt6,根据网上也是初次在Linux上安装Qt,安装版本5应该问题不大&…

智慧农业新篇章:DSSAT模型、APSIM模型、WOFOST与PCSE模型综合应用,引领作物生长模拟与产量预测新潮流

目录 ★WOFOST模型与PCSE模型应用 ★基于R语言APSIM模型进阶应用与参数优化、批量模拟 ★最新DSSAT作物模型建模方法及应用 ★基于Python语言快速批量运行DSSAT模型及交叉融合、扩展应用 ★R语言与作物模型(以DSSAT模型为例)融合应用 ★遥感数据与…

论文阅读——VSA

VSA: Learning Varied-Size Window Attention in Vision Transformers 方法: 给定输入特征X,VSA首先按照基线方法的例程,将这些标记划分为几个窗口Xw,窗口大小为预定义的w。我们将这些窗口称为默认窗口,并从默认窗口中…

KMP算法——解决字符串匹配问题

一般来说在你没学过KMP算法前,你解决字符串匹配问题会采用BF算法——BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,…

BM1684X搭建sophon c++环境

1:首先安装编译好sophon-sail 比特大陆BM1684X开发环境搭建--SOC mode-CSDN博客 2:在将之前配置的soc-sdk拷贝一份到sdk根目录,将交叉编译好的sail中的build_soc拷贝至soc-sdk文件夹内; cp -rf build_soc/sophon-sail/inlcude soc-sdk cp -rf build_soc…

YOLOv8独家改进:backbone改进 | TransXNet:聚合全局和局部信息的全新CNN-Transformer视觉主干| CVPR2024

💡💡💡本文独家改进:CVPR2024 TransXNet助力检测,代替YOLOv8 Backbone 改进结构图如下: 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482 💡💡💡全网独家首发创新(原创),适合paper !!! 💡…

突发:日本火箭发射后爆炸

综合路透社、法新社13日消息,现场直播画面显示,日本初创公司Space One火箭发射失败,在半空中发生爆炸。 ▲日媒视频报道截图 据共同社此前介绍,Space One公司11日宣布,13日上午11点零1分将从日本首个民用火箭发射场“…

数据集成平台选型建议

一 数据集成介绍 数据集成平台是一种用于管理和协调数据流动的软件工具或服务。它的主要目标是将来自多个不同数据源的数据整合到一个统一的、易于访问和分析的数据存储库中。这些数据源可以包括数据库、云应用、传感器、日志文件、社交媒体等等。数据集成平台的关键任务是确保…