gmschoon Posted March 27, 2017 Share Posted March 27, 2017 We are attempting to establish a relationship between IGBT temperature & phase current sensor offset on Geo direct PWM amplifiers/drives. Thus far, data we have collected does not suggest much of a correlation between IGBT temperature and the current sensor offset. While one would typically expect sensor offset to be a partial function of temperature, we are not sure about phase current sensor to IGBT proximity on the Geo direct PCB. If anyone is familiar with board layout, such information would be most helpful. Thanks. Link to comment Share on other sites More sharing options...
mbalentine Posted March 27, 2017 Share Posted March 27, 2017 If I understand your question correctly, you may be in need of a temperature measurement of the current sensor(s) themselves. I don't believe this exists, and I also don't believe they are common to the IGBT heatsink. At least on larger drives, I recall these are hall devices separately mounted and temperature independent of the IGBT's. There would be substantial non-linearities involved if you did take a direct temp measurement, but data sheets should be available if you identify the device used. I recall DT buys the sensing device ass'y from an English company, don't recall their name. They had problems with these a few years back, but I do not know of the basic design having changed for the sensor circuitry. You could cement a TC to the split ferrite core that the hall device is in and take a separate reading in this way. Identify it by looking for two small circuuit boards with a split core and one or more wraps of wire leading from the IGBT bridge to the motor terminals. No guarantee of correlation, but me thinks you would at least have the relevant data. This sounds like a very difficult task. Link to comment Share on other sites More sharing options...
gmschoon Posted March 28, 2017 Author Share Posted March 28, 2017 Thanks for the quick response. We had been examining the possibility of using any temperature/current offset relation to mitigate the effects of drift from the two current sensors (Ia, Ib). The principle issue is that most drives typically employ sensing of two of three motor phases, with the third phase current being inferred from the two measurements. Necessarily, this assumes a balanced 3 phase system, and any offset in the two measured phases propagates through the calculation of Ic. Again, while this is not an issue for many applications, we have requirements for precise torque control, primarily at very low velocities. As you suggest, we could attach a temp probe to the current sensing device, and we shall try to track down the current sensor module manufacturer to determine any established temperature response. We also thought that it would be more effective to create an external current sensor module that measures all phases using integrated hall sensors (Allegro MicroSystems, etc), as this would solve almost entirely the problem of sensor offset. Possibly DT would be willing to create (or assist in creation of) such a sensor module? Link to comment Share on other sites More sharing options...
mbalentine Posted March 28, 2017 Share Posted March 28, 2017 Your idea of an external current measurement makes sense and sounds very do-able. Since you're not trying to close the current loops, a much lower bandwidth requirement will make more precise measurements possible, and as you say, all three phases could be measured if desired. Perhaps active cooling to ensure a constant temp of the sense device is another approach? These are a generally passive measurement and do not generate much heat, if I recall correctly. DT is nice in allowing offset values to be changed in real time, otherwise your objective would be very difficult. I think it would be an interesting discussion to consider PWM frequency, number of motor poles (actually motor design as a whole - slot skew angle, inductance, etc), measured current as % of device range, and torque compensation tables in an effort to effect your goal of smooth, precise low speed motion. Have you already looked at this issue from that direction? Another thought: Have you considered a torque feedback device? Link to comment Share on other sites More sharing options...
curtwilson Posted March 28, 2017 Share Posted March 28, 2017 It's pretty straightforward to determine what relationship exists here, but I have no idea if you will find anything useful, and if you do, it would be different from drive to drive. If you set Motor[x].CurrentNullPeriod to a non-zero value, then when you enable the motor, it will first force a zero-voltage command on all phases for the specified number of phase cycles while it monitors the Phase A and B current readings. At the end of this period, it averages the values for each phase and puts the opposite of these values in the IaBias and IbBias elements. Most people use a period in the hundreds of phase cycles. So you should simply exercise the motor to varying degrees of severity to get a range of IGBT temperatures (which you read as extended data). In each round, you then kill the motor momentarily, re-enable it, and read the values in IaBias and IbBias. After many of these rounds, you can see if there is any meaningful mapping to which you could apply a mathematical fit. If there is, you could use a background PLC program to set the bias terms as a function of IGBT temp using the fit. Link to comment Share on other sites More sharing options...
gmschoon Posted March 29, 2017 Author Share Posted March 29, 2017 Your idea of an external current measurement makes sense and sounds very do-able. Since you're not trying to close the current loops, a much lower bandwidth requirement will make more precise measurements possible, and as you say, all three phases could be measured if desired. Perhaps active cooling to ensure a constant temp of the sense device is another approach? These are a generally passive measurement and do not generate much heat, if I recall correctly. DT is nice in allowing offset values to be changed in real time, otherwise your objective would be very difficult. I think it would be an interesting discussion to consider PWM frequency, number of motor poles (actually motor design as a whole - slot skew angle, inductance, etc), measured current as % of device range, and torque compensation tables in an effort to effect your goal of smooth, precise low speed motion. Have you already looked at this issue from that direction? Another thought: Have you considered a torque feedback device? Unfortunately, torque feedback is not an option. Indeed, as we are not performing commutation using hysteresis current control, the BW is not an issue. However, sending effective torque commands still exists in the form of rotor translated Iq (Id can be ignored unless flux control is desired), which will contain a sinusoidal component correlating to measured phase current offset and rotational velocity. We could attempt to thermally isolate the existing current sensors, but perhaps the level of intrusion required to perform such would better invested into a well designed 3-phase external sensor array. Ideally, I would design an entirely new inverter using SiC FET's with 3-phase current sensing to allow higher switching frequencies and remove current offset. As regards motor design, tighter tolerances in the placement of rotor magnets and stator layout would naturally be better. Link to comment Share on other sites More sharing options...
mbalentine Posted March 29, 2017 Share Posted March 29, 2017 To your last point regarding a more accurate motor.... I am obviously not familiar with details of your application, so my comments could easily be irrelevant. Increasing pole count may tend to reduce & distribute errors in pole placement and strength. From your comments it sounds like you are well aware of imperfections in motor build, winding lay, individual magnets etc. Torque compensation tables can be used to mitigate these variances as a function of position. A seperate external current measurement that is independent of drive device temperatures would be useful for offsets, but you'll still have variances in the motor. Minus a direct torque feedback, careful mapping and compensation of the motor should be useful. Essentially you'd be looking for an accurate open loop transfer function of current, temperature, speed, & position (any others?) vs torque. Characterization of individual motors in this way would be a project in itself. I guess it depends on your accuracy requirements and how much error you can blame on motor variance. Link to comment Share on other sites More sharing options...
gmschoon Posted March 31, 2017 Author Share Posted March 31, 2017 It's pretty straightforward to determine what relationship exists here, but I have no idea if you will find anything useful, and if you do, it would be different from drive to drive. If you set Motor[x].CurrentNullPeriod to a non-zero value, then when you enable the motor, it will first force a zero-voltage command on all phases for the specified number of phase cycles while it monitors the Phase A and B current readings. At the end of this period, it averages the values for each phase and puts the opposite of these values in the IaBias and IbBias elements. Most people use a period in the hundreds of phase cycles. So you should simply exercise the motor to varying degrees of severity to get a range of IGBT temperatures (which you read as extended data). In each round, you then kill the motor momentarily, re-enable it, and read the values in IaBias and IbBias. After many of these rounds, you can see if there is any meaningful mapping to which you could apply a mathematical fit. If there is, you could use a background PLC program to set the bias terms as a function of IGBT temp using the fit. Based on the data we have collected, we have not been able to identify much of a correlation between IGBT temperature and offset of the A, B phase current sensors. As the IGBT temp sensor is (presumably) part of the integrated IGBT module attached to the heat-sink, and the current sensing is performed on two separate PCB's which are largely thermally independent, this result is likely unsurprising. We are currently performing an iterative offset nulling routine, which works well; however when the motors are enabled continuously for extended periods of time the offset drifts. Rather than stop the motors to calibrate offset, we would rather establish a mathematical relation as you mentioned. If we could place a temp sensor on the current sensor board, the correlation would likely be better than that using IGBT temp data. Link to comment Share on other sites More sharing options...
Recommended Posts