CN111490760B - 基于pwm波形的单片机高精度模拟量输出方法、装置、设备 - Google Patents

基于pwm波形的单片机高精度模拟量输出方法、装置、设备 Download PDF

Info

Publication number
CN111490760B
CN111490760B CN202010422697.7A CN202010422697A CN111490760B CN 111490760 B CN111490760 B CN 111490760B CN 202010422697 A CN202010422697 A CN 202010422697A CN 111490760 B CN111490760 B CN 111490760B
Authority
CN
China
Prior art keywords
pwm waveform
output
deltau
voltage value
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
Application number
CN202010422697.7A
Other languages
English (en)
Other versions
CN111490760A (zh
Inventor
程竑理
黎祥松
何欣原
柳晶津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Haiwu Technology Co Ltd
Original Assignee
Guangdong Haiwu Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Haiwu Technology Co Ltd filed Critical Guangdong Haiwu Technology Co Ltd
Priority to CN202010422697.7A priority Critical patent/CN111490760B/zh
Publication of CN111490760A publication Critical patent/CN111490760A/zh
Application granted granted Critical
Publication of CN111490760B publication Critical patent/CN111490760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/08Duration or width modulation ; Duty cycle modulation

Landscapes

  • Analogue/Digital Conversion (AREA)
  • Dc-Dc Converters (AREA)

Abstract

本发明提供基于PWM波形的单片机高精度模拟量输出方法、装置、设备,通过设定PWM波形的输出频率为A赫兹;获取毫伏为单位的电压值U;若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,占空比为电压值U与所述B×1000个小段B1之间的比值;以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1平均分布于其中,既满足占空比要求,同时满足输出频率要求,在所述PWM波形中,设置一个周期T内存在有
Figure DDA0002497525640000011
为高电平,生成最终输出的PWM波形。使单片机在不需要增加D/A芯片的情况下实现高精度的模拟量输出,既降低单片机进行数模转换的成本,又能控制其输出的模拟量达到1mV的精度。

Description

基于PWM波形的单片机高精度模拟量输出方法、装置、设备
技术领域
本发明涉及数模转换中的模拟量输出,特别涉及一种基于PWM波形的单片机高精度模拟量输出方法、装置、设备。
背景技术
低性能单片机如51系列,因其价格便宜,所以被广泛地使用,但是低性能单片机不具备D/A功能,所以现有的低性能单片机在进行数模转换的时候需要增加一个D/A芯片,当然,低性能单片机也可以通过内部的定时器来控制输出频率,通过输出PWM波形来输出模拟量。
但现有的低性能单片机的最大晶振频率为16MHz,其一个机器周期为1/16us,根据现有的做法,使用低性能单片机内的定时器按照传统中断的方法进行PWM波形输出时,因需要经过软件的运算和处理,其运算和处理后最大输出频率大概在2.7MHz,而在5V的用电条件下,若要控制输出达到1mV的高精度,则至少需要5MHz输出频率。
由此可见,低性能单片机需要在D/A芯片的配合下才可以实现高精度的模拟量输出,而增加D/A芯片来实现模拟量的输出,无疑提高了数模转换的成本,但仅依靠单片机中的定时器来控制输出频率输出PWM波形,其所输出的模拟量也无法达到1mV的精度。
发明内容
本发明为解决上述问题,而提供基于PWM波形的单片机高精度模拟量输出方法、装置、设备,使单片机在不需要增加D/A芯片的情况下达到1mV精度的模拟量输出。
为此,提供基于PWM波形的单片机高精度模拟量输出方法,包括如下步骤:
步骤A.设定PWM波形的输出频率为A赫兹;
步骤B.获取需要进行模拟量输出的电压值U,其中电压值U以毫伏为单位进行计量;
步骤C.若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,其中每个小段B1代表1毫伏的输出能力;
步骤D.计算电压值U与所述B×1000个小段B1之间的比值,以求所述PWM波形的占空比;
步骤E.以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1,则在所述PWM波形中,设置一个周期T内存在有个小段A1为高电平,以保持所述占空比不变并生成最终输出的PWM波形。
进一步地,所述步骤E的PWM波形具体设计方式为:
(1)根据算式来求取PWM波形中共需设计的高电平总量Q;
(2)对进行向上取整从而获得数值S1,在PWM波形中,每S1个小段A1作为一子小段C1,每个子小段C1内仅将其中一个小段设置为高电平;
(3)求取高电平总量Q与之间的差值△U1,所述为子小段C1的数量M1;
(4)对向上取整从而获得数值S2,将第N×S2个子小段C1设置为具有两个高电平,从而形成M2个子小段C2,其中N为非零整数,所述M2为向上取整后所得到的子小段C2的数量;
(5)根据△U2=△U1-M2求取差值△U2;
(6)若△U2=0,则输出PWM波形;若△U2=1,则将PWM波形的首端或尾端的小段A1设置为1个高电平;若△U2=2,则将PWM波形的首端和尾端的小段A1分别设置1个高电平;若△U2≥3,则将△U2作为新的△U1,将M2作为新的M1,然后重复执行步骤(4)-(5)。
进一步地,所述最终输出的PWM波形经整流放大后输出至外部设备。
进一步地,还包括有输出反馈步骤,所述输出反馈步骤为:
采集经PWM波形经整流放大后的输出值,将所述输出值转换为电压值Up,将电压值Up与电压值U进行比较,若两者之间的差值△U3不为零,则将差值△U3看作所述差值△U1,然后重复执行(3)至(6),直至△U3为零,否则不动作。
基于PWM波形的单片机高精度模拟量输出装置,包括如下步骤:
步骤A.设定PWM波形的输出频率为A赫兹;
步骤B.获取需要进行模拟量输出的电压值U,其中电压值U以毫伏为单位进行计量;
步骤C.若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,其中每个小段B1代表1毫伏的输出能力;
步骤D.计算电压值U与所述B×1000个小段B1之间的比值,以求所述PWM波形的占空比;
步骤E.以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1,则在所述PWM波形中,设置一个周期T内存在有个小段A1为高电平,以保持所述占空比不变并生成最终输出的PWM波形。
进一步地,所述步骤E的PWM波形具体设计方式为:
(1)根据算式来求取PWM波形中共需设计的高电平总量Q;
(2)对进行向上取整从而获得数值S1,在PWM波形中,每S1个小段A1作为一子小段C1,每个子小段C1内仅将其中一个小段设置为高电平;
(3)求取高电平总量Q与之间的差值△U1,所述为子小段C1的数量M1;
(4)对向上取整从而获得数值S2,将第N×S2个子小段C1设置为具有两个高电平,从而形成M2个子小段C2,其中N为非零整数,所述M2为向上取整后所得到的子小段C2的数量;
(5)根据△U2=△U1-M2求取差值△U2;
(6)若△U2=0,则输出PWM波形;若△U2=1,则将PWM波形的首端或尾端的小段A1设置为1个高电平;若△U2=2,则将PWM波形的首端和尾端的小段A1分别设置1个高电平;若△U2≥3,则将△U2作为新的△U1,将M2作为新的M1,然后重复执行步骤(4)-(5)。
进一步地,所述最终输出的PWM波形经整流放大后输出至外部设备。
进一步地,还包括有输出反馈装置,所述输出反馈装置为:
采集经PWM波形经整流放大后的输出值,将所述输出值转换为电压值Up,将电压值Up与电压值U进行比较,若两者之间的差值△U3不为零,则将差值△U3看作所述差值△U1,然后重复执行(3)至(6),直至△U3为零,否则不动作。
还包括设备,包括单片机、低通滤波器、运算放大器,所述单片机的输入引脚与低通滤波器的输入端连接,低通滤波器的输出端与运算放大器的输入端连接,运算放大器的输出端共分为两条支路,其中一条支路与外部设备连接以输出数模转换后的模拟量,另一条支路与单片机的输入引脚连接以反馈数模转换后的模拟量,还包括被安排成存储计算机可执行指令的计算机可读存储介质,其特征在于,所述可执行指令在被执行时使所述单片机实现上述的方法。。
有益效果:
本发明基于PWM波形的高精度模拟量输出方法,通过定PWM波形的输出频率为A赫兹;获取需要进行模拟量输出的电压值U,其中电压值U以毫伏为单位进行计量;若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,其中每个小段B1代表1毫伏的输出能力;计算电压值U与所述B×1000个小段B1之间的比值,以求所述PWM波形的占空比;以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1平均分布于其中,既满足占空比要求,同时满足输出频率要求,则在所述PWM波形中,设置一个周期T内存在有个小段A1为高电平,以保持所述占空比不变并生成最终输出的PWM波形,使单片机在不需要增加D/A芯片的情况下实现高精度的模拟量输出,既降低单片机进行数模转换的成本,又能控制其输出的模拟量达到1mV的精度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明的基于PWM波形的高精度模拟量输出设备的结构示意图;
图2是本发明的基于PWM波形的高精度模拟量输出方法中子小段C1的PWM波形图;
图3是本发明的基于PWM波形的高精度模拟量输出方法中子小段C2的PWM波形图;
图4为本发明的电子设备的结构示意图;
图5为本发明的计算机可读存储介质的结构示意图。
附图标记说明:21-处理器;22-存储器;23-存储空间;24-程序代码。
具体实施方式
结合以下实施例对本实用新型作进一步描述。
见图1,本实施例的基于PWM波形的高精度模拟量输出设备,其中只使用了依次连接的单片机、低通滤波器、运算放大器即可实现数模转换,且转换后的模拟量达到1mV的精度输出。
其中,单片机为51单片机,51单片机的引脚P1与低通滤波器的输入端连接,51单片机的引脚P0与引脚VCC连接的线路上串联有电阻,低通滤波器的输出端与运算放大器的输入端连接,运算放大器的输出端共分为两条支路,其中一条支路与外部设备连接以输出数模转换后的模拟量,另一条支路与51单片机的P2引脚连接以反馈数模转换后的模拟量。
用户将电压值U输入51单片机中,51单片机运算后通过51单片机内部的定时器控制输出频率以输出PWM波形,并将该PWM波形传输给低通滤波器,低通滤波器对PWM波形进行滤波整流,形成稳定的直流电平,运算放大器对直流电平倍化处理,提高带载能力,形成需要的电平范围和规格输出。
基于上述电路结构,在51单片机中运行以下方法步骤,使最终的模拟量输出达到1mV的精度:
步骤S1:设置一个输出频率(例如50KHz)以作为最终的输出频率,在软件内设定该输出频率并输入51单片机,所述输出频率影响着后续的高电平分布;
步骤S2:输入需要进行数模转换的电压值U(例如为1011mV),使51单片机获取到电压值U;
步骤S3:在一个周期T(T=1s)中,假设51单片机的满量程输出值为5V,为了保证1mV的精度输出,将5V放大1000倍转换为5000mV,然后将5000mV看成5000个小段,将其中一个小段设置为高电平,则代表1mV的输出能力;若需要输出5000mV时,则在周期T的时间内输出5000个高电平小段,基于上述原理,执行下述步骤。
步骤S4:计算出一个周期T内所需的占空比
具体地,将1011mV放入5000个小段中计算出一个周期T内所需的占空比以该占空比进行PWM波形的设计;
步骤S5:设定的输出频率若为50KHz,则看成1s内一共有50K个小段,为保持占空比为计算出高电平总量Q=占空比*50K,得到10110个高电平,并且需要将10110个高电平平均分布在这50K个小段内,将输出频率以赫兹为单位进行分段,得到若干个小段,是为方便后续的PWM波形设计,以达到每个小段可以代表1mV的电压负载能力;
经简单计算:(S1=50K/10110≈4.945≈5),向上取整后得到在每5个小段内需要包含一个高电平,将每5个小段看作为如图2所示子小段C1,则在占空比为的PWM波形中,每5个小段内为其中一个小段设置为高电平,此时,50K个小段一共形成M1=50K/5=10000个子小段C1,将PWM波形设置为若干个子小段C1是为了使高电平平均地分布于PWM波形中,避免部分PWM波形无法被低通滤波器识别;
步骤S6:由于10000个子小段C1只有10000个高电平,而电压值U为1011mV,即需要10110个高电平,两者差值△U1=10110-10000=110,求取该差值△U1是为了方便51单片机快速读取未被设计的高电平数量,方便后续的PWM波形设计。因此,为保持占空比不变,还需在已放置10000个子小段C1的PWM波形中,再增加110个高电平才能满足1011mv的输出;
步骤S7:将△U1继续平均分布在M1个子小段C1内,经简单计算:(S2=10000/110)≈90.909≈91,因此,向上取整后需要为第91个子小段C1、第2×91个子小段C1……各自增加一个高电平,即控制第N×91个子小段C1中存在两个高电平,从而形成如图3所示的子小段C2,此时,10000个子小段C1一共形成M2=10000/91≈109.89≈110个子小段C2,每个子小段C2代表两个高电平,在子小段C1中平均设置高电平的过程中,若出现子小段C1中的小段全都被设置为高电平的情况,则将待分布的高电平向前一个子小段C1中进行设置。将PWM波形设置为若干个子小段C2是为了使高电平平均地分布于PWM波形中,避免部分PWM波形无法被低通滤波器识别;
步骤S8:步骤S7所形成新的PWM波形与电压值U所转换成的高电平值相比,若差值△U2=△U1-M2=0个高电平,则代表该PWM波形已被设计完成,可以进行完整地输出电压值U,求取该差值△U2是为了方便51单片机快速读取未被设计的高电平数量,方便后续的PWM波形设计。
另外,通过如下步骤以保证新的PWM波形上所平均分布的高电平值能达到高电平总量Q,以保证电压值U被完整地输出,具体步骤为:
(1)若△U2=1,则在所形成新的PWM波形的头尾任意一端中,将其中一个小段设置为高电平,以得到最终的PWM波形;
(2)若△U2=2,则将所形成新的PWM波形的头尾两端的小段分别设置高电平,以得到最终的PWM波形;
(3)若△U2≥3,则将△U2作为新的△U1,将M2作为新的M1,然后重复执行步骤S7-S8,使新的PWM波形上所平均分布的高电平值能达到高电平总量Q。
步骤S9:51单片机将设计好的PWM波形中输出至低通滤波器进行滤波整流,形成稳定的直流电平传输给运算放大器,经运算放大器放大后输出至外部设备,放大后的模拟量能够被外部设备完整地接收;
步骤S10:51单片机采集运算放大器反馈的输出值,将输出值转换为电压值Up再与电压值U进行比较,因设计好的PWM波形,该PWM波形在经过运算放大器向外部设备输出的过程中可能会被干扰,以导致输出至外部设备的电压值不等于电压值U(1011mV),因此需要将运算放大器放大后的电压值U反馈至主芯片中进行分析比较,若电压值Up与电压值U之间的差值△U3不为零,则需要重新运算微调,即将差值△U3看作步骤S6中的差值△U1,然后重复执行步骤S7-S9,直至△U3为零,实现反馈调整,求取该差值△U3是为了方便51单片机快速读取未被设计的高电平数量,使PWM波形所输出的模拟量,其代表的数值无限接近电压值U。
需要说明的是,本实施例中的单片机不仅限于51单片机,其他不同型号的单片机均可实现上述方法。
有益效果:
本发明的基于PWM波形的单片机高精度模拟量输出方法可以使低性能的单片机在不需要增加D/C芯片的情况下实现高精度的模拟量输出,既降低低性能的单片机进行数模转换的成本,又能控制其输出的模拟量能达到1mV的精度。
需要说明的是:
本实施例所用的方法,可转化为可存储于计算机存储介质中的程序步骤及装置,通过被控制器调用执行的方式进行实施。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的检测电子设备的佩戴状态的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图4示出了根据本发明一个实施例的电子设备的结构示意图。该电子设备传统上包括处理器21和被安排成存储计算机可执行指令(程序代码)的存储器22。存储器22可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器22具有存储用于执行实施例中的任何方法步骤的程序代码24的存储空间23。例如,用于程序代码的存储空间23可以包括分别用于实现上面的方法中的各种步骤的各个程序代码24。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图5所述的计算机可读存储介质。该计算机可读存储介质可以具有与图4的电子设备中的存储器22类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元存储有用于执行根据本发明的方法步骤的程序代码31,即可以由诸如21之类的处理器读取的程序代码,当这些程序代码由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (7)

1.基于PWM波形的单片机高精度模拟量输出方法,其特征在于,包括如下步骤:
步骤A.设定PWM波形的输出频率为A赫兹;
步骤B.获取需要进行模拟量输出的电压值U,其中电压值U以毫伏为单位进行计量;
步骤C.若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,其中每个小段B1代表1毫伏的输出能力;
步骤D.计算电压值U与所述B×1000个小段B1之间的比值,以求所述PWM波形的占空比;
步骤E.以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1,则在所述PWM波形中,设置一个周期T内存在有
Figure FDA0004134704100000011
个小段A1为高电平,以保持所述占空比不变并生成最终输出的PWM波形;
所述步骤E的PWM波形具体设计方式为:
(1)根据
Figure FDA0004134704100000012
算式来求取PWM波形中共需设计的高电平总量Q;
(2)对
Figure FDA0004134704100000017
进行向上取整从而获得数值S1,在PWM波形中,每S1个小段A1作为一子小段C1,每个子小段C1内仅将其中一个小段设置为高电平;
(3)求取高电平总量Q与
Figure FDA0004134704100000013
之间的差值△U1,所述
Figure FDA0004134704100000014
为子小段C1的数量M1;
(4)对
Figure FDA0004134704100000015
向上取整从而获得数值S2,将第N×S2个子小段C1设置为具有两个高电平,从而形成M2个子小段C2,其中N为非零整数,所述M2为
Figure FDA0004134704100000016
向上取整后所得到的子小段C2的数量;
(5)根据△U2=△U1-M2求取差值△U2;
(6)若△U2=0,则输出PWM波形;若△U2=1,则将PWM波形的首端或尾端的小段A1设置为1个高电平;若△U2=2,则将PWM波形的首端和尾端的小段A1分别设置1个高电平;若△U2≥3,则将△U2作为新的△U1,将M2作为新的M1,然后重复执行步骤(4)-(5)。
2.根据权利要求1所述的高精度模拟量输出方法,其特征在于,所述最终输出的PWM波形经整流放大后输出至外部设备。
3.根据权利要求1所述的高精度模拟量输出方法,其特征在于,还包括有输出反馈步骤,所述输出反馈步骤为:
采集经PWM波形经整流放大后的输出值,将所述输出值转换为电压值Up,将电压值Up与电压值U进行比较,若两者之间的差值△U3不为零,则将差值△U3看作所述差值△U1,然后重复执行(3)至(6),直至△U3为零,否则不动作。
4.基于PWM波形的单片机高精度模拟量输出装置,其特征在于,包括如下步骤:
步骤A.设定PWM波形的输出频率为A赫兹;
步骤B.获取需要进行模拟量输出的电压值U,其中电压值U以毫伏为单位进行计量;
步骤C.若所述单片机的满量程输出值为B伏,则将B伏转换为B×1000毫伏,可看作在一个周期T内具有B×1000个小段B1,其中每个小段B1代表1毫伏的输出能力;
步骤D.计算电压值U与所述B×1000个小段B1之间的比值,以求所述PWM波形的占空比;
步骤E.以所述输出频率输出PWM波形时,可看作PWM波形在一个周期T内具有A个小段A1,则在所述PWM波形中,设置一个周期T内存在有
Figure FDA0004134704100000021
个小段A1为高电平,以保持所述占空比不变并生成最终输出的PWM波形;
所述步骤E的PWM波形具体设计方式为:
(1)根据
Figure FDA0004134704100000022
算式来求取PWM波形中共需设计的高电平总量Q;
(2)对
Figure FDA0004134704100000023
进行向上取整从而获得数值S1,在PWM波形中,每S1个小段A1作为一子小段C1,每个子小段C1内仅将其中一个小段设置为高电平;
(3)求取高电平总量Q与
Figure FDA0004134704100000024
之间的差值△U1,所述
Figure FDA0004134704100000025
为子小段C1的数量M1;
(4)对
Figure FDA0004134704100000026
向上取整从而获得数值S2,将第N×S2个子小段C1设置为具有两个高电平,从而形成M2个子小段C2,其中N为非零整数,所述M2为
Figure FDA0004134704100000027
向上取整后所得到的子小段C2的数量;
(5)根据△U2=△U1-M2求取差值△U2;
(6)若△U2=0,则输出PWM波形;若△U2=1,则将PWM波形的首端或尾端的小段A1设置为1个高电平;若△U2=2,则将PWM波形的首端和尾端的小段A1分别设置1个高电平;若△U2≥3,则将△U2作为新的△U1,将M2作为新的M1,然后重复执行步骤(4)-(5)。
5.根据权利要求4所述的高精度模拟量输出装置,其特征在于,所述最终输出的PWM波形经整流放大后输出至外部设备。
6.根据权利要求4所述的高精度模拟量输出装置,其特征在于,还包括有输出反馈装置,所述输出反馈装置为:
采集经PWM波形经整流放大后的输出值,将所述输出值转换为电压值Up,将电压值Up与电压值U进行比较,若两者之间的差值△U3不为零,则将差值△U3看作所述差值△U1,然后重复执行(3)至(6),直至△U3为零,否则不动作。
7.模拟量输出设备,包括单片机、低通滤波器、运算放大器,所述单片机的输入引脚与低通滤波器的输入端连接,低通滤波器的输出端与运算放大器的输入端连接,运算放大器的输出端共分为两条支路,其中一条支路与外部设备连接以输出数模转换后的模拟量,另一条支路与单片机的输入引脚连接以反馈数模转换后的模拟量,还包括被安排成存储计算机可执行指令的计算机可读存储介质,其特征在于,所述可执行指令在被执行时使所述单片机实现如权利要求1-3中任一项所述的方法。
CN202010422697.7A 2020-05-19 2020-05-19 基于pwm波形的单片机高精度模拟量输出方法、装置、设备 Active CN111490760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010422697.7A CN111490760B (zh) 2020-05-19 2020-05-19 基于pwm波形的单片机高精度模拟量输出方法、装置、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010422697.7A CN111490760B (zh) 2020-05-19 2020-05-19 基于pwm波形的单片机高精度模拟量输出方法、装置、设备

Publications (2)

Publication Number Publication Date
CN111490760A CN111490760A (zh) 2020-08-04
CN111490760B true CN111490760B (zh) 2023-05-12

Family

ID=71811297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010422697.7A Active CN111490760B (zh) 2020-05-19 2020-05-19 基于pwm波形的单片机高精度模拟量输出方法、装置、设备

Country Status (1)

Country Link
CN (1) CN111490760B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671410A (zh) * 2020-12-29 2021-04-16 珠海禅光科技有限公司 基于pwm模拟dac功能的方法、数模转换电路和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105375907A (zh) * 2015-10-21 2016-03-02 华南师范大学 一种提高pwm信号分辨率的波形编码方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11284514A (ja) * 1998-01-27 1999-10-15 Matsushita Electric Ind Co Ltd D/a変換装置及び方法
US6208280B1 (en) * 1999-01-11 2001-03-27 Seagate Technology Llc Converting a pulse-width modulation signal to an analog voltage
US7382301B2 (en) * 2003-10-31 2008-06-03 International Rectifier Corporation Method and apparatus for converting PWM signal to analog output voltage
CN102103168A (zh) * 2009-12-22 2011-06-22 比亚迪股份有限公司 一种检测pwm波的方法及pwm波检测装置
CN105680866B (zh) * 2016-01-08 2019-02-19 泉州市桑川电气设备有限公司 一种pwm转模拟量低纹波输出方法
CN107306126A (zh) * 2016-04-25 2017-10-31 中兴通讯股份有限公司 Pwm的发生电路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105375907A (zh) * 2015-10-21 2016-03-02 华南师范大学 一种提高pwm信号分辨率的波形编码方法及系统

Also Published As

Publication number Publication date
CN111490760A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US8278898B2 (en) Auto-tuning power supply
CN105378496B (zh) 估计装置以及估计方法
CN110783910B (zh) 系统功率监控
CN111490760B (zh) 基于pwm波形的单片机高精度模拟量输出方法、装置、设备
CN103810497A (zh) 一种基于忆阻器的图像识别系统及方法
Malcher et al. Analog Reconfirable Circuits
CN114264882B (zh) 超声波换能器的等效参数测量方法、装置和控制器
CN104868701A (zh) 电源转换器的混合式补偿电路
CN114188934A (zh) 一种双环控制直流系统扰动稳定分析模型构建方法及装置
CN110350828A (zh) 马达参数追踪方法及系统
CN104237762A (zh) 半导体激光器测试装置、系统和方法
CN105115535A (zh) 电容传感器的模拟装置
Vostrukhin et al. Microcontroller metering converter of capacitance with voltage-controlled RC-generator
CN204008908U (zh) 半导体激光器测试装置、系统
CN112204547B (zh) 基于工业对象模型的数据处理方法、装置及设备
CN112114265B (zh) 一种获知电池容量的方法
CN113342092A (zh) 温度控制方法、装置、计算机设备及存储介质
CN104052431B (zh) 一种用于磁控摆动埋弧焊焊缝跟踪的滤波方法
CN110133370B (zh) 一种基于声表面波传感器的测量仪及测量方法
CN209627233U (zh) 恒流模块串联输出均压控制电路及恒流输出电源系统
CN112114264B (zh) 一种电池电量的检测系统
CN113078883B (zh) 一种磁通控制型忆容器等效电路及其控制方法
CN103777557B (zh) 适用于冷链物流车厢微环境的通用测控模块
Bjerner Time complexity of programs in type theory.
CN218068128U (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