BLDC无感控制和MOS并联扩流

小功率的云台电机的驱动可以直接采用驱动芯片(一般芯片内部会加各种保护)进行控制,但是对于较大功率的电机则采用MOS组成的H桥(有刷)和三相全桥(无刷)进行控制,过流过温保护需要自行添加。

MOS并联的增流作用:

并联方法:将多个MOS管的栅极、源极、漏极分别连接在一起,从而形成一个并联电路。

无刷电机的KV值是指其每分钟转速与电压之间的线性关系。具体来说,KV值等于每伏特(V)所能产生的转速(RPM)。KV值越高,表示无刷电机在给定电压下转速越快。因此,无刷电机的转速、功率、电流和效率会受到KV值的影响。又要大功率、大扭矩,又要体积小,成本还最好不要太高,选择低KV值的无刷电机显然是最合适的。若想额外增加电机的扭矩可以加装减速器,参考RM英雄机器人pitch电机。

在电机领域中,CW和CCW是两个常用的术语,表示电机的旋转方向。CW表示顺时针方向旋转,即正转。CCW表示逆时针方向旋转,即反转。

结构体与函数复用:

// 定义电机结构体  

typedef struct {  

    // 电机的属性,例如PWM值、状态等  

    uint16_t pwm_duty;  

    // 其他属性...  

} Motor;  

  

// 定义电机实例  

Motor g_bldc_motor1;  

Motor g_bldc_motor2;  

  

// 初始化电机  

void init_motors(void) {  

    // 初始化g_bldc_motor1的代码...  

    // 初始化g_bldc_motor2的代码...  

}  

  void m1_whvl(Motor *motor)  

{  

    if (motor == &g_bldc_motor1) {  

        g_atimx_handle.Instance->CCR2 = 0;  

        g_atimx_handle.Instance->CCR3 = motor->pwm_duty;  

        g_atimx_handle.Instance->CCR1 = 0;  

        HAL_GPIO_WritePin(M1_LOW_SIDE_V_PORT, M1_LOW_SIDE_V_PIN, GPIO_PIN_SET);  

        HAL_GPIO_WritePin(M1_LOW_SIDE_U_PORT, M1_LOW_SIDE_U_PIN, GPIO_PIN_RESET);  

        HAL_GPIO_WritePin(M1_LOW_SIDE_W_PORT, M1_LOW_SIDE_W_PIN, GPIO_PIN_RESET);  

    } else if (motor == &g_bldc_motor2) {  

        // 对于g_bldc_motor2的相应操作  

    }  

    // 可以继续添加更多的电机实例操作  

}

int main(void) {  

    // 初始化电机  

    init_motors();  

  

    // 获取电机实例的地址  

    Motor *motor1_ptr = &g_bldc_motor1;  

    Motor *motor2_ptr = &g_bldc_motor2;  

  

    // 使用指针调用函数  

    m1_whvl(motor1_ptr);  

    m1_whvl(motor2_ptr);  

  

    return 0;  

}

在电子设备的电源部分,220欧姆的电阻常用于电源滤波电路中,起到抑制高频噪声的作用。在LED电路中,220欧姆的电阻可以用作限流电阻,控制LED的亮度和保护LED免受过大电流的损坏。

齐纳二极管的替代品:

电压基准芯片ME432AXG,是一款低电压(1.25V)可编程精密稳压器,在全温度范围内如同低温度系数的齐纳管一样稳定。ME432具有较宽的工作电流范围:70uA到100mA。较低的温度系数和较低的动态阻抗使其在开关电源、充电管理、运放电路等许多应用中代替齐纳二极管。ME432工作最高电压为18V,输出电压可以通过外部电阻在Vref(1.25V)到18V之间灵活设置。

ME431AXG稳压为2.5V,和ME432AXG一样有3.3V提供电源,得到基准电压后为运放器件提供所需的基准电压。

搞不懂运放电路?一定要看这一文20种运放典型电路,电路图+公式 - 知乎 (zhihu.com)

条件编译#if #endif:

无感控制:

有感控制通过霍尔传感器得到三相的位置从而通过六步换向改变6中MOS组合的通断来控制电机连续转动,无感控制不用传感器通过检测反电动势(通过过零信号的组合判断转子当前的位置)也可以控制电机转动,在低速时检测不精准控制不准确。电调通常属于无感控制,现在基本都是无感FOC技术。相比于传统的方波控制技术,FOC低噪音、响应快、转矩平顺。FOC可以实现速度环、电流环的双闭环,收发自如。

过零点:反电动势从正变为负或者从负变为正的点,发生在不通电的那一项

无刷电机的反电动势是指在无刷电机运转时,由于电机转子在磁场中运动,会产生电磁感应力,导致在电机内部形成一个反向的电动势。这种电动势被称为反电动势。

当无刷直流电机转子旋转时,定子的电枢绕组会切割磁力线。根据电磁感应定律,在磁场中运动的导体因切割磁力线会产生感应电动势。由于产生的电动势方向与电枢绕组电流的方向相反,因此称之为反电动势。

在无刷电机中,反电动势的大小和相位会随着转子位置的变化而变化,从而实现对电流的控制和调节。反电动势在电机控制中具有重要的作用,它可以用于检测转子位置、实现换相控制和速度闭环等。

第一个60度内,A相电流为正B相电流为负,C相电流为0,这说明电机的AB相导通,电流从A相流向B相,反电动势的过零点恰好出现在C相,因此只要在每个60度内检测一次检测出不通电导通那一项的电压,即可检测反电动势。

用一个过零比较器产生0或1,检测反电动势,通过过零点的组合可以检测出转子的位置,过零点发生在换向前的30度时刻,则检测出过零点后延时30分钟为需要换向的时刻。过零点前通常有尖峰电压,可以后续通过RC低通滤波器或程序低通滤波滤除。

BEMF_V为虚拟中性点,为三相的共同连接。之后每项都有一个比较器进行电压比较,参考电压为虚拟中性点的电压。比较器输出0和1得出比较结果。中间的运放电压跟随器起到隔离的作用。左边图中的电阻起到分压作用由于相电压过大。

如何根据过零信号计算出电机的速度:

计算转速:转速与反电动势的频率成正比。如果知道一个周期内过零点的数量,就可以计算出转速。例如,如果每分钟检测到60个过零点,那么电机的转速就是60转/分钟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值