搜索
bottom↓
回复: 70

新做的STM32 BLDC

  [复制链接]

出0入0汤圆

发表于 2012-4-15 14:34:26 | 显示全部楼层 |阅读模式

这是LabView2009上位机程序

程序代码
阿莫不知道怎么了 代码太大没法上传
可以QQ2572051223

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2012-4-15 14:35:59 | 显示全部楼层
我把原理图传上去

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-4-15 14:36:46 | 显示全部楼层
这次的目的是无刷电机的双闭环控制

出0入0汤圆

发表于 2012-4-15 14:40:00 | 显示全部楼层
本帖最后由 tiancaigao7 于 2012-4-15 14:48 编辑

STM32做BLDC挺好,而且最低端的103都可以轻松实现这个。楼主加油吧。看了楼主的设计图,思路上基本和我的一致,但是细节还有待完善,比如2101的输出需要加上一个10欧姆的电阻以及反向连接一个二极管,加快管子的开关速度,单片机到2101部分需要加上1K电阻。另外看楼住的电路图应该是带霍尔的BLDC吧。

出0入0汤圆

发表于 2012-4-15 15:11:50 | 显示全部楼层
楼主把代码中的编译生成的中间文件删除了,再压缩一下体积就小了。

出0入0汤圆

发表于 2012-4-15 15:12:43 | 显示全部楼层
115网盘是个好东西

出0入0汤圆

发表于 2012-4-15 16:06:14 | 显示全部楼层
单电阻采样,直接进三路CPU的AD,不理解

出0入0汤圆

 楼主| 发表于 2012-4-15 20:33:27 | 显示全部楼层
  我也想用差分运放 我还得用比较器  没钱 最后都没用 以后做大功率再用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入131汤圆

发表于 2012-4-15 20:46:23 | 显示全部楼层
前十啊 好贴 顶

出0入0汤圆

发表于 2012-4-15 20:58:39 | 显示全部楼层
谢谢分享。

出0入0汤圆

发表于 2012-4-15 21:15:16 | 显示全部楼层
LZ用bldc做什么?不是电动车吧

出0入0汤圆

发表于 2012-4-15 21:23:20 | 显示全部楼层
顶一下

出0入0汤圆

发表于 2012-4-15 21:41:44 | 显示全部楼层
用32做电动车?估计不会吧?

出0入0汤圆

发表于 2012-4-16 08:12:20 | 显示全部楼层
本帖最后由 tiancaigao7 于 2012-4-16 08:37 编辑

看了你的程序,有一点和我的不同,你使用TIM的霍尔模式来捕捉霍尔信号。而我使用三个外部中断来捕获霍尔信号。我的这个模式中需要在外部中断中读取霍尔信号值,然后调整功率管的导通顺序,之后软件触发tim的COM事件。而你的软件应该是利用TIM2的霍尔捕捉直接触发COM事件。如果我的理解没有问题,那么咱们两个的换向表应该会相差一步。因为按照手册上的介绍,在触发COM事件后,会自动更新TIM1的配置。之后在com中断中应该将下一次的换相数据配置到TIM1中。
另外,我现在遇到一个小问题。我需要在PWM的中心对其模式的上溢中断时刻进行一些操作,而在下溢中断的时候不进行这些操作,但是STM32的上溢和下溢都会触发UG事件,并且SR中的标志位也都是一个,这样我就无法判断出那个是上溢事件,哪个是下溢事件。这个你有没有好的解决方法?我目前的一个解决方案是,在UG中断中读取CNT寄存器中的数据,然后判断,如果当前数值接近0(CNT中的数值小于ARR/2),那么这次UG事件是下溢事件,如果CNT中的数值大于ARR/2,那么这次事件是上溢事件。虽然这样也可以实现这个功能,但是总感觉这个不是正路。

出0入0汤圆

 楼主| 发表于 2012-4-16 21:06:30 | 显示全部楼层
你看到没我是在PWM 开通的时候进行AD采集的 你总的告诉我你主体有什么用 大家学习一下

出0入0汤圆

发表于 2012-4-16 23:08:33 | 显示全部楼层
哈哈,lijinzhi , 今天在公司没有见到你啊。 我电机买好额 呵呵

出0入0汤圆

发表于 2012-4-16 23:18:37 | 显示全部楼层
楼主,我初学labview ,交流哦

出0入0汤圆

发表于 2012-4-16 23:46:06 | 显示全部楼层
很好的软件,以前用过

出0入0汤圆

发表于 2012-4-17 13:10:48 | 显示全部楼层
LZ用的那个操作系统稳定性怎么样,看起来很不错啊

出0入0汤圆

发表于 2012-4-17 13:21:55 | 显示全部楼层
学习,学习

出0入0汤圆

发表于 2012-4-18 20:10:35 | 显示全部楼层
lijinzhi 发表于 2012-4-16 21:06
你看到没我是在PWM 开通的时候进行AD采集的 你总的告诉我你主体有什么用 大家学习一下 ...

看到你的AD采集了,你采用TIM1的CC4在一个接近上溢事件发生的地方发生匹配中断CC4事件的时候会自动触发转换。而你将CC4的用到定义为了不输出,这样的话我之前发现好像不能产生CC4事件。而你这个却可以产生,因此有点不理解。另外你在启动函数里面开启了TIM1的triger中断:   TIM_ITConfig(TIM1, TIM_IT_Trigger, ENABLE);      //开定时器中断        而并没有开启COM中断,这个地方是你的笔误?还是别的原因?

出0入9汤圆

发表于 2012-4-18 23:47:49 | 显示全部楼层
IR2101S和STM32直接连接好像在边沿跳变部分有很大的振铃,是不是加一个电阻更好?
我实际用示波器测过的,因为我的电路里面也没有加电阻

出0入0汤圆

发表于 2012-4-19 10:14:13 | 显示全部楼层
加上1K的电阻可以。

出0入0汤圆

 楼主| 发表于 2012-4-20 08:01:39 | 显示全部楼层
我的COM 是开了的 你可以看看BLDC启动代码 我的启动也有些问题      STM32有些东西也是试验出来的因为看手册也没能得到很好的答案 自己多试试

出0入0汤圆

 楼主| 发表于 2012-4-20 08:09:25 | 显示全部楼层
还有 外设初始化里面 我也感到 COM有些别的不一样 我再想想

出0入0汤圆

发表于 2012-4-24 10:59:54 | 显示全部楼层
lijinzhi 发表于 2012-4-20 08:01
我的COM 是开了的 你可以看看BLDC启动代码 我的启动也有些问题      STM32有些东西也是试验出来的因为看手 ...

COM的问题先不谈,我这边没有太多的问题。但是PWM中间触发AD采样我目前还是必须要让TIM1的4通道输出一个波形才可以实现,否则无法触发,这个很奇怪。

出0入0汤圆

发表于 2012-4-24 11:01:18 | 显示全部楼层
专业,不懂!

出0入0汤圆

发表于 2012-5-1 23:03:16 | 显示全部楼层
我用了楼主的启动代码  发现电机抖动的厉害,并且有时候无法零启动

出0入0汤圆

发表于 2012-5-1 23:13:19 | 显示全部楼层
2009 太新了,能否转 labview 8.2

出0入0汤圆

发表于 2012-5-2 11:57:54 | 显示全部楼层
你这个电机电流也太小了吧

ma级别的

出0入0汤圆

发表于 2012-5-6 11:26:29 | 显示全部楼层
LZ代码  启动确实有点问题

出0入0汤圆

发表于 2012-5-6 12:14:55 | 显示全部楼层
labview很好用~

出0入0汤圆

发表于 2012-5-22 01:21:51 | 显示全部楼层
楼主原理图工具是什么?Eagle?好像用orcad的兄弟还是不多呢?个人感觉cadence的硬件设计工具链很好用。

出0入0汤圆

发表于 2012-5-24 11:31:09 | 显示全部楼层
请教楼主,软件 电机驱动的算法是啥?SVPWM ,FOC?

出0入0汤圆

发表于 2012-6-8 09:29:37 | 显示全部楼层
大家能说说,都是如何实现启动的吗?

出0入0汤圆

发表于 2012-6-10 01:25:23 | 显示全部楼层
this  type of control includes only six step block communation with pwm duty ratio control and serial communication for motor current speed information... FOC and svpwm need more computation and motor control knowdledge such as clarke parke transformation inverse formulas, syncronizing adc and pwm waves...

出0入0汤圆

发表于 2012-7-26 18:54:23 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2012-7-26 19:38:03 | 显示全部楼层
挺好的 ,不过飞思卡尔的dsp 做bldc貌似更有优势些

出0入0汤圆

发表于 2013-1-25 16:01:32 | 显示全部楼层
MARK!!!!!!!!!!!!!!!!!!!!

出0入0汤圆

发表于 2013-1-25 16:10:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-1-26 10:54:22 | 显示全部楼层
谢谢楼主分享。

出0入0汤圆

发表于 2013-4-4 15:48:17 | 显示全部楼层
pisayisi 发表于 2012-6-10 01:25
this  type of control includes only six step block communation with pwm duty ratio control and seria ...

说得对 小弟刚刚接触 ,希望前辈多多指点

出0入0汤圆

发表于 2013-4-4 16:12:10 来自手机 | 显示全部楼层
马克:-)

出0入0汤圆

发表于 2013-4-4 16:32:42 来自手机 | 显示全部楼层
先mark,回去下

出0入0汤圆

发表于 2013-5-3 16:24:52 | 显示全部楼层
顶啊,好好学习

出10入95汤圆

发表于 2013-5-3 22:13:41 | 显示全部楼层
直流无刷电机?

出0入0汤圆

发表于 2013-5-4 20:07:15 | 显示全部楼层
xiexiefenxiang

出0入0汤圆

发表于 2014-2-7 22:57:06 | 显示全部楼层
mark:这次的目的是无刷电机的双闭环控制

出0入0汤圆

发表于 2014-2-8 09:11:40 | 显示全部楼层
mark:这次的目的是无刷电机的双闭环控制

出0入0汤圆

发表于 2014-2-8 10:20:00 | 显示全部楼层
thanks for share

出0入0汤圆

发表于 2014-2-8 11:15:25 | 显示全部楼层
直流无刷电机控制,学习~

出0入0汤圆

发表于 2014-2-8 13:29:38 | 显示全部楼层
现在没有,先收藏以后再看,不过还是要谢谢楼主

出0入0汤圆

发表于 2014-3-21 23:14:11 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2014-5-23 10:39:06 | 显示全部楼层
哈哈  好东西  !!

出0入0汤圆

发表于 2014-8-17 21:22:48 | 显示全部楼层
好帖,顶顶,

出0入0汤圆

发表于 2014-8-17 22:19:57 | 显示全部楼层
新手学习中

出0入0汤圆

发表于 2014-8-18 15:07:45 | 显示全部楼层
感谢楼主的分享,学习了

出0入0汤圆

发表于 2014-8-18 15:30:14 | 显示全部楼层
多谢分享。期待此贴能有人进一步讨论,无刷电机控制算法

出50入0汤圆

发表于 2014-8-19 17:22:07 | 显示全部楼层
lijinzhi 发表于 2012-4-15 14:36
这次的目的是无刷电机的双闭环控制

你的双闭环调好了么?

出0入0汤圆

发表于 2014-12-23 23:54:35 来自手机 | 显示全部楼层
新手学习中,用手机先做下记号,明天上台机下来学习与参照。

出0入0汤圆

发表于 2015-3-9 09:39:12 | 显示全部楼层
目前在做基于TMS320F28335的BLDC项目,但是使用该芯片的参考资料相当有限,不知道哪位大神能给点相关资料

出0入0汤圆

发表于 2015-12-9 20:43:31 | 显示全部楼层
tiancaigao7 发表于 2012-4-15 14:40
STM32做BLDC挺好,而且最低端的103都可以轻松实现这个。楼主加油吧。看了楼主的设计图,思路上基本和我的一 ...

可否分享你的程序,学习学习

出0入0汤圆

发表于 2015-12-9 20:50:31 | 显示全部楼层
lijinzhi 发表于 2012-4-20 08:09
还有 外设初始化里面 我也感到 COM有些别的不一样 我再想想

楼主,我TIM4与TIM1用的你的配置,且将TIM1配置函数中输入触发函数改为   TIM_SelectInputTrigger(TIM1, TIM_TS_ITR3);
我只给霍尔信号供电,用手旋转电机轴,可进入void TIM2_IRQHandler(void),但是无法进入void TIM1_TRG_COM_IRQHandler(void)函数。
求帮助啊

出0入0汤圆

发表于 2015-12-10 10:28:50 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2015-12-10 16:13:39 | 显示全部楼层
zc900117 发表于 2015-12-9 20:50
楼主,我TIM4与TIM1用的你的配置,且将TIM1配置函数中输入触发函数改为   TIM_SelectInputTrigger(TIM1,  ...

   笔误?  怎么又是配置TIM4 又是配置TIM1  最后TIM2发生中断了。

出0入0汤圆

发表于 2015-12-10 19:50:32 | 显示全部楼层
huangqi412 发表于 2015-12-10 16:13
笔误?  怎么又是配置TIM4 又是配置TIM1  最后TIM2发生中断了。

嗯嗯,是笔误,
楼主,我TIM4与TIM1用的你的配置,且将TIM1配置函数中输入触发函数改为   TIM_SelectInputTrigger(TIM1, TIM_TS_ITR3);
我只给霍尔信号供电,用手旋转电机轴,可进入void TIM4_IRQHandler(void),但是无法进入void TIM1_TRG_COM_IRQHandler(void)函数。
求帮助啊

出0入0汤圆

发表于 2017-3-8 16:13:48 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2022-8-8 19:57:08 | 显示全部楼层
一头雾水

出0入0汤圆

发表于 2022-8-8 21:20:40 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2022-8-8 22:02:54 | 显示全部楼层
顶顶顶

出100入312汤圆

发表于 2022-8-8 22:14:58 来自手机 | 显示全部楼层
收藏,学习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 02:58

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表