Other Parts Discussed in Thread: SYSCONFIG
Tool/software:
Hello support team,
I am working with the TIDEP-01032 demo application from the AM243x Motor Control SDK 09.02.00. As hardware setup I have two identical motors with 18-bit single-turn EnDat 2.2 encoders.
I have several problems when running the demo application. First is the EnDat master: If I use the default setting in SysConfig with both channels (0 and 2) + loadsharing, the EnDat master initialization runs into an error (function endat_wait_initialization gets no response from the master).
After I configure only channel 0 + loadsharing, the initialization runs through and the encoder is read out correctly.
However, the problem then arises that the motor does not run at 120 RPM. It turns at about 60 RPM and it is not a proper speed control. When I put my fingers on the motor shaft, the direction of rotation changes. In addition, both DRV fault LEDs light up on the booster pack. The 24V power supply is not in its current limit.
I have adjusted the following point in the code:
- In the pruEncoderIrqHandler, I changed the pole pair number to 5 when calculating the electrical position. I have not changed anything else except UART logging.
I have selected the following jumper settings on the booster board:
- J11 / J13 / J26 are on pins 2-3.
- J19 and J21 are selected for 5V encoder power supply
- J17 is on pin 1 - 2
- J22 / J23 are not in use
- J24 / J25 are also not in use
- I am not sure about J27 and J28. I did not understand the function of these jumpers in the user guide. I have tested all combinations and none of them have the motor turning at 120 RPM or allows both encoder channels.
I have already tried to debug some things in the case only one motor is configured:
- I checked if both encoders are supplied with the 5V.
- I took a quick look at the Endat transmission -> the interrupt triggers a 50 kHz transmission (compare below picture: first 5 signals from above)
- The SD modulator is supplied with 20MHz and it delivers a bitstream to the Sitara (See signal SD CLK SOC / SD Clock Feedback. Custom 7 is one SD Modulator bitstream)
- All three motor phases have a sinusoidal current curve.
- The software behaves the same regardless of whether I flash in debug or release mode
- When replacing the motor and encoder cable, the system also behaves the same.
Now to my questions:
1. what are the correct jumper settings when using two EnDat 2.2 encoders and the AM243x?
2. why does an error occur in the EnDat master when configured with two motors?
3. why does the motor not rotate at 120 RPM? Do any parameters other than the number of pole pairs need to be adjusted? How can the code be extended, for example to be able to change the control parameters via Twincat? Maybe the actual parameters doesn't fit at all to my motor.
Kind regards,
Nico