FPGA搞SVPWM+VVVF,略囧
yanli123212014/04/20软件综合 IP:湖北
本帖最后由 yanli12321 于 2014-4-20 20:35 编辑

看到张静茹童鞋用STM32搞电机控制,我也心动了........按照我的习惯,理论推导是必须要走一遍滴,于是乎..............
QQ截图20140420180526.png
床铺党的胜利[s:125]

推了好几天,终于把SVPWM的算法推出来了,接下来就是写程序,在此为大家强烈推荐c4droid——安卓下的C编译器........程序猿居家旅行杀人灭口必备啊
QQ截图20140420180050.jpg

手机敲代码略慢.......但还是把SVPWM程序搞出来了.......其中结合了我之前搞得快速正弦表计算算法(详情参见https://www.kechuang.org/t/63198),计算压力小多了
QQ截图20140420182256.png

表示c4droid的界面很欢乐

SVPWM  C代码如下




QQ截图20140420182307.png
仿真输出......这个是输出占空比,人肉逻辑分析仪表示应该是SVPWM的龙猫波了[s:98]

感谢静茹姐姐帮忙分析数据..........看来一切正常
QQ图片20140420183016.jpg

程序搞出来了..........但问题是.........手头最好的MCU是一片ATMEGA16............用这货搞浮点计算简直就是个joke..........

头疼了好久,突然想起来之前买的一块FPGA开发板还没动过呢.........EP2C8 至少比AVR强吧[s:105]
新问题又来了.........之前只用verilog HDL给CPLD编过一些简单的程序.......正弦计算神马的压力山大,直到我得知FPGA可以用mif文件来初始化它的RAM,然后,一个邪恶的想法诞生了......
我把SVPWM程序稍稍修改了一下,按照mif文件的格式输出数据,出来是这样滴:
123.png
这个只输出了一相SVPWM数据,采用分时复用的方式输出三相信号

然后利用quartus II自带的IP核定义了一个RAM块,再用前面的mif文件初始化这个RAM.......SVPWM计算环节就这么被我大大咧咧地略过了

接下来试验了一下PWM输出三相SVPWM,8位分辨率,因为示波器要用一个通道触发.....所以只能看一相的波形了.......
QQ截图20140420180619.png
貌似很不错的样纸

接下来是VVVF(变压变频).........头一次看到这个概念还以为是神马高大上的东东,买来两本电力拖动研究了好久,在一大堆公式后面,我只看到了这么一句话:在转速低于额定转速时,保持V/F为恒指(不考虑绕组内阻);在转速高于额定转速时,采用恒压变频驱动。
坑爹啊!!!
接下来就好办了,还是用IP核生成除法器,由一个外部信号控制输出频率和电压,同时保持恒压频比。然后顺手找来了开发板自带的ADC驱动,拧电位器控制吧[s:101]
测试视频:
点击此处查看视频

恩,完全正常,下一步就是驱动电机咯

问题再一次来了.........手头没有三相感应电机,想来想去,找了个旧硬盘,用上面的无刷凑合吧[s:108]

测试环境:
QQ截图20140420180702.png

面包板上是顺手的搭的TC4420屌丝牌三相全桥[s:116]

因为是开环的,所以电机启动略麻烦,需要把转速调低然后手动拨一下才能转起来[s:247]
视频在此
点击此处查看视频

因为无刷电机气息磁场不是按正弦分布的........所以转起来有些抖动

实验目前就做到这里........打算等到暑假用DSP搞搞FOC,再带个PMSM。恩,大学还没上毕业设计就搞出来了[s:256]
最后附上所有的项目文件,程序全部采用verilog HDL编写

attachment icon FPGA SVPWM.zip 8.12MB ZIP 223次下载
QQ截图20140420180102.jpg
QQ截图20140420180115.jpg
QQ截图20140420180652.png
+100  科创币    金坷居士    2014/04/20 高端玩家
+1000  科创币    虎哥    2014/04/21 不错啊
来自:计算机科学 / 软件综合
19
 
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
cccyl
10年1个月前 IP:未同步
683516
单片机渣渣前来膜拜大神
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年1个月前 IP:未同步
683517
为什么你的示波器要单独占用一个通道去触发?我的示波器通道1设置为上升沿触发,调一下触发电平,只要CH1和CH2测试的信号同频就可以正常显示了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yanli12321作者
10年1个月前 IP:未同步
683532
张静茹 发表于 2014-4-20 19:45
为什么你的示波器要单独占用一个通道去触发?我的示波器通道1设置为上升沿触发,调一下触发电平,只要CH1和 ...


额,这次示波器比较鬼畜,SVPWM波死活不给触发,只好让FPGA另外输出一路方波触发......
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年1个月前 IP:未同步
683536
yanli12321 发表于 2014-4-20 20:16
额,这次示波器比较鬼畜,SVPWM波死活不给触发,只好让FPGA另外输出一路方波触发......


你的占空比没RC滤波吗?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
yanli12321作者
10年1个月前 IP:未同步
683540
张静茹 发表于 2014-4-20 20:24
你的占空比没RC滤波吗?


一直习惯用示波器数字滤波,如果RC滤波的话应该就能正常触发了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年1个月前 IP:未同步
683574
yanli12321 发表于 2014-4-20 20:34
一直习惯用示波器数字滤波,如果RC滤波的话应该就能正常触发了


原来如此
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
justinpiggy
10年1个月前 IP:未同步
683585
虽然觉得FPGA弄这个略浪费,还是DSP比较合适。当然FPGA还是很万能的,用用练练Verilog还是不错的
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Master_In_Nursery
10年1个月前 IP:未同步
683614
大神
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Master_In_Nursery
10年1个月前 IP:未同步
683615
大神
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
adj1202
10年1个月前 IP:未同步
683655
谢谢大神,菜鸟前来学习学习
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
张静茹
10年1个月前 IP:未同步
683956
偶在等你的推导...........
+10
科创币
yanli12321
2014-04-23
老眼昏花差点看错...............
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
nibafo
9年1个月前 IP:上海
762987
这个必须顶啊~~~~~~~~~~~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
ytwiger
9年1个月前 IP:北京
766011
我是来看看的,哈哈哈~~~~~~~~~~~~~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wenyanwen
9年1个月前 IP:上海
766023
太强了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
laver
8年8个月前 IP:北京
790558
你好,在斩波调节时,{counter0[13:0],clk1} 的波形是锯齿波,不是三角波吧。理论上调制波应该是三角波才是。是这个样子吗?请指教~!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
咩咩糖
8年8个月前 IP:广东
790689
好像很牛逼的样子,数学渣前来膜拜,,,,,
我想问个问题,步进电机的启动加速和减速的频率曲线有没有接触过,,,步进电机得在合适的启动频率慢慢调整加速频率才能做到平顺起步,,,但我是个学渣看了好多文章都不知道在讲什么鬼,一直没有写出合适的程序,,,感觉你搞的这个应该懂,,,
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
henter
8年0个月前 IP:浙江
820327

这个图是用什么显示的?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
EVANGELION
7年11个月前 IP:山东
820409
买个电源吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
yanli12321
学者 机友 笔友
文章
47
回复
1182
学术分
3
2012/03/04注册,2个月13天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}