I am trying to run the TWR-MC-LV3PH motor controller with an input voltage of 48V. I read in the user guide that some divider resistors in the DC bus and BEMF sensing circuit need to be modified to increase the sensing range so I increased resistor R74 to be 40.2Kohms to get the proper readings at V_SENSE_DCB and V_SENSE_DCB_HALF. I increased the Maximum DC Bus voltage in the Protection & Hardware tab, which got rid of my DCBusVoltageError, but I am getting 2 non clearable faults: Current Sensor Calibration and ADC Offset. Are there any other resistors or fields in the KMS that need to be updated? I am using a sensored position configuration on a TWR-KV31F120M.
Changing DCB_POS to the LV3PH is fairly direct, but is done in steps.
First for 48 VBus Max the the nominal Vbus would be lower allowing some headroom for regenerative braking voltage or transients. The nominal 24 V system is set up for a 36 V DC bus maximum with a 30V Overvoltage setting in KMS. So for a nominal 48 V we must push the circuit to it's maximum of 58V based on the Maximum specification of the pre-driver. For 58V max R74 must be 49.7K Ohms- if you are leaving R77 and R79 alone = 1.5K
Then in the KMS wizard set the Maximum DC bus = 58V and the overvoltage to 54 or 53 V, under voltage appropriately for your circuit.
The error you are getting is there because you tried to change both the Maximum and the Over voltage at the same time. If you do this in steps, first changing the max DC bus, storing these parameters, then changing the Overvoltage value you don't get the GUI error flagged but get this.
Then you can go back and enter the basic motor information and hit the play button to store the information.
I really appreciate the detailed response. I went through your process of updating the Maximum DC Bus > Saving > Over/Under Voltage > Saving > Basic Motor Information and I no longer get the ADC offset and Current monitor faults but I keep getting the DC Bus Over-voltage when I try to start the Automatic Parameter Measurement. When I go back to the Protection and Hardware tab, the Over and Under Voltage fields are back to their default values (37.5V, 22.5V) even though I updated the motor drive configuration and stored the motor information. Any idea on what may be going on here?
I have noticed on this version of KMS that when doing Trajectory testing and changing the parameters, that when I save the parameters to the system.h file, the defaults keep coming back. This is a known issue with KMS, and I'm not sure about the work-around. It may be that you have found another of these issues but let's see if my idea below fixes your issue.
The values that are written to the MCU when you "Save" it is written to RAM, a structure that is loaded from flash at reset and then the system.h file. So it's understandable that if you don't re-compile the new values in the system.h file the defaults won't be in the project on the MCU. In this message it is telling you that it is saved.
So to make that happen there is an option under the KMS GUI to run project on MCU. Or you can use your IDE, build the project and download with the debug interface.
In the GUI Select PROJECT TAB --> RUN PROJECT ON MCU (CTRL - R)
and the build of the project will happen and hopefull you get no errors or warnings and the build is successful.
It will then download the new image to the MCU.
The build procedure did come back with an error saying that the twrkv31f120m_POS_KDS.elf does not exist so I was unable to test your work around.
Let me know if you have a work around for this work around :smileyhappy:. I really appreciate your help.
Max bus voltage is a scaling factor, it is not the nominal voltage of the system, but rather the maximal measurable voltage by the hardware. It is used to scale the small voltage going into the ADC to the real voltage in the bus. The ADC maximum voltage range is 3.3 volts, so any measurements have to assume that the maximum voltage in the ADC is the max voltage of the system, which, if you make the numbers, for a 49.9k resistor, that works out to 54.89 volts.
48 volts showing 2.7 volts in the ADC input is perfectly reasonable and since there is a scaling factor to 55 volts, then you can calculate:
(2.7/3.3) * 55 = 45 V. Which is within range. Now if your input is actually 48, then there is potentially a problem either with your max DC bus (like I said, the number really works to 54.89) and the tolerance of the resistances used.
So regarding overvoltage, remember Maximum DC bus is simply the scaling factor, it does not mean anything except tell the ADC its measurement range. Once that is set, then all your voltage readings will work out. The over voltage is triggered by the Over-voltage value field in the protections block.
By the way, with your original value of 40.2k ohms in the resistor divider, a 48 volt input would actually mean 3.5 volts at the ADC pin, which would mean more than any max DC bus, because the DC bus is scaled to 3.3 volts, so of course you would always get an over-voltage in that case, plus all the other strange errors you were getting. Better go with the 49.9k.