A.01.09—模块的输出—PWM低端输出
PWM输出在汽车上的应用也比较多,它有三种不同的实现方式。
第一种由软件实现,即软件设定对一个输出口拉高和拉低的时间,形成时高时低的PWM控制;但这种方式目前用得不多,这是由使用需求和软件本身的特性决定的。如很多功能都要求较高的频率,比如卤素灯的PWM控制要求频率大于100Hz,这种情况下如采用软件定时来实现则要耗用较多资源、不划算。
第二种由MCU通过其PWM口控制高驱芯片的通断来实现PWM功能,这种情况下软件只需设定定时器有关参数,并不需要实时由软件计时和控制。这种情况用于驱动芯片不能自发实现PWM功能的场合,如BTS5012。
第三种由MCU通过SPI来对驱动芯片中相关参考进行配置,当将某个端口配成PWM输出时,驱动芯片即可工作在此状态,如VNQ6004。下图展示了这种应用场合的一个大体示例。正常情况下通过SPI来控制输出口,输出口可以工作在普通固定高驱状态也可以工作于PWM状态。而一组in口也为直驱口,在limphome的时候使用。
![]()
上图为一个采用PWM控制电动车喇叭的的示例、它采用的是低端输出,在车上目前很多车型的外部灯光控制都采用PWM的驱动方式(但是普遍采用PWM高端输出),这么做有以下好处:
一是可以相对延长传统灯泡如卤素灯的使用寿命,因为卤素灯的寿命对工作电压很敏感,而在各种不同工况下灯泡端的电压各不相同,会有时高时低的情况,而高的工作电压使卤素灯的使用寿命变短甚至可能引发投拆抱怨;将其工作电压稳定在一定值则能使其寿命发挥至最大值。对于不同的灯泡如欧标和美标,其电压要求是不同的,一个是12.8V、一个是13.2V,但它们都是采用恒功率调节策略。
二是可以节能,但这条并不是主要目标,第一条增加可靠性、减少投诉才是主要目的。
另外对于卤素灯的PWM控制对氙灯则不适用,因为氙灯要有专用的升压器;而LED灯很多时候将采用专用的驱动电路来驱动,也不采用上图中简单的PWM驱动电路。
对于内部灯光来说,一些环境灯、背光灯、室内灯之类的,为了便于调节亮度、一般也采用PWM控制的——少数低端车不采用PWM控制则无法实现亮度调节功能。
A.01.09—模块的输出—PWM低端输出的更多相关文章
- A.01.10—模块的输出—PWM高端输出
PWM高端输出比低端输出用得多,如上次提到的卤素灯的控制均是采用高端输出的. PWM高端输出与PWM低端输出的差异就像固态高端输出与固态低端输出的差异类似,从线路失效后对用户的影响来看:高端输出为控制 ...
- A.01.11—模块的输出—输出复用和可配
对于输入来说,高边输入与低边输入可配,那对于输出来说,它有哪些可配的情况呢. 下图中展示了2种常见的类型. 第一种为同一驱动芯片内部的情况.对于OPL与ODL,即PWM低端输出和固态的低端输出,它们是 ...
- STM32之PWM波形输出配置总结
一. TIMER分类: STM32中一共有11个定时器,其中TIM6.TIM7是基本定时器:TIM2.TIM3.TIM4.TIM5是通用定时器:TIM1和TIM8是高级定时器,以及2个看门狗定时器 ...
- STM32F4_TIM输出PWM波形(可调频率、占空比)
Ⅰ.概述 上一篇文章关于STM32基本的计数原理明白之后,该文章是在其基础上进行拓展,讲述关于STM32比较输出的功能,以输出PWM波形为实例来讲述. 提供实例工程中比较实用的函数:只需要调用该函数, ...
- STM32F0xx_TIM输出PWM配置详细过程
前言 前面我说过STM32的定时器功能很强大,今天就来总结一下它的另外一个“强大”功能:TIM的比较输出功能,输出可调PWM波形.直接调用函数接口“TIM2_CH1_PWM(uint32_t Freq ...
- STM32F103定时器输出PWM波控制直流电机
这个暑假没有回家,在学校准备九月份的电子设计竞赛.今天想给大家分享一下STM32高级定时器输出PWM波驱动直流电机的问题.. 要想用定时器输出的PWM控制直流电机,,首先要理解“通道”的概念..一个定 ...
- STM32F103 TIM1输出PWM设置
//TIM1 分频 #define TIM1_DIV1 (1-1) #define TIM1_DIV2 (2-1) #define TIM1_DIV4 (4-1) #define TIM1_DIV8 ...
- AWS re:Invent(2019.01.09)
时间:2019.01.09地点:北京国际饭店
- STM32定时器输出PWM频率和步进电机控制速度计算
1.STM32F4系列定时器输出PWM频率计算 第一步,了解定时器的时钟多少: 我们知道AHP总线是168Mhz的频率,而APB1和APB2都是挂在AHP总线上的. (1)高级定时器timer1, t ...
随机推荐
- C# Note34: 异常机制相关小点
1.使用throw和throw ex抛出异常的区别 通常,我们使用try/catch/finally语句块来捕获异常,那么在抛出异常的时候,使用throw和throw ex有什么区别呢? 假如,按顺序 ...
- clone内容包含select2
如果克隆的内容包含select2,克隆之后要先删除select之后自动生成的span,再对select2进行初始化,生成新的元素.
- hive字符函数
- python之路--MySQl单表查询
一. 关键字的执行优先级(重点) from where group by having # 使用是要放在group by 后面而且前面必须有group by select distinct # 去重 ...
- 使用PHP对二维索引数组进行排序
本例中 data 数组中的每个单元表示一个表中的一行.这是典型的数据库记录的数据集合. 例子中的数据如下: volume | edition -------+-------- 67 | 2 86 | ...
- linux mysql -- ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid)
转载 http://blog.csdn.net/caiyaodeng/article/details/45937183 linux 链接mysql 报错 ERROR! The server quit ...
- spring boot和swagger 整合
本文来源:https://blog.csdn.net/saytime/article/details/74937664 一.依赖 <dependency> <groupId>i ...
- Linq:使用Take和Skip实现分页
Skip,Take: list = list.Skip(pageNum * pageSize).Take(pageSize).ToList(); pageSize :表示一页多少条. pageNum: ...
- NaN与Null与undefiined的关系
在js中,定义一个变量需要通过关键字var来定义,定义的变量可以是字符串.数字等等都行.但是如果你只是定义了一个变量,没有给他赋值,那么它就默认为'undefined'.例如 var name; co ...
- Nginx 如何通过连接池处理网络请求
L:35-36 worker_connections 默认 512个 这个链接需要设置的 worker_cpu_affinity 0001 0010 0100 1000;关联CPU connecti ...