![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| Open Source Controller Boards Discussion for Open Source CNC type Controller Boards and other related items. (for personal use only) |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
I've been looking at the Trinamic drivers. They are obviously not the simple step/direction type, but even so, I'm surprised they haven't been talked about more. They are used via an SPI link. However it is quite feasible to have a small micro provide the normal step/dir interface, but also allow for a lot of configurability through other means. The TMC236 and TMC246 are both 1.5A driver, where the 246 has StallGuard (motor stall detection). The TMC239 and TMC249 are both designed to drive external MOSFETs (249 with StallGuard). So higher currents/voltages possible. They have 4-bit DAC which allow 1/16 step. Mixed decay can be switched on and off, and give a small micro, could be programmed to enable this as required on the fly. It uses a fixed frequency chopper to set current levels, which can have an external frequency fed to it. It uses digital blanking, with 4 selectable values. These could be jumper selected, but perhaps the micro could also control this setting to obtain shorter chopper pulses (lower current), but extend the blanking for higher current steps. There is also some warning (over current, over temperature), but also a 3-bit load indicator based on motor back EMF. Would be nice to have 3 LEDs show the load on the stepper (helpful for setting feedrate). Though it looks like this only works in full step mode. Sensorless stall detection using this is possible, given you follow a string of steps to make it reliable. The interesting part is that the DACs can use an external reference. So you can control the maximum current to the stepper. This will definitely help with matching the maximum current to the motor used, but... if the little micro controls this reference (via DAC), you could have the current step down when idle (like 50%). Of course the maximum current and high voltage operating is a key point for CNC machines. The 236/246 are targeted at directly driving small steppers, while the 239,249 are lower current and targeted to drive external FETs. But the gate drive on these are pretty weak. I was think of using the higher current 236/246 as a beefy pre-driver to external FETs. Apart from the complexity in boosting to higher power output stage and potentially higher cost (TMC part + small micro to support step/dir and configurability control) these seem to have some good flexibility/features on paper. I have looked over their controller chips, like the TMC401, but you lose all the configurable flexibility that makes the driver so interesting to start with. Has anyone ever used these chips or have any thoughts? Links http://www.trinamic.com TMC246 Datasheet http://www.trinamic.com/tmc/media/Do..._datasheet.pdf TMC249 Datasheet http://www.trinamic.com/tmc/media/Do..._datasheet.pdf 239/249 - App note for boosting to higher voltage FET The circuit uses IR2101S as pre-drivers (HI & LO driver for each half bridge) to Si4450DY FETs, though they are a little undersized in an SO8 at 24mohm RDSon. Lot of parts to support this. http://www.trinamic.com/tmc/media/Do...schematics.pdf |
|
#2
| |||
| |||
| an interesting device. Not sure teh max rate given that it's using i2c to control the gates. I don't THINK you can use it to drive an external FET and still get all those nice features you want, though. Also, the load seems to noly be 'updated' every full step, so you can use it with microstepping, it looks like, but you only get a new load value every full step. Huh. I like it. The 249 that is. Kinda spendy though at nearly $13 each from newark. i didn't find them at mouser. |
|
#3
| |||
| |||
Hi, I have used these driver ICs to build 100V 10A Drivers. The microprocessor needs to provide an oscillator clocklike output to keep the top FET turned hard on when the motor is not moving, and you need very careful PCB layout and an 8X Op Amp stage to get good current sampling. Trinamic provides a complete and detailed schematic for the FET drive stages. Watch the capacitor voltage ratings some are OK at 16V but others need 100V. I use an Atmel ATmega168 to do the step and direction to SPI conversion Regards JohnDH
|
|
#4
| |||
| |||
| Speaks volumes when someone has actually used them. PCB layout isn't a problem, I do a lot of surface mount board designs. I'II have to look through their apps notes. Did you find the microstepping was accurate... not skipping or doing anything weird? |
|
#5
| |||
| |||
Microstep accuracy mostly depends on the motor. There is a common test to determine if a motor is good for microstepping. drive the motor shaft and look at the A winding on the X axis and the B winding on the Y axis of a scope (no timebase) If you see a circle on the screen, good microsteping accuracy. If it looks more like a square with rounded edges, not so good. A benefit of using microstepping is that it reduces the risk of loosing steps The curent sense part of the Trinamic circuit is good for 3 or 4 Amps but unless you want to use very high wattage sense resistors at 10 Amps or more you need to go to a very low value sense resistor (50 milliohm) and add an op amp (8X) in the feedback path; however this makes the layout of this part of the circuit very critical. Use big safety margins on the FET ratings. For 10 Amps I use 30A FETs. For 80V I use 100V FETs You also need big caps on the FET power line. 1,000UF per Amp is good, and a cluster of low ESR caps in parallel is better than one big cap |
| Sponsored Links |
|
#6
| |||
| |||
| Small point but a 4-bit DAC doesn't get you 16 microstep resolution. At best it is 4 to 5 microsteps. Microstep resolution = 90 / (90 - arcsin (2^(n-1) / 2^n)) For n = 4, (DAC resolution in bits) gives a 4.42 microstep accuracy. You need an 8-bit DAC to get 16 microstep accuracy. Please check my equation; I conjured it up in 5 minutes.:-) Mariss |
|
#7
| |||
| |||
Horsedorf |
|
#8
| |||
| |||
| Bracket trip-up. Let's try this: Resolution = 90 / (90 - arcsin ((2^n) - 1) / 2^n)) Or: Resolution = 90 / (90 - arcsin (1 - 1 / 2^n)) My point is microstepping requires sine / cosine motor currents for evenly spaced microsteps. If these currents are generated from a sin/cos lookup table and a pair of DACs, the resolution of the DAC will set minimum angular resolution of the resulting microsteps. Mariss |
|
#9
| |||
| |||
And yup, They are using a dac with a linear output to feed the comparators. Apparently for current limitting, however, there is a second measuring/control stage after that. Without having looked at it that closely yet, I'm wondering if perhaps they have something that either has greater resolution in that section, or somehow 'unlinearifies' the comparison between current current and what they wish the current to be. Still though, an interesting device!Horsedorf Oop. never mind. Looks like it's just their load measuring thing they do to see how loaded up the motor currently is. Which bring us to the other point.. if 4 bits isn't enough, they are either mislabling the system, or the microsteps are not even, or they are doing "something else" to get around the issue. Last edited by Horsedorf; 11-06-2007 at 01:47 PM. Reason: Found new info |
|
#10
| |||
| |||
| A well-designed step motor has 2 attributes: 1) Motor torque is the vector sum of the phase currents (T = SQRT (Ia^2 + Ib^2)). Only sine and cosine satisfies the requirement that torque be independent of angular location. 2) The motor angular location is the vector angle of the phase currents (Theta = arcsin Ia / (SQRT (Ia^2 + Ib^2)). "Mislabeling" is a little harsh.:-) We'll agree a linear 4-bit DAC uses every every code combination only when a ramp is generated and manifestly a ramp is not a sine function. There is a common technique using multiple silicon diodes to clamp a ramp at carefully chosen levels to synthesize a sine function from a triangle wave. This technique was used in tri-wave (square, triangle and sine) function generator ICs (Intersil 8038?). Perhaps this is what is being used to "delinearize" the DAC output. Alternately, it may be jumping to conclusions to assume the DAC is a linear one (R / 2R ladder network). It is plausible the 4 bits are decoded by a "1 of 16" demultiplexer with the outputs going to sine and cosine weighed resistors to generate the DAC outputs. I haven't looked at the drive and/or ICs so my comments are conjecture only. Mariss |
| Sponsored Links |
|
#11
| |||
| |||
| The basic parts of a microstep system are an up/down counter, a sine look-up-table, and a pair of DACs. Stepping causes the counter to increment, the parallel output of the counter is used to index the look-up-table and the output from the table drives the DACs. The number of DAC bits only determine the accuracy of the sine and cosine values. The counter and look-up-table bits determine the step resolution. Read this Allegro data sheet http://www.allegromicro.com/en/Produ.../3980/3980.pdf for a more detailed description |
|
#12
| |||
| |||
horsedorf |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Trinamic | Anodizer | Open Source Controller Boards | 3 | 11-17-2010 12:58 PM |
| 1/4 NPT External thread program | JerryH | G-Code Programing | 5 | 08-28-2008 07:37 AM |
| External Print Server? | scratch_6057 | Computers and Networking | 0 | 05-25-2007 08:57 AM |
| External E-stop Requested ??? Wtf! | diarmaid | Mach Mill | 54 | 12-10-2006 02:51 PM |
| Source for Allegro 5804B IC's - Qty 10??? | FrankG | Open Source Controller Boards | 4 | 01-30-2005 05:11 AM |