麦克风和扬声器选型介绍

在AI语音交互产品设计中,我们无法绕开的两种元件就是麦克风(MIC)和扬声器(SPK),今天我们就探讨一下驻极体麦克风和动圈式扬声器。

一、麦克风

麦克风,学名传声器,也称话筒、咪头、微音器。是将声音信号转换为电信号的能量转换器件。有动圈式、电容式、驻极体和硅微传声器。而大多数设备采用是驻极体电容器麦克风。驻极体电容话筒频响范围较窄,但灵敏度高,体积小,结构简单,成本低、适用与语言拾音。

1.驻极体话筒的工作原理

  • 关键元件:驻极体振动膜。它是一片极薄的塑料膜片,一面蒸发上一层纯金薄膜,然后再经过高压电场驻极后,两面分别驻有异性电荷。

1

驻极体麦克风的基本结构如上图所示,由电极、空气隙、驻极体、金属层组成。形成了一个以空气隙和驻电极作为绝缘介质,以金属层和电极作为两个电极的电容器。当声波引起驻极体薄膜振动时,两极板的间距就会发生变化,电容的容量发生变化,又因为驻极体上的电荷数量始终不变,由Q=CU,得C发生变化,电极之间电压U就会发生变化,再通过阻抗变换器将电信号放大,来采集声音信号。

2.选型时要看的参数

  • 灵敏度: 单位声压强下所能产生电压大小的能力。灵敏度表示麦克风的声—电转换效率。在自由声场中,当向麦克风施加一个声压为1帕(Pa) 或 1微巴(unbar) 的声信号时麦克风的开路输出(以毫伏为单位),即为该麦克风的灵敏度。1微巴(ubar)约相当于人们正常音量讲话,并在离嘴1米远的地方测量所得到的声压。 ECM灵敏度参数一般用灵敏度级表示,单位为分贝(dB).公式为:灵敏度级=20log(灵敏度/参考灵敏度),参考灵敏度=0db=1V/Pa。

    2

  • 最大声压级:麦克风在总谐波失真小于10%时所能承受的最大声压级,又叫声过载点。常见的数字麦克风最大声压级为120dB SPL,低灵敏度的可以达到130dB SPL。由此采集的声音信号过大,会导致振膜发生不可逆形变,导致麦克风的损坏。

3

  • 信噪比:数字麦克风在输入激励为94 dB SPL下的输出信号幅值与输入激励切断时的输出信号幅值(本底噪声)之比。
    例如,某数字麦克风本底噪声级为30dB SPL,那么其信噪比为 94dB-30dB=64dB。
    4

  • 最大输入电压

  • 指向性:指向性特性又称方向性,是表征传声器对不同入射方向的声信号检测的灵敏度。

驻极体麦克风指向性分类有:全向性、单指向、双指向。

指向性图案

7

  • 麦克风选型要点:

1)灵敏度:咪头的灵敏度选择需要考虑模拟增益和数字增益,模拟增益越大的话,噪声会大,用在涂鸦的VWXR2-ES在线语音模组,我们选用灵敏度-40dB~-30dB的咪头。

2)信噪比:信噪比选择相对较大的。

3)最大输入电压:要大于模组对咪头的供电电压2.8V。

二、扬声器

扬声器,又称喇叭,是一种把电信号转换成声音信号的器件,位于电声系统的末端,扬声器在音响设备中是一个最薄弱的器件,而对于音响效果而言,它又是一个最重要的部件。

1.扬声器的种类

  • 按驱动方式:电动式(动圈式)、电磁式(舌簧式)、静电式(电容式)、压电式(晶体式),离子喇叭,;

  • 按重放频带:低音、中音、高音、全频扬声器等;

  • 按振膜形态:锥形、球顶型;

  • 动圈式扬声器

    应用电动原理的电声换能器件,应用最多、最广泛。

    工作方式:通过交变电流信号的通电导体线圈在磁场中运动,线圈和音圈固定在一起,使与音圈振动,并与音圈相连的振膜振动,从而牵扯连纸盆振动,再通过空气介质,将声波传送出去。

    优点:
    1)结构简单、生产容易,性价比高。
    2)性能优良,在中频段可以获得均匀的频率响应。
    3)设计原理不变,主要是工艺、材料不断改进,性能大幅提升。

    6

  • 扬声器的参数

1) 额定阻抗:扬声器的阻抗一般和频率有关。额定阻抗是指在确定信号源的有效电功率时,,从扬声器输入端测得的阻抗。它一般是音圈直流电阻的1.2~1.5倍。一般动圈式扬声器常见的阻抗有4Ω、8Ω、16Ω、32Ω等。阻抗越低越容易推。

2)额定功率:扬声器的功率有标称功率和最大功率之分。标称功率称额定功率、不失真功率。它是指扬声器在额定不失真范围内容许的最大输入功率,在扬声器的商标、技术说明书上标注的功率即为该功率值。最大功率是指扬声器在某一瞬间所能承受的峰值功率。为保证扬声器工作的可靠性,要求扬声器的最大功率为标称功率的2~3倍。

3)频率响应:给一只扬声器加上相同电压而不同频率的音频信号时,其产生的声压将会产生变化。一般中音频时产生的声压较大,而低音频和高音频时产生的声压较小。当声压下降为中音频的某一数值时的高、低音频率范围,叫该扬声器的频率响应特性。

理想的扬声器频率特性应为20~20000Hz,这样就能把全部音频均匀地重放出来,然而这是做不到的。每一只扬声器只能较好地重放音频的某一部分。

4)谐振频率:扬声器从低音域开始振动时,振动板最强烈振动所在点对应的频率(测量扬声器单元阻抗特性时,阻抗曲线上阻抗值第一次达到最大值时(即Xmax)所对应的频率称为该扬声器单元的谐振频率或共振频率,简称F0;

反应了低音的性能。是其性能的一个重要参数。该值越低,扬声器重放低音的质感和力度也越好;

5)THD:音频信号的振幅非线性引起的一种失真;当扬声器输入某一频率的正弦信号时,扬声器输出的声信号中,除了原输入信号的基波成分外,还出现了2 倍,3 倍….于基波频率的信号。谐波失真主要是由于扬声器的振动系统或磁路系统的非线性产生,这个值越小越好;失真度是重要指标,一般情况下,100Hz~1KHz失真要小于10%,1KHz以上要小于3%;

6)SPL(声压级):是指喇叭在通以额定阻抗1W的电功率的电压时。在参考轴上与喇叭相距1m的点上。单位:分贝(dB)产生的声压。

  • 扬声器的选型要点

1)用在与涂鸦的VWXR2-ES在线语音模组配合的电路
2)额定阻抗:选择4Ω/8Ω
3)额定功率:2~3W
4)频率响应:频率曲线分布较平

总结

这篇文档我们主要讲了驻极体麦克风与电动式扬声器,我们选型时绕不开的一些参数,以及用在与涂鸦的VWXR2-ES在线语音模组配合的电路上的一些选型要点,希望能帮助到大家。

<think>好的,我现在需要帮助用户了解如何在STM32上驱动或控制超声波喇叭,特别是寻找教程或示例代码。首先,我得回顾一下用户提供的引用内容,看看有没有相关的信息可以借鉴。 用户提供的引用[1]提到了ACM(Abstract Control Model)相关的模块,比如acm_sdio、acm_smd、acm_tty,这可能涉及到STM32的通信接口,比如SDIO、SMD(可能是某种串行接口)或TTY(串口终端)。不过,这些具体如何应用到超声波喇叭的控制上还不清楚。可能需要进一步了解ACM在STM32中的应用场景,是否涉及到USB通信或者其他类型的设备控制。 引用[2]详细介绍了超声波的特性,比如方向性、穿透能力能量大,还提到了HC-SR04超声波模块。这可能是一个常用的超声波传感器,用户可能想用STM32来控制类似的设备。HC-SR04通常通过GPIO触发信号并测量回波时间来计算距离,但用户提到的是“超声波喇叭”,可能是指用于发出超声波的装置,比如用于清洗或其他应用的设备,而不仅仅是测距。因此,控制方式可能会有所不同,可能需要生成特定频率的PWM信号来驱动超声波换能器。 接下来,我需要整理STM32控制超声波设备的一般步骤。首先,超声波喇叭通常需要高频信号驱动,通常在40kHz左右。STM32的定时器可以生成PWM信号,通过配置定时器的ARRPSC寄存器来设置合适的频率。然后,这个PWM信号可能需要经过驱动电路(比如H桥或MOSFET)来放大电流,以驱动超声波换能器。 另外,需要考虑超声波喇叭的工作模式,是连续发射还是脉冲式。如果是脉冲式,可能需要控制PWM的启停时间,或者使用外部触发信号。同时,可能还需要接收回波信号,但如果是单纯的喇叭,可能只需要发送信号,而不需要接收。 用户提到的HC-SR04模块是测距用的,包括TrigEcho引脚,但如果是驱动超声波喇叭,可能不需要Echo引脚,而是需要持续或间歇地发送超声波信号。因此,代码示例可能与HC-SR04的驱动不同,重点在于生成PWM信号。 可能的步骤包括: 1. 配置定时器生成PWM信号,频率为40kHz。 2. 连接PWM输出到GPIO引脚,通过驱动电路连接超声波喇叭。 3. 控制PWM的启停以控制超声波发射的时间。 4. 可能需要使用中断或DMA来处理定时任务。 现在,我需要确保这些步骤的可行性。例如,STM32的定时器能否生成40kHz的PWM?假设系统时钟为72MHz,预分频器设置为0,则ARR值为72MHz/(40kHz) = 1800,这可行。但实际可能需要调整预分频器ARR的值以达到精确的频率。 示例代码可能包括定时器初始化、PWM配置、GPIO设置等。需要注意的是,不同的STM32系列(如F1、F4、H7)的寄存器配置可能略有不同,但整体思路相似。 另外,用户可能需要了解如何通过PWM驱动外部电路,比如使用MOSFET或晶体管来放大电流,因为STM32的GPIO输出电流有限,无法直接驱动大功率超声波换能器。 最后,需要提醒用户注意硬件连接的正确性,避免短路或过流损坏设备,同时确保超声波喇叭的工作电压电流与驱动电路匹配。</think>在STM32上驱动超声波喇叭主要涉及PWM信号生成与定时器配置。以下是实现步骤及示例代码: ### 一、硬件准备 1. 超声波喇叭(如40kHz压电换能器) 2. MOS管驱动电路(如IRF540N) 3. STM32开发板 4. 示波器(调试用) ### 二、软件实现步骤 #### 1. 配置定时器生成40kHz PWM 使用TIM2通道1输出PWM,配置步骤: $$ f_{PWM} = \frac{f_{CLK}}{(PSC+1) \times (ARR+1)} $$ 假设系统时钟72MHz,设置PSC=0,ARR=1799: $$ 72MHz / (1 \times 1800) = 40kHz $$ #### 2. GPIO配置 配置PA0为TIM2_CH1输出: ```c GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); ``` #### 3. 定时器初始化代码 ```c TIM_HandleTypeDef htim2; htim2.Instance = TIM2; htim2.Init.Prescaler = 0; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 1799; // ARR值 htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; HAL_TIM_PWM_Init(&htim2); TIM_OC_InitTypeDef sConfigOC; sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 900; // 50%占空比 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); ``` ### 三、驱动电路设计 推荐使用MOS管搭建H桥电路: ``` STM32 GPIO -> 电阻(220Ω) -> IRF540N栅极 | +-- 二极管续流保护 超声波喇叭连接在MOS管漏极与电源之间 ``` ### 四、关键参数调试建议 1. 使用示波器验证PWM波形 2. 测量换能器谐振频率(微调ARR值) 3. 调整驱动电压(通常需要12-24V)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值