asj1989
发表于 2015-12-10 20:03:21
STM32 FOC 源代码共享
本帖最后由 asj1989 于 2015-12-11 19:16 编辑
这个是版本比网上下载的要全,但也不是全部开源。
版本是3.01
这是一个外国网友给我的
仅供大家学习研究,如果有侵权行为,还请莫大删除
st有个评估板, 用的是ST-3210B 和MB459B
我玩过这个板子,上面的代码可以完美的跑起来
这两个板子照片如下:
光盘资料如下:里面包含了2个板子的原理图 和一些说明 还有电机型号 和电机规格书
ST评估板的原理图非常复杂,包含了一大堆没用的东西,为此 我给3210b没用的东西都删掉了,精简了一个板子
精简完的原理图就是这个样子,保留了与459的接口一致,可以直接插在459上,这样 就不需要3210b了,这个板子我打过样,测试过没问题。
这是原理图
当然,在确定我精简的3210b板子没问题之后,我又做了一块459板
因为我想跑高压电机,所以用现成的ipm做了下面的板子,这个板子后来调试也没问题,跑459带的24v电机很正常,后来我自己从市场上随便买了一个bldc居然什么参数都没改也跑起来了,但是最后高压电机还没有跑。
原理图
调试高压电机 需要一个隔离的仿真器,为此专门做了一个隔离的小板子。
这个小板子很好用,我一直用到现在(这个隔离的调试stm32f4好像有问题,我试过一次不行之后没没研究为什么了)。
我自己画的板子都是学习用的,所以很简单,肯定有很多不对的地方,还请大家指正
上面的源代码我也精简了一份
不过最悲剧的来了,这个代码开源程度很高,我也研究了好久,愣是没找到位置观测器那部分代码在哪里,哪位大神找出来不防告诉我一下,(我曾一度怀疑那部分是汇编写的)
asj1989
发表于 2015-12-10 20:09:04
sunday640
发表于 2015-12-10 20:12:14
干啥用的? 能不能给菜鸟科普一下
sunicecream
发表于 2015-12-10 20:24:59
默默的收下了,感谢楼主{:biggrin:}
我爱大秦
发表于 2015-12-10 20:26:34
谢谢楼主!
propor123
发表于 2015-12-10 20:42:00
谢谢楼主。
yuwangwangyu
发表于 2015-12-10 21:03:48
{:lol:}{:lol:}{:lol:}{:lol:}{:lol:}
newlife2lyf
发表于 2015-12-10 21:08:03
谢谢楼主,虚心收藏啦
kerry_wang
发表于 2015-12-10 21:11:39
赞一个,谢谢分享
lovely-teddy
发表于 2015-12-10 21:23:45
观测器用库了,也不是100%开源的
pter
发表于 2015-12-10 21:25:14
谢谢楼主,收藏了。
仁慈的狮子
发表于 2015-12-10 21:26:45
感谢你的宝贵资料
mfkiwl
发表于 2015-12-10 21:32:04
资料不错,LZ用心了
john78
发表于 2015-12-10 21:34:32
学习下,正想找代理要
mega1702
发表于 2015-12-10 21:35:27
谢谢楼主的分享!!!
mandylion2008
发表于 2015-12-10 21:41:53
本帖最后由 mandylion2008 于 2015-12-10 22:40 编辑
lovely-teddy 发表于 2015-12-10 21:23
观测器用库了,也不是100%开源的
不错!
坐观实效。
ersha4877
发表于 2015-12-10 21:50:15
谢谢分享
lcmdw
发表于 2015-12-10 22:05:57
谢谢楼主的分享!!!
lonely9391
发表于 2015-12-10 22:32:24
谢谢楼主的分享!!!{:hug:}
chenhuiedu
发表于 2015-12-10 22:44:56
谢谢楼主的分享,从资料来看应该很全,先下了,有时间的再测试玩玩,谢谢。
xbq1001
发表于 2015-12-10 23:00:18
谢谢楼主
fraser
发表于 2015-12-10 23:45:45
谢谢楼主{:smile:}{:smile:}{:smile:}
kinsno
发表于 2015-12-11 08:44:06
学习不错啊;
大风起兮
发表于 2015-12-11 08:47:59
哥们,板子能共享出来吗,或者直接给jlc 作为一个开源项目就更好了
asj1989
发表于 2015-12-11 09:30:54
大风起兮 发表于 2015-12-11 08:47
哥们,板子能共享出来吗,或者直接给jlc 作为一个开源项目就更好了
板子我画的实在太挫(我只会写代码),期待高手做一个完美版
eeant.net
发表于 2015-12-11 09:36:35
谢谢楼主的分享,正在学习FOC
zdhxzy1981
发表于 2015-12-11 09:44:27
赞楼主一个!正需要这个资料!!!
whatcanitbe
发表于 2015-12-11 10:06:36
不错,下载下来存一份。
jinfen
发表于 2015-12-11 11:21:01
收藏了,谢谢分享。。
lmhtz
发表于 2015-12-11 11:23:36
谢谢楼主的分享!!!
skbljs2652
发表于 2015-12-11 11:29:39
这个貌似是ST FOC库的Confidential版本吧?
haphard
发表于 2015-12-11 11:48:34
STM32 FOC 源代码共享 很不错,收藏下
3DA502
发表于 2015-12-11 12:02:33
本帖最后由 3DA502 于 2015-12-11 12:04 编辑
这个有编码器 ,也有alpha beta 电流
zmh169
发表于 2015-12-11 12:32:44
看过了,和签约版一样的,弱磁、MTPA和无感的代码没开源,是obj文件。
soosqt
发表于 2015-12-11 12:56:05
看看了,最近也在用到
asj1989
发表于 2015-12-11 13:02:56
zmh169 发表于 2015-12-11 12:32
看过了,和签约版一样的,弱磁、MTPA和无感的代码没开源,是obj文件。
是的 我没找到这些文件
liuruoshui
发表于 2015-12-11 13:19:05
虽然也不懂!谢谢了~!
huangqi412
发表于 2015-12-11 13:42:01
最核心部分估计也没开源
xiaokiss_c51
发表于 2015-12-11 14:09:57
多谢 楼主分享
shiyi_jiang
发表于 2015-12-11 14:14:56
关注。。。
four_zhg
发表于 2015-12-11 14:21:07
楼主不错,暂时不用,
gaoqiu88
发表于 2015-12-11 14:24:03
这个版本2011年就有了。
likebo
发表于 2015-12-11 14:35:28
不明觉厉
lionsg
发表于 2015-12-11 15:20:54
这个不错~
tomyoct
发表于 2015-12-11 15:31:41
不明觉厉
huxiaoping
发表于 2015-12-11 15:38:30
我还以为今天运气好呢,搞半天不就是网上随便下的么,你找半天的源码都不知道在哪里难道不觉得奇怪吗?
电机库目录看仔细了:
C:\Program Files\STMicroelectronics\STM32 PMSM FOC Firmware Library v3.0.1\MC library\
obj目录里面有Dual Drive,Single Drive两个文件夹,里面的文件如:
IMF_PMSM_FOCDriveClass.o
IMFF_PMSM_FOCDriveClass.o
SMF_PMSM_FOCDriveClass.o
STO_CORDIC_SpeednPosFdbkClass.o
STO_SpeednPosFdbkClass.o
找找他们的C源码文件看看,反正我只能找到.H文件
这么多都没有源码还叫全源码啊?
秋夜木语
发表于 2015-12-11 15:54:45
这个很不错,收藏了!
acchkr
发表于 2015-12-11 16:01:20
多谢分享 好多东西
1165530693
发表于 2015-12-11 17:30:05
谢谢楼主
1165530693
发表于 2015-12-11 17:34:53
john78 发表于 2015-12-10 21:34
学习下,正想找代理要
弱弱的请问大神,有4.0版本的源代码吗?qq: 1790451385
feibagezib
发表于 2015-12-11 23:11:33
谢谢楼主的分享
wind2100
发表于 2015-12-12 08:49:23
这个资料 ST 网上早就有啊 有些年头了
lizuqing
发表于 2015-12-12 11:29:19
学习下,正想找代理要
vc9181
发表于 2015-12-12 16:36:41
牛叉的资料{:lol:}{:lol:}{:lol:}谢谢
vc9181
发表于 2015-12-12 16:39:27
sunday640 发表于 2015-12-10 20:12
干啥用的? 能不能给菜鸟科普一下
做无刷无感电机控制{:lol:}
fengyunyu
发表于 2015-12-13 10:26:05
用ST的方案,需要全开源么?
xjtyOnly51
发表于 2015-12-14 12:34:51
mark, 收藏备用{:smile:}
yanzhiwei
发表于 2015-12-14 13:20:56
谢谢楼主分享,收藏备用
cuiyinjushi
发表于 2015-12-15 10:19:10
默默学习研究一下
LCRPN
发表于 2015-12-15 10:44:00
无感FOC的位置检测部分不是在 MC_State_Observer_lib.o 里面吗。(我的是3.2的版本)
bingxiin8
发表于 2015-12-15 12:59:19
这foc,看不懂
jaky80000
发表于 2016-1-21 23:36:00
做个记号,谢谢!
308594151
发表于 2016-1-22 14:23:59
关注关注
bink
发表于 2016-1-23 09:12:31
mark
bink
发表于 2016-1-23 09:16:28
mark !
aaabbbad
发表于 2016-1-23 19:56:31
收藏下,以后用的着
光轮
发表于 2016-1-26 11:03:48
很好的资料,感谢楼主
Gost
发表于 2016-1-26 11:46:17
标记一下
mrcricket
发表于 2016-2-24 09:28:11
虽然不是全开源的,但是下下来学习下,也谢谢楼主分享了!
honami520
发表于 2016-2-24 10:21:30
还不错,收藏下看看
ghostcnc
发表于 2016-2-24 11:10:24
关注了,可惜不能下载咯~
你贼漂亮
发表于 2016-2-26 18:01:06
用ST的方案 使用ADC的注入采样方式 楞是搞死搞不出来 示波器上看到的是很完美的正弦波,然而打印出来的波形却是乱七八糟的~
你贼漂亮
发表于 2016-2-26 18:01:24
用ST的方案 使用ADC的注入采样方式 楞是搞死搞不出来
天下乌鸦一般黑
发表于 2016-4-22 22:51:06
STM32 FOC ,mark一下~
Gost
发表于 2016-4-25 17:07:21
收藏看看
snow_blow
发表于 2016-5-4 18:13:23
stm32foc 好帖 一定得留名
孤独飞行
发表于 2016-5-5 10:01:03
没有板子,不好研究。
阿豪博士
发表于 2016-5-5 11:28:05
请问一下,这个FOC是无感的 还是有感的啊?
是不是无感的比有感的难做啊?
阿豪博士
发表于 2016-5-5 11:33:10
请问一下,你买的电机是BLDC无霍尔的吗》
gzhua20088ssj
发表于 2016-5-5 11:34:10
楼主,有没有带位置环PID算法的,能不能精确定位?
00superman00
发表于 2016-5-9 17:59:49
mark
CoolRain828
发表于 2016-8-17 14:31:54
开源了一部分,但是核心的观测算法等没有开源,应该是有自己的专利; 用的是封装库的形式
windancerhxw
发表于 2016-8-20 20:50:46
{:handshake:}多谢分享了
vsdcjs
发表于 2016-8-20 22:14:22
收藏呀,不错的资料
sibin
发表于 2016-8-21 10:23:03
感谢LZ, MARK..........
CoolRain828
发表于 2016-8-22 23:30:05
集成在库文件里面
CoolRain828
发表于 2016-8-22 23:32:03
位置观测部分,使用的是 封装库
pchf005
发表于 2016-8-23 16:59:18
集成在库文件里面
kaomantou
发表于 2016-8-23 17:57:50
标记一下,多谢分享
i80757498
发表于 2016-8-23 18:14:17
谢谢楼主分享
jasper_xu
发表于 2016-9-11 11:36:29
哪里有全开源的啊
ericw2012
发表于 2016-9-11 22:06:22
jasper_xu 发表于 2016-9-11 11:36
哪里有全开源的啊
万能的淘宝有在卖FOC4.0的
plot
发表于 2016-9-12 08:24:51
谢谢楼主 ·
hanshiruo
发表于 2016-9-14 12:40:28
记号
jimgx
发表于 2016-9-30 13:55:16
默默的收下了,感谢楼主
dianzidianzi
发表于 2016-10-19 22:27:20
STM32 FOC源码中触发AD采集的是更新事件,那么TIM_OC4Init(TIM1, &TIM1_OCInitStructure);这个OC4的控制又是用来做什么的呢? AD采集的值设置的是左对齐,为什么在电流采集的时候AD值(ADC1->JDR1)要向左移1位,而不是向右移动 wAux = (s32)(hPhaseAOffset)- ((ADC1->JDR1)<<1);
tdchenke
发表于 2016-11-23 20:19:40
谢谢分享 学习学习
graycker
发表于 2016-11-23 21:20:36
mark收藏下,正好学这个,谢楼主
sibin
发表于 2016-11-29 18:18:18
很有用,谢谢楼主{:smile:}
raydsp
发表于 2016-11-29 20:52:52
关注,慢慢摸索。。。