当前位置: 首页 > news >正文

免费建站模板哪个好seo文章推广

免费建站模板哪个好,seo文章推广,国外比较好的资源网站,怎样写代码目录 一、开环控制1.1、控制原理1.2、硬件接线1.3、代码说明1.4、程序演示1.5、程序架构的体现 二、电流变换2.1、理论说明2.2、代码说明 ODrive、VESC和SimpleFOC 教程链接汇总:请点击 一、开环控制 在SimpleFOC系列中有开环控制的教程,SimpleFOC移植S…

目录

  • 一、开环控制
    • 1.1、控制原理
    • 1.2、硬件接线
    • 1.3、代码说明
    • 1.4、程序演示
    • 1.5、程序架构的体现
  • 二、电流变换
    • 2.1、理论说明
    • 2.2、代码说明


ODrive、VESC和SimpleFOC 教程链接汇总:请点击

一、开环控制

在SimpleFOC系列中有开环控制的教程,SimpleFOC移植STM32(二)—— 开环控制,可以对比参考。

1.1、控制原理

在这里插入图片描述

1、开环控制,只能使用电压模式,电流模式需要采样电流,那就是闭环了,
2、一般设置Ud=0,所以只需设置Uq。在SimpleFOC中 voltage_limit最终赋值Uq,在ODrive中 target_voltage_最终赋值Uq,
3、Uq设置太大,电机发热严重,Uq设置太小,电机没劲转不动或者转不快,所以一定要根据电机相电阻设置大小,
4、θ不是当前的角度,是目标角度,就是下次计算时的角度。

1.2、硬件接线

在这里插入图片描述

驱动板购买链接:某宝购买
电机 购买链接:某宝购买

1.3、代码说明

1、开环控制在TIM1更新中断中调用,下图:
在这里插入图片描述

2、开环控制代码,下图:
相比simpleFOC的开环运算,增加电流、电压和速度的爬升率设置,启停阶段电机转动更平稳,
在这里插入图片描述

3、Park逆变换,
由dq变为αβ,最终送入SVPWM,
在这里插入图片描述

1.4、程序演示

注意,本节示例中的速度单位是电角度(rad/s),不是闭环控制中的速度单位(圈/秒),也不是SimpleFOC中的机械角度(rad/s)。

在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

如果转速设置太大,电机会振动,可以调高 target_voltage_ 以达到更大的转速,但是注意电机电流,注意发热。

  • 电压爬升率和速度爬升率如果设置的小一点,可以看到电机逐渐加速的过程,
  • 云台电机的target_voltage_设置可以更大一点,能更清楚的看到扭矩逐渐增大的过程,
  • 开环控制虽然简单,却是入门第一关,
  • 对于电机新手,可以先用云台电机,因为电机相电阻更大,不容易烧坏,
  • 开环控制主要用于电机上电校准和无刷电机的启动阶段,不是控制常态,不用深入研究。

1.5、程序架构的体现

ODrive代码开源但却难以看懂,我觉得原因有以下几个:

  • 1、采用FreeRTOS系统,没用大家习惯的裸奔,
  • 2、C++编程,单片机代码C是主流,即使有嵌入式工程师善长C++,但却不懂硬件,代码看起来一样云里雾里,
  • 3、程序架构与众不同。

ODrive的程序架构,也是我在基本移植完代码后才焕然大悟的,如果事先有架构意识,不至于看代码的时候那么痛苦。
下面以开环控制为例,说明其架构特点,

  • openloop_controller_update()函数运算后的变量赋给FOC_voltage()函数,这是常用的代码写作方式,下图:
    在这里插入图片描述
  • 为了说明程序架构,我又做了一个开环控制代码,
    在这里插入图片描述
  • 第二个代码,仿照官方架构,openloop_controller_update()函数运算后的变量没有直接赋给FOC_voltage()函数,下图:
    在这里插入图片描述
    而是在准备开环控制的时候,指针指向开环变量,下图:
    在这里插入图片描述
    然后再将指针传递给FOC_voltage()函数的变量,下图:
    在这里插入图片描述

总结来说:

  • 第一个代码中,openloop_controller_update()函数变量给FOC_voltage()函数用,整个代码只有一套变量,
  • 第二个代码中,openloop_controller_update()函数有自己的变量,FOC_voltage()也有自己的变量,两个变量通过指针链接。

相当于多了一个二传手,这样做肯定降低了效率,甚至觉得完全就是多此一举,但为什么要这么做,大概是方便功能拓展和多人合作。我觉得这个差别有点像个体户和大型跨国公司,个体户理解不了ERP系统一样。

最初移植代码的时候我是打算采用第一种方案的,但是考虑到代码移植后大家的认可度,我还是决定和官方的保持一致。
文笔有限,还不懂的请认真对比两个代码。

二、电流变换

电流变换实际上要到第七篇教程编码器校准时才会涉及到,此处提前讲解,以满足你们那渴望的心,

2.1、理论说明

1、几乎所有讲FOC的文章,都会有这样的框图,所以此处不再多讲。

在这里插入图片描述
在这里插入图片描述

2、重点:“θ”这个参数,框图中看起来像是一个参数两处调用,实际上这是两个角度,
Park变换的θ是当前读出的角度,而Park逆变换是下次FOC计算时的角度(当前角度+估算的下次转过的角度),

  • 在simpleFOC中,没有估算下次转过的角度,只是简单的加了_PI_2,我觉得这也是限制了SimpleFOC最大转速的一个原因,因为转速足够快的话,一个电周期完全有可能转过_PI_2个电角度。
    在这里插入图片描述
  • 在ODrive中则经过了精确的计算,
    在这里插入图片描述

2.2、代码说明

  • 电流变换部分移植v0.5.1,因为v0.5.6的变换被分开写入了多个不同的函数,没有0.5.1的简单清晰,
  • 本节只为方便观看代码,稍后代码中的变换仍采用v0.5.6版本,
  • 0.5.1和0.5.6都是好代码,版本升级只能说明创作者有不同的目标,并不是代码就一定越来越好。

在这里插入图片描述
在这里插入图片描述

  • ODrive的力矩模式非常稳定,对比SimpleFOC的电流环就非常拉垮,几乎没有实用价值。
  • 我试图把ODrive的电流环移植到SimpleFOC中,但是移植了一些后就写不下去了,因为涉及到了程序架构。SimpleFOC是Arduino环境,设计的目标是跨平台运行,几乎不用中断,代码是流水线式的执行,强行移植就不再是SimpleFOC了。






(完)


http://www.tj-hxxt.cn/news/6609.html

相关文章:

  • 饰品公司网站建设方案百度竞价关键词质量度怎么提升
  • 东莞网站建设新闻资讯营销型企业网站案例
  • 网站建设方案标准模板公众号免费推广平台
  • 免备案域名注册厦门seo总部电话
  • wordpress编辑功能seo关键词排名优化是什么
  • 武汉网站制作公司哪家好网络营销课程培训机构
  • 长沙网站排名报价长沙建站优化
  • 视频网站怎么做动图东莞seo网站优化排名
  • 松门建设规划局网站宁波免费建站seo排名
  • 域名访问不了织梦网站国外网站如何搭建网页
  • 中国知名广告公司有哪些郑州seo招聘
  • 做百度移动端网站优品牌运营策略有哪些
  • 哈尔滨权威做网站免费网页制作网站
  • 浏阳做网站公司可靠的网站优化
  • 怎么在工商局网站做股东变更今日新闻最新消息大事
  • 外贸网站排行win7最好的优化软件
  • 做物流哪个网站货源多网站搭建详细教程
  • 专做装修的网站教育培训网站官网
  • 建站知识上海网络推广平台
  • 网站写手怎么做seo矩阵培训
  • 律师免费咨询网站更新seo
  • 甘肃省临夏州建设局网站厦门关键词排名提升
  • 网站虚拟主机销售seo综合查询是什么意思
  • 为什么做金融网站犯法网站优化推广seo公司
  • 网站建设排名优化技巧昆明seo网站管理
  • wordpress不显示目录文章青岛seo百科
  • 东莞品牌网站制作解封后中国死了多少人
  • 信息化建设 网站作用站长之家app下载
  • 比较好的能组数学卷的网站做教案的软文生成器
  • 网站开发付费视频才能观看网站如何做优化推广