自制FOC控制驱动器

简介: 自制FOC控制驱动器

1. 电路板


1.1 特点:


驱动板引脚接口兼容Arduino UNO、Arduino Mega2560、ST Nucleo…

最大功率:120W;电压:12V-24V;最大电流5A。

电机驱动:L6234PD013TR。

编码器接口:具备3.3KΩ上拉电阻(可选)。

IIC接口:具备4.7KΩ上拉电阻(可选)。

可套娃使用:可同时运行2台电机。


1.2 原理图

image.png


1.2 3d图:


image.png


image.png


1.3 硬件配置


由上图可知,在PCB反面提供了一些可配置的焊点。

这些焊点作用:

  • 禁用/使能上拉电阻
  • 配置A、B、I使能引脚
  • 配置BLCD电机引脚(PWM A、PWM B、PWM C)与使能引脚


1.3.1 3.3KΩ上拉电阻说明


3.3KΩ上拉电阻的配置焊点:Pull A、Pull B、Pull I,分别作用于编码器通道A、B、I(或霍尔传感器U、V、W)。


1.3.2 4.7KΩ上拉电阻说明


IIC上拉电阻配置焊点:Pull SCL、Pull SDA。在使用arduino时,iic基本不需要上拉电阻;当使用STM32时,需要使用上拉电阻。


  • 当使用俩快驱动板叠加时,建议使用上拉电阻。


1.3.3 可配置引脚


可配置信号与引脚对照表

2020102622343837.png

2. foc程序库


2.1 支持的硬件


2.1.1 电机


  • BLDC电机
  • 步进电机


2.1.2 驱动板卡


  • BLDC驱动器
  • 步进电机驱动器
  • 云台电机驱动器


2.1.3 位置传感器

  • 编码器
  • 磁性传感器
  • 霍尔传感器
  • 开环控制


2.1.4 主控

  • Arduino
  • STM32
  • ESP32
  • Teensy


2.3 简单程序


由于我是用的是AS5600磁编码器,程序就以AS5600为例

#include <SimpleFOC.h>
MagneticSensorI2C sensor = MagneticSensorI2C(0x36, 12, 0x0E, 4);
// Motor instance
BLDCMotor motor = BLDCMotor(9, 5, 6, 11, 8);
void setup() {
  sensor.sda_pin = 14; // change i2c data pin - OPTIONAL
  sensor.scl_pin = 15; // change i2c clock pin - OPTIONAL
  // initialise magnetic sensor hardware
  sensor.init();
  // link the motor to the sensor
  motor.linkSensor(&sensor);
  // initialize motor
  motor.init();
  // align encoder and start FOC
  motor.initFOC();
  // set the initial target value
  motor.target = 2;
  _delay(1000);
}
void loop() {
  // iterative setting FOC phase voltage
  motor.loopFOC();
  // iterative function setting the outer loop target
  // velocity, position or voltage
  // if target not set in parameter uses motor.target variable
  motor.move(); 
}


相关文章
|
Linux Shell
【Shell脚本】Linux安装Nexus的两种方式以及开机自启
【Shell脚本】Linux安装Nexus的两种方式以及开机自启
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于YOLOv8的无人机航拍树木目标检测系统|精准识别【含完整训练源码+部署教程】
本项目基于YOLOv8构建了一个支持无人机航拍图像的棕榈树目标检测系统,兼具高精度识别能力与友好的图形化交互界面。通过结合PyQt5,实现了图片、视频、摄像头等多种输入方式的检测体验,极大提升了项目的实用性与可扩展性。
基于YOLOv8的无人机航拍树木目标检测系统|精准识别【含完整训练源码+部署教程】
|
11月前
|
编解码 监控 安全
JT1078和GB28181差别在哪里?
JT1078和GB28181分别是针对车载监控和公共安全监控设计的标准协议。JT1078专注于车载视频监控,适用于物流与交通场景,强调实时传输、编解码支持及无线环境下的数据安全性;而GB28181侧重于大规模公共安全监控,覆盖城市安防等领域,支持多协议交互与级联方案。两者在技术上有交集,需通过中间件实现互联互通,各有独特优势以满足不同需求。
642 8
|
存储 安全 数据管理
对象存储OSS
对象存储OSS
1907 0
|
安全 物联网 数据安全/隐私保护
UEFI的一点点概识
UEFI的一点点概识
1482 0
|
数据采集 前端开发 开发者
Selenium中如何实现翻页功能
在使用Python的Selenium库进行网页爬虫开发时,翻页操作是常见需求。本文详细介绍如何通过Selenium实现翻页,包括定位翻页控件、执行翻页动作以及等待页面加载等关键步骤,并提供了基于“下一页”按钮和输入页码两种方式的具体示例代码。此外,还特别提醒开发者注意页面加载完全、动态内容加载及反爬机制等问题,确保爬虫稳定高效运行。
1488 3
|
C语言
程序技术好文:生成CFree5.0注册码
程序技术好文:生成CFree5.0注册码
5282 0
|
机器学习/深度学习 人工智能 运维
提升数据中心效率的关键:智能运维策略与实践
【7月更文挑战第39天】 在数字化时代,数据中心作为企业信息系统的心脏,其运行效率直接关系到企业的业务连续性和竞争力。本文将探讨如何通过智能运维(AIOps)策略来优化数据中心的性能,降低运营成本,并提高服务质量。我们将分析当前数据中心面临的挑战,介绍智能运维的基本概念,以及实施智能运维时需要考虑的关键因素。最后,本文将提供一系列实用的智能运维实践案例,帮助读者理解如何将这些策略应用于实际工作中。
|
存储 安全 文件存储
网盘 vs NAS:选择合适的数据存储方式
随着科技的不断进步,科技的快速发展为我们提供了多种便捷的存储解决方案,我们有着多种便捷的数据存储解决方案可供选择,而且市面上也有很多相关的成熟的存储产品。在这些方案中,网盘和NAS(网络附属存储)是两种广泛应用且各具优势的存储方式,其中网盘提供即开即用、云端存储和多设备同步等特性,NAS则提供本地私有化存储、高效数据传输和高度可定制化等优点,二者可谓是“难分伯仲”。在实际应用中,你更倾向于使用哪种存储方式呢?那么本文就来网盘和NAS的优劣势,帮助有需要的人选择适合自己的数据存储解决方案。
1462 4
网盘 vs NAS:选择合适的数据存储方式
|
存储 Java 程序员
Java 日志框架解析:汇总及最佳实践
在java的世界里有许多实现日志功能的工具,最早得到广泛使用的是 log4j,现在比较流行的是slf4j+logback。作为开发人员,我们有时候需要封装一些组件(二方包)提供给其他人员使用,但是那么多的日志工具,根本没法保证每个组件里都能使用约定好的日志工具,况且还有很多第三方的包,鬼知道他会用什么日志工具。假如一个应用程序用到了两个组件,恰好两个组件使用不同的日志工具,那么应用程序就会有两份日志输出了,蛋疼吧。。 下面简单介绍下常见的日志工具:
12390 2
Java 日志框架解析:汇总及最佳实践

热门文章

最新文章