pwm

DIY智能小车篇(二):功能模块之驱动、巡线、避障

大兔子大兔子 提交于 2019-11-29 06:13:23
前言 本篇主要针对实现小车各功能的过程中具体的实现原理、程序算法以及遇到的问题进行统一的解释与说明。至此,结合上一篇的结构模块,已经完成了该智能小车项目的所有工作,其中必然还有很多可以优化的地方,但考虑到做此项目的最终目的是更深入的理解嵌入式编程,所以此项目到此为止,要去开拓更广阔的的天地啦。 驱动控制 驱动模块PWM配置 要想实现对小车的速度控制,就需要对L298N电机驱动模块的使能引脚输入PWM波,改变占空比的大小便可以调节小车速度的快慢 该PWM配置如下: /** * @brief: 初始化PWM输出配置,利用TIM3同时输出4路PWM波,控制4个电机转速 * @param: arr-自动重装载值 psc-时钟预分频系数 * @retval NONE * @Others:GPIO_PinAFConfig函数必须分步进行复用,不能用一个复用函数并在一起,不然只有一路输出 **/ void TIM3_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3

高压电容1206B471K102CT应用程序

好久不见. 提交于 2019-11-29 02:05:00
  高压电容一般指的是1kv以上的电容,或者10kv以上的电容。通常,一颗额定工作电压为10KVAC的高压电容,如果以直流电压来判断,往往要用额定为40KVDC以上的产品才合适.因为40KVDC的电容,往往只能经受住10KVAC约2分钟的测试,更高电压时就容易击穿。    产品型号:1206B471K102CT   商品目录:高压电容   精度:±10%   温漂系数(介质材料):X7R   额定电压:1000V   容值:470pF    高压电容1206B471K102CT特点:   高电压在给定的情况下的大小   高稳定性和可靠性     高压电容 1206B471K102CT应用程序:   高频功率变换器中的缓冲器   高压耦合/直流闭塞   直流-直流转换器   逆光照明逆变器   高压电容1206B471K102CT外形尺寸:   高压电容1206B471K102CT推荐焊接条件:   无铅终端mlcc不仅适用于SMT上的无铅锡膏,而且适用于含铅锡膏。如果需要优化焊点,建议增加焊接时间、温度和炉内氮气浓度。   安富利(深圳)商贸有限公司是一家大型代理渠道商,经营世界各国名牌厂家的集成电路及其它电子元件代理品牌:SuperSemi(超致)、赛普微、奥伦德、RUNIC(润石)、Honeywell(霍尼韦尔),分销品牌:TI(德州仪器)、ST(意法半导体)、ADI

米联客 ZYNQ/SOC 精品教程 S02-CH17 自定义IP AXI_PWM实验

社会主义新天地 提交于 2019-11-29 00:34:07
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛: www.osrc.cn 答疑解惑专栏开通,欢迎大家给我提问!! 17.1 概述 本课就以AXI-Lite总线实现PWM(Pulse Width Modulation,脉冲宽度调制)自定义IP作为验证AXI-Lite总线应用的方案,实现4路PWM,通过点亮LED观察效果,带领大家快速进入实战状态。 17.2 自定义IP的封装 设置总线形式为Lite总线,Lite总线是简化的AXI总线,消耗的资源少,当然性能比完整版的AXI总线差一点。因为频率要求不高,因此采用Lite总线就够了。设置寄存器数量为8,因为后面我们需要用到8个寄存器。 Step6:选择Edit IP,单击Finish完成 17.3 用户IP的修改 IP创建后,需要对其进行修改,建立我们能够实际使用的IP。 Step1:打开PWM_LITE_ML_v1_0.v文件。 修改如下: 修改如下: 说明:slv_reg0-slv_reg7为PS部分写入PL的寄存器。通过这8个寄存器的值,我们可以控制PWM的占空比。 下面这段代码就是PS写PL部分的寄存器,一共有8个寄存器。 always @( posedge S_AXI_ACLK ) begin if ( S_AXI_ARESETN == 1

AO4423二三事

寵の児 提交于 2019-11-29 00:26:21
AO4423二三事 一般说明 AO4423 采用先进的沟槽技术,提供出色的RDS(ON)和超低的低栅极电荷,栅极额定值为25V。该器件适合用作负载开关或PWM应用。它受到E8D保护。 AO4423L(绿色产品)提供无铅封装.A04423无铅(符合ROHS和Sony 259规格).A04423L是绿色产品订购选项。 AO4423和A04423I电气相同。 特征 VDS(V)=-30V ID=-15A RDS(ON)<7mS2(VGS=-20V) RDS(ON)<8.5m2(VGS=-10V) ESD Rating:6000V HBM 规格参数 制造商:ALPHA & OMEGA SEMICONDUCTOR 晶体管类型:P-MOSFET 极化:单极 漏极-源极电压:-30V 漏极电流:-14A 耗电:2W 封装:SO8 栅极-源极电压:±25V 开启状态电阻:7.2mΩ 安装:SMD 栅极电荷:47nC 通道种类:增强 来源: https://my.oschina.net/u/3948018/blog/3099864

BTS50010-1TAD总结特点

梦想与她 提交于 2019-11-28 22:31:40
   BTS50010-1TAD 是1.0mΩ单通道智能高端电源开关,嵌入在pg-263-7-10包,提供保护功能和诊断。它包含英飞凌?reverseave?功能。功率晶体管由n通道功率MOSFET和电荷泵构成。它是专为驱动高电流负载高达80a,如开关电池联轴器,电源分配开关,加热器,辉光插头,在恶劣的汽车环境中应用。    总结的特点:   一个通道设备   低待机电流   3.3V到vs级可输入引脚   静电放电保护(ESD)   优化电磁兼容性(EMC)   逻辑接地独立于负载接地   非常低的泄漏电流在出脚   符合起动脉冲要求(ISO 7637测试脉冲4,LV124冷起动脉冲)   嵌入式诊断功能   嵌入式保护功能   环保产品(符合RoHS规定)   原子能委员会资格    目标应用程序:   适用于电阻性、电感性和电容性负载   取代机电继电器、保险丝和分立电路   最适用于高电流负荷的应用,如加热系统、配电主开关、启停电源开关等   低频率PWM应用 来源: https://my.oschina.net/u/4062913/blog/3099418

stm32 TIM

依然范特西╮ 提交于 2019-11-28 17:56:14
TIM时钟源CK_INT是APB1的倍频; CK_INT经CKD分频,驱动CK_CNT; PWM1:TIMx_CNT<TIMx_CCR1时,PWM=1;PWM2:TIMx_CNT<TIMx_CCR1时,PWM=0 OC1FE : Output compare 1 fast enable : 来源: https://www.cnblogs.com/deyicun/p/11417743.html

SG3525芯片简介

好久不见. 提交于 2019-11-28 08:39:53
1.SG3525简介: 美国硅通用(Silicon General)半导体公司推出的SG3525,用于驱动N沟道功率MOSFET,是一种性能优良、功能齐全、通用性强的单片集成PWM控制芯片,输出驱动为推拉输出形式,增加了驱动能力;内部含有欠压锁定电路、软启动控制电路、PWM锁存器,有过流保护功能,频率可调,能限制最大占空比。 G3525是电流控制型PWM控制器,所谓电流控制型脉宽调制器是按照接反馈电流来调节脉宽的。在脉宽比较器的输入端直接用流过输出电感线圈的信号与误差放大器输出信号进行比较,从而调节占空比使输出的电感峰值电流跟随误差电压变化而变化。由于结构上有电压环和电流环双环系统,因此,无论开关电源的电压调整率、负载调整率和瞬态响应特性都有提高,是目前比较理想的新型控制器。 2.SG3525性能特点: 1)工作电压范围宽:8~35V; 2)内置5.1V±1.0%的基准电压源; 3)振荡器工作频率宽:100Hz~400 kHz; 4)具有振荡器外部同步功能; 5)死区时间可调; 6)具有输入欠压锁定功能; 7)内置软启动电路; 8)具有PWM所存功能,禁止多脉冲;9)逐个脉冲关断; 10)双源/灌电流输出:±400mA(峰值) 3.SG3525引脚排列图及功能: 图1 SG3525引脚排列图 3.SG3525个引脚功能: 引脚1(Inv.input)误差放大器反向输入端

利用MCU的PWM产生负电压

时光总嘲笑我的痴心妄想 提交于 2019-11-28 02:39:40
本文摘自黄工博客: https://mp.weixin.qq.com/s/ZGaH2BB6NHZIvcO7qQ6zXA 我们应该知道,有一种开关电源是通过PWM波来实现的,但你知道通过PWM波也能输出负电压吗? 负电压的产生电路图原理 在电子电路中我们常常需要使用负电压,比如我们在使用运放的时候常常需要建立一个负电压。下面就简单的以正5V电压到负电压5V为例说一下它的电路。 通常需要使用负电压时一般会选择使用专用的负压产生芯片,但这些芯片都比较贵,比如ICL7600、LT1054、MC34063等。MC34063使用的最多了,关于34063的负压产生电路这里不说了,在datasheet中有的。下面请看我们在单片机电子电路中常用的两种负电压产生电路。 现在很多MCU都带有PWM输出,在使用单片机的时候PWM很多时候是没有用到的,用它辅助产生负压是不错的选择。 上面的电路是一个最简单的负压产生电路了。使用的原件是最少的了,只需要给它提供1kHz左右的方波就可以了,相当简单。这里需要注意这个电路的带负载能力是很弱的,同时在加上负载后电压的降落也比较大。 由于上面的原因产生了下面的这个电路: 负电压产生电路分析 电压的定义:电压(voltage),也称作电势差或电位差,是衡量单位电荷在静电场中由于电势不同所产生的能量差的物理量。其大小等于单位正电荷因受电场力作用从A点移动到B点所做的功

嵌入式学习8--模拟PWM与呼吸灯

谁说胖子不能爱 提交于 2019-11-27 13:02:38
最近看了看PWM,但是我手上的板子4路PWM只接出来2路,还都占用了,没有办法,就想试试软件模拟pwm,本身模拟PWM是比较简单的事,但是在做了以后我又想做做呼吸灯,在呼吸灯上卡了挺久了,不过经过调试,也算勉强实现了 1.PWM概念 其实PWM的概念比较简单,无非就是在固定的周期内,设置高电平占用的时间长短,简单的说一秒一个周期,这个周期的占空比是50%。说明高电平的时间和低电平的时间是一样的,如果控制灯的话,就会看到灯在1S内会亮一次然后灭一次。 虽说PWM的概念很简单,但是要用好想当困难,对我而言是这样,特别是在肉眼可见的情况下,你需要考虑到肉眼每秒能接受多少次动作,所以需要设置PWM的频率,我就是在这个地方卡了很久,待会代码里面会解释。 PWM 用于背光、呼吸灯、舵机等器件之上,大部分PWM的实现是依赖硬件的,通过配置相应的寄存器来达到目的。硬件PWM的精度和稳定性会比软件PWM更稳定,所以在板子上一般会自带PWM。 2.PWM与hrtimer 为了使PWM更精确,所以使用了hetimer来控制,hrtimer可以做到ns级别的控制,相对来说会更加精确 对于hrtimer主要使用的是注册、定时器中断、启动、重置触发时间、注销 注册:hrtimer_init(&pwm_dev->mytimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 定时器中断

STC12单片机 AD转换和PWM输出功能

隐身守侯 提交于 2019-11-26 19:32:50
内容转自他人,至于原创者是谁,我也没找到。应本人觉得内容很好,对本人很有用,所以转载。源代码文件下载地址在下面 功能:STC12C2052AD AD转换C程序 +PWM输出功能 成功使用。 应用:AD检测电压进行过欠压保护(继电器控制)+PWM把直流电压斩波成脉动直流。 板子功能:给手机电池充电。 降压用的LM317,小电流应用应该够了。没时间去买开关管,就用的9013开关。 图纸: //以下是成功了的程序。如果你需要应用在你自己的项目中,您只需要更改io就能直接应用了 //程序的完整版本下载地址:http://www.51hei.com/ziliao/file/stc12c2052adde.rar #include <stc12c2052ad.h> //stc单片机专用的头文件 #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define AD_SPEED 0x60 //0110,0000 1 1 270个时钟周期转换一次, /************河北正定欢迎您!&&&&少占鱼欢迎您!******************************/ // sbit M=P1^5; //过压指示灯 sbit N=P1^3; //欠压指示灯 sbit LED=P1^7; /