G2 Due with Gecko 251x

Home Forums TinyG TinyG Support G2 Due with Gecko 251x

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #9754
    MaxFrenzy
    Member

    I was hoping for some clarification on proper pinouts and which pins to use for gecko 251x external drivers on a due flashed with the gshield.bin. I’m using the DUE diagram in the wiki for reference.

    The 251x has a 12 pin screw terminal block w/ pins:
    1-2: Ground and +15-50V
    3-4: Current set (Resister)
    5-8: A+,A-,B+,B- (stepper input)
    9. Dir
    10. Step
    11. Disable – (From the website: This terminal will force the winding currents to zero when shorted to ground (TERMINAL 12).

    Shorting this input to ground (terminals 11 to 12) forces winding currents to zero and stops all output switching activity. The G251 will continue totalizing step and direction inputs if any are sent. The power supply current drops to less than 15mA. The motor will return to its original position when the disable input is released if no step pulses have been sent and the motor has not been moved more than 2 full steps.

    12. Common – Connect this terminal to the controller signal ground

    So in terms of connections to the DUE, we’re concerned w/ pins 9-12. Using the diagram, it would seem I would use:
    Direction (Due pins): 5 (m1dir), 6 (m2dir), 7 (m3dir), 32 (m4dir)

    Step (Due pins) 2 (m1step), 3 (m2step), 4 (m3step), 31 (m4 step)

    Disable – I am a bit confused here. It seems like I want a pin that is active high and then drops to low to disable (though they mention shorting to ground). Would I use the enable pins? m1enab, etc.? I think I remember reading that enable is active LOW, which I believe means that in G2 if the motor is enabled, it’s enab pin is going to be ~0v (which would stop my driver). I’d like to be able to use the power management abilities and turn off my motors after $MT. In terms of $MT, is there a state change on a pin after it times out (e.g. pins changing from low to high or vice versa…and are they the enable pins)? Also, I know in motate, I’ve seen pins be inverted, but I don’t know exactly how to do that or if that is a solution. Finally, I believe people have also used external pull-up resisters? I’ve only used the built in pull-ups via code w/ arduinos, but I’m assuming it’s pretty straight forward.

    Common – Connected to any ground pin on the due?

    Any advice would be appreciated!

    Thanks
    Matt

    #9773
    MaxFrenzy
    Member

    Note: This is a redundant thread posted while the forum was having some issues and not allowing new topics to be posted. I emailed Riley and he has corrected the issue (as of 6/7/16 ~9pm central time). There is another post from yesterday that essentially asks the same questions as this post, with different wording. Mods, feel free to remove one if desired.

    #9774
    cmcgrath5035
    Moderator

    Matt

    Enable – you need to invert the m_enab signals; tinyG assumes TI drivers that are enabled-active-low. You could do that with motate(perhaps, I’m no expert) or with an inverting buffer device.

    Others – is the Gecko 251 compatible with 3.3V logic? you may need to level translate to 5v logic, using non-inverting level translators. You should also research the ‘logic load’ that the Gecko inputs present to the DUE pins – if the inputs are opto-isolators, DUE may not be able to source adequate current without buffers.

    Pullups – Are possible, but only to 3.3V(not 5.0V to create a level translator). For example, a tinyGV9 prototype board uses 2.7K to 3.3V and 0.47uf to ground as a noise filter on each of the XYZ min/max pinss, DUE ports are raw port pins so will need similar conditioning.

    #9780
    MaxFrenzy
    Member

    The gecko 251x has the same specs as the gecko 250x , but the 250x isn’t optically isolated and needs a 30 pin male or female header connection to a breakout board. The 250x’s have been used with shopbot’s sbv300 control card (their ARM based mcu running G2), w/ an interface board that accepts the drivers. It currently is run on their handibot cnc, but have been tested on the desktop and various tester’s diy machines.

    The specs are:
    Signal Voltage – 3.3-5VDC
    Supply Voltage – 15-50VDC
    Motor Current – 0-3.5A
    Power Dissipation – 1-3W
    Motor Inductance – 1-50mH
    Input Frequency – 0-250kHz
    Step Pulse “0” Time – 2uS
    Step Pulse “1” Time – 1uS
    Direction Setup (Before step rising edge)- 200nS
    Direction Setup (Hold after pulse rising edge) – 200nS

    From those specs, I can’t see any reason it wouldn’t work, but the disable driver pin presents an issue if I want to use G2 power management. I think they could just be hooked up to 3.3v and work, but having the motors on all the time is just a waste. Regarding the enable pins on the Due, when $MT expires (motor timeout) are the enable pins pulled high or is this handled in another way? If it is the case, then it sounds like the only issue to deal with is inverting either through motate or through external I can look into motate a bit more to see how I could potentially invert those pins as that would be the best solution. For an external pull-up, can you comment on how that is wired? Ex One end of 2.7k resister to 3.3v due pin, the other to enable….etc.

    Thanks

    #9781
    cmcgrath5035
    Moderator

    I agree (on quick look) , specs look good.
    The Enable pin is actively driven high/low, not just an on chip pullup.

    So yes, when $mt expires Enable will go logic high
    You could use a dip cmos inverter, or a 2n7000 Mosfet and 2.7kResistor to 3.3V (or 5V for that matter)

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.