STC12c5410AD 控制48V500W 无刷直流电机 精确控制 启停
本帖最后由 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个脉冲反转时 差的就特别多了这是为什么呢 一直理解不了
这是板子:
大家给想想办法如何 精确控制啊? 你这个是要玩伺服电机啊,霍尔精确定位,不是好笑么? 你这个方案有问题啊.还是上TI的SPIN-FOC吧.不然根本没戏.就51那个计算能力,没有计算辅助单元,根本跑不起来 精准要求控制到多少角度啊?
1.8度? 18度? 90度? gylg3344love 发表于 2016-7-5 11:20
你这个方案有问题啊.还是上TI的SPIN-FOC吧.不然根本没戏.就51那个计算能力,没有计算辅助单元,根本跑不起来 ...
基本就和伺服差不多了
要做严格的成本控制不得已 codefish 发表于 2016-7-5 11:53
精准要求控制到多少角度啊?
1.8度? 18度? 90度?
现在基本没有精度可言
好在精度不要求太高运动距离相差15mm之内就可以接受 也就是半圈以内可以接受 cvi670 发表于 2016-7-5 13:36
现在基本没有精度可言
好在精度不要求太高运动距离相差15mm之内就可以接受 也就是半圈以内可以接受 ...
精准到半圈,应当不难实现。
我认为关键是要提前减速,做好减速控制曲线。 换成STM32,这些好解决 霍尔 =/=精确,,,要精确,上码盘。{:titter:}{:lol:} codefish 发表于 2016-7-5 14:21
精准到半圈,应当不难实现。
我认为关键是要提前减速,做好减速控制曲线。 ...
恩现在就是做这方面的工作
在试验过程中发现速度突然增加或减小霍尔不容易识别造成不准确
现在的控制策略是:分三段
第一段:行程的六分之一做加速(尽量做到匀加速)
第二段:行程的六分之四做高速匀速
第三段:行程的六分之一做减速(尽量做到匀减速)
而现在不是太稳定有时候挺好在误差范围内有时候就差得太多 LearningASM 发表于 2016-7-5 14:45
换成STM32,这些好解决
平台选的不好
STC12C5410AD内部资源太少了
现在改来不及了
后续可以改一下平台 估计精度可以再提高一些 cvi670 发表于 2016-7-5 16:00
平台选的不好
STC12C5410AD内部资源太少了
现在改来不及了
用2个中断引脚,能记录2个霍尔相位,间就用用呗。 好像用步进电机应该可以对付~~~~~~~~~~ 上个简易编码器,不知能不能自制 lxa0 发表于 2016-7-5 19:18
好像用步进电机应该可以对付~~~~~~~~~~
步进电机500W这么大功率的价格很贵的这种电机在淘宝上 200多点 LearningASM 发表于 2016-7-5 16:34
用2个中断引脚,能记录2个霍尔相位,间就用用呗。
外部中断用于监测过流了 过流堵转后立刻停机不然烧MOS管啊 liudingding 发表于 2016-7-5 20:25
上个简易编码器,不知能不能自制
主要是工作现场工作环境恶略 而且在电机上安装不方便 用这种单片机、这么简单的硬件完成这样的任务这叫挑战不可能么?
我在网上找到一些资料有这么做的 不知大家认识这个不
http://blog.sina.com.cn/s/blog_5d84725b0100cx4n.html
这位大神做到了但是他的平台 比我的好
难不成非得上DSP不行么? 还是你距离控制的方法不对,我用异步机做距离控制可以精确到1mm 本帖最后由 whatcanitbe 于 2016-7-6 08:38 编辑
太精确控制做不到,2对极电机只能做到1/12圈的精度,4对极能做到1/24精度。 而且实际精度还跟霍尔安装精度有关。 cvi670 发表于 2016-7-6 08:09
用这种单片机、这么简单的硬件完成这样的任务这叫挑战不可能么?
我在网上找到一些资料有这么做的 不知 ...
还有一种方法,在一家公司的时候工作的时候看到的,使用24个与非门负责霍尔与相位同步,剩下的控制就和带编码器的直流电机那样,根据相位脉冲修改PWM
逻辑结构太复杂了,我记不住。 weichao4808335 发表于 2016-7-6 08:13
还是你距离控制的方法不对,我用异步机做距离控制可以精确到1mm
请问您有什么好方法?
或者 讲讲您的控制方法谢谢 whatcanitbe 发表于 2016-7-6 08:27
太精确控制做不到,2对极电机只能做到1/12圈的精度,4对极能做到1/24精度。
能做到这个精度 就可以了
您有什么具体的方法么 LearningASM 发表于 2016-7-6 09:33
还有一种方法,在一家公司的时候工作的时候看到的,使用24个与非门负责霍尔与相位同步,剩下的控制就和带 ...
恩这个方法可以考虑一下
我们做的这个东西要求速度要快
大概行程720mm往返运动
一个运行周期(往返一次)大概1.5秒左右 很快
慢速还可以速度一上来就不准了 cvi670 发表于 2016-7-5 15:57
恩现在就是做这方面的工作
在试验过程中发现速度突然增加或减小霍尔不容易识别造成不准确
你对BLDC还是太不了解。。
想你这样要精确控制。
1.提前减速是必须的。
2.这里面要求的停止 就不是简单的停止,而是刹车,如果还是不行,就电磁刹车。
精度可以控制在120°电角度。如果修改算法还可以减半。。
普通的STM8S就能够搞定。
当年就做过这样的一个东西。设计过程中需要特别注意母线电压的变化。最好是有一个强劲的能量消耗装置。不然炸管是分分钟的事情。
cvi670 发表于 2016-7-7 10:50
请问您有什么好方法?
或者 讲讲您的控制方法谢谢
我感觉你的停不准是你的计数方法不对,导致的计数不正确,计数对的话用简单的办法就是双速控制,想要效率高得话用位置环控制
页:
[1]