CN108398976B - 一种基于脉宽调制生成高精度电压的方法 - Google Patents
一种基于脉宽调制生成高精度电压的方法 Download PDFInfo
- Publication number
- CN108398976B CN108398976B CN201810087228.7A CN201810087228A CN108398976B CN 108398976 B CN108398976 B CN 108398976B CN 201810087228 A CN201810087228 A CN 201810087228A CN 108398976 B CN108398976 B CN 108398976B
- Authority
- CN
- China
- Prior art keywords
- pwm
- microcontroller
- timing
- voltage
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 230000007547 defect Effects 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/08—Duration or width modulation ; Duty cycle modulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Rectifiers (AREA)
Abstract
本发明涉及一种基于脉宽调制生成高精度电压的方法,本发明首先在不添加外部D/A转换芯片来提高输出电压精度的前提下,通过要输出的电压,预先设置微控制器的PWM寄存器的两个相邻占空比的值和微控制器的定时器的定时时间,微控制器根据定时时间进入中断控制PWM寄存器值的改变,使得微控制器输出的单路PWM波为两个相邻不同占空比的PWM波按照定时时间呈现周期的变化;然后将输出的呈现周期变化的PWM波经过PWM整流电路整流再接入到其他需要高精度电压控制的模块上。本发明采用微控制器内部定时直接控制PWM波的输出,进而来提高PWM整流后输出电压的精度,弥补了8位PWM微控制器输出精度不足的缺陷,降低了使用其他D/A转换芯片所带来的成本。
Description
技术领域
本发明涉及一种基于脉宽调制生成高精度电压的方法,属于电子技术领域。
背景技术
脉宽调制即脉冲宽度调制(PWM),是通过改变PWM寄存器使得输出的PWM波的占空比发生改变,进而来精确的控制电压的大小。市面上使用的微控制器的PWM输出大多是8位的,等于是将输出电压按照28=256来划分成递增间隙,按照最高输出为5V电压来计算,5/256=0.01953125,这样输出的电压的递增间隔约为0.0195V。
在实际工程应用中,这样的电压精度往往是不够的,一般需要控制电压的精度在0.01V左右,即以0.01V为递增间隔。这就需要从其他的方面来提高,例如使用D/A转换芯片来精确控制来输出的电压,换用输出PWM精度更高的微控制器等;但是这就使得成本提高了很多,有的也会多占用微控制器的I/O口,所以使用微控制器自身的资源来提高输出PWM控制的电压精度很有必要的。
发明内容
本发明提供了一种基于脉宽调制生成高精度电压的方法,用于在不添加外部D/A转换芯片来提高输出电压精度的前提下,使用微控制器自身的资源来提高PWM整流后输出电压的精度。
本发明的技术方案是:一种基于脉宽调制生成高精度电压的方法,首先在不添加外部D/A转换芯片来提高输出电压精度的前提下,通过要输出的电压Vout,预先设置微控制器的PWM寄存器的两个相邻占空比的值N1、N2和微控制器的定时器的定时时间T1、T2,微控制器根据定时时间进入中断控制PWM寄存器值的改变,使得微控制器输出的单路PWM波为两个相邻不同占空比的PWM波按照定时时间呈现周期的变化;然后将输出的呈现周期变化的PWM波经过PWM整流电路整流再接入到其他需要高精度电压控制的模块上。
所述预先设置微控制器的PWM寄存器的两个相邻占空比的值N1、N2和微控制器的定时器的定时时间T1、T2的步骤如下:
S1、通过要输出的电压Vout,计算出要赋值到PWM寄存器两个相邻占空比的值N1、N2,将N1在微控制器初始化时写入到PWM寄存器中;
S2、调节定时时间T1、T2的大小,使得两个相邻占空比的值N1、N2的输出电压V1、V2和要输出电压Vout之间满足一定的关系,计算出定时时间T1、T2;
S3、将定时时间T1、T2设置到微控制器的定时器中。
所述控制PWM寄存器值的改变的步骤如下:
Sa、第一次定时时间T1到,改变PWM寄存器的值为N2;
Sb、第二次定时时间T2到,改变PWM寄存器的值为N1,将用于定时的标志flag清零,使定时器重新开始定时;
Sc、重复上述Sa、Sb步骤,即可输出呈周期变化的PWM波。
所述微控制器的型号为:STC12C5A60S2。
所述两个相邻占空比的值N1、N2,取值方法为:根据要输出的电压Vout计算出N的值计算所得N的值为N2、N+1为N1;其中,l为输出PWM精度,V为微控制器输出的最大电压。
所述两个相邻占空比的值N1、N2的输出电压V1、V2具体为:其中,l为输出PWM波的位数,V为微控制器输出的最大电压。
所述两个相邻占空比的值N1、N2的输出电压V1、V2和要输出电压Vout之间满足一定的关系为:
本发明的有益效果是:本发明采用微控制器内部定时直接控制PWM波的输出,进而来提高PWM整流后输出电压的精度,弥补了8位PWM微控制器输出精度不足的缺陷,降低了使用其他D/A转换芯片所带来的成本。
附图说明
图1为本发明计算N1、N2、T1、T2值的流程图;
图2为本发明微处理器输出PWM波的流程图;
图3为本发明两个相邻不同占空比的PWM波按照定时时间呈现周期的变化的波形图;
图4为本发明PWM整流电路。
具体实施方式
实施例1:如图1-4所示,一种基于脉宽调制生成高精度电压的方法,所述方法步骤如下:本实施例中设定要输出的电压Vout以0.01V为间隔递增:0、0.01、0.02、0.03、…、5,而原来的PWM输出只能以0、0.01953125、0.0390625、0.05859375、…、5来输出;可以看出以0.01为递增间隔,其精度有很大的提升。具体的:
现假设要输出的电压为2.57V,按照8位的PWM输出控制精度,并且以公式来计算,将Vout=2.57、l=8、V=5带入到上式中,最终计算出来的结果为N=123,因此有N1为124、N2为123,在两个不同的PWM寄存器值输出结果为:
由以上计算结果可知,不管将PWM寄存器的值设置为123还是124,都不能输出完整2.57V,只能输出接近的电压2.578125V。
现用本发明中的方法来计算T1、T2的值:
将上述求得V1、V2的值代入计算公式中计算;
则有2.08T2=2.92T1;
假定T1+T2=500,则有T1=208us,T2=292us(T1+T2=500只是其中的一个假设结果,为了便于计算,也可假设出其他的便于计算的式子;考虑到PWM滤波电路的截止频率,T1、T2的值不宜设置的过大。)。
将定时时间T1、T2设置到微控制器的定时器中。
微控制器根据定时时间进入中断控制PWM寄存器值的改变,使得微控制器输出的单路PWM波为两个相邻不同占空比的PWM波按照定时时间呈现周期的变化:Sa、第一次定时时间T1到,改变PWM寄存器的值为N2;Sb、第二次定时时间T2到,改变PWM寄存器的值为N1,将用于定时的标志flag清零,使定时器重新开始定时;Sc、重复上述Sa、Sb步骤,即可输出呈周期变化的PWM波。
将输出的呈现周期变化的PWM波经过PWM整流电路整流,如图4。即可测得整流后的电压为2.57V。再接入到其他需要高精度电压控制的模块上,提高PWM整流后输出电压的精度。
本实施例中,通过上述的方法输出的单路两个相邻不同占空比的PWM波按照定时时间呈现周期的变化的PWM波,经过PWM整流后,使得输出的电压可以控制在以0.01为递增间隔进行变化,保证了对高精度电压控制器件的控制。
基于本实施例可知,按照本发明方法可使得输出的电压以0.01V,甚至是0.005V为递增间隔来控制输出电压的步进;而原来的以PWM寄存器值直接输出的方法,其步进为0.01953125,递增间隔过大,不利于对需要高精度电压控制器件的控制。例如通过控制变容二极管电压的改变,从而来改变其电容容量。
按照本实施例中的以0.01为递增间隔来分别计算出要输出的电压为0、0.01、0.02、0.03、…、5时,N1、N2、T1、T2的值如表1为:
表1
电压(V) | N<sub>1</sub> | N<sub>2</sub> | T<sub>1</sub>(us) | T<sub>2</sub>(us) |
0 | X | X | ∞ | 0 |
0.01 | X | 254 | 244 | 256 |
0.02 | 254 | 253 | 488 | 12 |
0.03 | 254 | 253 | 232 | 268 |
… | … | … | … | … |
2.57 | 125 | 124 | 208 | 292 |
… | … | … | … | … |
4.98 | 2 | 1 | 12 | 488 |
4.99 | 1 | 0 | 256 | 244 |
5 | 0 | 0 | 0 | ∞ |
上表中∞表示总是以该寄存器的值来输出PWM波,不进行定时改变。
X表示关闭PWM寄存器的输出,直接以低电压0V输出;以这样的方式来输出主要与微控制器的制作工艺有关,在设置PWM寄存器的值为255时,输出的PWM波并不能完全输出0V的低电平。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (2)
1.一种基于脉宽调制生成高精度电压的方法,其特征在于:首先在不添加外部D/A转换芯片来提高输出电压精度的前提下,通过要输出的电压Vout,预先设置微控制器的PWM寄存器的两个相邻占空比的值N1、N2和微控制器的定时器的定时时间T1、T2,微控制器根据定时时间进入中断控制PWM寄存器值的改变,使得微控制器输出的单路PWM波为两个相邻不同占空比的PWM波按照定时时间呈现周期的变化;然后将输出的呈现周期变化的PWM波经过PWM整流电路整流再接入到其他需要高精度电压控制的模块上;
所述预先设置微控制器的PWM寄存器的两个相邻占空比的值N1、N2和微控制器的定时器的定时时间T1、T2的步骤如下:
S1、通过要输出的电压Vout,计算出要赋值到PWM寄存器两个相邻占空比的值N1、N2,将N1在微控制器初始化时写入到PWM寄存器中;
S2、调节定时时间T1、T2的大小,使得两个相邻占空比的值N1、N2的输出电压V1、V2和要输出电压Vout之间满足一定的关系,计算出定时时间T1、T2;
S3、将定时时间T1、T2设置到微控制器的定时器中;
所述控制PWM寄存器值的改变的步骤如下:
Sa、第一次定时时间T1到,改变PWM寄存器的值为N2;
Sb、第二次定时时间T2到,改变PWM寄存器的值为N1,将用于定时的标志flag清零,使定时器重新开始定时;
Sc、重复上述Sa、Sb步骤,即可输出呈周期变化的PWM波;
所述两个相邻占空比的值N1、N2,取值方法为:根据要输出的电压Vout计算出N的值计算所得N的值为N2、N+1为N1;其中,l为输出PWM波的位数,V为微控制器输出的最大电压;
所述两个相邻占空比的值N1、N2的输出电压V1、V2具体为: 其中,l为输出PWM波的位数,V为微控制器输出的最大电压;
所述两个相邻占空比的值N1、N2的输出电压V1、V2和要输出电压Vout之间满足一定的关系为:
2.根据权利要求1所述的基于脉宽调制生成高精度电压的方法,其特征在于:所述微控制器的型号为:STC12C5A60S2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810087228.7A CN108398976B (zh) | 2018-01-30 | 2018-01-30 | 一种基于脉宽调制生成高精度电压的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810087228.7A CN108398976B (zh) | 2018-01-30 | 2018-01-30 | 一种基于脉宽调制生成高精度电压的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108398976A CN108398976A (zh) | 2018-08-14 |
CN108398976B true CN108398976B (zh) | 2019-11-08 |
Family
ID=63095219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810087228.7A Active CN108398976B (zh) | 2018-01-30 | 2018-01-30 | 一种基于脉宽调制生成高精度电压的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108398976B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114221642B (zh) * | 2022-02-22 | 2022-06-17 | 浙江地芯引力科技有限公司 | Pwm波生成及占空比控制方法、装置、定时器及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2892438B2 (ja) * | 1990-05-18 | 1999-05-17 | キヤノン株式会社 | 現像バイアス回路 |
US7230837B1 (en) * | 2006-03-27 | 2007-06-12 | North Carolina State University | Method and circuit for cascaded pulse width modulation |
CN101661302B (zh) * | 2009-09-27 | 2012-08-29 | 上海大学 | 微控制器片上pwm脉冲波产生方法及系统 |
IT1402788B1 (it) * | 2010-11-23 | 2013-09-18 | Sincrotrone Trieste S C P A Ora Elettra Sincrotrone Trieste S C P A | Convertitore a ponte intero con modulazione digitale degli impulsi (dpwm) per pilotare un carico. |
CN104808736B (zh) * | 2015-04-24 | 2016-04-13 | 深圳市振邦智能科技有限公司 | 一种pwm控制电压的补偿方法 |
-
2018
- 2018-01-30 CN CN201810087228.7A patent/CN108398976B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108398976A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2763509A1 (en) | Led control circuit with high power factor and led illuminating device | |
CN108398976B (zh) | 一种基于脉宽调制生成高精度电压的方法 | |
CN111106752B (zh) | 用于切换模式电力转换器的控制器、切换方法和操作系统 | |
CN107347222B (zh) | 调光驱动电路及其控制方法 | |
CN104302038A (zh) | 可调节功耗的led驱动器及利用该驱动器的led照明装置 | |
CN103199676B (zh) | 偏压电源、电源和跨越隔离阻障传送数据的方法 | |
CN107835001A (zh) | 脉冲宽度调制波的处理方法、系统、信号处理装置及介质 | |
US20200304109A1 (en) | Pulse width modulation technique with time-ratio duty cycle computation | |
CN104023455B (zh) | 一种基于bjt开关管的led恒流驱动电路 | |
CN109039305B (zh) | 一种基于交流电产生时钟脉冲信号的电路 | |
CN104362846A (zh) | 一种上电时序可控的多路输出直流-直流变换器 | |
CN209313809U (zh) | 可调节时序的开关电路结构 | |
US10470261B2 (en) | Method of generating stable direct current signal, silicon controlled switch dimming method and device | |
JP6285756B2 (ja) | 照明用led電源 | |
CN204119073U (zh) | 一种交流输入多路隔离低功率输出电源 | |
CN208477894U (zh) | 电流基准控制电路、背光调节电路和电子设备 | |
CN209994586U (zh) | 一种全电压控制电路 | |
CN103149866A (zh) | 一种提高dcp电阻调节分辨率的方法及电路 | |
CN202713734U (zh) | 高功率因数全隔离恒流驱动led照明灯 | |
CN203117705U (zh) | 一种提高dcp电阻调节分辨率的电路 | |
CN203289348U (zh) | 智能数显式矩形波发生器 | |
CN205829511U (zh) | 一种滑动取电装置监控摄像机的步进电机控制系统 | |
CN202602540U (zh) | 一种适用于电源模块的占空比限制电路 | |
CN219395090U (zh) | Led驱动电路及led发光装置 | |
CN104602387A (zh) | 控制系统、假负载电路及假负载控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |