ODriver

共有PWM模块、ADC电流采集、定时器编码器配置、SVPWM模块、FOC核心、PID模块、电压限幅模块,其实有了PWM与SVPWM以及一些必要的数学变换,我们就可以开环使电机转起来了,加入电角度与电流采集作为反馈后,我们就能做到电流闭环,再加入速度PID就可以做到速度闭环,其他的模块只是这些目的的辅助手段罢了

一、编码器的分类

txt
按工作原理的不同可分为增量型和绝对值型。

(1) 增量型 (增量式可以理解为信号即位移的增加,需要参考量)

 增量式编码器的原理是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。增量式编码器转轴旋转时,有相应的脉冲输出,其旋转方向的判别和脉冲数量的增减借助后部的判向电路和计数器来实现。其计数起点任意设定,可实现多圈无限累加和测量。还可以把每转发出一个脉冲的Z信号,作为参考机械零位。编码器轴转一圈会输出固定的脉冲,脉冲数由编码器光栅的线数决定。需要提高分辨率时,可利用 90 度相位差的 A、B两路信号对原脉冲数进行倍频,或者更换高分辨率编码器。

 简单来说,增量型编码器总共有三种相线输出,A相、B相、Z相。其中电机每转过一定的角度,A相和B相就输出一个脉冲,且A相和B相相互延迟1/4周期,电机的正反转就是根据A相和B相的延迟关系判断的。Z相为单圈脉冲,即每转一圈输出一个脉冲,可以作为参考机械零位。

(2) 绝对型(直接输出数字量的传感器,不需要参考量)

绝对编码器光码盘上有许多道光通道刻线,每道刻线依次以2线、4线、8线、16线编排,这样,在编码器的每一个位置,通过读取每道刻线的通、暗,获得一组从2的零次方到2的n-1次方的唯一的2进制编码(格雷码),这就称为n位绝对编码器。这样的编码器是由光电码盘进行记忆的。

简单来说,就是对应一圈,电机的每个角度都有一个与该角度对应二进制的数值,且这个数值不会改变,所以称为绝对型编码器。

二、不同编码器的优缺点及其对应应用范围

增量型:

增量式编码器十分合适测速度,可无限累加丈量
是存在零点累计差错,抗干扰较差,接纳设备的停机需断电回忆
增量式编码器的一般应用测速,测转动方向,测移动角度、距离(相对)。

绝对型:

发生电源故障也不丢失轴位置
绝对式编码器十分适合测量位置,可直接输出
绝对编码器一般能够以 8 到 12位输出 360 °更精确,但也更昂贵

0、系统配置

1、电机有力了!(PWM模块)

高级定时器主要用于产生6路互补的PWM来驱动MOS管,加入死区防止电源导通,本文未使用刹车引脚。高级定时器1通道1、2、3用于产生PWM,通道4用于触发ADC电流采样,根据扇区的位置,灵活设置PWM占空比,进而选择合理的触发点,避免在噪声点采样。引脚配置与PWM极性请根据自己的硬件合理配置,如IR2101是高电平有效,而IR2103则是低端低有效,高端高有效。

定时器从0开始向上计数 当0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平 t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出高电平 当TIMx_CNT值达到ARR时,定时器溢出,重新向上计数…循环此过程 至此一个PWM周期完成

TIMx_ARR寄存器确定PWM频率,
TIMx_CCRx寄存器确定占空比

image-20240907102129162

LED等推挽输出

image-20240909104907079

image-20240909105404369

image-20240909105448227

image-20240909105833521

image-20240910132838967

image-20240910132746715

image-20240910132952045

img

image-20240915213051309

image-20240915213823875

image-20240915214652354

image-20240916160612586

image-20240916161725535

使用opencv进行颜色识别时受光照影响很大怎么办?
1.白平衡算法

2.对于图像数据受到光照度不足或者曝光引起的对比度太小的情况,在图像处理中一般是图像直方图均衡化的方法来处理。直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法。例如,更亮的图像将所有像素限制在高值。但是一个好的图像会有来自图像所有区域的像素。因此,我们需要将这个直方图扩展到两端,而这就是直方图均衡化所做的事情(用简单的话来说)。这通常会改善图像的对比度。
全局直方图均衡化,自适应局部直方图均衡化

自适应阈值?

-