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.

3d Printer design, Using FOC, or instaspin

Other Parts Discussed in Thread: DRV8305

First off I guess let me introduce myself.  My name is Stacy and I'm building 3d printers which has brought me to this sight.  I am successfully using stepper motors right now and following a few builds of others using closed looped brushed DC motors and in the process of implementing it into my design.  Next step passed that is to move to closed loop motor control with a BLDC.  Using FOC or instaspin.  I've probably watched all of the videos on youtube a couple of times and (think, but not sure) that FOC is just Field oriented control and instaspin is the software but its still kind of unclear to me.  

Ive been looking at the DRV8305 that has three half bridges to control a BLDC(brushless) motor and each half bridge has a current sensor that senses the back EMF(electro magnetic field) and uses this data as an encoder for closed loop motor control.  There are actually quite of few DRV chips that control DC motors and I (think) that this might be the one I need.   What I would like is and maybe someone me be able to point me in the right direction is one that is for closed loop motor control without an encoder, using the three shunts for back emf.  This chip controlling a N channel FETs that can supply Quite a bit of amperage preferably as high as can be had.  Most RC BLDC motors can operate at very high rpm and from what I'm reading these bldc chips can only operate at or below around 8,000 rpm.  Have I read this wrong? So I'll ball park what I need

6 BLDC driver chips on one board

6 Encoder counters(just in case)

36 N channel Fets, would like to hang Fets off the side of the board to be screw to a cooling plate

4 more FETS for heaters (not sure what to choose here)

Processor Some sort of ARM processors

USB

Eithernet network connectivity

Blue Tooth

SD card

12 limit switch inputs

3 thermistor/ thermal coupler probe inputs

reset button

Estop input on an interrupt pin

5 relay output pins

Ive added other axis for CNC machines for the future. What am I missing.  Thanks in advance for the help. 

                Goals

  1. Is to get closed loop motor control working with the 3d printer with a DC motor. The DC motors are big bulky and they wear out. 
  2. Get the closed loop system working on the 3d Printer.
  3. A single axis closed loop motor controller working in the printer with a BLDC(brushless) motor.
  4. All three axis plus extruder.

 

                Advantages

  1. Of the BLDC is power to weight ration, instead of a stepper motor the size of an egg it can be the size of a thimble.
  2. Wiring- 3 wires as opposed to four of a steppe, and these three wires will allow closed loop motor control.  Open loop with a stepper is minimum 4 wires and closed loop adds a minium of 4 wires plus the pain of mount and cost of an encoder.
  3. A lighter smaller BLDC motor would decrease the weight of the axis substantially.  Seeing as the stepper is the majority of the weight.  In a CNC machine Axis weight is not as crucial as a 3d printer because 3d printers are shifting directions during infill operations at extremely high rates.  Cutting down weight on these axis so that they can be going one direction and instantly be going the opposite direction while not shaking or vibrating the entire machine is crucial for a (fast) stable print environment.  With heavier axis loads belts tend to act like a guitar string and vibrate and these vibrations show up in the print.

 

  • Hi Stacy,

    Similar questions were asked HERE

    I hope this answers some of your questions.

  • Yes your right my goals are similar yet there is no solution in that thread. I guess lets start with is the 8305 the best chip for my application. Next What would be the best N Fet. Then what encoder or should I say decoder chip to keep track of the encoder if it needs to be used. I have some ideas for the encoders that I havn't seen touched upon yet in anything that Ive read so I would prefer that these three things be our first concern.
    1.   BLDC chip
    2.   FET that can hold the highest power or largest amp draw
    3.   Fastest counting encoder (decoder chip)

    After that a Processor that is capable of controlling all three at very high speed.

    Can we come up with an answer for these question first and then move on?

  • Hi Stacy,

    What is the desired system voltage?
    What is the desired motor current?
    Do you have a motor (plus encoder) in mind?

    These will help narrow the choices.
  • FOC is very good for varying load torque control. But the angle estimation of FOC is not good at very low speed. This could be an issue for the precision requirements of 3D printers.

    When talking about close-loop control, it could be torque control (I), speed-control (V), or position-control (S). Position-control is so important in 3D printers that you should use external encoders as feed-back, especially when the position error is accumulated inside the FOC estimator regarding to zero/low-speed condition.

    Even if you use external encoders for BLDC, the precision of the encoders is very important. The required position precision is only several micron. You have to use reducer with high gear ratio.

    You might not like it, but stepper motor might be still the best choice for position control in this case.
  • 12v for motor supply
    12v for extruder heaters better if it was 24 they would heat up faster/ or a solid state relay could be used and actually use source 110v ac
    5v for encoders and end stop switches
    Right now I have lpd3806-600bm-g5-24c its a 600ppr quadrature encoder

    As for the desired current I would like to use the highest amperage FETs as possible.

    I plan to have the FETS Hang off the side of the circuit board and bolt to a very large heat sink. In very high current applications the heat sink could be water cooled.
  • The motors are high RPM motors and will be gear reduced. The motors that I have right now are 1350KV and at 12 volts these motors will spin 16,200 rpm. My axis design I'm shooting for 600mms a second. Which if we use the what I have now that gives me 16,200rpm /60sec =270 rotations of the motor a second. The belts turns by a 40 tooth pulley so for one rotation is would move 40mm at this rate I would need 600/40=15 rotations a second to hit my 600mms a second. Although 600 is my goal I don't want the motor at max RPM all the time so lets shoot for 18 rotations a second that will also give us even divisible numbers for the gear reductions motor is turning 270 and needs to turn pulley 18 times or 135 and 9. So I need a 15 to 1 gear reduction RC pinion and. I have found readily available 124 tooth 64 pitch spur gear for the driven shaft that will drive the 40mm GT2 pulleys and I have found 9 tooth pinion that will go on the motor.


    Now the 124 spur is quit big so if I change the first 40tooth GT2 pulley that drives the belt with a 20 tooth I can reduce my spur gear to a smaller gear (in theory half the size of 62 is was found also. So lets even it out a bit now that we are using a 20T main driver that means we nee the pulley to turn twice as much(18)*2 = 36. Which reduces 270/2=135 ---> 135/9=15----36/2=18 --->18/9=2 yep still 15:2 gear reduction so lets just multiply both by 6 and see if we can find gears to match. So a 90 tooth spur and a 12 tooth pinion. Both of these are easily had.

    So now the have a 20T pulley that drives the axis belt coupled to a 90t Spur gear that is driven by a 12T pinion that is attached to a motor shaft that turns 270 Rotations a second and in turn moves my axis at.

    Ok my math went wrong somewhere because ((270*12)/90)*20 comes out to be 720mm a second.
  • This comes out to be 3 (steps) for rotation on a 12t pulley that turns a 90 to reduced to 20 or. Or every 22.6 steps of the BLDC will equate to 20mm or movement by axis this in turn is right under a MM of resolution. Which is awful but with the help of the encoder and holding partially in between fields we can increase our resolution.
  • Travel speed of 600mm/s is pretty fast. What is the target build volume (X*Y*Z)?
  • Build volume Hmm.  19 by 19 inch bed by 15 high so 5415in^3.

  • Ok I would like to make some progress on this. Can someone point me to someone in the IT department of Texas instruments. Or point me to a freelance electrical engineer that is familiar with the chips I've suggested or am talking about.
  • Stacy,

    A far as motor drive is concerned, I recommend starting with this kit and then moving from there.

    http://www.ti.com/tool/BOOSTXL-DRV8305EVM

    It can dock with an MCU motherboard that would be used for the control.

    http://www.ti.com/ww/en/launchpad/launchpads-c2000.html?DCMP=mcu-launchpad&HQS=c2000launchpad

    As mentioned, sensorless BLDC control does not really work at very low speeds.

    If you have specific questions concerning the TI devices we are happy to help. You can post here for DRV related questions or on the C2000 forum (https://e2e.ti.com/support/microcontrollers/c2000/f/ for TMS related questions. As far as freelance, we cannot make any recommendations here.