新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于STM32的汽车空调调速模块信号发生器的设计

基于STM32的汽车空调调速模块信号发生器的设计

作者:付忠亮 黄忠毅  叶雨时间:2015-09-07来源:电子产品世界收藏
编者按:适应汽车电子技术的发展,根据汽车空调调速模块生产中的测试需要,设计了一种支持多类型信号输出的汽车空调调速模块信号发生器。可支持0V-10V分辨率0.1V的直流输出;频率10Hz-1000Hz,占空比0%-100%的PWM输出;LIN-BUS总线输出。涵盖了目前主流的三种类型信号,具有输出精度高、输出稳定、使用简单的特点。根据实际需要,设计了测试和老化两种工作模式,测试模式用于人工测试产品使用,老化模式用于产品老化实验阶段自动循环扫描输出。

摘要:适应汽车电子技术的发展,根据汽车空调调速模块生产中的测试需要,设计了一种支持多类型信号输出的汽车空调调速模块信号发生器。可支持0V-10V分辨率0.1V的直流输出;频率10Hz-1000Hz,占空比0%-100%的输出;-BUS总线输出。涵盖了目前主流的三种类型信号,具有输出精度高、输出稳定、使用简单的特点。根据实际需要,设计了测试和老化两种工作模式,测试模式用于人工测试产品使用,老化模式用于产品老化实验阶段自动循环扫描输出。

本文引用地址:http://www.eepw.com.cn/article/279226.htm

引言

  近年来,随着汽车电子技术的发展,汽车已经深入人们的生活。汽车空调作为汽车舒适系统的重要部分,也越来越引起驾驶者的关注。汽车空调调速模块主要用于控制空调鼓风机的转速,进而改变空调出风量的大小,是汽车空调系统里的重要组成部分也是最容易损坏的部件。从过去简单的纯电阻分压换挡到现在的电子开关式调速模块的无级调速,集成度越来越高,功能也越来越丰富。汽车空调控制器ECU发出的调速信号类型也从直流、占空比等模拟信号向通信的数字化方向发展[1]。以往测试模块往往需要借助直流电源、DDS函数信号发生器,带通信的模块测试时,甚至需要购买整套空调控制系统才可进行测试,成本高、操作复杂。本文设计的汽车空调调速模块信号发生器则将上述几种信号集成在了一个信号发生器里,并根据产品实际研发和生产需要,设计了简洁的人机界面,大大降低了对操作工人的技术水平要求。同时增加了老化模式,方便产品老化需要。

  本文提出的汽车空调调速模块信号发生器设计方案支持0V~10V直流电压信号输出,分辨率0.1V,数字步进输出;频率范围10Hz~1000Hz,0%~100%占空比下的信号输出;支持LIN2.0标准LIN-BUS总线通信输出,数据帧内容可根据新增模块进行升级扩展。

1 硬件设计

  图1为系统硬件框图,硬件由MCU系统电路、输出电路、PWM输出电路、LIN通信电路、人机界面、系统工作电源等几部分组成。三种类型信号通过继电器切换选择,最终在BNC公共端子上输出。

1.1 MCU及相关电路

  MCU选用当前主流ARM Cortex-M3 芯片,ST公司的STM32F103C8T6,其具有极高的性价比。它是一款TQFP48封装的微控制器,系统工作时钟最高可达72MHz,64KB flash、20K RAM,丰富的内存空间为以后的升级提供了保障。同时内部集成了硬件PWM、USART、I2C总线、内置复位、及看门狗电路等外设,适用很多高集成度、低成本的应用场合[2]。通过外接一个8MHz的石英晶体振荡器,保证了系统时钟的准确性,将PWM输出频率和LIN—BUS总线的波特率误差降到最低。外接了一片EEPROM芯片FM24CL16用于系统参数及用户当前设置操作的掉电存储,下次开机可以直接调用历史设置。

1.2 输出电路

  DC信号由PWM滤波得到,如图2。STM32F103C8T6的硬件PWM定时器为16位,足够满足直流0V~10V量程下步进0.1V的分辨率。使用其TIME1的CH1通道输出频率为1kHz的PWM,输出为推挽方式。PWM输出的高电平经过基准芯片LM385BZ-2.5稳压到2.5V,然后再经由LM358构成的二阶低通滤波放大电路输出,为保证输出直流信号的平滑度,又加了一级RC滤波;二阶低通滤波器的截止频率取16Hz。C23、C24直接取1μF,由计算可得R16、R17阻值为10kΩ;PWM的VPP为2.5V,为满足DC最大10V输出,至少需放大4倍,考虑预留余量取,同时为了使集成运放两个输入端对地的电阻平衡,取R18=10kΩ,R19=33kΩ。输出再经过一级跟随器,可保证输出信号的低阻抗[3]。另为防止输出被短路,输出串联了1kΩ输出限流保护电阻R22,并使用二极管1N4148做了反向保护。D3、D4两个钳位二极管和D5反向二极管用于防止输出被误接其它外部信号时对电路造成损坏。

1.3 PWM输出电路

  使用TIME1的CH2通道输出频率范围10Hz~1000Hz,占空比0%~100%的PWM信号。信号的幅值固定为5V Vpp。为了提高PWM信号的驱动能力,输出采用三极管构建了一个图腾柱驱动电路。当PWM输出低电平时,Q2截止,Q3导通,Q4截止,最终PWM_OUT输出为高电平;当PWM输出高电平时,Q2导通,Q3截止,Q4导通,最终PWM_OUT输出为低电平。为防止输出被短路,在输出端串联了一个100mA的自恢复保险丝F1,限制其最大输出能力为100mA;D7的1N5819可防止与模块连接时被误反接进而可能对本电路的损伤。PWM输出电路见图3。

1.4 LIN通信电路

  目前LIN总线技术正被越来越广泛的应用到车身电子中,它是面向汽车低端分布式应用的低成本、低速率、串行通信总线。LIN接口由两部分组成:协议控制器、线路接口。协议控制器可在MCU的一个标准UART上实现,MCU软件负责管理LIN协议并实现以下功能,发送/接收8位字节、构成请求帧(接收为应帧)、发送帧。线路接口,负责将LIN总线的信号翻译成无干扰的RX信号传入LIN协议控制器;或将协议控制器的RX信号进行翻译传入LIN总线。物理层采用单线连接,两个电控单元间的最大传输距离为40m,低传输速率小于20kb/s,采用NRZ编码。在总线上发送的信息,有长度可选的固定格式。每个报文帧都包括2、4或8个字节的数据以及3个字节的控制、安全信息(同步场、标识符场和校验场)[4]

  STM32F103C8T6用作协议控制器,其内部的USART支持LIN模式。LIN接口则采用NXP公司的TJA1020,它是目前主流LIN物理接口芯片。信号发生器只向电子调速模块发送调速指令的数据帧,故工作在master主机模式下。如图4所示,LIN 收发器的睡眠控制输入NSLP引脚直接接到MCU工作电源3.3V上,使其一直处理唤醒状态。本地唤醒NWAKE引脚则加限流电阻接到地上。TJA1020在主机应用下,需要增加一个额外的主机端电阻,通过在LIN 和BAT引脚之间串联一个反向电流二极管D12和电阻R35实现,为了提高EMC以及降低EMI,对地连接了一个电容负载C28。同样为防止外部短路和反接,在输出端还增加了一个10Ω的限流电阻R36和100mA的自恢复保险丝F2,有效保护自身电路。

1.5 人机界面

  人机界面用于输出信号类型、输出模式、输出值等状态的设定和显示,电路见图5。采用上下两行4联共阴数码管显示数值,上行数码管U1用于显示LIN通信类型模块的型号和PWM下的频率值,下行数码管U2则显示DC信号下的输出电压值;PWM下的占空比;LIN下的输出档位等。数码管驱动电路采用一种集成化的串行输入/输出共阴极显示驱动器MAX7219,它连接微处理器与2个4联共阴8段数码管,具有自动扫描、数字的译码与非译码选择、模拟和数字亮度控制功能。并外接了8个LED灯用于当前选择的信号类型、测试/老化模式、输出开启/关闭等状态指示。

  设计了4个独立按键和一个旋钮式编码开关做为用户操作设置按键,使操作尽量简单化。分别为S1信号类型切换键、S2测试/老化模式切换键、S3输出开/关键、编码开关S4实现+/-及设置确定功能。


pwm相关文章:pwm是什么


c语言相关文章:c语言教程


低通滤波器相关文章:低通滤波器原理


负离子发生器相关文章:负离子发生器原理
离子色谱仪相关文章:离子色谱仪原理
锁相环相关文章:锁相环原理

上一页 1 2 下一页

关键词: DC PWM LIN 201509

评论


相关推荐

技术专区

关闭