为了账号安全,请及时绑定邮箱和手机立即绑定

无线充电和电磁兼容性技术

标签:
C++

大家好,我是良许。

近年来,无线充电技术已经从高端旗舰手机逐渐普及到各类消费电子产品,甚至开始在汽车、医疗设备等领域崭露头角。

作为一名嵌入式工程师,我在汽车电子项目中也接触过不少无线充电模块的集成工作。

今天就和大家聊聊无线充电技术的原理,以及在实际应用中最让工程师头疼的电磁兼容性(EMC)问题。

1. 无线充电技术原理

1.1 电磁感应式无线充电

目前市面上最常见的无线充电技术是基于电磁感应原理的,这也是Qi标准(由无线充电联盟WPC制定)所采用的核心技术。

简单来说,就是利用法拉第电磁感应定律:当发射端线圈通过交变电流时,会在周围产生交变磁场,接收端线圈处于这个磁场中就会感应出电动势,从而实现能量传输。

我记得刚接触这个技术时,项目经理让我负责在车载中控台集成一个手机无线充电板。

当时我天真地以为只要把充电模块焊接上去就行了.

结果测试时发现各种问题:充电效率低、发热严重、还干扰了车载收音机信号。

后来才明白,无线充电系统的设计远比想象中复杂。

发射端的核心是一个逆变电路,通常工作在100kHz到205kHz频段(Qi标准规定的范围)。

以STM32为例,我们可以用定时器产生PWM信号来驱动全桥或半桥逆变电路:

// STM32 HAL库配置PWM用于无线充电发射端
void WirelessCharger_PWM_Init(void)
{
    TIM_HandleTypeDef htim1;
    TIM_OC_InitTypeDef sConfigOC = {0};
    
    // 配置定时器基本参数
    htim1.Instance = TIM1;
    htim1.Init.Prescaler = 0;
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    htim1.Init.Period = 719;  // 假设系统时钟72MHz,输出约100kHz
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
    htim1.Init.RepetitionCounter = 0;
    HAL_TIM_PWM_Init(&htim1);
    
    // 配置PWM通道
    sConfigOC.OCMode = TIM_OCMODE_PWM1;
    sConfigOC.Pulse = 360;  // 50%占空比
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
    HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
    
    // 启动PWM输出
    HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
}

这段代码配置了一个100kHz的PWM信号,用于驱动逆变电路。

但实际项目中,频率需要根据负载情况动态调整,以实现最佳的能量传输效率。

1.2 磁共振式无线充电

除了电磁感应,还有一种磁共振技术,它允许更远的传输距离(可达几厘米甚至十几厘米),而且对位置的要求没那么严格。

这种技术的原理是让发射端和接收端都工作在相同的谐振频率上,通过共振耦合来传输能量。

磁共振技术在医疗设备中应用较多,比如植入式医疗器械的充电。

因为它可以穿透一定厚度的非金属材料,不需要精确对位。

不过这种技术的电路设计更复杂,对元器件的参数一致性要求也更高。

1.3 无线充电系统的组成

一个完整的无线充电系统通常包括以下几个部分:

1.1.1 发射端:包括电源管理芯片、逆变电路、发射线圈、控制MCU、通信模块等。

1.1.2 接收端:包括接收线圈、整流电路、稳压电路、充电管理芯片、通信模块等。

1.1.3 通信协议:发射端和接收端需要通过某种方式进行通信,交换功率需求、充电状态等信息。

Qi标准采用的是反向散射调制技术,接收端通过改变负载来调制信号,发射端通过检测线圈电流或电压的变化来解调信息。

2. 电磁兼容性挑战

2.1 EMC问题的本质

无线充电系统天生就是一个强电磁干扰源。

想想看,我们要在几厘米的距离内传输5W到15W甚至更高的功率,这意味着发射线圈周围存在很强的交变磁场。

这个磁场不仅会感应到接收线圈,也会感应到周围的任何导体上,造成电磁干扰。

我在做那个车载无线充电项目时,最头疼的就是EMC测试。

第一次送检,辐射发射超标了将近20dB,完全不符合汽车电子的CISPR 25标准。

当时压力特别大,因为如果EMC过不了,整个项目就要延期。

2.2 传导干扰

无线充电系统的传导干扰主要来自于逆变电路的开关动作。

每次MOSFET开关时,都会产生很大的di/dt和dv/dt,这些高频分量会通过电源线传导出去,干扰其他设备。

解决传导干扰的常用方法包括:

2.1.1 在电源输入端加EMI滤波器,通常采用π型或T型滤波网络,包括共模电感、差模电感和X电容、Y电容。

2.1.2 优化PCB布局,缩短大电流回路的面积,减少寄生电感。

我的经验是,逆变电路的功率回路一定要做到最短最粗,而且要在顶层和底层都铺铜,形成良好的回流路径。

2.1.3 选择合适的开关频率和软开关技术。

如果能实现零电压开关(ZVS)或零电流开关(ZCS),可以大幅降低开关损耗和EMI。

// 动态调整开关频率以优化EMC性能
void Adjust_Switching_Frequency(uint32_t load_power)
{
    uint32_t new_period;
    
    if(load_power < 5000) {  // 小于5W
        new_period = 800;  // 降低频率到90kHz
    } else if(load_power < 10000) {  // 5W-10W
        new_period = 720;  // 100kHz
    } else {  // 大于10W
        new_period = 650;  // 提高到110kHz
    }
    
    __HAL_TIM_SET_AUTORELOAD(&htim1, new_period);
    __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, new_period/2);
}

2.3 辐射干扰

辐射干扰是无线充电系统更难解决的问题。

发射线圈本身就是一个天线,它不仅发射工作频率的基波,还会发射大量的谐波分量。

这些谐波可能落在各种通信频段内,干扰WiFi、蓝牙、GPS、FM收音机等设备。

在我那个车载项目中,无线充电工作时,FM收音机会出现明显的噪声,特别是在某些频段。

后来我们采取了几个措施:

2.2.1 线圈屏蔽:在发射线圈和接收线圈背面都加了铁氧体磁屏蔽片,可以有效约束磁场,防止向外泄漏。

但要注意,屏蔽片的位置和厚度需要仔细调试,否则会降低充电效率。

2.2.2 频率跳变技术:当检测到某个频率干扰严重时,自动切换到另一个频率工作。

Qi标准允许在一定范围内调整工作频率。

2.2.3 金属外壳接地:如果设备有金属外壳,一定要良好接地。

但要注意接地方式,避免形成地环路。

2.2.4 滤波和吸收:在关键信号线上加磁珠、电容进行滤波,在容易产生谐振的地方加阻尼电阻。

2.4 对其他设备的干扰

无线充电系统不仅要考虑自身的EMC性能,还要考虑对周围设备的影响。

比如在手机上,无线充电时可能会干扰NFC、指纹识别、摄像头等模块。

在汽车上,可能会干扰钥匙识别、胎压监测等系统。

我遇到过一个案例,某款手机在无线充电时,触摸屏会出现误触现象。

后来分析发现,是充电线圈产生的磁场在触摸屏的ITO层上感应出了干扰信号。

最后通过调整线圈位置和增加屏蔽才解决问题。

3. EMC设计的实践经验

3.1 PCB设计要点

对于无线充电系统,PCB设计至关重要。

我总结了几个关键点:

3.1.1 分区布局:将数字电路、模拟电路、功率电路严格分开,各自独立供电和接地。

3.1.2 地平面完整:尽量保持地平面的完整性,避免分割。如果必须分割,要在分割处加跨接电容。

3.1.3 走线优化:高频信号线要短而粗,差分信号要等长等宽,阻抗匹配。

大电流走线要足够宽,必要时可以多层并联。

3.1.4 过孔处理:过孔会引入寄生电感,在高频电路中要尽量减少过孔数量。

如果必须使用,可以采用多个过孔并联来降低寄生电感。

// 在代码中监测EMC相关参数
typedef struct {
    uint32_t switching_freq;      // 当前开关频率
    uint16_t coil_current;        // 线圈电流
    uint16_t coil_voltage;        // 线圈电压
    int8_t   temperature;         // 温度
    uint8_t  efficiency;          // 效率
} WirelessCharger_Status_t;

void Monitor_EMC_Parameters(WirelessCharger_Status_t *status)
{
    // 读取ADC获取电流电压
    status->coil_current = HAL_ADC_GetValue(&hadc1);
    status->coil_voltage = HAL_ADC_GetValue(&hadc2);
    
    // 计算效率
    uint32_t input_power = status->coil_voltage * status->coil_current;
    uint32_t output_power = Get_Output_Power();
    status->efficiency = (output_power * 100) / input_power;
    
    // 如果效率过低,可能存在EMC问题导致的能量损耗
    if(status->efficiency < 70) {
        // 触发告警或调整工作参数
        Adjust_Working_Parameters();
    }
}

3.2 测试与调试

EMC测试是一个迭代的过程,很少有产品能一次通过所有测试。

我的建议是:

3.2.1 尽早测试:不要等到产品定型才做EMC测试,在原型阶段就应该进行预测试,及早发现问题。

3.2.2 定位干扰源:使用近场探头和频谱分析仪,可以快速定位干扰源的位置和频率。

3.2.3 分步整改:不要一次改动太多地方,每次只改一个参数,观察效果。这样可以明确每个改动的作用。

3.2.4 留有余量:不要刚好压线通过测试,要留有足够的余量,因为批量生产时元器件参数会有分散性。

3.3 标准与认证

不同的应用场景对EMC有不同的要求。

消费电子产品通常需要符合FCC Part 15、CE等标准;汽车电子需要符合CISPR 25标准;医疗设备需要符合IEC 60601系列标准。

在设计之初就要明确目标市场的认证要求,避免后期返工。

Qi标准本身也包含了EMC要求,产品要获得Qi认证,必须通过WPC指定实验室的EMC测试。

这个测试比一般的EMC测试更严格,因为它还要考虑与手机等接收设备的兼容性。

4. 未来发展趋势

无线充电技术还在快速发展中。

功率越来越大,从最初的5W发展到现在的50W甚至更高;距离越来越远,从紧贴充电发展到几厘米的自由摆放;应用场景越来越广,从手机扩展到电动汽车、无人机、机器人等领域。

但功率越大、距离越远,EMC问题就越突出。这需要我们在电路设计、材料选择、算法优化等多方面不断创新。

比如采用自适应频率跟踪技术,实时监测EMI水平并动态调整工作参数;采用有源EMI抑制技术,主动注入反相干扰信号来抵消EMI;采用新型磁性材料和屏蔽材料,提高磁场约束能力。

作为嵌入式工程师,我们不仅要关注功能实现,更要重视EMC设计。

一个好的产品,不仅要能正常工作,还要能在复杂的电磁环境中稳定可靠地工作,同时不对其他设备造成干扰。

这需要我们在理论学习和实践经验之间不断积累,在每一个项目中总结教训,才能逐步提高设计水平。

无线充电和EMC技术都是非常实践性的领域,纸上谈兵远远不够,只有真正动手做过项目,经历过测试失败的痛苦,才能深刻理解其中的门道。

希望我的这些经验分享能对大家有所帮助,也欢迎同行们一起交流探讨。

更多编程学习资源

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Linux系统工程师
手记
粉丝
102
获赞与收藏
285

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消