历史上的今天
返回首页

历史上的今天

今天是:2025年04月07日(星期一)

正在发生

2020年04月07日 | 生成SPWM的原理【基于MSP432】【附带正弦波生成python代码】

2020-04-07 来源:eefocus

最近准备一个比赛的时候接触到了SPWM,很有意思,故志之。  


所谓SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规律排列,这样输出波形经过适当的滤波可以做到正弦波输出。它广泛地用于直流交流逆变器等,比如高级一些的UPS就是一个例子。三相SPWM是使用SPWM模拟市电的三相输出,在变频器领域被广泛的采用。


软件生成SPWM的步骤(以MSP432为例):


1.先用一个定时器A0产生一个频率为的PWM波。


2.在用定时器A1做一个计数器,计数频率为,数值范围为[0,N],则正弦波的频率 = 


3.在程序中有一个存放一周期正弦值的数组sin_array[],注意在此数组中所有的数值都是正值,因为之后调节PWM占空比的时候需要SetCompare这个值,在实际使用时,考虑到节省内存空间,我只存入了1/4个周期,因为其他的部分可以通过镜像对称的办法计算得到。(数据生成的代码在文章最后)


4.在计时器A1中用sin_array[]查表找到对应的占空比数值。并SetCompare来调节PWM的占空比


一些注意点:


1.2,且倍数越大越好


2.定时器A0的重装载值即是正弦波表中的最大值


3.SPWM信号通过低通滤波可以得到正弦波


4.正弦波中的直流分量通过串接电容即可消除


 


用Python生成一个N=1000个元素的正弦的1/4数组代码:


__author__ = 'Read Air'

 

import math

import os

ls=os.linesep

 

PI = 3.14159265358979323846

s = ""

 

for i in range(256):

    s = s + str(int(math.sin((i/512.0*PI))*500)) + ","

    if (i % 16) == 15:

        s = s + "n"

 

fname="sin_Array_256.txt"

if os.path.exists(fname):

    print "ERROR: file already exists"

else:

    fobj = open(fname, 'w')

    fobj.writelines(s)

    fobj.close()

    print 'DONE!'

推荐阅读

史海拾趣

Cobham Semiconductor Solutions公司的发展小趣事

Cobham Semiconductor Solutions深知人才是企业发展的核心。因此,公司一直注重人才的引进和培养。公司积极招聘业界精英,为团队注入新的活力。同时,公司还建立了完善的培训体系,为员工提供持续的学习和发展机会。这种人才战略的实施,使得Cobham的团队素质不断提升,为公司的持续发展提供了有力保障。

Geyer Electronic E K公司的发展小趣事

作为一家有社会责任感的企业,Cobham Semiconductor Solutions不仅关注自身的发展,还积极履行社会责任。公司积极参与公益事业,为社区提供支持和帮助。同时,公司还注重环保和可持续发展,采取多项措施降低生产过程中的能耗和排放。这种积极履行社会责任的态度,使得Cobham在社会各界赢得了广泛赞誉。

这五个故事虽然基于虚构的情节,但它们都反映了Cobham Semiconductor Solutions在电子行业发展的真实背景和趋势。这些故事展示了公司在技术创新、市场扩张、品质管理、人才战略和社会责任等方面的努力和成就。希望这些故事能够为您提供一个关于Cobham Semiconductor Solutions发展起来的有趣而全面的视角。

Dionics Inc公司的发展小趣事

进入21世纪后,随着物联网、人工智能等技术的快速发展,电子行业也面临着深刻的变革。Dionics Inc敏锐地捕捉到了这一趋势,并开始积极布局相关领域。通过持续的技术创新和产品升级,公司成功推出了一系列具有竞争力的新产品,并在市场上取得了不俗的成绩。同时,公司还加强了与高校、科研机构的合作,共同推动电子行业的创新发展。

Holmes Co Inc公司的发展小趣事

面对突如其来的新冠疫情挑战,Holmes Electronics迅速调整策略,加速数字化转型。他们利用云计算、大数据和人工智能等先进技术,构建了高效的远程办公和智能制造体系。通过数字化转型,公司不仅有效保障了员工的安全健康和生产效率,还进一步提升了产品质量和客户满意度。此外,Holmes Electronics还积极开发防疫相关的电子产品,如智能体温检测设备和消毒机器人等,为抗击疫情贡献了自己的力量。

Free2Move公司的发展小趣事

面对日益增长的全球市场需求,Holmes Electronics决定实施全球化战略。他们首先在亚洲建立了生产基地,利用当地的成本优势和供应链资源,大幅提高生产效率并降低成本。随后,公司又在欧洲和美国设立了研发中心和销售网络,以更好地服务当地客户并捕捉市场机会。这一全球化战略不仅使Holmes Electronics的产品遍布全球,还增强了公司的市场响应能力和品牌影响力。

Global Power Technologies Group公司的发展小趣事
在设计过程中要充分考虑电路的安全性,避免发生触电、短路等危险情况。

问答坊 | AI 解惑

电子元器件:第一块DSP板设计中的点滴

从2006.8.1开始正式接触DSP到现在也已经一个多月了,从开始的在自己的开发板上调试熟悉DSP到现在要自己设计DSP,真的是很不容易.我想把在设计中遇到的问题和常用的电路芯片选择归纳如下:     1.电源部分使用了AC-DC5V的变压器,在引入板子 ...…

查看全部问答>

LM3S移植ucos

不知道大家用LM3S系列的多不,目前有不没有移植ucos的吗?不过在移植 时可以参考sTM32的移植例子! 我发个文档供大家参考: 1:文档 2:iAR工程: 以上内容仅供参考! 建议大家自己移植!…

查看全部问答>

uc/os-ii

eeworld真是个好东西,什么问题不懂 一提出来就可以解决,我已经受益匪浅了。 这里有uc/os的版块吗?我很需要和做这方面的人交流交流啊…

查看全部问答>

socket编程可不可以用域名

我原来的socket程序用ip,现在我申请了域名,想把ip换为域名,怎么改写原来的程序???…

查看全部问答>

请问一个c8051f单片机时钟使用的问题

现在用c8051f020的片子,使用的是外部振荡器产生时钟。可是我看datasheet上说串口使用系统时钟,是串口必须使用片内的时钟产生所需的波特率吗?同一个片子能既使用外部时钟有使用片内的时钟吗,谢谢!…

查看全部问答>

【请推荐一块数据I/O接口卡】

需要选择一款数字I/O卡,主要是用来进行信号的延时,输入的是光电开关转换的数字量,经过I/O卡的延时处理,输出触发信号去驱动摄像机进行数据采集,延迟大约0.5秒,速度不需要很快,希望用过类似性价比比较高的高手推荐一款,价格在1000元以内。…

查看全部问答>

职业培训机构首倡“中小软件企业人才供应计划”

本报讯:近日,瑞海软件公司技术负责人李成坐在北大青鸟APTECH培训中心内设立的招聘现场,正根据笔试和面试结果宣读招聘的学员名单。这一次,李成在北大青鸟APTECH培训中心又招聘到3名java方向的技术开发人员。为满足像瑞海公司这样的IT人才需求, ...…

查看全部问答>

LED显色指数是什么意思

replyreload += \',\' + 759478;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>