Home › Forums › TinyG › TinyG Support › Set step pulse width for an external driver
- This topic has 8 replies, 5 voices, and was last updated 9 years, 6 months ago by cmcgrath5035.
-
AuthorPosts
-
September 17, 2014 at 6:21 am #6764bonettiMemberSeptember 17, 2014 at 6:53 am #6765cmcgrath5035Moderator
You should upgrade your tinyG to FW build 438.02 (or later, it is 438.02 today).
You will get:
1. Numerous enhancements, bug fixes, etc.
2. Step widths in the 4 to 6 us rangeWhat external driver are you interfacing?
Alden may have some suggestions.September 18, 2014 at 5:08 am #6769bonettiMemberThanks cmcgrath, we are using an upgraded tinyG version, and now get a 4 us step width.
There is a way to make this range bigger? like a 10 us
September 18, 2014 at 6:47 am #6770bonettiMemberHi, I do use LeadShine EM-806.
The driver mentions it needs at least 4,5µs pulses, however due to cable impedances and so on, I prefer a safest value like 8µs to 10µs.Actual status:
I updated the firmware of the board to v. 438.02. Now I get approx. 4µs, but I need a little more, something like 10 µs will be the best and safest.Looking at the source, I notice two things:
In hardware.h
Line 98: #define MILLISECONDS_PER_TICK 1
When I change the value to “2”, I get 5µs pulses.
That’s fine, but I don’t know exactly what this does.September 19, 2014 at 7:22 am #6779aldenMemberThe way I read the data sheet for that driver they require pulses that are 4-5v and a minimum of 2.5 uSec. I would have copied the section of the data sheet there but they copy protected the PDF. http://www.leadshine.com/UploadFile/Down/EM806d_V1.0.pdf
So the pulse width should be acceptable but the voltage may not be – as it’s about 3.0 – 3.2v output. A simple level shifter can be made from a 74LS125 or 74LS126 driven at 5v, with 3.3v inout signals. This outputs 5v drive signals.
The step pulse widths are not settable as the primary use of the board is to drive the TI on-board drivers which only require 1 uSec pulse widths.
If you find that you cannot make this work for your application you can return the board for a refund.
January 28, 2015 at 2:21 pm #7320Eureka-TechMemberHi all,
Will the TinyG v.8 produce step/direction signals for all axes to drive say Gecko G203V stepper drives?
If so, how to connect to the TinyG?Thanks in advance.
January 28, 2015 at 11:55 pm #7323cmcgrath5035ModeratorNot Familiar with Gecko G203Vs.
V8 Schematics are here for referenceFor each of the 4 motors, there is Step, Enable Dir and GND. This is 3.3v Logic. There are not outputs for the other two motors (in 6 axis machines.)
If you need 5 or 6 independent signals, have a look at tinyG2, perhaps on a Due since you want external drivers anywayApril 30, 2015 at 6:08 pm #7685gabriellalevineMemberHI –
I’m trying to use the tinyg to control a motor using an external stepper driver:
http://www.automationtechnologiesinc.com/wp-content/uploads/downloads/2014/02/KL11080.pdfhowever, my stepper driver has the following signal interface: Step +, step -, dir+, dir -, en+, en-
rather than “Step, Enable Dir and GND” . Is there a way I can still use TinyG to control this stepper driver?
from the data sheet”PUL+ and PUL- is the positive and negative side of control pulse
signal; Dir + and Dir – is the positive and negative side of
direction signal; EN + and EN- is the positive and negative side of
enable signal”May 1, 2015 at 8:06 am #7687cmcgrath5035ModeratorI have no personal experience with this Driver and have not seen traffic here, but someone else may join in.
My Read: Bottom of Page 2, top of page 3
The Step, Dir and Enable interfaces are opto-isolators, + anode side, – cathode side.
Interface voltage is 5V minimum (no resistor)
tinyG is 3.3V logic, so you will need a 3.3V to 5V translator.
I use 74AHCT125 devices for this job, but there are others.
The buffered tinyG signals would connect to +(anode side) and Gnd to -(cathode) side.You need to research the required sense of the Enable Lead. tinyG Enable is active low. If this driver wants Active high, you will need to invert the tinyG signal rather than buffer it.
Microstepping – You will need to manualy set the microsteps on the Driver unit to match what you set up in tinyG $_mi parameters.
I believe you can set the tinyG parameter to any value, not just 1,2,4,8 and it will compute pulses per that setting. I would recommend initial test/verification with one of these ‘standard’ settings then experiment from there if you think smaller steps are useful in your application. Also suggest review thisIt is in the G2 wiki, but the comments would apply here as well.
A final thought – your setup seems headed to requiring significant buffering (and wiring) external to tinyG. You might want to consider tinyG2 on a Ardino Due – with a (widely available) development shield on the DUE where you could wire up the required buffers. This may or may not make for a simpler physical implementation.
tinyG2 is not as mature as tinyG at the moment, but is being actively used by many folks and intense refinement effort. See -
AuthorPosts
- You must be logged in to reply to this topic.