前一阵子,偶然在B站上看了一个simplefoc的介绍视频,代码简洁、算法精妙让人佩服,更让人佩服的是:开源!遂!搜索之!不搜不知道一搜吓一跳,发现太OUT了,原来玩这个算法的人这么多,让我这个整天沉浸在帕克、反帕克、Ualpha、Ubeta...的开发攻城狮汗颜。

出于好奇和对知识的无限渴求(冒汗!),在其官网www.simplefoc.com下载了源码:

算法的环境是基于arduino,这样会使使用更加简单(但是arduino虽然会使开发简单但是开发灵活性会变差,这里纯属个人看法,意见不一致的小伙伴勿狠喷)。支持多种单片机:ATMega328、STM32、ESP32等,那么问题来了,支持的单片机越多算法是不是越庞杂?而且为了照顾所有单片机都能运行,肯定有些算法是没有被优化的,这样容易影响代码运行效率。

再有就是看到大家都是使用这个算法来驱动小功率电机,那么能不能用这个算法来驱动稍微大功率一点的电机呢?比如用这个算法驱动电动踏板车轮子、电动轮椅轮子、中大型机器人地盘轮子等。

叨叨了这么多,其实就是想用这个算法,实现一个低成本的踏板车或者是电动自行车电机驱动器。

目标是:

1、板子的驱动功率足够大(具体多大呢?我觉的能够驱动450W电机就够了)。

2、低成本。

3、算法足够简单(simplefoc已经搞定了)。

4、全国产化(这个是趋势)。

5、完整的保护功能。

6、基于MDK或者IAR开发环境

如果想吃透这个代码,那么你从零复现一个相应实物出来,在调试过程中理解代码的精髓,这样才能吃透,吃透后才能创新(经验之谈,此处很严肃,哈哈)。

不知道有没有志同道合的小伙伴一起搞,碰到问题一起解决(我的时间确实有限,人多力量才大),并且秉持开源奉献的精神,为foc事业添砖加瓦。

创建了一个群,方便F友们交流沟通(注意:群里只能交流计数问题,聊非法话题要被踢屁股哦)

2024年7月28日 北京

自制基于simplefoc大功率驱动板想法的由来,同时欢迎有相同兴趣的F友一起来玩。。。的更多相关文章

  1. 【MongoDB】 基于C#官方驱动2.2版的封装类

    一.前言 最近项目中要用到MongoDB,因此实现做了不少的调研.发现网上很多现有关于MongoDB C#官方驱动的调用方法都是基于1.8版本的,已经不是用了最新的2.2版本.因此我在基于C#官方驱动 ...

  2. Arduino CNC Shiled 和 DRV8825驱动板的注意事项

    首先说明硬件:1) Arduino CNC Shiled V2.6 2)DRV8825驱动板 3)光驱步进电机  4)Arduino  uno R3 下图是本次主角是Arduino CNC Shile ...

  3. 基于Kafka消息驱动最终一致事务(二)

    实现用例分析 上篇基于Kafka消息驱动最终一致事务(一)介绍BASE的理论,接着我们引入一个实例看如何实现BASE,我们会用图7显示的算法实现BASE.

  4. 基于Kafka消息驱动最终一致事务(一)

    基本可用软状态最终一致事务 本用例分两个数据库分别是用户库和交易库,不使用分布式事务,使用基于消息驱动实现基本可用软状态最终一致事务(BASE).现在说明下事务逻辑演化步骤,尊从CAP原则,即分布式系 ...

  5. 东方步进电机马达驱动板CVK系列说明书

    东方步进电机马达驱动板CVK系列说明书

  6. Arduino连接L298n驱动板驱动小车的电机

    1.L298N介绍 先来讲讲电机驱动,驱动一般使用L298N,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vT ...

  7. Arduino UNO开发板、Arduino CNC Shield V3.0扩展板、A4988驱动板、grbl固件使用教程

    前言 CNC Shield V3.0可用作雕刻机,3D打印机等的驱动扩展板,板上一共有4路步进电机驱动模块的插槽,可驱动4路不进电机,而每一路步进电机都只需要2个IO口,也就是说,6个IO口就可以很好 ...

  8. 基于全志A40i开发板——Linux-RT内核应用开发教程(1)

    目录 1 Linux-RT内核简介 3 2 Linux系统实时性测试 3 3 rt_gpio_ctrl案例 10 4 rt_input案例 15 本文为Linux-RT内核应用开发教程的第一章节--L ...

  9. ESP8266 使用 DRV8833驱动板驱动N20电机

    RT 手里这块ESP8266是涂鸦的板子,咸鱼上三块一个买了一堆,看ESP8266-12F引脚都差不多的.裸焊了个最小系统,加两个按钮(一个烧录,一个复位) 1. 准备工作 搜索过程中发现 DRV88 ...

  10. 基于ARM-contexA9按键驱动开发

    之前我们写过LED和蜂鸣器的驱动,其实那两个都是一个模版的,因为都是将IO口配置成输出模式,然后用高低电平来驱动这些设备.其实linux设备驱动,说白了跟单片机开发的方式是差不多的,只不过内核的开发基 ...

随机推荐

  1. kubeadm部署高可用版Kubernetes1.21[基于centos7.6]

    1. 基础环境规划: 主机名 IP地址 节点说明 k8s-node01 192.168.1.154 node1节点 k8s-node02 192.168.1.155 node2节点 master01 ...

  2. nodejs模块总结 gulp小结

     1,内置模块                  fs                     const fs = require('fs')                     fs.read ...

  3. Codeforces Round 923 (Div. 3) 比赛记录

    Codeforces Round 923 (Div. 3) 这是我第二次参加 cf阴间场. 10 minutes ago: 这次报名人数超过 4 万,一开始网站就崩溃了,比赛延迟了 10 分钟..开局 ...

  4. 彻底解决C盘不够用的问题(Windows 10)- 常规方法——清垃圾、转虚拟内存、挪大文件

    1.清垃圾 2.转虚拟内存 3.挪大文件

  5. WPF Canvas在Image 图像上绘图,自适应缩放.

    效果如图 实现了绘图,自适应缩放 核心代码如下 <Window.InputBindings> <KeyBinding Key="Z" Modifiers=&quo ...

  6. 2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果。 要求在最多执行 k 次操作的情况下, 计算数组

    2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个操作将相邻两个元素按位AND后替换为结果. 要求在最多执行 k 次操作的情况下, 计算数组 ...

  7. Android 8.0 开机时间优化

    Android 8.0 开机时间优化 背景 在嵌入式行业中,有些搭载 了Android系统的设备由于 开机时间 过长而导致无法被接受. 介绍 启动时间是系统性能的重要组成部分,因为用户必须等待启动完成 ...

  8. 解决keil5仿真错误:Encountered an improper argument

    --- title: 解决keil5仿真错误:Encountered an improper argument date: 2020-06-18 03:13:18 categories: tags: ...

  9. uniapp+thinkphp5实现微信扫码支付(APP支付)

    前言 统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返回预支付订单号的接口,目前微信支付所有场景均使用这一接口.下面介绍的是其中APP的支付的配置与实现流程 配置 1.首先登录 ...

  10. 阿里云日志Nginx日志分析

    每分钟接口访问次数的前200条统计 not request_uri : "/heartbeat.html" | SELECT time_series(time, '1m', '%H ...