微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
您好, 登录| 注册|

51单片机实现的spwm样例,有两个目录,分别对应着单极性和双极性的控制,50hz,128点数据,等价开关频率才6k,调制输出极限为8为满度

  • 2013-10-28 17:09
  • wangshujun

    LV.0
  • 5778

    浏览

  • 15

    回复

  • 0

    获赞

  • 先上仿真图,回头再传项目文件,可以直接在keil软件里面编译仿真,并利用仿真时的逻辑分析仪查看输出波形

    双极性输出,没有死区的时候只需要输出一个pwm信号即可,外部用一个反向器产生互补信号,并利用与非门产生死区就可以工作起来了

    双极性仿真图1

    一个周期的变化波形,上半的是一个io输出的过零点信号,便于进行观察

    双极性仿真图2

    因为点数偏多,所以在分别抓取前半和后半周期的图,一边观察。

    双极性仿真图3


    HELLO-1.rar

    同是电子工程师,请一定不要吝啬你的赞!

    0人已赞

    编辑 举报

    LV.1

    4081426

    1457333

    13

    8737

    说说你的看法

  • LV.

    @

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    取消
    发送
  • 现在还没有回复呢,说说你的想法

    现在还没有回复呢,说说你的想法

    全部回复(15)

  • wangshujun

    LV.1

    2013-10-28 18:01

    @

    单极性的继续,上面波形是工频臂的驱动,下面波形是高频臂的驱动

    单极性仿真1

    开机的第二个周期

    单极性仿真2

    开机后0.5秒的周期数据

    单极性仿真3

    开机后1秒的周期

    单极性仿真4

    连续多个周期的数据

    HELLO-2.rar

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081436

    1457333

    13

    8737

    取消
    发送
    2
  • wangshujun

    LV.1

    2013-10-28 18:09

    @wangshujun

    单极性的继续,上面波形是工频臂的驱动,下面波形是高频臂的驱动

    单极性仿真1

    开机的第二个周期

    单极性仿真2

    开机后0.5秒的周期数据

    单极性仿真3

    开机后1秒的周期

    单极性仿真4

    连续多个周期的数据

    HELLO-2.rar

    因为差不多10年没有用过51了,所以很多东西都不熟悉了,这些东西从安装c51的软件,到查芯片手册,知道仿真成功大约用了8-9个小时吧,按照当前程序的框架实现稳压和保护功能都会很便利,做这个开源的目的是说明spwm真的是很简单的事情。

    这个里面用到了增强型51的pca模块,当年2004年前后具有这个模块的都属于高端芯片的,现在路边的垃圾片都有这个功能了,stc的3块以上的单片机,甚至c8051超过4块钱的51单片机都是支持的.

    但是还是要说一下用51来做这个真的很没有性价比,无法有效的做出死区和互补输出,仅仅外加这些东西就失去了性价比,即使单片机白送也不划算。

    eg8010其实也是一个8051内核的,它内部的定时器就能实现死区等设置的输出,这也是eg8010能实现较多功能的重要原因,如果不借助中断模式,输出了spwm已经占据了单片机所有的资源,其他功能几乎都很难加上的

    其实现在32为的m0,新塘的最低起价大约是不到3快,能实现的功能会很强大的

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081439

    1457333

    13

    8737

    取消
    发送
    3
  • wangshujun

    LV.1

    2013-10-28 18:12

    @

    编程和调试用的keil 9.51版

    注意解压的目录别带着中文,否则有可能导致keil运行缓慢

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081440

    1457333

    13

    8737

    取消
    发送
    4
  • LSHNIU

    LV.1

    2013-10-28 19:41

    @wangshujun

    编程和调试用的keil 9.51版

    注意解压的目录别带着中文,否则有可能导致keil运行缓慢

    A51 MACRO ASSEMBLER V8.02b - SN: K1FMC-SSDYNC
    COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008"C:\Keil\C51\BIN\A51.EXE" "..\..\LIB\STARTUP.A51" SET (COMPACT) DEBUG PRINT(.\STARTUP.lst) OBJECT(.\STARTUP.obj) EPA51 FATAL ERROR -
      FILE:       ..\..\LIB\STARTUP.A51
      ERROR:      FILE DOES NOT EXIST
    A51 TERMINATED.
    Target not created 编译不了,但是学习了!感谢大师的倾情奉献!
    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081451

    1457333

    13

    538786

    取消
    发送
    5
  • wangshujun

    LV.1

    2013-10-28 21:13

    @LSHNIU

    A51 MACRO ASSEMBLER V8.02b - SN: K1FMC-SSDYNC
    COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008"C:\Keil\C51\BIN\A51.EXE" "..\..\LIB\STARTUP.A51" SET (COMPACT) DEBUG PRINT(.\STARTUP.lst) OBJECT(.\STARTUP.obj) EPA51 FATAL ERROR -
      FILE:       ..\..\LIB\STARTUP.A51
      ERROR:      FILE DOES NOT EXIST
    A51 TERMINATED.
    Target not created 编译不了,但是学习了!感谢大师的倾情奉献!

    我用的keil是9.51版本的,如果不是很熟悉建议用同样的版本

    keilc51

    网上很好找,应该需要破解才行

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081464

    1457333

    13

    8737

    取消
    发送
    6
  • wangshujun

    LV.1

    2013-10-28 21:16

    @LSHNIU

    A51 MACRO ASSEMBLER V8.02b - SN: K1FMC-SSDYNC
    COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2008"C:\Keil\C51\BIN\A51.EXE" "..\..\LIB\STARTUP.A51" SET (COMPACT) DEBUG PRINT(.\STARTUP.lst) OBJECT(.\STARTUP.obj) EPA51 FATAL ERROR -
      FILE:       ..\..\LIB\STARTUP.A51
      ERROR:      FILE DOES NOT EXIST
    A51 TERMINATED.
    Target not created 编译不了,但是学习了!感谢大师的倾情奉献!

    这个提示是startup.a51文件没有找到,这个文件没有改动,就是keil自带的,不同版本可能存放位置不同,可以在keil的安装目录下找到对应文件,然后复制到工程目录中就行了,手头没有8.02版本,没法测试

    大概思路就是这样了

    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081466

    1457333

    13

    8737

    取消
    发送
    7
  • IGBT2010

    LV.1

    2013-10-28 21:25

    @wangshujun

    单极性的继续,上面波形是工频臂的驱动,下面波形是高频臂的驱动

    单极性仿真1

    开机的第二个周期

    单极性仿真2

    开机后0.5秒的周期数据

    单极性仿真3

    开机后1秒的周期

    单极性仿真4

    连续多个周期的数据

    HELLO-2.rar

    学习!!
    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081469

    1457333

    13

    386617

    取消
    发送
    8
  • LSHNIU

    LV.1

    2013-10-28 21:31

    @wangshujun

    这个提示是startup.a51文件没有找到,这个文件没有改动,就是keil自带的,不同版本可能存放位置不同,可以在keil的安装目录下找到对应文件,然后复制到工程目录中就行了,手头没有8.02版本,没法测试

    大概思路就是这样了

    我的KEIL4把C51V952和MDK472都合并了的。谢谢楼主的提示!感谢楼主的热情帮助!
    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081470

    1457333

    13

    538786

    取消
    发送
    9
  • LSHNIU

    LV.1

    2013-10-28 22:18

    @LSHNIU

    我的KEIL4把C51V952和MDK472都合并了的。谢谢楼主的提示!感谢楼主的热情帮助!
    工程Source Group 1添加启动文件夹start 包含startuP.a51就可以了!Rebuild target 'Simulator'
    compiling HELLO.C...
    assembling STARTUP.A51...
    linking...
    Program Size: data=17.0 xdata=132 code=494
    creating hex file from "HELLO"...
    "HELLO" - 0 Error(s), 0 Warning(s).,,再次感谢楼主!
    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081474

    1457333

    13

    538786

    取消
    发送
    10
  • a2580782

    LV.1

    2013-10-28 22:43

    @

    来学习了...感谢感谢.......我还以为你能用普通51不用PCA模块呢.......害我空欢喜一场.唉..........不过我还是要好好学了.还是感谢
    0

    设为最佳答案

    置顶

    编辑

    删除

    举报

    #该内容仅管理员可见#

    #回复内容已被删除#

    #该内容正在审核#

    回复:

    4081475

    1457333

    13

    167544

    取消
    发送
    11
  • 现在还没有回复呢,说说你的想法

    1 2  
  • 回复

  • 收藏

  • 点赞

  • 举报有害信息

  • 已超出发布时间24小时,无法编辑与删除
    关于我们 联系方法 广告服务 会议服务 电子星球APP 网站地图 不良信息举报 热线:400-003-2006
    © 2002-2021 Netbroad(网博互动)公司版权所有 津ICP备 11006234号-2 联网备案号:12010402000747 增值电信业务经营许可证:津B2-20120058