采用PWM的电压反相器以及推广的正向2、3倍压 反向倍压

采用PWM的电压反相器以及推广的正向2、3倍压 反向倍压

 

  本例描述了一种采用小型微控制器传感器模块的电路,它只有三个连接:5Vdc、一个RS-232传输数据输出端、地。专用的单电压电平转换器DC/DC转换器可能太贵了,但设计仍需要提供1mA的±3V电压,以驱动数据传输脚。由于在5V微控制器上的空余PWM(脉冲宽度调制)输出能够在近5V时驱动±5mA电流,因此,用一只BAT54S双串联肖特基二极管、两只电容以及一只限流电阻构成的PWM电压转换器就可以提供负电压(图1)。

图1,二极管与电容提供了负电压。

图1,二极管与电容提供了负电压。

  微控制器的PWM输出用一个1kHz、50%占空比的0~5V波形,驱动转换器。当PWM输出为5V时,它为C1充电。D1中下方的二极管为正偏,将端子连接到地。当PWM输出为低时,使D1中上方二极管正偏,将C1中的电荷送至C2。同时,它将C1的正电荷端接至近地电势,从而使电荷反转。当PWM输出再次变为高时,这个循环重复。

  由于D1的最小电压降为0.2V,不可能从5V得到-5V,因此,每个相位损失0.2V,电压输出约为-4.6V。只有当驱动微控制器对转换期间的电流瞬变很敏感,或转换的瞬流会干扰微控制器的模拟输入端时,设计才需要使用限流电阻R1。

  PWM的时基为1kHz,因此各元件的值都必须适应于这个频率。如果需要其它的频率,则必须用式C=1/(10×F×R)计算新的元件值,其中C是C1和C2的值,F是PWM的开关频率(Hz),R是PWM输出驱动电路的总电阻

  当计算PWM输出的总电阻时,必须考虑到数字输出的额定驱动值。用V/A可以简单地替代R的值,其中V是PWM输出的驱动电压,A是输出的驱动电流(A)。例如,本设计的原值为:R=V/A=5V/0.005A=1kΩ,以及C=1/(10×F×R)=1/(10×1kHz×1kΩ) =1×10-7,即0.1μF。

  本电路也可以用作ADC/DAC的负电压电源,以及运放的双电源。对于模拟使用场合,可能需要在输出端增加滤波或小功率稳压器,以滤掉开关的瞬变电压。

 

 

 

仿真图如下
如图,在单片机一IO上输出占空比50%的方波,就可以得到2倍VCC的电压。
 
 采用PWM的电压反相器以及推广的正向2、3倍压 <wbr>反向倍压

如图,在两个IO上输出占空比50%,正负相反的方波,就可以得到3倍VCC的电压。以此类推。。。
 
采用PWM的电压反相器以及推广的正向2、3倍压 <wbr>反向倍压
如图可以产生负压
采用PWM的电压反相器以及推广的正向2、3倍压 <wbr>反向倍压

发挥一下,就可以得到负N倍VCC了。
 
说明:1. 由于二极管正向压降,实际电压有所降低,可以用正向压降小的二极管提供电压。
2. 产生的电压的电流都比较小,带负载能力有限,可用于电流要求不高的场合,如MOS管驱动,电调谐器控制电压,RS232负压。等等。
PWM波调光,脉宽与光的亮度成正比 /*----------------------------------------------- 名称:PWM 调光 日期:2009.5 修改:无 内容:1、学习目的:利用定时器产生PWM,了解原理和使用方法 2、硬件要求:LED灯 定时器 3、试验现象:LED灯由亮到灭,由灭到亮逐步变化,也就是调光现象 ------------------------------------------------*/ #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit LED = P1^2; sbit LED2 = P1^1; //定义LED灯,通过LED显示调光效果 unsigned char CYCLE; //定义周期 该数字X基准定时时间 如果是10 则周期是10 x 0.1ms unsigned char PWM_ON, PWM_ON2;//定义高电平时间 /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } void Init0() {TMOD |=0x01; //定时器设置 0.1ms in 12M crystal 16位工作模式 TH0=(65536-100)/256; TL0=(65536-100)%256; IE= 0x82; //打开中断 TR0=1;} void Init1() {TMOD |=0x10; //定时器设置 0.1ms in 12M crystal 16位工作模式 TH1=(65536-100)/256; TL1=(65536-100)%256; IE= 0x82; ET1=1; } /******************************************************************/ /* 主函数 */ /******************************************************************/ main() { bit Flag; Init0(); Init1(); if((TH0=(65536-6)/256 )&&(TL0=(65536-6)%256))//与定时器1初值相差100,则相位改变1/10T,相差500,相位改变1/2T TR1=1;//打开中断 CYCLE =10; // 时间可以调整 这个是10调整 8位PWM就是256步 pwm周期=CYCLE*定时时间 while(!Flag) { delay(20000); //延时时间,从一个亮度到下一个亮度的间隔时间,速度快就能看到连续效果 PWM_ON=6; PWM_ON2=6; //这个使用较长延时,以便能看清楚变化过程 控制占空比q=(CYCLE-PWM_ON-1)/CYCLE if(PWM_ON ==PWM_ON2== CYCLE) { //这个里可以添加其他程序 如到最亮时候控制设备 Flag=1; } } while(Flag) //亮度递减 同上,是个相反的过程 { delay(20000); PWM_ON--; PWM_ON2--; if(PWM_ON == 0||PWM_ON2==0) { Flag=0; } } } /******************************************************************/ /* 定时器中断函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值