首页 > 其他分享 >PWM与DAC

PWM与DAC

时间:2023-11-16 21:12:50浏览次数:24  
标签:LED 高电平 电机 DAC ms 占空比 PWM

脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

理解模拟信号:模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制。例如一个9V电池就是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。模拟电压和电流可直接用来进行控制,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。

PWM的基本原理:

1. 什么是PWM:PWM简称脉冲宽度调制,即在一个周期内存在不同极性的电平状态。

2. PWM频率:是指一秒钟内从高电平时间在到低电平时间,再从低电平跳到高电平的瞬间次数,也就是一秒钟内有多少个PWM的周期。f = T / 1(HZ)。

3. PWM周期:是指一秒钟内从高电平时间在到低电平时间,T = f / 1(s)。

4. PWM占空比:是指一个周期内高电平时间和总时间的比值。

例如:PWM的周期为1ms,高电平时间为0.5ms,低电平时间为0.5ms,则频率就为1kHz,占空比就为百分之五十。

     总的来说,PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。例如:供电电源为9V,占空比为10%,则对应的是一个幅度为0.9V的模拟信号。

一个可以使用PWM进行驱动的简单电路:使用9V电池来给一个白炽灯泡供电。如果将连接电池和灯泡的开关闭合50ms,灯泡在这段时间中将得到9V供电。如果在下一个50ms中将开关断开,灯泡得到的供电将为0V。如果在1秒钟内将此过程重复10次,灯泡将会点亮并象连接到了一个4.5V电池(9V的50%)上一样。这种情况下,占空比为50%,调制频率为10Hz。(频率:1s/100ms=10Hz)                                     

PWM如何控制LED产生渐变:                               

 PWM的基本产生如上图,即面积等效法,当b的占空比为百分之百的时候,a输出为高电平,而当b在一个周期占空比为其他数值的时候,根据定积分产生的正弦波面积则不同,经过多个周期不同占空比的时候,就会产生不同的面积波形。即产生了一个模拟信号,而LED也根据模拟信号的来产生渐变,当频率太小的时候,一个周期时间太长肉眼就能看到LED亮灭的过程,而当频率足够高的时候,LED的灯光的亮灭速度赶不上开关速度(LED灯还没完全亮就又熄灭了)由于视觉暂留作用 人眼不感觉电灯在闪烁,而是感觉灯的亮度少了,从而达到了渐变的效果。即:改变在固定的频率下,采用占空比的方式来实现LED亮度的变化。占空比为0,LED灯不亮,占空比为100%,则LED灯最亮。所以将占空比从0到100%,再从100%到0不断变化,就可以实现LED灯实现特效呼吸。

 

PWM对电机转速的控制

占空比可以实现对电机转速的调节,我们知道,占空比是高电平在一个周期之中的比值,高电平的所占的比值越大,占空比就越大,对于直流电机来讲,电机输出端引脚是高电平电机就可以转动。

当输出端高电平时,电机会转动,但是是一点一点的提速,在高电平突然转向低电平时,电机由于电感有防止电流突变的作用是不会停止的,会保持这原有的转速,以此往复,电机的转速就是周期内输出的平均电压值,所以实质上我们调速是将电机处于一种,似停非停,似全速转动又非全速转动的状态,那么在一个周期的平均速度就是我们占空比调出来的速度了。

 在电机控制中,电压越大,电机转速越快,而通过PWM输出不同的模拟电压,便可以使电机达到不同的输出转速。当然,在电机控制中,不同的电机都有其适应的频率 频率太低会导致运动不稳定,如果频率刚好在人耳听觉范围,有时还会听到呼啸声。频率太高的电机可能反应不过来。正常的电机频率在 6-16kHZ之间为好

PWM对舵机的控制

 舵机的控制就是通过一个固定的频率,给其不同的占空比的,来控制舵机不同的转角。舵机的频率一般为频率为50HZ,也就是一个20ms左右的时基脉冲,而脉冲的高电平部分一般为0.5ms-2.5ms范围。来控制舵机不同的转角。 

500-2500us的PWM高电平部分对应控制180度舵机的0-180度。以180度角度伺服为例,那么对应的控制关系是这样的:

0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;

 

标签:LED,高电平,电机,DAC,ms,占空比,PWM
From: https://www.cnblogs.com/sejwy/p/17835875.html

相关文章

  • QDAC使用记录-QLog
    一:日志发送到远程syslog服务器:varAWriter:=TQLogSocketWriter.Create;AWriter.ServerHost:=127.0.0.1;//远程服务器地址AWriter.ServerPort:=514; //远程服务器端口AWriter.UseTCP:=False;Logs.Castor.AddWriter(AWriter);二:日志记录到本地文件://LogPath为日志存......
  • 具有易失性存储器,MCP47CVD12-E/MF、MCP47CVD12T-E/MF双通道、10位数模转换器(DAC)
    MCP47CVD12是一款双通道、10位、缓冲电压输出数模转换器(DAC),具有易失性存储器和I²C兼容串行接口。该器件提供四种不同的基准电压选项:器件VDD、外部VREF(缓冲或无缓冲)和内部带隙。它提供0.25LSB积分非线性(INL)、低功耗和4µs的快速建立时间。它适合消费和工业应用,如设定点或失调调整......
  • 单通道、8位MCP47CVD01T-E/MF、MCP47CVD01-E/MF、MCP47CVD01-E/MG数模转换器(DAC)适合消
    概述MCP47CVD01是一款单通道、8位、缓冲电压输出数模转换器(DAC),具有易失性存储器和I²C兼容串行接口。该器件提供四种不同的基准电压选项:器件VDD、外部VREF(缓冲或无缓冲)和内部带隙。它提供1LSB积分非线性(INL)、低功耗和4µs的快速建立时间。它适合消费和工业应用,如设定点或失调调......
  • esp32-ledc(pwm)
    这个部分设置比较简单,分三步,配置定时器、配置管道、设置占空比配置定时器配置管道改变占空比......
  • Linux之PWM风扇驱动
    Linux之PWM风扇驱动背景该驱动主要是用于PWM模块去驱动散热风扇,使用通用的PWM接口,只要主控Soc的PWM模块使用的是标准通用的PWM框架,则可以适用于任何主控Soc,与具体的硬件无关。用户空间接口驱动程序给用户空间提供了相应hwmon的sysfs接口: /sys/class/hwmon/hwmon-x/,主要是对PWM的......
  • t507 设备树背光pwm设置解析
    //lcd_backlight=<20>;//当前背光强度lcd_if=<3>;lcd_x=<1280>;lcd_y=<800>;lcd_width=<150>;......
  • STM32 PWM控制LED流水灯 学习记录随笔
    代码部分#include"stm32f10x.h"                 //Deviceheader#include"Delay.h"intmain(void){   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//启用系统寄存器时钟,使能GPIOC组,并启动   GPIO_InitTypeDefGPIO_InitStructure;  ......
  • 【WCH蓝牙系列芯片】-基于CH32V208开发板—PWM暂停输出,保持电平问题
    -------------------------------------------------------------------------------------------------------------------------------------     ......
  • IMX6ULL PWM定时器
    1PWM定时器介绍一共有8路PWM信号,每个PWM包含一个16位的计数器和一个4x16的数据FIFO。一路框图如下:①、此部分是一个选择器,用于选择PWM信号的时钟源,一共有三种时钟源:ipg_clk,pg_clk_highfreq和ipg_clk_32k。②、这是一个12位的分频器,可以对①中选择的时钟......
  • PWM方式发送红外码值(NEC协议)
    1//红外发送代码2//【注意 : NEC默认为38khz频率。 更改参数时,记得查看频率是否正确。】3#include"sendremote.h"45//根据合适引脚配置6staticvoidpwmout_gpio_config(void){7rcu_periph_clock_enable(RCU_GPIOB);8gpio_mod......