simple foc 移植odriver foc的 anti-cogging(抗齿槽算法)
文章目录
- ESP32 simple foc 移植odriver anti-cogging.
- 1.硬件,在淘宝买的。esp32 +simple foc(最新). 下电阻三采样。
- 2. 效果,见视频https://www.bilibili.com/video/BV1xg4y1X7Yr/?vd_source=4fd70d693021f289fb2d339c6c040719
- 3.代码添加(生成前馈数组,就与补偿齿槽效应的扭矩)
- 基本原理
ESP32 simple foc 移植odriver anti-cogging.
1.硬件,在淘宝买的。esp32 +simple foc(最新). 下电阻三采样。
2. 效果,见视频https://www.bilibili.com/video/BV1xg4y1X7Yr/?vd_source=4fd70d693021f289fb2d339c6c040719
3.代码添加(生成前馈数组,就与补偿齿槽效应的扭矩)
void loop() {static int ccc,changed_tar,dis_cc;static float tar = 0;// iterative setting FOC phase voltagemotor.loopFOC();// iterative function setting the outter loop targetmotor.move();if (1){if (fabs(motor.shaftVelocity())<0.0001 && fabs(motor.shaftAngle()-tar)<0.0003 && ccc>100 && changed_tar){char bufcmd1[50];if (changed_tar == 1){ccc = 0;changed_tar = 2;}else{ sprintf(bufcmd1,"stop:%f %f %f %f %f",tar*180/3.14159,motor.shaftAngle()*180/3.14159,fabs(motor.shaftAngle()-tar)*180/3.14159,motor.shaftVelocity(),motor.current_sp);Serial.println(bufcmd1);ccc = 10001;changed_tar = 0;}}if(ccc++>10000 && changed_tar == 0){char bufcmd[50];unsigned int buf;changed_tar = 1;ccc = 0;tar +=0.0035;//0.2 degreemotor.target = tar;}}// monitoring the state variables
// motor.monitor(); //会影响程序执行速度,与studio交互的配置3共3处// user communicationcommand.run();}
补偿位置 ,在BLDCMotor.cpp下的。void BLDCMotor::move(float new_target)
case MotionControlType::velocity:static int ffccc;int ttt;// velocity set point - sensor precision: this calculation is numerically precise.shaft_velocity_sp = target;// calculate the torque commandif (shaft_angle<0){ind = floor(fmod(-shaft_angle,2*_PI)*286.0f);}else{ind = floor(fmod(shaft_angle,2*_PI)*286.0f);}ttt = ind;if (ind>=1797)ind = 1796;if (ind<=0)ind = 0;current_sp = anti_cogging_map[ind]*anti_cogging_coef+PID_velocity(shaft_velocity_sp - shaft_velocity); // if current/foc_current torque controlif (ffccc++>20000){char buf[40];ffccc = 0;sprintf(buf,"V:%f %f %f %d %d",target,current_sp,shaft_angle,ttt,torque_controller);Serial.println(buf);}// if torque controlled through voltage control
基本原理
- 就是每次步进一个很小的角度(我这里是0.2度),选择360度,然后生成一个大的数组,以后在到达的角度固定前馈进去就行了,主要是保存上面的motor.current_sp.存成一个数组就行了。
后续再补充。
相关文章:
simple foc 移植odriver foc的 anti-cogging(抗齿槽算法)
文章目录 ESP32 simple foc 移植odriver anti-cogging.1.硬件,在淘宝买的。esp32 simple foc(最新). 下电阻三采样。2. 效果,见视频https://www.bilibili.com/video/BV1xg4y1X7Yr/?vd_source4fd70d693021f289fb2d339c6c0407193.代码添加(生成…...
基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
环境配置|GitHub——解决Github无法显示图片以及README无法显示图片
一、问题背景 最近在整理之前写过的实验、项目,打算把这些东西写成blog,并把工程文件整理上传到Github上。但在上传README文件的时候,发现github无法显示README中的图片,如下图所示: 在README中该图片路径为࿱…...
AIGC(生成式AI)试用 12 -- 年终再总结
上次使用年终总结为题测试了CSDN创作助手和文心一言的表现,随着不断对总结给出更细节的提示。AIGC(生成式AI)试用 11 -- 年终总结-CSDN博客 总结年终总结生活/工作年终总结IT开发/运维年终总结 AIGC都能就新给出的主题修饰给出相应的关点&am…...
Linux下 tar 命令详解
一、tar 命令概述 Tar(Tape ARchive,磁带归档的缩写,LCTT 译注:最初设计用于将文件打包到磁带上,现在我们大都使用它来实现备份某个分区或者某些重要的目录)。 tar 是类 Unix 系统中广泛使用的命令&#x…...
SQL单表复杂查询where、group by、order by、limit
1.1SQL查询代码如下: select job as 工作类别,count(job) as 人数 from tb_emp where entrydate <2015-01-01 group by job having count(job) > 2 order by count(job) limit 1,1where entrydate <‘2015-01-01’ 表示查询日期小于2015-01-01的记录…...
安卓中轻量级数据存储方案分析探讨
轻量级数据存储功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。需要注意的是,应用访问的实例包含文件所有数据,这些数据会一…...
数据结构【DS】栈的应用
描述一下如何实现括号匹配? 初始时栈为空。 从左往右遍历算术表达式中的每个括号元素: ①当遍历到左括号时,将其压入栈顶。 ②当遍历到右括号时,将栈顶元素出栈,并判断出栈的左括号与当前遍历的右括号是否匹配&…...
大数据数仓建模基础理论【维度表、事实表、数仓分层及示例】
文章目录 什么是数仓仓库建模?ER 模型三范式 维度建模事实表事实表类型 维度表维度表类型 数仓分层ODS 源数据层ODS 层表示例 DWD 明细数据层DWD 层表示例 DIM 公共维度层DIM 层表示例 DWS 数据汇总层DWS 层表数据 ADS 数据应用层ADS 层接口示例 数仓分层的优势 什么…...
FlinkCDC数据实时同步Mysql到ES
考大家一个问题,如果想要把数据库的数据同步到别的地方,比如es,mongodb,大家会采用哪些方案呢? ::: 定时扫描同步? 实时日志同步? 定时同步是一个很好的方案,比较简单,但是如果对实时要求比较高的话,定…...
【Feign】 基于 Feign 远程调用、 自定义配置、性能优化、实现 Feign 最佳实践
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 SpringCloud MybatisPlus JVM 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 Feign 一、 基于 Feign 远程调用1.1 RestTemplate方式…...
小迪安全笔记(3)——基础入门3、基础入门4
文章目录 一、抓包&封包&协议&APP&小程序&PC应用&web应用二、30余种加密编码进制&web&数据库&系统&代理 一、抓包&封包&协议&APP&小程序&PC应用&web应用 APP&小程序&PC抓包HTTP/S数据——Charles、F…...
SOME/IP 协议介绍(六)接口设计的兼容性规则
接口设计的兼容性规则(信息性) 对于所有序列化格式而言,向较新的服务接口的迁移有一定的限制。使用一组兼容性规则,SOME / IP允许服务接口的演进。可以以非破坏性的方式进行以下添加和增强: • 向服务中添加新方法 …...
吴恩达《机器学习》8-5->8-6:特征与直观理解I、样本与值观理解II
8.5、特征与直观理解I 一、神经网络的学习特性 神经网络通过学习可以得出自身的一系列特征。相对于普通的逻辑回归,在使用原始特征 x1,x2,...,xn 时受到一定的限制。虽然可以使用一些二项式项来组合这些特征,但仍然受到原始特征的限制。在神经网…...
『亚马逊云科技产品测评』活动征文|借助AWS EC2搭建服务器群组运维系统Zabbix+spug
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道。 本文基于以下软硬件工具: aws ec2 frp-0.52.3 zabbix 6…...
文件转换,简简单单,pdf转word,不要去找收费的了,自己学了之后免费转,之后就复制粘贴就ok了
先上一个链接pdf转word文件转换 接口层 PostMapping("pdfToWord")public String pdfToWord(RequestParam("file") MultipartFile file) throws IOException {String fileName FileExchangeUtil.pdfToWord(file.getInputStream(),file.getName());return…...
Jmeter——循环控制器中实现Counter计数器的次数重置
近期在使用Jmeter编写个辅助测试的脚本,用到了多个Loop Controller和Counter。 当时想的思路就是三个可变的数量值,使用循环实现;但第三个可变值的数量次数,是基于第二次循环中得到的结果才能确认最终次数,每次的结果…...
[创业之路-85]:IT创业成功老板的品质、创业失败老板的特征、成功领导者的品质、失败管理者的特征
目录 前言: 一、创业成功老板的品质 二、创业失败老板的特征 三、成功领导者的品质 四、失败管理者的特征 前言: 大多数创业或职场共事,都是基于某种人际关系或所谓的感情,这是大数的职场众生相,也是人情社会的中…...
警惕.360勒索病毒,您需要知道的预防和恢复方法。
引言: 网络威胁的演变无常,.360勒索病毒作为一种新兴的勒索软件,以其狡猾性备受关注。本文将深入介绍.360勒索病毒的特点,提供解决方案以恢复被其加密的数据,并分享一系列强化网络安全的预防措施。如果您在面对被勒索…...
人力资源小程序
人力资源管理对于企业的运营至关重要,而如今随着科技的发展,制作一个人力资源小程序已经变得非常简单和便捷。在本文中,我们将为您介绍如何通过乔拓云网制作一个人力资源小程序,只需五个简单的步骤。 第一步:注册登录乔…...
Zotero文献去重插件:高效清理重复文献的完整解决方案
Zotero文献去重插件:高效清理重复文献的完整解决方案 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 在学术研究过程中,…...
DeepSeek-R1量化部署实战指南(含TensorRT+AWQ+GGUF三引擎对比评测)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek-R1量化部署方案概览 DeepSeek-R1 是一款高性能开源大语言模型,其量化部署旨在平衡推理精度、显存占用与吞吐效率。本章聚焦于面向生产环境的轻量化落地路径,涵盖权重量…...
CentOS 7 Minimal安装后,别急着装图形界面!先试试这个命令搞定粘贴和联网
CentOS 7 Minimal安装后的高效运维起点:命令行解决粘贴与联网难题当你第一次启动刚安装好的CentOS 7 Minimal系统,面对漆黑终端闪烁的光标,是否感到一丝不安?许多新手在遇到无法从宿主机粘贴命令或无法联网时,第一反应…...
JMeter接口测试进阶:从功能验证到生产级性能工程
1. 这不是“点点点就能跑通”的接口测试,而是你真正能扛住压测的底气很多人第一次打开 JMeter,以为它只是个“图形化 Postman”——填 URL、选方法、点执行,看到绿色 Success 就觉得“接口测完了”。我带过三届测试团队,几乎每届都…...
3分钟快速解锁WeMod高级功能:Wand-Enhancer完整使用指南
3分钟快速解锁WeMod高级功能:Wand-Enhancer完整使用指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否曾经在使用WeMod时࿰…...
JVM调优实战:从频繁Full GC到毫秒级响应的真实踩坑记录
前言 去年双十一大促前,我们的订单系统突然开始出现间歇性卡顿。起初以为是数据库慢查询,直到看了GC日志才发现问题远比想象中复杂。这篇文章记录的是我们从一个频繁Full GC、停顿时间超过3秒的系统,优化到平均停顿小于50ms的完整过程。 真…...
从激活困境到一键解放:KMS_VL_ALL_AIO如何重塑你的Windows与Office体验
从激活困境到一键解放:KMS_VL_ALL_AIO如何重塑你的Windows与Office体验 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾为Windows激活问题而烦恼?每次重装系统后…...
终极解决方案:3步恢复Calibre-Web豆瓣元数据获取功能
终极解决方案:3步恢复Calibre-Web豆瓣元数据获取功能 【免费下载链接】calibre-web-douban-api 新版calibre-web已经移除douban-api了,添加一个豆瓣api实现 项目地址: https://gitcode.com/gh_mirrors/ca/calibre-web-douban-api 还在为Calibre-W…...
ScienceDecrypting:三步永久解锁加密PDF,让学术文献重获自由
ScienceDecrypting:三步永久解锁加密PDF,让学术文献重获自由 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档,支持破解科学文库、标准全文数据库下载的文档。无损破解,保留文字和目录,解除有效期限制…...
小样本下分位数估计与置信区间构建实战指南
1. 项目概述:为什么小样本下的分位数估计如此重要?在机器学习项目的日常工作中,我们常常会面临一个尴尬的局面:模型训练好了,也跑出了几轮评估结果,比如准确率是92%,93%,91%…...
