Maxon无刷直流电机学习分享
本人采用的是607325的无刷直流电机和607513的编码器,以及STM32的RS232作为MCU与电机的通讯。
以下的内容作为刚开始接触Maxon电机可以学习一下,大佬就不必看了。
第一步,准备好相关文档
EPOS4-Application-Notes-Collection(应用字典)-En
EPOS4-Firmware-Specification(固件手册)-En
EPOS4-Firmware-Version-Readme-En.
EPOS4-Module-Compact-50-15-Hardware-Reference-En
EPOS-Command-Library-En
EPOS-IDX-Setup-Release-Notes-En
EPOS控制器概述
EPOS4-Communication-Guide(连接向导)-En
EPOS4使用手册
各个文档的使用顺序可以参照Maxon给出的建议:
选择适合的运行模式(PPM、PVM、HMM、CSP、CSV、CST)
1、 Profile Position Mode (PPM)(位置模式)
首先先配置参数:
这些参数都是限制参数,具体怎么配置可以打开EPOS4-Firmware-Specification(固件手册)-En,找到上图,并点击上图的箭头,找到相应的指令。
接下来就是使用控制字等命令参数;
“控制字”在不用的模式有不同的定义,使用“控制字”这个命令可以设置好相关位的定义可以使能电机、失能电机、停止电机(失能电机跟停止电机可是不一样的,失能电机是使电机停止工作,而停止模式时,电机还在工作,只不过电机速度为0而已)。
2、PVM(速度模式)接下来其他几种都是差不多的使用方法,这边我就不过多赘述了。(反正就是选择运行模式+配置参数+运行参数(命令参数))使用示范,本人使用的是RS232通讯,PVM模式
1、首先先根据EPOS4-Module-Compact-50-15-Hardware-Reference连接好各接口
u8 Buf3[14]={0x90,0x02,0x68,0x04,0x0D,0x60,0x60,0x00,0x03,0x00,0x00,0x00,0xD1,0x5B};//设置PVM模式
u8 Buf3[14]={0x90,0x02,0x68,0x04,0x0D,0x60,0x60,0x00,0x03,0x00,0x00,0x00,0xD1,0x5B};//设置PVM模式
u8 Buf4[14]={0x90,0x02,0x68,0x04,0x0D,0x40,0x60,0x00,0x06,0x00,0x00,0x00,0x49,0xCB};//去使能
u8 Buf5[14]={0x90,0x02,0x68,0x04,0x0D,0x40,0x60,0x00,0x0F,0x00,0x00,0x00,0xD8,0x55};//使能
int Buf6[14]={0x90,0x02,0x68,0x04,0x0D,0xFF,0x60,0x00,0x14,0x00,0x00,0x00,0xD5,0x84};//设置目标转速20rpm
u8 Buf7[14]={0x90,0x02,0x68,0x04,0x0D,0x40,0x60,0x00,0x0F,0x01,0x00,0x00,0x6C,0x23};//Halt(使maxon电机停止运转)
以设置PVM模式为例, 其中 90 02 表示同步帧,其中 DLE 值为 0x90,STX 值为 0x02 ,68 表示写对象的 OpCode, 04 表示数据长度, 0D表示 Node-ID, 60 60 表示对象的 Index, 00 表示对象的 Sub-Index, 03 00 00 00 表示数据内容, BA 09 表示 CRC 校验(校验算法可参考《EPOS4 Communication Guide》或者网上查找相关计算软件)
以上的这些代码是我在STM32MCU上的代码,用于控制Maxon电机,其中CRC校验可以直接在STM32上面算
u16 CalcCRC(u8* pDataArray, int ArrayLength)
{
u16 i;
u16 crc=0x0000;
while(ArrayLength–)
{
crc^=(u16)(*pDataArray++) << 8;
for(i=0;i<8;++i)
{
if(crc & 0x8000)
crc=(crc << 1) ^ 0x1021;
else
crc <<= 1;
}
}
return crc;
}
这个代码可以用于STM32计算CRC校验码,上面的有些固定代码,我没用CRC校验,除了改变速度采用CRC校验,这样的话执行速度就比较快。
Maxon无刷直流电机学习分享相关推荐
- 无刷直流电机学习(3)
一.内容 此次学习主要完成了无霍尔传感器的电机的程序的学习理解和相关参数的认识. 二.知识点 三段式启动 三段式启动是在定时器TIM1的中断处理函数中.由于电机在静止时反电动势为0或者反电动势很低,无 ...
- 无刷直流电机学习笔记3
一. 内容 本期学习的内容,主要是结合<现代永磁同步控制原理及MATLAB仿真>一书与网上材料,对三相PMSM坐标变换原理,三相电斥源逆变器 PWM 技术的基本原理以及三相 PMSM 矢量 ...
- 无刷直流电机学习笔记10
一.内容 本期的学习内容主要是:基于基波数学模型的三相永磁同步电机无传感器控制,其重点是学习滑模观测器算法的相关原理,并对该算法进行详细的分析和建模,从而正确的认识PMSM是如何获得准确的转子位置及转 ...
- STM32驱动无刷直流电机学习(2)
stm32 通过 IRS2101S 将驱动io 升压,再驱动 N沟道MOS管 IRF540NS N沟道MOS管是通过 高电平导通 低电平禁止的 PWM1H PWM2H PWM3H 分别接 PA8 PA ...
- 无刷直流电机(无传感器)学习 (2)
一.内容 此次学习主要完成了无霍尔传感器的电机的工作原理及对应程序的学习. 二.知识点 1.无感无刷直流电机 经过前面的学习,了解到了有传感器的工作原理.简单的来说,就是通过通断更改绕组的磁场,使得永 ...
- 无刷直流电机的无位置传感器控制学习笔记
BLDC与PMSM关系 关于这个问题,很多人不太注意,我见过很多人把无刷直流电机和永磁同步电机不区分,以至于出现了正弦波无刷直流电机这样的叫法.实际上,在学校里面学习的时候,这个还是区分开的.一般把梯 ...
- 【学习笔记·1】无刷直流电机基础
一.了解直流有刷电机 二.了解直流无刷电机 2.1 高中物理电磁知识 磁体在磁场中受力方向与磁场的磁感线方向有关, 磁体的N极受力方向与磁感线切线方向一致, 磁体的S极受力方向与磁感线切线方向相反. ...
- 【零基础玩转BLDC系列】无刷直流电机无位置传感器三段式启动法详细介绍及代码分享
无刷直流电动机基本转动原理等内容请参考<基于霍尔传感器的无刷直流电机控制原理>.<基于反电动势过零检测法的无刷直流电机控制原理>与<以GD32F30x为例定时器相关功能详 ...
- 集群学习分享2:pcs+postgresql一主两从集群搭建
本文介绍集群学习分享:CentOS7使用pcs+nginx+nfs快速搭建web 在web架构基础上再加入pcs+postgresql数据库高可用: 配置之前最好先做快照 虚拟机节点基本信息: 主机名 ...
- BLDC无刷直流电机和PMSM永磁同步电机 基于stm32F1的有传感器和无传感驱动 直流无刷电机有传感器和无传感驱动程序
BLDC无刷直流电机和PMSM永磁同步电机 基于stm32F1的有传感器和无传感驱动 直流无刷电机有传感器和无传感驱动程序, 无传感的实现是基于反电动势过零点实现的,有传感是霍尔实现. 永磁同步电机有 ...
最新文章
- 汇总同一时间段的数据_数据集干货:一文读懂Mapsidejoin
- idea中的version control界面的git history不显示提交文件明细
- c语言中*用于指针,关于C语言中指针的理解
- spark KafkaRDD的理解
- C++学习笔记————WINAPI宏定义
- C 标准库 —— time.h
- php wordpress乱码,PHP問題:基于WordPress的CMS网站在文章摘要末尾出现乱码
- html5中drag//drop拖曳效果的用法
- foxmail创建163公司企业邮箱的时候会出现ERR Unable to log on
- 浅谈JSON数据解析方法
- C# Wke例子 -- WebUI登录窗口
- 解决VS下载慢的问题
- 深度解析《软文广告经典案例300》
- windows2016安装.net3.5错误:0x80070057;错误:0x800f081f
- day04 1113 红与黑(flood fill算法,即DFS,BFS)
- 兔子问题与斐波那契数列
- 搭建elk+logstash+kafka+filebeat日志收集平台
- Linux知识点求职应聘必备
- spring源码分析系列(一)
- 【笔记】Go语言学习笔记