目录

  • 一、说明
  • 二、硬件介绍
    • 2.1、原理图
    • 2.2、准备清单
    • 2.3、接线
  • 三、程序演示
    • 3.1、设置参数
    • 3.2、编译下载
    • 3.3、根据设置的控制模式操作
  • 四、双电机控制总结
  • 五、力矩反馈
    • 5.1、原理
    • 5.2、硬件连接
    • 5.4、实战



SimpleFOC教程目录:请点击

一、说明

    双电机控制,主要是在上一章代码的基础上(SimpleFOC移植STM32(五)—— 电流采样及其变换),把一个电机的控制修改了对两个电机的控制。你的第一感觉会怎么做,把代码复制一遍,一个电机变两个电机,这样代码量就太大了。SimpleFOC的官方代码采用C++编写,定义了类,C语言中的结构体与类相似,通过结构体及其指针的应用,代码同样可以达到高效强悍的效果。

  新建头文件 user.h ,定义电机的结构体,并声明M1,M2。下图

  在 main.c 中调用头文件,下图

  代码结构与单个电机控制没有变化,下图


  编译后的代码稍微比单个电机控制大一点,下图

  本章的工作,主要是从上到下从里到外,逐一修改函数,增加结构体指针,下图

二、硬件介绍

2.1、原理图

2.2、准备清单

序号 名称 数量
1 SimpleMotor 1
2 带编码器电机 2
3 USB转串口 1
4 12V电源 1

当前代码支持AS5600、AS5047P、TLE5012B和MA730编码器。
电机 购买链接:某宝购买
SimpleMotor 购买链接:某宝购买

2.3、接线


三、程序演示

3.1、设置参数



部分PID参数设置放在了main函数中,设置其它PID参数请进入PID_init()函数。

3.2、编译下载

  可以串口下载或者SWDIO下载;
  如果是串口下载,Boot加上跳线帽,下载完毕后拿掉跳线帽,按复位键重启或者断电重启。
  注意:复位重启只能重启单片机,编码器没有重启,如果I2C接口编码器不能正确读出,请断电重启。SPI接口编码器不受此影响。

3.3、根据设置的控制模式操作

  两个电机的参数和控制完全独立,可设置为不同的控制模式,具体操作请看之前的教程,此处不再赘述。

四、双电机控制总结

  双电机控制在操作和控制技术上与之前保持一致,主要是结构体及其指针的应用;
  当前代码理论上很容易扩展为三个电机、四个电机或者更多电机的控制,只要单片机有足够资源;
  结构体(structure)再往前一步就是类(class),C和C++的区别主要是编程思维的区别,结构体已经是C语言在单片机编程中的极限了。

五、力矩反馈

5.1、原理

  把两个电机的角度差做为力矩模式的目标值,使角度差趋向于0。当一个电机转动时,另一个电机因为角度差而产生力矩跟随转动;同样当一个电机堵转时,另一个电机也会因为角度差趋向于堵转电机的角度。
  代码是比较简单的,在双电机控制调试通过的情况下,只需要加入角度差计算就可以。

力矩反馈代码已于20221115升级,之前的算法不够简洁导致调试复杂,升级后的代码,电机三相线随便接入都可以形成反馈,不需要再反复匹配调试。新的代码如下图:

5.2、硬件连接

  相同的两个电机



  不同的两个电机


5.4、实战



(完)


本节源码不再提供免费下载,需购买SimpleMotor 某宝购买。


请继续阅读相关文章:
SimpleFOC移植STM32(一)—— 简介
SimpleFOC移植STM32(二)—— 开环控制
SimpleFOC移植STM32(三)—— 角度读取
SimpleFOC移植STM32(四)—— 闭环控制
SimpleFOC移植STM32(五)—— 电流采样及其变换

SimpleFOC移植STM32(六)—— 双电机控制和力矩反馈相关推荐

  1. SimpleFOC移植STM32(七)—— 移植STM32F405RGT6

    目录 说明 一.点亮LED 1.1.原理图 1.2.硬件准备 1.3.烧写 二.开环控制 2.1.硬件准备 2.2.硬件连接 2.3.打开工程 2.4.修改参数 2.5.编译下载,观察运行 三.角度读 ...

  2. SimpleFOC移植STM32(五)—— 电流采样及其变换

    目录 一.原理说明 1.1.电流采样 1.1.1.为什么要采样电流 1.1.2.电流采样方式 1.1.2.1.低侧电流采样 1.1.2.2.高侧电流采样 1.1.2.3.内置电流采样 1.2.电流变换 ...

  3. SimpleFOC移植STM32(八)—— 霍尔电机

    目录 说明 一.霍尔电机 1.1.电机的种类 1.2.霍尔传感器 1.3.SimpleFOC的霍尔电机控制原理 二.电机驱动板103 2.1.读取霍尔角度 2.2.驱动霍尔电机M1 2.3.驱动霍尔电 ...

  4. SimpleFOC移植STM32(二)—— 开环控制

    目录 注意事项 一.硬件介绍 1.1.硬件准备 1.1.1.SimpleMotor方案 1.1.2.SimpleFOCShield V2.0.3方案 1.2.硬件连接 1.2.1.原理图 1.2.2. ...

  5. SimpleFOC移植STM32(九)—— ABZ编码器电机

    目录 说明 一.ABZ编码器介绍 1.1.ABZ信号 1.2.光电式编码器 1.3.磁编码器 1.4.差分信号 二.电机驱动板103 2.1.读ABZ信号的cpr 2.1.1.接线 2.1.2.编译, ...

  6. SimpleFOC移植STM32(三)—— 角度读取 (AS5600、AS5047P、TLE5012B、MA730、MT6701、ABZ)

    目录 说明 一.硬件介绍 1.1.硬件准备 1.1.1.SimpleMotor方案 1.1.2.STM32方案 1.2.硬件连接 1.2.1.原理图 1.2.2.接线 二.代码编译下载 2.1.代码解 ...

  7. SimpleFOC之ESP32(十)—— ESP-NOW和力矩反馈

    目录 说明 一.ESP-NOP 1.1.简介 1.2.硬件准备 1.3.代码演示 1.3.1.官方示例 1.3.2.代码改进简化 二.力矩反馈 2.1.Dagor项目介绍 2.2.ESP32drive ...

  8. SimpleFOC之ESP32(六)—— 双电机控制

    目录 说明 一.硬件介绍 1.1.原理图 1.2.ESP32drive-D方案 1.2.1.准备清单 1.2.2.硬件连接 1.3.SimpleFOCShield方案 1.3.1.SimpleFOCS ...

  9. 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制

    [FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 [FOC控制]英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 一.电机选择 ...

最新文章

  1. DLR学习笔记(01)
  2. POJ 3469 Dual Core CPU (最小割建模)
  3. 逻辑回归评分卡实现和评估
  4. matlab gui设计实例_S-Funciton应用实例
  5. JS判断字符串是否为整数--简单的正则判断
  6. 天线端口和参考信号支持的多端口
  7. java 高级泛型_Java 泛型高级
  8. 前端学习(3020):vue+element今日头条管理--创建路由和配置路由
  9. 中科大计算机竞赛夺冠,中科大斩获全国唯一特等奖,力压清华捧得华为毕昇杯...
  10. Nginx安全配置标准(for proxy)
  11. 在python中print表示的数据类型是_在python中自己写的数据类型使用print无法输出每个元素...
  12. cmos和ttl_ttl和cmos的区别
  13. UniBeast使用心得
  14. 2021年【CSDN毎周小结】
  15. 华普天健会计师事务所管理合伙人朱宗瑞:期待数据资产价值在财务报表里充分体现...
  16. onlyoffice文档服务器加载慢,【onlyoffice中文指南】12-问题及排除
  17. BugTracker配置
  18. 简易搭建ftp服务器
  19. LaTeX插入参考文献
  20. Spring-AOP切入点表达式详解

热门文章

  1. chrome浏览器改为黑色背景
  2. 教你3分钟自制音乐播放器
  3. stp文件怎么变文件夹_PDPS教程之数模数据格式转换-stp文件怎么打开
  4. 无线射频芯片CC2540F256RHAR 中文资料介绍
  5. Oracle OCP(05):转换函数
  6. c++ 移动桌面图标
  7. 简单的快递管理系统(c语言版)--大一下的总结
  8. springboot 生成二维码
  9. 【软件】Chrome 浏览器下载文件崩溃
  10. 目前最新android处理器排行榜,2016上半年安卓手机处理器排行:骁龙820无意外夺冠...