- 博客(18)
- 资源 (9)
- 收藏
- 关注
原创 Odrive的main.cpp control_loop_cb 函数深度解析
10kHz(基于Cortex-M4定时器中断):实现电机闭环控制的实时任务,包括:[电流环] → [速度环] → [位置环] → [安全监控] → [PWM更新]
2025-02-26 01:39:43
995
原创 Odrive Sensorless Estimator 分析 (sensorless_estimator.cpp)
文件通过实现无传感器估计算法,为 Odrive 提供了在不使用物理位置传感器的情况下估计电机转子位置和速度的能力。这对于提高电机控制系统的性能和可靠性具有重要意义。该算法基于非线性观察者理论,利用电机的电气参数和电流测量值来估计转子位置和速度。
2025-02-26 01:03:31
393
原创 Odrive FOC 算法分析 (foc.cpp)
foc.cpp文件通过实现 FOC 算法,为 Odrive 提供了高性能的电机电流控制解决方案。通过 Clarke 变换、Park 变换、PI 控制和逆 Park 变换,该算法能够精确控制电机的磁场和转矩输出,实现高效、稳定的电机运行。
2025-02-26 00:58:03
1041
原创 Odrive 控制循环中 FOC 算法的应用场景解析
✅ 关键结论FOC 主战场:电流环(转矩控制)是 FOC 的核心应用场景。层级关系:外环(位置/速度)通过设定 torque_setpoint 驱动 FOC 内环执行。性能影响:FOC 的精度和响应速度直接决定电机的动态特性(如抖动、效率)。若需进一步分析 FOC 的代码实现细节(如 PI 参数调节、SVPWM 优化),可提供具体代码片段或模块名称 😊。
2025-02-26 00:45:03
774
原创 testbed笔记:生成测试代码编译出现error: reference to ‘ ‘ is ambiguous
问题:解决办法:在导航栏sequence设置protection level因为缺少下面宏定义需要添加宏定义,解决办法:把宏定义加上:
2022-11-01 16:17:57
2138
1
原创 我眼中的未来【原创】
无论如何,这都会是一个转折点。未来我们应该有一个方向。这次疫情无论是规模还是带来的后果都是百年未遇的,而且它还在持续中。疫情让人们异常焦虑:可怕的感染让每个人都惶恐不安,糟糕的经济形式让人担心生活会不会出现大的变故,孩子们则因为失去很多“自由”而烦躁叛逆......事情还在进行中,一下子还很难判断世界将要变成什么样子。生活被按下暂停键,人们也开始思考未来:这会不会是一个转折?如果是,那么它会朝着哪个方向演进?我们希望它做出什么样的改变?带着这样的问题,让我们把“自己”放在更加久远的历史之..
2020-05-25 17:27:02
551
原创 linux(或者windows)软件工程师和软件工程师
linux(或者windows)软件工程师和软件工程师一个从单片机开始的开发者学校学的是电子专业,但是做硬件需要耐心和细心,几次电路板设计的失误让我彻底放弃了硬件这块儿。感觉还是软件更合适,学校只学了basic,于是自己学习了C语言的开发,那个时候感觉C语言好难,做pc下的c语言开发,如果涉及到底层,是非常牛X的事情,足以让人望而却步。也没有钱专门去做这方面的培训,于是就从单片机入手,写下了自...
2020-04-29 09:39:17
486
原创 实现一个简易的对等式异步通信框架
前面实现了一个简单的内存数据库,接下来就基于这个简单的内存数据库实现一个异步回调的通信框架。zxcom1.接口定义Zxcom接口主要有:初始化和去初始化。添加命令和应答处理函数。包的接收和发送包的组建。1.1 初始化和去初始化int ZxcomInit()int ZxcomDeInit()1.2 添加命令和响应处理函数int ZxcomAddCommand(COMMAN...
2020-04-20 11:07:49
304
原创 【原创】一个简单的key-value的内存数据库,可以运行在mcu上
你可以认为是一个非常简单的内存数据库,存储string的,可以存储和获取。1. 可以跑在单片机上。2.接口非常简单。ucomlibA simple key-value memory database1.接口定义ucomlib接口主要有:初始化和去初始化。 数据读取和存储接口。 超时机制。1.1 初始化和去初始化int CommuInit(voi...
2020-04-20 10:57:42
1038
转载 如何在linux(ubuntu)下安装source insight
https://blog.youkuaiyun.com/leon1741/article/details/54315506 1、安装wine wine(“Wine Is Not an Emulator”的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。安装了wine之后,会模仿一个类windows...
2018-04-27 09:34:14
516
转载 golang的interface传递
传interface,传递的是一个interface对象,这个对象占用16字节长度,包含一个指向原数据的指针,和一个指向运行时类型信息的指针。当然对于指向interface的指针这种用法是几乎没有用到的(例子中的Hello4()函数,编译没有成功,我不知道应该怎么写),也不建议这么用,因为interface本身差不多就是一个指针(其实是两个指针),stackoverflow有一个问答介绍这个问...
2018-04-26 14:34:19
2446
原创 ubuntu挂载win7共享文件系统
在vmware,打开虚拟机,选“虚拟机/设置”打开“虚拟机设置”后,选择“选项”,点“共享文件夹”。 选中“总是启用”,添加共享文件夹,确定。如果在/mnt/hgfs下没有共享成功。安装:open-vm-tools-dkms 如果以下执行不成功,请添加阿里源 sudo apt-get update sudo apt-get install open-vm-tools...
2018-04-25 10:57:22
419
原创 交叉编译go-sqlite3出现"undefined: SQLiteConn"
交叉编译go-sqlite3出现”undefined: SQLiteConn”在windows下交叉编译go-sqlite3,如果只更改了GOARCH环境变量,编译时会出现: undefined: SQLiteConn错误。查了一下,是需要使能cgo,于是更改环境: CGO_ENABLED=”0”为: CGO_ENABLED=”1”重新编译,出现下面错误:...
2018-04-24 18:15:28
4786
1
原创 交叉编译jsoncpp静态库
许多实用cmake的开源项目在移植到其他平台时,还是比较麻烦的。这里以jsoncpp为例。首先,我本机的交叉编译工具及目录是:# which arm-linux-gnueabihf-gcc/root/board/tools/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-gcc从...
2018-04-19 14:46:48
2509
模糊控制实现.pdf
2020-05-08
模糊控制算法.pdf
2020-05-08
模糊控制原理讲解.pdf
2020-05-08
2_what_is_taste.pdf
2020-01-13
mdm9x07_mdm8207_mdm9628_mdm9206_digital_baseband_design.pdf
2019-12-31
<<设计模式>>GOF,C++实例源码
2018-04-27
gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2.tar
2018-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人