搜索
bottom↓
回复: 27

STC12c5410AD 控制48V500W 无刷直流电机 精确控制 启停

[复制链接]

出0入0汤圆

发表于 2016-7-5 10:26:24 | 显示全部楼层 |阅读模式
本帖最后由 cvi670 于 2016-7-5 10:32 编辑

如题  
   无刷直流电机 再不引入外部 测速装置  紧紧依靠 自身的 三个换向霍尔 如何做到 精确控制 呢?

  最近接了一个项目  客户要求 : 不引入外部测速计数装置 控制直流无刷电机 移动设定距离停止  实现往返运动

我根据电动车控制器修改了一下 做了一款板子 :
                                                                    1、增加串口通信接口 (主要用来和显示屏通信),通过数码显示屏设置一些参数 例如 :运行速度、运行长度(行程)等;
                                                                    2、增加1路继电器输出口;
                                                                    3、设置两路IO输入口,主要用于 启动、复位(归零);
   
  我采用的方法:
                         方法1:根据3路霍尔 转动一圈的变化 (100 010 110 001 011 101)六种状态记为1圈   
                         方法2:检测一路霍尔所接IO口电平变化 5个高低变化记一圈(采用定时器中断10us中断一次检测IO状态)  
                                                         
  我目前遇到的问题:
                              两种方法在慢速时 误差在3或4个脉冲,粗略计算移动距离误差在21mm~28mm之间 基本可以接受
                              可速度快了差的就太多了 十几个脉冲
                              经试验发现 正转是基本可以差1~2个脉冲  反转时 差的就特别多了  这是为什么呢 一直理解不了

这是板子:



本帖子中包含更多资源

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

x

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2016-7-5 10:29:34 | 显示全部楼层
大家给想想办法  如何 精确控制啊?

出0入0汤圆

发表于 2016-7-5 11:16:23 | 显示全部楼层
你这个是要玩伺服电机啊,霍尔精确定位,不是好笑么?

出0入0汤圆

发表于 2016-7-5 11:20:52 | 显示全部楼层
你这个方案有问题啊.还是上TI的SPIN-FOC吧.不然根本没戏.就51那个计算能力,没有计算辅助单元,根本跑不起来

出0入0汤圆

发表于 2016-7-5 11:53:05 | 显示全部楼层
精准要求控制到多少角度啊?
1.8度? 18度? 90度?

出0入0汤圆

 楼主| 发表于 2016-7-5 13:31:43 | 显示全部楼层
gylg3344love 发表于 2016-7-5 11:20
你这个方案有问题啊.还是上TI的SPIN-FOC吧.不然根本没戏.就51那个计算能力,没有计算辅助单元,根本跑不起来 ...

基本就和伺服差不多了
要做严格的成本控制  不得已

出0入0汤圆

 楼主| 发表于 2016-7-5 13:36:04 | 显示全部楼层
codefish 发表于 2016-7-5 11:53
精准要求控制到多少角度啊?
1.8度? 18度? 90度?

现在基本没有精度可言

好在精度不要求太高  运动距离相差15mm之内就可以接受 也就是半圈以内可以接受

出0入0汤圆

发表于 2016-7-5 14:21:27 | 显示全部楼层
cvi670 发表于 2016-7-5 13:36
现在基本没有精度可言

好在精度不要求太高  运动距离相差15mm之内就可以接受 也就是半圈以内可以接受 ...

精准到半圈,应当不难实现。
我认为关键是要提前减速,做好减速控制曲线。

出0入0汤圆

发表于 2016-7-5 14:45:29 | 显示全部楼层
换成STM32,这些好解决

出0入0汤圆

发表于 2016-7-5 15:18:46 | 显示全部楼层
霍尔 =/=  精确,,,要精确,上码盘。

出0入0汤圆

 楼主| 发表于 2016-7-5 15:57:59 | 显示全部楼层
codefish 发表于 2016-7-5 14:21
精准到半圈,应当不难实现。
我认为关键是要提前减速,做好减速控制曲线。 ...

恩  现在就是做这方面的工作  

在试验过程中发现  速度突然增加或减小  霍尔不容易识别  造成不准确

现在的控制策略是:  分三段   
                           
                         第一段:行程的六分之一做加速(尽量做到匀加速)
                         第二段:行程的六分之四做高速匀速
                         第三段:行程的六分之一做减速(尽量做到匀减速)

而现在不是太稳定  有时候挺好在误差范围内  有时候就差得太多

出0入0汤圆

 楼主| 发表于 2016-7-5 16:00:49 | 显示全部楼层
LearningASM 发表于 2016-7-5 14:45
换成STM32,这些好解决

平台选的不好
STC12C5410AD内部资源太少了
现在改来不及了
后续可以改一下平台 估计精度可以再提高一些

出0入0汤圆

发表于 2016-7-5 16:34:49 | 显示全部楼层
cvi670 发表于 2016-7-5 16:00
平台选的不好
STC12C5410AD内部资源太少了
现在改来不及了

用2个中断引脚,能记录2个霍尔相位,间就用用呗。

出0入0汤圆

发表于 2016-7-5 19:18:47 | 显示全部楼层
好像用步进电机应该可以对付~~~~~~~~~~

出390入22汤圆

发表于 2016-7-5 20:25:39 | 显示全部楼层
上个简易编码器,不知能不能自制

出0入0汤圆

 楼主| 发表于 2016-7-6 07:58:55 | 显示全部楼层
lxa0 发表于 2016-7-5 19:18
好像用步进电机应该可以对付~~~~~~~~~~

步进电机  500W  这么大功率的  价格很贵的  这种电机在淘宝上 200多点

出0入0汤圆

 楼主| 发表于 2016-7-6 08:00:10 | 显示全部楼层
LearningASM 发表于 2016-7-5 16:34
用2个中断引脚,能记录2个霍尔相位,间就用用呗。

外部中断  用于监测过流了   过流堵转后立刻停机  不然烧MOS管啊

出0入0汤圆

 楼主| 发表于 2016-7-6 08:04:11 | 显示全部楼层
liudingding 发表于 2016-7-5 20:25
上个简易编码器,不知能不能自制

主要是工作现场工作环境恶略 而且在电机上安装不方便

出0入0汤圆

 楼主| 发表于 2016-7-6 08:09:44 | 显示全部楼层
用这种单片机、这么简单的硬件完成这样的任务  这叫挑战不可能么?

我在网上找到一些资料有这么做的 不知大家认识这个不

http://blog.sina.com.cn/s/blog_5d84725b0100cx4n.html

这位大神做到了  但是他的平台 比我的好

难不成非得上DSP不行么?

出0入0汤圆

发表于 2016-7-6 08:13:42 | 显示全部楼层
还是你距离控制的方法不对,我用异步机做距离控制可以精确到1mm

出100入85汤圆

发表于 2016-7-6 08:27:26 来自手机 | 显示全部楼层
本帖最后由 whatcanitbe 于 2016-7-6 08:38 编辑

太精确控制做不到,2对极电机只能做到1/12圈的精度,4对极能做到1/24精度。

出100入85汤圆

发表于 2016-7-6 08:34:43 来自手机 | 显示全部楼层
而且实际精度还跟霍尔安装精度有关。

出0入0汤圆

发表于 2016-7-6 09:33:48 | 显示全部楼层
cvi670 发表于 2016-7-6 08:09
用这种单片机、这么简单的硬件完成这样的任务  这叫挑战不可能么?

我在网上找到一些资料有这么做的 不知 ...

还有一种方法,在一家公司的时候工作的时候看到的,使用24个与非门负责霍尔与相位同步,剩下的控制就和带编码器的直流电机那样,根据相位脉冲修改PWM

逻辑结构太复杂了,我记不住。

出0入0汤圆

 楼主| 发表于 2016-7-7 10:50:49 | 显示全部楼层
weichao4808335 发表于 2016-7-6 08:13
还是你距离控制的方法不对,我用异步机做距离控制可以精确到1mm

请问  您有什么好方法?
  或者 讲讲您的控制方法  谢谢

出0入0汤圆

 楼主| 发表于 2016-7-7 10:53:15 | 显示全部楼层
whatcanitbe 发表于 2016-7-6 08:27
太精确控制做不到,2对极电机只能做到1/12圈的精度,4对极能做到1/24精度。

能做到这个精度 就可以了

您有什么具体的方法么

出0入0汤圆

 楼主| 发表于 2016-7-7 10:57:34 | 显示全部楼层
LearningASM 发表于 2016-7-6 09:33
还有一种方法,在一家公司的时候工作的时候看到的,使用24个与非门负责霍尔与相位同步,剩下的控制就和带 ...

恩  这个方法可以考虑一下

我们做的这个东西  要求速度要快

大概行程720mm往返运动

一个运行周期  (往返一次)大概  1.5秒左右   很快

慢速还可以  速度一上来就不准了

出0入22汤圆

发表于 2016-7-7 11:11:47 | 显示全部楼层
cvi670 发表于 2016-7-5 15:57
恩  现在就是做这方面的工作  

在试验过程中发现  速度突然增加或减小  霍尔不容易识别  造成不准确

你对BLDC还是太不了解。。

想你这样要精确控制。

1.提前减速是必须的。
2.这里面要求的停止 就不是简单的停止,而是刹车,如果还是不行,就电磁刹车。

精度可以控制在120°电角度。如果修改算法还可以减半。。

普通的STM8S就能够搞定。
当年就做过这样的一个东西。设计过程中需要特别注意母线电压的变化。最好是有一个强劲的能量消耗装置。不然炸管是分分钟的事情。

出0入0汤圆

发表于 2016-7-7 14:34:39 | 显示全部楼层
cvi670 发表于 2016-7-7 10:50
请问  您有什么好方法?
  或者 讲讲您的控制方法  谢谢

我感觉你的停不准是你的计数方法不对,导致的计数不正确,计数对的话用简单的办法就是双速控制,想要效率高得话用位置环控制
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-23 08:35

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

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