【正点原子】STM32电机应用控制学习笔记——8.FOC简介

FOC是适用于无刷电机的,而像有刷电机,舵机,步进电机是不适用FOC的。FOC是电机应用控制难度最大的部分了。

一.FOC简介(了解)

1.介绍

FOC(Filed Oriented Control)即磁场定向控制,又称磁场矢量控制(VC,Vector Control),也就是控制磁场的方向以及大小。
无刷电机的无感控制是六步换向,设定初始电流方向为u进入v流出,此时合成的磁场矢量方向是斜向下的,也就是吸引转子转动到这个位置,所以控制磁场也就是控制电机的转子。
在这里插入图片描述
FOC也是控制磁场,但是两者是有区别的。FOC有一个很明显的特点是精确,它可以非常精确的控制磁场的大小和方向,它可以使电机运转的转矩非常的平稳,噪声小,效率高,而且具有非常好的告诉动态响应。
在这里插入图片描述
六步换向是两两导通的一种方式,所以同一个时刻只有两项是导通的,绿色为电流流动方向,红色为合成的矢量方向,它是一段一段的位移的,走一圈全部运动了六段,一段走的是60度的角度。所以这个角度还是非常大的,在一些高精度的场合中,六步换向很显然是不行的,一点都不精确,像机械臂这些要求精度较高的,像素级别的精度,是不适用的。
在这里插入图片描述
而FOC是三相同时导通的,每一项都是由导通的,只不过它分配的电流是有区别的,它就可以控制磁场的大小不变,实现360度无死角的旋转,这也是FOC和六步换向最大的区别了。
在这里插入图片描述

2.六步换向&FOC控制方式异同

首先六步换相的算法相对更加简单,但是缺点也非常明显,就是精度差,运转不流畅。所以无刷电机是没有位置环的,每一个位移都是60度或30度这么一个大角度,所以做位置环意义不大。且运转不流畅,因为是一段一段的移动,转矩的波动比较大,存在一定的电流噪声,适用于对电机转动性能要求不要的场合。
FOC优点非常明显,转矩平稳,效率高,噪声小,动态响应快,精度也非常大。但缺点就是硬件成本高,像FOC通常是使用PMSM无刷电机的,永磁同步电机的价格比较高,而且对MCU性能成本要求会更高。因为FOC涉及到数学物理学这方面的知识,算法难度会更大,所以控制算法的难度很大。
在这里插入图片描述
BLDC也是可以同样使用FOC的方式进行控制的,但是内部结构更适用六步换向。像FOC通常是用正弦波控制的,像BLDC通常用梯形波来控制的。PMSM电机在旋转的时候,去测量它的反电动势,是正弦波变化的。
在这里插入图片描述

二.FOC框图介绍(熟悉)

1.框图总体介绍

FOC整体的框图如下,在这里只用到PI运算。还是用了逆变器,也就是三相逆变电路,也就是通过三个半桥来控制电机。
总体过程:首先第一步是对电机的三相电流进行采样,就可以得到ia,ib,ic。采样之后经过CLARKE变换,就会得到iα和iβ。然后经过PARK变换,就会编程iq和id了。但同时还需要位置反馈,就是霍尔传感器,位置编码器这些来反馈转子的旋转角度。接着iq和id来到pi控制器了,这些设定值的误差来到PID控制器(只用到PI)算出期望值控制电压值Vq和Vd。接着进行反PARK运算,就能得到Vα和Vβ。接着就把它们输入到SVPWM模块中进行调制,输出控制三个半桥的开关状态,也就是六个开关。这样我们就可以控制PMSM或者BLDC了。
在这里插入图片描述
在这里插入图片描述

2.框图细分介绍

首先采集三相电流,经过CLARK变换。CLARK变换的作用可以简答理解为由三相转变为两项的作用。三相电流就是正弦波,120度的相位差的正弦波,转换之后就变成了α和β两项正弦波了。但是计算难度还是很大,因为是非线性不断变化的,方向大小都是不断变换的,去控制这样的变量难度是非常大的。
那么就需要经过PARK交流变换,交流转直流,转成直流之后就会变成线性的ip和iq。他们两个的值和方向都不改变了,进行正弦变量线性化了,这样控制会更加简单了。这样就能代入PID控制算法了,然后就可以输出Ud和Up电压了。之后来到反PARK变换,也就是跟前面PARK反过来的,将d和q变成α和β,也就是两项正弦波,因为svpwm需要用到这两个静止的坐标系,svpwm是需要使用到α和β,所以需要反变换过来,之后就输出ua和ub和uc来控制逆变电路,进而控制电机旋转起来。
在这里,我们可以把FOC的整个框图分为五个部分,第一部分是CLARKE变换,接着是PARK变换,接着是PID控制算法变换,反PARK,以及SVPWM。总共可以分为五个部分了。在后面会逐一拆开进行讲解。
在这里插入图片描述

3.常见问题

(1)为什么FOC要不断进行变换?
(2)什么是CLARKE变换,PARK变换和反PARK变换?
(3)α和β,d和q分别代表什么?
(4)什么是svpwm?

三.FOC控制核心——坐标变换(熟悉)

1.旋转的PMSM电机波形

这里可以使用手动去让电机的转子匀速转动,然后就能使用示波器来观察三相饶阻uvw输出的电压,以及检测反电动势。所以速度不能太小,如果太小的话反电动势是非常小的,这时候会检测不出来了。所以这里要保持一定的速度。接着就会发现示波器出现三组正弦波了。它们之间还有相位差120度。
那么我们要控制电机旋转起来,就是输出这三项的正弦波才能使电机旋转起来。而这个正弦波正是FOC驱动无刷电机的手段。
那么这里有一个问题,如何才能产生正弦波呢?如果使用PWM模拟正弦波,那么就是SPWM了
在这里插入图片描述

2.SPWM

SPWM就是通过调整占空比的大小使其等效电流近似与正弦波。
比如,有一个LED灯,通过PWM控制。假设100%占空比输出10v,如果为50%,电压就会变为5v,如果为10%,就位1v。电压大小是可以通过电压大小来进行改变。正弦波的电压就是不断在改变的,可以使用不同的占空比来实现电压的变换。这样在经过低通滤波器之后就能得到一个正弦波了。
在这里插入图片描述
如下图,不同的占空比大小对应的电压是不一样的。这样就可以模拟出正弦波了。
右图绿色就是占空比大小,红色就是不同的占空比对应的电压值了。很明显占空比越大所对应的电压值也越大。那么我们就可以按照这种规律,一段一段的组合到一起,就可以形成正弦波了。
在这里插入图片描述
但是要注意SPWM是不依赖开关顺序的,3相之间时独立调制的。也就是说ABC各自有半桥电路,就能组成各自的三相逆变电路了,然后他们各自之间输入正弦波,就只负责生成正弦波,不管电机的任何状态,也不管电机的任何参数,就只负责输入正弦波,是没有任何反馈的,类似开环控制。但是这种系统是非常不稳定的。
在这里插入图片描述
所以说SPWM调试方式在FOC上是不常用的,还有一个原因是SPWM的母线电压利用率要比SVPWM的母线电压利用率要低15%。
而且从控制的角度来看,不想跟三个正弦波来打交道的。因为要控制正弦波,难度是非常大的。因为正弦波是非线性的量。大小和方向都是不断改变的。在这里插入图片描述
在这里插入图片描述

3.坐标变换

1)CLARKE变换

将三相转换成两相,因为三相电路计算是比较困难的。变换的原则是变换前后电流产生的磁场是必须相等的。
将三相电流的坐标系转换成直角坐标系α和β。
同时,三相电流是不需要同时检测的,通常来说只需要检测两项,另外一项可以通过KCL,得到
在这里插入图片描述
通过将abc三相电流进行正交分解。
在这里插入图片描述
虽然α和β坐标系少了一维变量,但新的变量还是正弦波,所以还要进行操作变成线性化。
在这里插入图片描述

2)PARK变换

将α和β转化为id和iq。
PARK变换就是将两相静止坐标系转换为随转子转动的坐标系,也就是dq轴。
d轴的方向是与转子内磁场的方向重合,也就是直轴。q轴的方向与转子内磁场的方向垂直,为交轴。
在这里插入图片描述
建设将α-β坐标系旋转θ角度(也就是转子旋转的角度,这个角度是可以通过霍尔或者位置编码器测出来的。)同样,也是将α-β轴进行正交分解。
这两个坐标系的两个控制量是线性的,就可以带入到PID控制器里面了。通过PID运算器运算出想要的期望值来进行控制。
在这里插入图片描述

3)反PARK变换

就是将dq分解为α和β坐标系。Ud和Uq是PID控制器得到的坐标值。
经过反PARK变换是因为SVPWM算法需要α和β两个静止坐标系的。算法需要通过这两个变量得到的。
在这里插入图片描述

四.FOC闭环回路(熟悉)

1.PID控制器

这部分也就是PID控制器。PID控制器通常有三个环,第一个是电流环,通常作为最内环,通过电流反馈来得到电机电流的扭矩。
接着就是速度环,控制电机的转速的。
然后是位置环,控制电机的旋转位置。
先讲解的是电流环。
经过一系列变换后输出的是iq和id。然后跟目标值进行相减来得到的误差来进行PI运算。这里要注意的是这里只用到了PI控制,没有引入微分。因为电流的采样率是非常搞得,就不需要微分项了。输出的期望值之后再经过反PARK变换。
那么这里有一个疑问,iq和id的两个目标值分别代表的是什么?
在这里插入图片描述

2.电流环和FOC的意义

那么就需要了解FOC它的意义和目的。
下面通过一个漫画进行演示,对于老头来说,是希望驴是一直往前走的,那么老头就会吊着一个萝卜,就给了驴向前走的驱动力,称为iq,当iq越大,驴走的就越快,越小走得就越慢。所以iq是我们需要的。id是我们不需要的,因为驴不用飞。
对比我们的电机,FOC也是一样的,对于转子来说,切线方向的iq是需要的,因为它驱动转子的一个力矩。与半径同方向的id是我们不需要的,只会增加我们的电流,让我们的电流让电机发热,
所以说id尽可能让电机控制到0,iq就是我们所期望的力矩输出。
所以电流环的两个目标值,iq就是我们期望的力矩输出,id的目标输出设置为0.
在这里插入图片描述

3.速度+电流环

这就是在之前的基础上加上速度环。
首先Speed_ref就是速度的目标值了,w就是实际的电机转速,可以通过编码器或者霍尔传感器检测出来的,算出来的误差经过PI运算之后,将他们的输出值当做电流环的输入,iq就是我们期望的力矩输出。然后id是将尽可能控制到0。这样我们就能实现速度+电流双闭环控制了。
在这里插入图片描述

4.位置+速度+电流环

这在前面的基础上加上了位置环。
Position_ref是位置的期望值,position是实际的位置。然后将速度环的输出当做电流环的输入。这样就能实现三闭环了。
但是我们要注意了,位置环的电机转速会相对来说比较慢。那么如果我们使用平均测速方法误差就比较大了(因为转子要么不动要么动得很慢)此时编码器输出就只有几个波形了。所以对速度环的误差是比较大的,比较波动。所以在使用位置环的时候,就直接使用位置+电流双闭环即可。就可以把中间的速度环给去掉了。这样能够更加稳定一点。
在这里插入图片描述

五.SVPWM解析(熟悉)

SVPWM(Space Vector Pluse Width Modulation)即空间电压矢量。它是由三相逆变器的六个开关元件组成的特定开关模式,使输出的电压波形尽可能接近于理想的正弦波形。也就是通过六个mos管组合使我们组合输出三项的相电压成正弦变化给无刷电机,让其旋转起来。因为FOC就是输出正弦波让无刷电机驱动起来的。这个步骤就是有SVPWM来实现的。
可以看到右边的动态示意图,这里有uvw三相,对应的就是abc这三相了。这三相有他们各自的电压矢量,它们的大小都是随时间成正弦规律变化的。这三个电压矢量它会合成一个总矢量,可以发现这个总矢量的大小的不变的,方向不断改变。这也是为什么FOC合成的力矩会更加的平稳。这也跟前面说的SPWM是不一样的,因为其三相是独立调制的,它只负责提供正弦波。那么SVPWM是把整个看成一个整体,着眼于如何使电机或得一个理想的圆形磁链轨迹。
所以SVPWM的目的,就是控制逆变电路的6个开关状态把在空间中旋转的矢量表示出来,这个矢量也就是空间电压矢量。
所以SVPWM算法实际上就是计算三相逆变器的六个开关何时导通,何时关闭。
三相逆变器一共有八种组合,
在这里插入图片描述
然后,我们定义了一个开关函数Sx。
当Sa=1的时候代表上桥臂导通,Sa=0则表示下桥臂导通(同一个半桥补课同时导通上下桥臂)
所以总共有八种组合。
六种非零矢量。U1(001)表示a下桥臂b下桥臂c上桥臂导通,既有上桥臂又有下桥臂就会产生电压差,有电压差就会有有向电流。这种有向电流的矢量称为非零矢量。
零矢量表示abc三个桥臂同时接下桥臂或者上桥臂。这样就不会产生电压差的,也就没有有向电流。
在这里插入图片描述
下面以U4(100)来分析,a上bc下桥臂导通,从a相电流流向b和c相。这就等效于右图的电路。
此时他们三相的相电阻是相等的。通过串联分压定理可以得到Uan为2/3Udc
在这里插入图片描述
其他组合同理,这里给出了其他组合的表格。
可以发现非零矢量的幅值是相同的,均为2/3Udc。
在这里插入图片描述
注意电压是标量,电压矢量是矢量,矢量的正方向是由我们自己定义的。这里定义以指向中心点o的方向为负,反之为正。
由于a接上桥臂,所以是正方向OA。bc接下桥臂,所以方向为负。他们所合成的电压矢量为U4。
其他组合同理,就能得到右图的六边形图。零矢量是没有有向电流的,所以它就在原点处。
在这里插入图片描述
但这里会有一个疑问,这八种开关组合只能合成六个方向的空间电压矢量。那么我们应该如何合成任意位置的空间电压矢量呢?
在这里插入图片描述
那么在这里以扇区为单位,在一个扇区内,相邻两个电压矢量以及零矢量,按照伏秒平衡的原则来合成该扇区内的任意位置的电压矢量。就是满足下面的关系式。
Uref就是期望得到的电压矢量,也就是任意位置的电压矢量,Ts是一个PWM周期,也就是定时器周期。
Ux和Uy分别是用于合成Uref的两个空间电压矢量。
Tx和Ty就是在一个周期中Ux和Uy所占的时间。
那么假设Uref在第一扇区,那么Ux和Uy就是其相邻两个矢量U4和U6,以及零矢量U0和U7了,来合成这个Uf。主要区别是他们各自时间的占比Tx和Ty。只要算出各自的时间占比,就能算出任意位置的空间电压矢量了。
在这里插入图片描述
所以问题1:如何计算相邻电压矢量与零矢量在一个周期内的时间占比?还有就是扇区的判断了,因为每一个扇区相邻的矢量是不一样的。
在这里插入图片描述
首先我们假设在扇区一,通过U4和U6两个矢量合成Uref,就满足伏秒平衡的公式。
Uref等于相邻的电压矢量乘以他们的时间,还有零矢量。
接着就对期望的电压矢量进行分解,分解到α和β轴。
U4和U6实际上就是2/3Udc。
由于U4整个都是α轴上,所以其在α轴上的分量为1,在β轴上的分量为0。
在这里插入图片描述
最终解得算到α和β,和前面的PARK变换联系上了。
Ts减去T4再减去T6就是剩下零矢量的时间了。这里零矢量的时间是可以自由分配的,在这里平均分配给T0和T7,所以剩余的零矢量除以2进行分配。
在这里是以七段式的SVPWM为例。
在这里插入图片描述

- 七段式SVPWM

同样还是以第一个扇区为例。
在前面我们已经算出了T4,T6,T0,T7对应每个电压矢量所持续的时间,我们只要保证电压矢量持续这么长的时间,就可以合成这一个期望矢量Uref。
但是七段式的SVPWM它有自己的一个顺序(如右图),第一步U0持续T0/2的时间,第二步U4持续T4/2的时间,然后是U6持续T6/2的时间,U7持续T7/2的时间,然后反过来,U7持续T7/2的时间,U6持续T6/2的时间…………整个时间加起来就是T7,T4,T6,T0。这跟之前的是等效的,但是在实际应用中要考虑到mos管的开关损耗。
所以我们可以发现,这七段式的SVPWM的每一个变化就只有一相发生了变化。所以这可以大大降低mos管的开关损耗。
除此之外,还合理插入了两个零矢量,并且对零矢量上对时间进行平均分配,可以使产生的PWM堆成,从而有效的降低了PWM的谐波分量。
这样我们就可以求出了相邻的两个电压矢量的时间,以及零矢量的时间。就可以看出这个波形了,其他的扇区也是同理的。
然后我们就可以去设置它的占空比,去比较值,就可以使PWM输出这样的波形了。就可以使三相去合成想要的矢量了。
在这里插入图片描述

- 扇区的判定

那么这里还剩下一个疑问,如何判断期望的电压矢量所在的扇区呢?因为不同的扇区所用的基向量是不一样的。
同样在这里以扇区1为例,θ值可以通过Uβ比上Uα的反正切值来得到。当期望电压Uref在第一个扇区的时候,此时θ满足0~60度之间,而且α和β都是大于0的。所以tanθ在0到根号3之间。然后我们就可以没到Uref在第一扇区的充要条件是
在这里插入图片描述
那么在其他扇区同理,已经在下图的表格中展示出来了。那么这样就解决了SVPWM的扇区判定了。那么判断完扇区之后,就可以求出相邻的两个矢量以及零矢量所持续的时间了。
在这里插入图片描述

六.课堂总结(掌握)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/325509.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊鲲鹏系统:全自动多账号下单,打造真实浏览轨迹

亚马逊鲲鹏系统是一款卓越的软件,其独特的功能让用户可以轻松设置多个账号同时进行自动下单,极大地提高了购物效率。操作流程简单明了,用户只需事先设置关键词及ASIN进行货比三家,为用户筛选最优的产品。随后,软件将模…

cesium设置近地天空盒 天空会倾斜

上篇文章讲解了如何设置近地天空盒,效果出来了还是发现天空是斜的 https://blog.csdn.net/m0_63701303/article/details/135618244 效果: 这里需要修改Cesium.skyBox的代码,代码如下直接全部复制组件内调用即可 skybox_nearground.js&…

福州真兰水表有限公司精益六西格玛项目总结发布会:推动质量改进的成功案例展示

2024年1月3日,福州真兰水表有限公司2023年度DMAIC项目总结发布会如期举行。ZENNER真兰集团中国区总裁杨燕明先生,张驰咨询公司精益六西格玛黑带大师朱成朝老师,福州真兰水表有限公司副总经理杨岚琴女士,以及生产经理(倡…

一些平时很少用,但关键时刻很有用的华为手机功能

天灾,自古以来就是威不可知亦不可测的东西,但大自然中的很多意外,其实可以做到有迹可循。 地震预警功能 前段时间频繁地震,一个月内先是积石山,而后是日本能登。 这时候,手机上的地震预警功能就是能够帮…

复旦、交大、清华等公布2023届本科生毕业数据

近日多所高校发布《2022-2023学年本科教学质量报告》,包含各高校本科毕业生就业升学情况,一起来看看吧~ 01 清华大学 清华大学推免率超60% 据报告显示,2023年清华大学本科毕业生总数 3609 人,授予学士学位3519 人。应…

什么样的耳机适合游泳?游泳耳机对人体有危害吗?

游泳是一项深受大家喜爱的运动,不仅可以锻炼身体,还能让我们享受到水中的乐趣。然而,对于喜欢在水中听音乐的人来说,选择一款适合游泳的耳机就显得尤为重要了。 游泳耳机是一种专为水上运动设计的防水耳机,可以在游泳、…

48-DOM

1.DOM基础 Document Object Module,文档对象模型,window对象,document文档,都可以获取和操作 1)文档节点 2)属性节点(标签内的属性href,src) 3)文本节点(标签内的文字) 4)注释节点 5)元素节点(标签) 2.获取元素节点 2.1通过标签名获取 <p>1</p><…

Apache StringUtils:Java字符串处理工具类

简介 在我们的代码中经常需要对字符串判空&#xff0c;截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。如果只用 String 类提供的那些方法&#xff0c;我们需要手写大量的额外代码&#xff0c;不然容易出现各种异常。现在有…

chatgpt实用技巧之二反问式提示

大家好&#xff0c;今天跟大家讲实用gpt的小技巧二、反问式提示 有时候不知道怎么给 GPT 提示词&#xff0c;这时候&#xff0c;就可以反问 GPT 如何更好地给提示词。如图片所示 更详细内容可以看下这篇&#xff1a; 按照 GPT 给出的&#xff1a;故事设定角色故事发展主题结局…

git提交文本或者word到git教程,git创建仓库时候自带

简易的命令行入门教程: Git 全局设置: git config --global user.name “XX” git config --global user.email “XXXqq.com” 创建 git 仓库: mkdir test cd test git init touch README.md git add README.md git commit -m “first commit” git remote add origin https:…

Verilog语法——5.测试文件

参考资料 【明德扬_verilog零基础入门语法HDL仿真快速掌握-手把手教你写FPGA/ASIC代码设计流程中的应用】 5. 测试文件 5.1 认识测试文件&#xff08;testbench&#xff09; testbench是一种验证的手段。首先&#xff0c;任何设计都是会有输入输出的。 但是在软环境中没有激励…

50天精通Golang(第18天)

web开发介绍、iris框架安装、HTTP请求和返回、Iris路由处理 一 Web项目开发介绍及实战项目介绍 1.1 引言 本系列课程我们将学些Golang语言中的Web开发框架Iris的相关知识和用法。通过本系列视频课程&#xff0c;大家能够从零到一经历一个完整项目的开发&#xff0c;并在课程…

壹基金“安全家园”项目瑞金市城北社区志愿者救援队成立

项目介绍&#xff1a;阿里巴巴公益&壹基金安全家园项目 -社区志愿者救援队专项行动是一个以社区为本的防灾减灾公益项目。据介绍&#xff0c;该项目通过推动社区建立自己的志愿者救援队伍&#xff0c;为队伍“配物资”“办培训”&#xff0c;并协助他们动员居民参与“家庭—…

宝宝洗衣机买几公斤?婴儿专用洗衣机测评

由于幼龄时期的宝宝的皮肤比较娇嫩&#xff0c;很容易受到伤害。所以小宝宝的衣服一般都是棉质的&#xff0c;很柔软&#xff0c;很亲肤的&#xff0c;为的就是保护宝贝们娇嫩的肌肤。而宝宝们在日常中更换衣物会相对频繁&#xff0c;换的衣物也必须及时清洗晾晒&#xff0c;以…

1-数组-有效的数独

这是数组的第一题&#xff0c;从现在开始开启数组篇章。力扣链接。 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的…

锐意进取,蓬勃发展|爱基百客2023全景图

岁序更迭&#xff0c;2023年已悄然离去。对我们来说&#xff0c;这是充满挑战与机遇的一年。爱基百客作为一家专注于测序服务的公司&#xff0c;我们在这一年里经历了许多挑战&#xff0c;也取得了令人鼓舞的成绩。前面我们盘点了表观产品和单细胞产品&#xff0c;今天再邀您回…

.Net 8.0 Web API Controllers 添加到 windows 服务

示例源码下载&#xff1a;https://download.csdn.net/download/hefeng_aspnet/88747022 创建 Windows 服务的方法之一是从工作线程服务模板开始。 但是&#xff0c;如果您希望能够让它托管 API 控制器&#xff08;也许是为了查看它正在运行的进程的状态&#xff09;&#xff0…

企业知识库搭建全流程,中小型企业必看

知识库是企业知识管理和信息查询的重要平台&#xff0c;对企业效率提升&#xff0c;业务流程规范和企业文化建设有着重要的影响。那么&#xff0c;如何为企业搭建一个合适&#xff0c;高效&#xff0c;易用的知识库呢&#xff1f;接下来就为中小型企业详解企业知识库搭建全流程…

什么是二维码?带你快速了解二维码的原理

二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码&#xff0c;使用黑白矩形图案表示二进制数据&#xff0c;被设备扫描后可获取其中所包含的信息。与一维条码不同的是&#xff0c;二维条码的长度和宽度都可以记载数据&#xff0c;而一维条码仅宽度记载数据。二维条…

yolo使用tensorboard查看训练过程

在终端打开并将此处的路径替换成绝对路径即可。 # tensorboard --logdir "绝对路径" tensorboard --logdir"D:\Learning\PycharmProjects\yolov8\ultralytics-main\runs\detect\train4" 参考&#xff1a;查看训练过程