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.

TMDSCNCD28377D & 4 motor 4 DRV8303 isolation recommendation?

Other Parts Discussed in Thread: DRV8303, ISO7220C, AMC1204, MOTORWARE

Hi.

I am wondering if there are any recommended hardware isolation to connect the

TMDSCNCD28377D & 4 - DRV8303 to drive 4 motors?.

I looked at the evaluation boards schematics but I did not find a clear answer.

I am considering Isolating the

1) digital PWMs

2) analog current sense

3) and power current circuits

Which to use galvanic isolation?

Which to share GND ?

any other consideration you could help me with...

Is it engulf to keep good pcb separation for all 3 types of voltages?

Thank you,

David.

P.S. I asked similar question without getting replies from TI's experienced experts.

So I would be very thankful if you could refer this question to them.

  • David,

    All of them are very valid questions, i can recommend based on what i have used

    You can use the below part ISO7220c fro isolating the PWM signals from the MCU to the gate driver. They come in range of speed

    Analog current sense can be isolated in many ways 

    1. Hall effect sensor is the easiest and convenient, you can search for companies like LEM etc. that make them

    2. TI makes SD based current sense products like the AMC1204 and AMC1304 etc that can be used in these applications but then it will be best to use F2837xD which has SD filter decoder built in. If you are not using this device i will suggest the option 1. 

    I did not quite understand what you mean by power currents though?

    Regards

    Manish

  • Manish,

    Thank you for your answer but it's not as related to my question as I would like it to be.

    I am asking about where to use isolators & what type of isolation - I explain :

    This is mt first motor controll design - so I do not know where to expect errors & other problems.

    I assume there are 3 parts to the motor controll design 1) power 2) digital 3) analog.

    So some level of isolation should be used to avoid errors & other problems.

    One option is to use the PCB and simple RF filters as isolation ( this is what I see in the evaluation boards )

    Another option is to use some more robust isolation like the ISO7220C you suggested.

    There are other options for isolation like using analog isolators to measure currents on the motor's coils directly

    ( hall effect current sensore ) and much more...

    My question is to an experienced user of TI's motor control
    "what isolation is recommended as good practice between which of the 3 parts?"

    Thank you.

    David.

  • Hello David,

     

    Please pardon my confusion, but when you use the term "isolation", are you referring to noise isolation or galvanic isolation?  Some of your comments lead me to believe you mean both.

     

    Also, could you please describe your system in greater depth?  The reason I ask is because galvanic isolation is done in many different ways depending on your system design.  Industrial systems tend to put the isolation at one boundary.  Servo designers usually put it somewhere else.  Automotive systems put it at different locations depending on voltage levels.

     

    Once I understand your system requirements better, I am confident we will be able to provide some good design advice on how to optimally and economically provide isolation for your design.

     

    Best Regards,

    Dave

     

  • Hello Dave
    The design is for a general purpuse position servo for 4 BLDC 10A motor s.
    The maximum performance of the motors is 1 turn 360Deg CW and 1 360Deg CCW cycles in 20Hz.
    Do this 1CW & 1CCW turn cycles 20 times a second.

    That is it :-) very simple... ( or not )?

    Thank you.
    David.

  • Hi David,

    Wow, this sounds exciting!  It's very similar to a project I did many years ago where I had to move a piece of gadolinium in and out of the path of an X-Ray beam at a video frame rate of 30 times a second.

    From your description, I assume you are using a low-voltage (under 60V) supply for your system.  If true, this means that you probably won't need galvanic isolation.  Everything can be grounded to the same ground (except the high side transistor gate drive circuits, where are handled for you by most gate-driver chips such as the DRV83xx).  But you WILL need to be mindful of the layout and grounding of your design.  Make sure the power ground connects directly to the negative terminal of your bus capacitor, and then goes directly back to the power suppy negative rail.  Your processor and analog circuitry should also go directly to the negative rail of the bus cap, but THROUGH A DIFFERENT PATH THAN THE POWER CIRCUIT!  In other words, you don't want any power currents flowing through the ground area of your analog and digital circuitry.  Make sure the power stage is decoupled with good high-frequency capacitors DIRECTLY across its power inputs.

    I also think you will face some other interesting design challenges outside of the isolation issue:

    1.  Moving a piece of metal 20 times a second is no small task.  Make sure you calculate the moment of inertia (J) of the combined motor and load.  When multiplied by the required acceleration, can the motor deliver the torque required?  You may want to do a Bode plot analysis on the position loop to see if it is possible.  I have written a series of articles which show how to do this for a velocity loop which may be helpful:  http://e2e.ti.com/group/motor/#pi1414245074=4 .  When we did this in the X-Ray project, we had to resort to a dc motor with an ironless rotor (the rotor was just windings pressed into the form of a hollow cylinder), and then we overdrove the motor like crazy to make it move that fast.

    2.  Torque control will be key.  For that reason, you may want to consider using Field Oriented Control (FOC) instead of trapezoidal commutation.  FOC allows you to have high-speed direct control of the motor's torque.

    3.  What type of servo feedback sensor do you plan to use?  The selection of this sensor plays a critical role in how you measure velocity on the motor.  Encoders are a more economical solution, but you may experience "velocity quantization" at lower speeds, which may require the use of a software velocity observer.

    4.  Have you considered TI's InstaSPIN MOTION software?  This is a proprietary algorithm which allows you to achieve faster response with less overshoot compared to a typical PI(D) controller.

    Please let me know if this answers your questions, and if you have any additional questions.

    Warmest Regards,

    Dave

     

  • Hi Dave
    Thank you for the very nice and long answer.

    I would be very greatful if you could point to possible sources for problems I could encounter & what I could do to avoid them.

    About the InstaSPIN MOTION & Field Oriented Control (FOC) - for now I am concentrating only hardware issues...
    Are there any hardware requirement for using these softwares ( InstaSPIN MOTION & Field Oriented Control (FOC) ) ?

    Thank you very much.
    David.
  • Hi David,

    Unfortunately, my crystal ball is somewhat blurry in its ability to anticipate the problems you may encounter.  Is this your first circuit board?  Then the list of potential problems you could encounter is much longer than that of an experienced hardware designer.  From a motor control perspective, you specifically need to pay attention to your grounding, as I discussed above.  If it is a high voltage motor drive, then there is another list of safety and design issues that you could encounter.

    Regarding InstaSPIN MOTION and InstaSPIN-FOC, you need to first pick an InstaSPIN enabled processor, which is denoted by an "F" or "M" suffix.  Then you need to accommodate the following signals in your layout:

    ADC Inputs:  Phase A voltage, Phase B voltage, Phase C voltage, Phase A current, Phase B current, Phase C current, Bus Voltage

    PWM Outputs:  Phase A top, Phase A bottom, Phase B top, Phase B bottom, Phase C top, Phase C bottom.

    InstaSPIN MotorWare software utilizes a Hardware Abstraction Layer (HAL) which allows you to route these signals to whatever pins you want on the ADC and PWM module, and the specific pin assignments are resolved at compile time.  However, the following pin assignment is recommended since it has been thoroughly tested:

    Phase A current:  ADCINA0

    Phase B current:  ADCINB0

    Phase C current:  ADCINA1

    Phase A voltage:  ADCINB1

    Phase B voltage:  ADCINA2

    Phase C voltage:  ADCINB2

    Bus Voltage:         ADCINA3

    Phase A top:         EPWM1A

    Phase A bottom:   EPWM1B

    Phase B top:         EPWM2A

    Phase B bottom:   EPWM 2B

    Phase C top:         EPWM3A

    Phase C bottom:   EPWM3B

     

    Hope that helps,

    Dave

     

     

     

  • Hi Dave

    My subject is "TMDSCNCD28377D & 4 motor 4 DRV8303 isolation" so

    Should I select other with ""F" or "M" suffix" DSP? - which one ?

    As you write: " the following pin assignment is recommended " - it is only one motor - what about the other 3?

    What do you mean by "Phase A current" measurement? -

    If you mean the shunt current sense of the DRV8303 - then it is not the motor's phase current - it is the inverter's current - as it is in the schematic of the evaluation board of the DRV8303?.

    If you did ask for the actual motor's phase current - it could be nice to see an example of schematic that does this.

    Thank you.

    David.
  • Hi David,

    Yeah, I forgot that you originally said 4 motors.  We have done up to two motors per processor with InstaSPIN-FOC.  I don't have the pin assignment for this case.  I don't recommend using InstaSPIN-FOC to control 4 motors with one processor.

    The F suffix parts are focused on sensorless speed control applications.  The M suffix parts stand for "Motion", and are focused on position control applications.

    When I talk about motor phase current, I am not referring to bus current, but the current flowing in the phase of the motor.  There are multiple ways to obtain this information, including in-line current sensors, or shunt resistors placed in the legs of the inverter.

    Regards,

    Dave

     

  • Thank you for you answer Dave.
    My question on what do you recommand is still not answered.
    My application is position controll on four(4) 10A 36V motors.
    I was thinking of using the Dual core so I could use one core for the first 2 motors and the second core to controll the last 2 motors,

    What do you think - will it work?
  • Hi David,

    It is very difficult to provide a "yes or no" answer to your question since it depends on so many factors.  You have to consider the control topology, required sampling frequency, interrupt handling requirements, peripheral requirements, background tasks, software partitioning, software design methodology, and so on.  In general, if you throw enough bandwidth and peripherals at a problem, it will work, but it may not be the quickest or easiest solution.  So the best I can do is provide you with some general opinions.

    First, I am not a big fan of using a single processor to control multiple motors.  This is somewhat of a religious issue, as others much smarter than I may disagree.  For example, assume you are driving two BLDC motors with trapezoidal control using hall-effect feedback.  Since the hall-effect interrupts between the two motors are asynchronous, you could receive two hall-effect interrupts at the same time.  This creates an interrupt dilemma since both need to be processed immediately.  In general, controlling multiple motors with only one processor requires very careful attention to your software partitioning that is simply not an issue when you dedicate one core to one motor.  Also, from a hardware standpoint, it may result in a layout bottleneck around the processor, which may compromise signal and ground integrity.

    Second, the task you are trying to accomplish is not trivial.  Trying to move a piece of metal and get it into position that quickly is no small task.  I would encourage you to allow time in your project schedule to do a simulation of your system.  These days, that is just good design practice.  There are several tools you can use for this, such as Matlab/Simulink, VisSim, LTSpice, and PSIM.  Without a simulation, you are just guessing at how much bandwidth you need, required sampling frequency, required motor torque, peak motor current that your FETs have to handle, etc.

    I realize this is probably not the answer you were hoping for.  But it is not an easy question.  Once you have some of the system requirements that I have mentioned above, we will be in a much better position to recommend a solution that has a high chance of success.  :-)

    Best Regards,

    Dave

  • Thank you Dave.

    I will update on how things turn out :-)

    David