This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV10964EVM: Issue with the closed loop operation

Part Number: DRV10964EVM
Other Parts Discussed in Thread: DRV10964, MCF8315C,

Tool/software:

Dear technical team,

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/894799/drv8305-brushless-vibration-motor-driving-via-drv8305?tisearch=e2e-sitesearch&keymatch=DRV10964evm

I am using the 912-101 motor from precision microdrives. The motor is connected to three dedicated ports. The issue is it is exactly the same in the E2E thread, but I did not manage to enter to closed loop operation because I don't understand what i have to do on the config test point. 

When I apply the supply voltage on the J1 connector, the motor behavior is the same as on the video on the forum topic issue. But as explained by one of the technical agents on the above linl, it is a normal behavior, as the board needs a particular voltage on the CONFIG pin to enter in a closed loop operation. This particular voltage is calculated using the formula described in the forum topic and might be determined empirically.
If I understand well, I have two ways for tuning this voltage :

  • Change the resistors R2 and/or R3 to get the adapted voltage, according to the table 6 on the datasheet of the board.
  • Change the voltage on the CONFIG test-point.

I don’t understand the last point : how do I change the voltage ? Do I have to apply the adapted voltage between the config test point and the ground using a second power supply ?

I just notice on the picture that there is not any R2 resistor on the board. Is this critical ?

I thank you in advance for your answer.

Joris

  • Hi Joris,

    On the EVM R2 is DNP, user need to chose the correct value to select Open Loop to Close Loop Hand off value. 

    R2, R3 divider applies certain voltage on CONFIG pin which applies hand off value. 

    Please select R2 and let me know if this works.

    Example of selecting R2: If Kt is very low chose higher hand off speed. Please refer to the table in the DRV10964 data sheet and EVM user guide.

    Thanks and Best Regards,

    Venkatadri S

  • Hi Venkatadri,

    If I understand well, I am forced to plug a resistor on the R2 port. So I don't understand the sentence " The open to close loop handoff can be changed either by changing the voltage on the CONFIG test-point or by changing biasing resistors R2 and R3." from you colleague Vishnu Balaraj (see the previous topic).


    If no resistor is plug, as it is the case now, no voltage is measured between the CONFIG test point and the ground, am I right ?

    Ok according to the previous topic, for the 912-101 motor, the rotation speed is 11200 rpm, so Max speed (Hz)=(11200*3)/120=280 Hz.
    From the table 7 of the datasheet, the Hand-off frequency is 62.5 Hz.
    From Table 6, it seems I need 1.72V at the CONFIG pin (i.e. 34.4% of VCC).
    On the board, R3 value is 4.72kOhm. So I need a 9kOhm resistor on R2. Am I correct ?

    Before doing anything (I will need to buy resistors, as I did not plan for this), i would like to know if an adjustable resistor might not be better as there is uncertainty on the rotation speed that will propagates through the calculation of tha adapted volatge (please see the last points of the previous topic) ? Moreover it is mentionned on the datasheet that the voltage has to be determined experimentally. 

    Thank you,

    Joris

  • Hi Venkatadri,

    I tried 9.7 kOhm (handoff frequency of 62.5Hz), and then 11.7kOhm (handoff frequency close to 50Hz). TI measure the correct voltage at the config test point.

    But in either case, the motor behavior is still the same as on the video of the previous topic.

    I don't understand why...

    Joris

  • Hi Joris,

    I will check old thread once again and get back to you by this week end.

    Thanks and Best Regards,

    Venkatadri S

  • Hi Venkatadri,

    Did you had time to check the old thread ?

    I trie to sold an ajustable resistor (from 0 to 25kOhm). I successfully managed to tune the voltage at the CONFIG pin using this resistor. I found some resistor value that enables a closed loop operation of the motor. However it is not repeatable... 

    I would like to know if a better plug and play solutions is proposed by TI, using maybe a different driver/EVM ? Indeed I would like to control this motor in a closed loop operation, be able (if possible) to tune the speed, in order to use it in an optical imaging bench. The idea is to estimate if this motor is adapted for our application, but I m still not able to control it !

    I thank you in advance,

    Best regards,

    Joris Baraillon

  • Hi Joris,

    For speed control requirement we can check MCF8315C, MCF8316C, they are FOC based motor drivers. What is the speed accuracy, lowest speed specification ?

    Thanks and Best Regards,

    Venkatadri S

  • Hi Venkatadri,

    As I said in my previous messages, I am using a precision microdrives motor, reference 912-101.
    Please find the datasheet here : 912-101-datasheet-003-d2.2-id65026.pdf

    It is a 5V - 104mA motor, rotation speed 11200 rpm (+- 2240).

    It seems the user from the old thread managed to use the DRV10964evm to drive the same motor, but I did not in a reproducible way. Did you check the old thread ?

    Regarding the two references you gave : MCF8315C,   or    MCF8316C : 

    - I do not know what field-oriented control (FOC) means ?

    - Regarding the specifications of my motor, which driver is the most adapted ?

    - Are your EVM for the adapted motor plug and play ? I do not want to have to add a resistor or other component to enter in closed loop operation. I want to be able to plug the motor, supply the board, and ttune the speed in closed loop operation.

    I thank you in advance for your help. 


    Best regards,

    Joris Baraillon

  • Hi Joris,

    I will reply to you by this week end with some level of details to unblock you.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Did you have time to look at my issue/questions this week end ?

    Thank you,

    Best regards,

    Joris Baraillon

  • Hi Joris,

    I looked into the thread and it is same exact procedure we need to use.

    I did not find inductance value of the motor, can you check the inductance of this motor?

    Thanks and Best Regards

    Venkatadri S

  • I ll check the inductance on Monday. Meanwhile could you please take the time to give me a complete reply, with an answer to all the questions I asked. We will never find any solution if you do not read completky my messages. Thank you.

  • Hi Joris,

    I see inductance value in the data sheet but I am not sure about the value corresponding to Phase to Phase or Per Phase (Phase to neutral ).

    Max speed in electrical HZ from the 220HZ at 200mA

    Parameters looks satisfying recommended range in the DRV10964 and it should be able to drive the motor.

    Steps to Tune

    1. As per the table from data sheet chose Handoff speed threshold between 37 to 50Hz

    2. Config Pin selection you have tried already but re check once again)

    We should be able to see motor is handing of and spinning properly,

    If possible, try to probe the one of the phase current and monitor how is the current waveform, is it showing switching (suspecting low inductance).

    Regarding the MCF8315C/16C are not suitable for this voltage range, they are above 6V to 36V motors.

    Thanks and Best Regards,

    Venkatadri S

  • Hello,

    Thank you to finally take the time to detail the procedure. But as I told you in my previous messages ... I already followed it. I try once again today. It is not working. I observe some continuous vibration once or twice, but not reproducible. I tried with multiple motors. I will abandonned this driver for now.

    As you advice me, I ordered the MCF8316AEVM Evaluation board | TI.com EVM. It is written on the datasheet that it is adapted to 4.5 to 35V motors (and not 6V to 36V motors...). It should work with my motor as I need 5V.
    Do you confirm ?

    I received it and I installed Motor Studio. I followed the procedure written in the tuning guide and whithin the software. I checked all the jumpers. I rotate the potentiometer R4 fully clockwise. I pushed the S1, S2 and S3 as requested. I connected the motor. I connected the 5V power supply (positive to Vbat and negative to PGND). I plugged the mcroUSB to the computer.

    The EVM is then well connected in the software ("EVM Connected").

    I the go to the quick spin section. For the load default, please find below the json I upload following the tuning guide and other threads in the forum.

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x44638C20",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0x283AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x0B6807D0",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x23066000",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0C3181B0",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x1AAD0000",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x00000000",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x0000012C",
    "addr":"0x0000008E"
    },
    {
    "idx":8,
    "id":"REF_PROFILES1",
    "value":"0x00000000",
    "addr":"0x00000094"
    },
    {
    "idx":9,
    "id":"REF_PROFILES2",
    "value":"0x00000000",
    "addr":"0x00000096"
    },
    {
    "idx":10,
    "id":"REF_PROFILES3",
    "value":"0x00000000",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x00000000",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x00000000",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x00000000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0x5FE80206",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0x74000000",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0x00B3407D",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x000001A7",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x00000000",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00000000",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0x0000B000",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x40000000",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x00000100",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00200000",
    "addr":"0x000000AE"
    }
    ],
    [
    {
    "idx":0,
    "id":"GATE_DRIVER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E0"
    },
    {
    "idx":1,
    "id":"CONTROLLER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E2"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_STATUS",
    "value":"0x00000004",
    "addr":"0x000000E4"
    },
    {
    "idx":1,
    "id":"MTR_PARAMS",
    "value":"0x764F5400",
    "addr":"0x000000E6"
    },
    {
    "idx":2,
    "id":"ALGO_STATUS_MPET",
    "value":"0x14000000",
    "addr":"0x000000E8"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_CTRL1",
    "value":"0x00000000",
    "addr":"0x000000EA"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_DEBUG1",
    "value":"0x80000000",
    "addr":"0x000000EC"
    },
    {
    "idx":1,
    "id":"ALGO_DEBUG2",
    "value":"0x00000000",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x0159019B",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x028201A9",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x0000E4E2",
    "addr":"0x000000F4"
    },
    {
    "idx":5,
    "id":"DAC_2",
    "value":"0x000384E4",
    "addr":"0x000000F6"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000000",
    "addr":"0x00000190"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x7FFFFFFF",
    "addr":"0x00000196"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x00000000",
    "addr":"0x00000410"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0x00000000",
    "addr":"0x00000440"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x00000000",
    "addr":"0x00000442"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0x00000000",
    "addr":"0x00000444"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00010003",
    "addr":"0x00000468"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000002",
    "addr":"0x00000472"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x01A3C000",
    "addr":"0x00000476"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x000261AE",
    "addr":"0x0000047A"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x000261AE",
    "addr":"0x0000047C"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00033F62",
    "addr":"0x0000047E"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004B6"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004B8"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x00000000",
    "addr":"0x000004D2"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0x00000000",
    "addr":"0x000004D4"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x00000000",
    "addr":"0x000004D6"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0x00000000",
    "addr":"0x000004D8"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0x000C2678",
    "addr":"0x000004E2"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0xF1955E8D",
    "addr":"0x000004E4"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x00000000",
    "addr":"0x000004E6"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0x00000000",
    "addr":"0x000004E8"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x00000000",
    "addr":"0x00000524"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000053C"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000054C"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x000005D4"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000606"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000608"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000000",
    "addr":"0x00000682"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x0000068C"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x00000000",
    "addr":"0x000006C0"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x00000000",
    "addr":"0x00000704"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0x00000000",
    "addr":"0x0000074A"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0x00000000",
    "addr":"0x0000074C"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0x00000000",
    "addr":"0x0000075A"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x0000075E"
    }
    ]
    ]
    }


    Is the .json file adapted ??

     Then for the motor information,  I choose 0.25A for the rated peak current. And 13440 rpm for the max speed following the motor datasheet. And 3 pole pairs. I tried to run the MPET, 2 faults appears : 


    What does it mean ?

    I then try to choose manually the resistance and the inductance using the motor datasheet. I retry a MPET : here's what I have (please look at the log).

    What does it mean ?

    I did not manage to spin the motor. i tried to run the MPET from the MPET section, I tried to increase the IPD current threshold until the fault disappear (following a procedure found on another thread). But it does not work.

    Could you help me with this issue ?

    Joris

  • I can just add to my previous message than I sometimes observe a small movement of the motor when I run the MPET.

    Thank you in advance for your answer,

    Joris

  • Hi Joris, 

    I will  look into the tuning file and reply to you by tomorrow.

    Thanks and Best Regards

    Venkatadri S

  • Hi Joris,

    I have made some changed to the JSON, please use this and try MPET KE measurement.

    I have adjusted current limits for rated value, made changes at Gate driver setting (slew rate to 200V/us), Open Loop current limit, hand off, Parameters Max speed for 13440 rpm by considering 3 pole pair, close loop acceleration, current limits, I have disabled Speed Loop for now. Once we are successful in spinning in Torque mode then we will do speed loop tuning.

    Steps to follow,

    1. Program R, L (per phase) to the R, L and KE can be 0 

    2. Run MPET to measure KE, if by any chance KE measurement fails then program KE value by measuring it manually as this is very low KE, low current and lower range of voltage. 

    2.1 How to manually measure KE, using oscilloscope voltage probe measure voltage on any two phase

    2.2 Spin the rotor by hand , spin good speed so that BEMF developed can be measured at better accuracy

    2.3 Measure Center to Peak and frequency between two adjacent peak

    2.4 Calculate KE = Measured Voltage / (SQRT(3) * Frequency(Hz)) and program this value to KR

    3. Run the motor without clicking RUN MPET

    Please make sure current limits have to be set by considering max rated limit of Motor.

    JSON file to Use:

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x44638C20",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0x283AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x0B6207D0",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x13066007",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x165181B2",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x1AAD0000",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x00000000",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x64190FC0",
    "addr":"0x0000008E"
    },
    {
    "idx":8,
    "id":"REF_PROFILES1",
    "value":"0x00000000",
    "addr":"0x00000094"
    },
    {
    "idx":9,
    "id":"REF_PROFILES2",
    "value":"0x00000000",
    "addr":"0x00000096"
    },
    {
    "idx":10,
    "id":"REF_PROFILES3",
    "value":"0x00000000",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x00000000",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x00000000",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x00000000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0x17E80206",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0x74000000",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0x00B5407D",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x000002A7",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x00000000",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00000000",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0x0000F000",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x40000000",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x0C000100",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00200000",
    "addr":"0x000000AE"
    }
    ],
    [
    {
    "idx":0,
    "id":"GATE_DRIVER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E0"
    },
    {
    "idx":1,
    "id":"CONTROLLER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E2"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_STATUS",
    "value":"0x00000004",
    "addr":"0x000000E4"
    },
    {
    "idx":1,
    "id":"MTR_PARAMS",
    "value":"0x764F5400",
    "addr":"0x000000E6"
    },
    {
    "idx":2,
    "id":"ALGO_STATUS_MPET",
    "value":"0x14000000",
    "addr":"0x000000E8"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_CTRL1",
    "value":"0x00000000",
    "addr":"0x000000EA"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_DEBUG1",
    "value":"0x80000000",
    "addr":"0x000000EC"
    },
    {
    "idx":1,
    "id":"ALGO_DEBUG2",
    "value":"0x00000000",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x0159019B",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x028201A9",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x0000E4E2",
    "addr":"0x000000F4"
    },
    {
    "idx":5,
    "id":"DAC_2",
    "value":"0x000384E4",
    "addr":"0x000000F6"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000000",
    "addr":"0x00000190"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x7FFFFFFF",
    "addr":"0x00000196"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x00000000",
    "addr":"0x00000410"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0x00000000",
    "addr":"0x00000440"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x00000000",
    "addr":"0x00000442"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0x00000000",
    "addr":"0x00000444"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00010003",
    "addr":"0x00000468"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000002",
    "addr":"0x00000472"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x01A3C000",
    "addr":"0x00000476"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x000261AE",
    "addr":"0x0000047A"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x000261AE",
    "addr":"0x0000047C"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00033F62",
    "addr":"0x0000047E"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004B6"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004B8"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x00000000",
    "addr":"0x000004D2"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0x00000000",
    "addr":"0x000004D4"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x00000000",
    "addr":"0x000004D6"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0x00000000",
    "addr":"0x000004D8"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0x000C2678",
    "addr":"0x000004E2"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0xF1955E8D",
    "addr":"0x000004E4"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x00000000",
    "addr":"0x000004E6"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0x00000000",
    "addr":"0x000004E8"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x00000000",
    "addr":"0x00000524"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000053C"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000054C"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x000005D4"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000606"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000608"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000000",
    "addr":"0x00000682"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x0000068C"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x00000000",
    "addr":"0x000006C0"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x00000000",
    "addr":"0x00000704"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0x00000000",
    "addr":"0x0000074A"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0x00000000",
    "addr":"0x0000074C"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0x00000000",
    "addr":"0x0000075A"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x0000075E"
    }
    ]
    ]
    }
    Thanks and Best Regards,
    Venkatadri S
  • Hi Venkatadri,

    I ll be out of the office for the next two weeks. A colleague will perform the measurements with an oscilloscope and I ll come back to you.

    Regards,

    Joris B. 

  • H Joris,

    Thanks you. I will wait for your input.

    Thanks and Best Regards,
    Venkatadri S
  • Hi Venkatadri,


    My colleague tryed to manually measure KE following your procedure. 
    It seems that it is not possible to do it manually, as the signal is too random at the oscilloscope. The motor is really small and it is therefore not possible to continuously spin the motor to measure the BEMF. 

    I ll try to contact the supplier but is there another way to determine it using your software ?

    Joris Baraillon

  • Hi Joris,

    Understood, either MPET or another way is to utilize the debug features provided in the MCx devices

    In Algorithm controls register set ALGO_DEBUG2 ->CURRENT_LOOP_DIS bit, disable this bit . 

    By doing this device remains in Open Loop. 

    When we give speed command in this mode device spins up to hand off threshold and remains in that speed for ever. 

    When we give zero speed motor stops, if motor is at good speed even after issuing 0 speed command the motor continues to coast down.

    While motor is coasting connect probe with oscilloscope across two phases and measure the BEMF. Make sure to remove all the voltage probe and just use one voltage probe.

    If your system is non isolated then use on isolated voltage probe.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    I disabled the bit and tried to rotate the motor in open loop, but this is not working.

    Listen it s been several months now since I started trying to ensure a continuous rotation of these motors. I tried 4 different boards from TI and I still don t have any solution. I asked the supplier several times, they recommand the first driver I used, but the movement is jerky with it (this is why I tried to find a way to rotate them in close loop with other drivers). I have a meeting with them today to find a solution but as they told me, they are not driver suppiers. You are.

    An easier way to find a solution : I could send you several of these motors, in order to test directly by yourself and select the most adapted board and the electonical parameters we need. I am not expert of driving electronics and we are not equiped with electronic components at our lab. Could you please send me an adress to send you the motors by mail or on this thread ? We really need you to fond a solution with these motors, and we did already everything we could by our own.

    Thank you

    Joris

  • Hi Joris,

    Not a bad idea to get the motors. Are these motors available to purchase online? I can procure it.

    I am sending you friend notification and we will discuss about the logistics, Can you send me email address , your location?

    I will try to find nearest local tech support team for you.

    Thanks and Best Regards

    Venkatadri S

  • I ordered the motors directly on the https://www.precisionmicrodrives.com/ website.

    I ll give you my e-mail adress and location by private message

    Thanks,

    Joris

  • Hi Joris,

    Thank you. I have contacted my EMEA team to find local support close to your region.

    Thanks and Best Regards

    Venkatadri S