这只是一个简单的概念性问题,关于在两个输出之间切换PWM(实际上,如果你必须得到前提的话,逻辑电平MOSFET桥的低端)。我有这些引脚设置低,所以在任何给定的时间,一个PPS将是明确的,另一个将被设置为0x0e(PWM3),事实上,有一个“切换”期间,我已经投入当他们都清楚,因为我正在改变高边驱动器,因为我的司机不马上离开。(我在PPS或任何东西上没有任何“锁”。所以对我来说,这是“合乎情理的”,一旦我清除了PPS引脚,它们就会进入闩锁电平低,我就不会遇到桥“穿透”的问题。让我吃惊的是,我得到了大量的“坦克”的补给,并从仿真中撕开了!在PPS中是否存在某种“保持”,它在循环结束之前没有切换到PWM或什么?我必须超时PWM循环以确保它关闭吗?我不知道这是如何记录在数据表上的一种或另一种方式。在高速运行时,它只会在仿真中失灵,但当我一步一步地通过代码时,它的原因对我来说也不明显。(请不要索取代码样本,因为它太长,无法理解,我并不是要求“代码帮助”不管怎样,为什么它是根据不同于我理解的基本原理而工作的?)哦,是的,我没有使用COG,也没有足够的自由引脚来考虑它,请不要这样做。问! 以上来自于百度翻译 以下为原文 This is intended to be just a simple conceptual question about switching the PWM between a couple of outputs (actually the low ends of a logic level MOSFET bridge if you must get the premise). I have the LATs for these pins set low so at any given time one PPS out will be clear and the other will be set to 0x0e (PWM3), well actually there's a "switchover" period I've put in when they're both clear as I'm changing the high side drive over because my driver doesn't go off right away. (I don't have any "locks" on the PPS or anything.) So to me it "stood to reason" that as soon as I cleared both PPS pins they'd go to the latch level low and I wouldn't have a problem with bridge "shoot-through". Surprise I've got LOADS of it and it "tanks" the supply and rips the setup right out of emulation! Is there some kind of "hold" here in the PPS where it doesn't switch out of the PWM until the end of cycle or something? Do I have to time out the PWM cycle to make sure it goes off? I don't see where this is documented on the data sheet one way or the other. To add insult to injury it only busts out of emulation when running at speed, but NOT when I single-step through the code, the reason for that isn't obvious to me either! (PLEASE don't ask for code samples as it would be too long to comprehend, I'm not asking for "code help" anyway just why is it working according to other than what I understood to be the underlying principles.) Oh yeah, I'm not using COG and don't have enough free pins to consider it, please don't ask!
2018-09-04 15:10
我用3相驱动器驱动BLDC电机,使用“2阶段”策略。我已经创建了基于反电动势和霍尔传感器的换向表。为了获得最大转矩,我知道定子磁通量应该是从转子位置或霍尔表90度。我开的车和那辆车差不多。但一个澄清是,最初的转子角度将是90度,但缓慢下降到下一个过渡。我说的对吗?所以角度从90度变化到60度。请告知。 以上来自于百度翻译 以下为原文 I am driving a BLDC motor using a 3 phase driver using "2 phases ON" strategy. I have created the commutation table based on the back emf and the hall sensors. To get maximum torque i came to know that the stator flux should be 90 degrees from the rotor position or hall table. I am driving similar to that. But one clarification is that initially the rotor angle will be 90 degrees but slowly decreases till the next transition. Am i correct? So the angle varies from 90 degrees to 60 degrees. Please advise.
2018-12-05 14:38
嗨,AllI一直在为PIC24EP设备编写一些代码,并使用XC16编译器编译。我遇到了一些意外的行为,我希望能被禁用。由于一些未知的原因,编译器自动初始化所有变量和IO端口作为初始代码的一部分。即使我没有显式初始化变量,编译器也会在启动时将其默认为0。有没有办法阻止这个?因为这引起了很大的问题。 以上来自于百度翻译 以下为原文 Hi All I've been working on some code written for a PIC24EP device and compiled using the XC16 compiler. I've come across some unexpected behaviour that I'm hoping can be disabled. For some unknown reason the compiler is auto initialising all variables and IO ports as part of the initial code. Even if I don't explicitly initialise a variable the compiler is defaulting it to a 0 on boot. Is there a way to stop this? As it's causing major problems. Thanks Russell
2018-11-14 14:24