lbz0123
发表于 2011-10-9 13:00
回复 21# 芦席一小生
主中断周期多少?
一般这样是来不及反应的吧
比如IGBT允许过载10us 主中断响应肯定不够
我们一般专门用一路外部中断
lyftcl
发表于 2011-10-10 11:21
回复 20# wander_zhang
正常情况下是交流,如果过流的话,在过流的那一瞬间,就不再是交流了,一般是一个一直增加的电流波形。如果过流了N-1个点,然后又不过了,说明这个过流是收敛的,只是幅值大了而已,至少可控。
lyftcl
发表于 2011-10-10 11:23
回复 23# lbz0123
感觉这样性能应该更好些。
加快软件过流保护响应速度,一是让触发快一些,二是让动作快一些。
感觉使用中断让保护动作加快的效果应该更明显。
wander_zhang
发表于 2011-10-10 16:25
回复 24# lyftcl
这个直流波形在正常情况下也能出现吗, 检测频率是跟pwm同步吗? 还是相对比较慢比如 1秒钟
lyftcl
发表于 2011-10-10 17:21
回复 26# wander_zhang
正常的都应该是交流的啊。。。
一般ADC都是和PWM同步的,一个周期采一次或者N次平均,但是只判断一次。
wander_zhang
发表于 2011-10-10 17:33
回复 27# lyftcl
你的意思是
如果pwm2 0khz, n为16 的话时间为1/20kz*16 =800us.
如果 电流在 800us内一直超过设定值,就认定为过流
lbz0123
发表于 2011-10-10 17:40
回复 28# wander_zhang
IGBT早炸了 这样判断来不及保护的
wander_zhang
发表于 2011-10-10 18:04
回复 29# lbz0123
这个只是软件过流保护,硬件还有一级
lijian613
发表于 2011-10-10 18:25
回复 18# lyftcl
我们做软件保护时, 一般取电流2次或3次采集后取均值判断是否过流,再主中断服务里判断。
你说的专用中断服务是什么意思呢? 硬件上过流保护可以设置触发专用的外部中断。
wander_zhang
发表于 2011-10-10 18:55
回复 31# lijian613
中断服务还有主中断和次中断之分吗?
lbz0123
发表于 2011-10-11 08:47
楼主既然有硬件保护为什么还要软件在保护一次?
软件保护即不如硬件保护及时 也不如硬件保护容易实现
软件保护反应过来的时间 用外部中断的话还勉强凑合
用AD的话 保护IGBT完全来不及
wander_zhang
发表于 2011-10-12 14:49
本帖最后由 wander_zhang 于 2011-10-12 15:11 编辑
回复wander_zhang
正常情况下是交流,如果过流的话,在过流的那一瞬间,就不再是交流了,一般是 ...
lyftcl 发表于 2011-10-10 11:21 http://bbs.simol.cn/images/common/back.gif
还是不太理解
做个假定。 峰值过流电流900安培,电机电流一直工作在899安培, 然后突然增加到 901安培,然后稳定工作在901安培。
按照n点连续检测法, 当其中一项电流超过900安培时,能检测到的过流电流应该在余弦函数0度左右,也就是峰值。 如果电机转速很高,电流频率也很高,如果检测n点的话,不一定能保证所检测的电流一直超过900安培。这样的话,就不能达到过流检测的目的。
请指点。
lyftcl
发表于 2011-10-12 16:24
我们大家可以一起讨论一下一个比较好的保护策略:
首先,硬件保护是必须的,而且必须做的好,直接硬件关断。(而且假定硬件保护是100%有效的)
然后是软件保护,先不讨论N次判断的策略。只讨论单次判断的策略。
那么我们怎么设置这个软件保护策略才能更好的保护IGBT,而且尽可能少的触发硬件保护。
lyftcl
发表于 2011-10-12 16:27
本帖最后由 lyftcl 于 2011-10-12 16:41 编辑
回复 31# lijian613
假设你ADC是在主中断的第10us处检测的。第一次检测,没有问题。但是第30us的时候,电流发生异常,如果仅主中断判断的话,那么从30us直到下一个10us是不会采取任何措施的。
而如果做个ADC判断过流的专用中断的话,在30us发现过流的时候,进入过流保护的ISR进行保护。
lbz0123使用的就是这样的一个专用中断,我们可以和他一起讨论一下,应该是有明显的好处的。
其实,我现在也是一个主中断中加个判断来处理的,就是不知道这样是否会因为保护的晚而产生危害。
lyftcl
发表于 2011-10-12 16:30
回复 34# lbz0123
肯定硬件保护好,但是并不是每次都会触发硬件保护的,而且如果能不触发硬件保护就不触发硬件保护。所以在硬件保护之下,有一级软件保护,譬如硬件900A过流,而软件判断500A就算过流了,因为这个电机最高只能出400A。
你说的外部中断是指软件保护还是硬件保护?
wander_zhang
发表于 2011-10-12 16:33
我个人用觉得可以在主函数里头计算id *id +iq*iq ,然后计算平均值,如果 超过阙值,便认为过流。
缺点是速度慢较慢,比如1秒钟。 不过如果在正常情况下,没有发生短路的话,应该也没有问题。如果发生短路了,只能是硬件保护了。
lyftcl
发表于 2011-10-12 16:39
本帖最后由 lyftcl 于 2011-10-12 16:44 编辑
回复 35# wander_zhang
关于这个方法我也只是听说,毕竟我没有实际用过,我猜测应该是这样的
1. 针对转速不太高的电机,一个电周期内,至少有几十甚至上百次中断采样,那么就可以判断连续好几次的过流事件。
2. 或者每个中断里面,ADC采样的次数不止一次
3.另一种情况,当电机已经失控的时候,一般电机电流会变成直线甚至指数等上升方式,那么这时候的电流就不再是交流信号,假设这个电流持续了500us的话,那么我们就能连续发现好几次过流事件了。
但是我担心这种方式的过流,估计很快就触发硬件过流保护了,所以还是想在做连续N点判断的策略的时候,是不是一个中断里面都是采样多次的。这点需要大家一起讨论
而且在以上的判断中,都是判断三相的正负过流,所以等于一次就判断了3个,因此也等同于采样率3倍了。
wander_zhang
发表于 2011-10-12 17:25
回复wander_zhang
关于这个方法我也只是听说,毕竟我没有实际用过,我猜测应该是这样的
1....
lyftcl 发表于 2011-10-12 16:39 http://bbs.simol.cn/images/common/back.gif
电机失控要么是软件有问题,比如跑飞了,要么发生短路了,这两种情况我觉得,软件处理是来不及的。
我问为软件保护只考虑正常情况。
wander_zhang
发表于 2011-10-12 17:38
回复 40# lyftcl
如果用n次连续检测法的话,是不是会出现短路时可能触发过流保护,正常情况下反而无法触发过流保护,因为正常情况下,电流是正弦的。
lbz0123
发表于 2011-10-12 17:39
wander_zhang 说的软件保护策略类似限制输出转矩 这个可以有 但是即使每个载波周期执行一次 时间延时仍然有一个载波周期那么大 如果电流很大 发生lyftcl 所说的电流畸变 那么 一、时间太长 保护肯定不及时 二、此时电流已经畸变 无法准确计算 甚至已经超出电流检测线路的线性区 和检测范围 此时用软件保护不现实 不可靠
用硬件的话可以外部使用比较电路 当电流高于某一个值后 用逻辑门电路关闭六项输出 同时输出信号给处理器 告知故障 停止PWM输出地同时 将故障输出给外部控制、人机单元 比如PLC HMI等
此时建议用外部中断 响应快 怕被干扰的话 可以在处理器外部加滤波