TinyG2 with a proper Shield and Due

From the original Synthetos forum (2011–2025)

Started by Latif on in TinyG Support. 15 replies, last activity May 17, 2016.

#

Good day,
I use my platform with arduino due ..
pins assignment is different
Driver Allegro A3977:

Pin 13 Sleep Stepper X and Y
Pin 12 Reset Stepper X and Y
Pin 11 Stepper Y Low Current
Pin 10 Stepper Y Step
Pin 9 Stepper Y you
Pin 8 Stepper Y Enable
Pin 7 Stepper X Low Current
Pin 6 Stepper X Step
Pin 5 Stepper X you
Pin 4 Stepper X Enable

What can I change to TinyG2
I ask for help
Thank you

Staff #

Your question is somewhat unclear.

Are the Allegro A3977s on a unique shield board?
Or are they assembled onto a Gshield pwb?
Or are you working with them on a prototype board?

Does the A3977 interface with 3.3V logic?

#

First many thanks for your reply and your help.

the 3 allegro Drivers are already installed in my developed board.
the A3977 interface with 3.3V logic.

pins are connected so physically:

Pin 13 Sleep Stepper X and Y
Pin 12 Reset Stepper X and Y
Pin 11 Stepper Y Low Current
Pin 10 Stepper Y Step
Pin 9 Stepper Y Dir
Pin 8 Stepper Y Enable
Pin 7 Stepper X Low Current
Pin 6 Stepper X Step
Pin 5 Stepper X Dir
Pin 4 Stepper X Enable

I can move the motors with arduino code.
to wake the driver, i must set the Two Pins (Sleep and Reset) High.

The Problem:
I would like to work with TinyG2 Version 0.98.
under the folder: TinyG2\platform\atmel_sam\board\due are the 3 files:

gShield-pinout.h
motate_pin_assignments.h
shopbotShield-pinout.h

Can you tell me what I need to change in code

Thank you for your Help.

Staff #

Is your developer board pinout same as Gshield?

I'd start by wandering thru

https://github.com/synthetos/Motate

where you will get a general idea of how the Motate layer works.

Then compare your develope pinouts to Gshield, and hack away at a My_development_board.h following the example you see.
then recompile.
Or, perhaps better yet, remap the pin assignments on your developer board to match Gshield.

FYI, I don't know what your development board looks like, but my initial suspicion would be limited thermal conductivity. Your drivers, like the TI drivers used on Gshield, are in special heat slug packages.
Don't drive the proto very hard, and don't expect to do much real 'work' without a good thermal solution.

Is there a particular reason you are using these drivers?

#

Hello...

I just needed more power and Flexibility.
The pins of arduino due are physically lashed to the Pins Of Driver.
I can not change anything.
I can not remap the pin assignments on my developer board to match Gshield.

for example:
Step/dir Pins X-Motor on Gshield are (2 / 5) On my Board are (6 / 5)
Step/dir Pins Y-Motor on Gshield are (3 / 6) On my Board are (10 / 9)

Thanks for your Help

#

Hello ..

My question is Can Ever Change pins assignment at TinyG2?

Thanks

Staff #

See post above.
Yes, can reassign pins on the Due to match your development board.

Motate is the abstraction of hardware.
Read the above references to Motate

Wait a minute, your said developed, not development board.

Motate is still your answer, as long as the tinyG signalling characteristics are compatible between tinyG and Allegro drivers

#

Good evening,

I have the software adapted to my Shield.
if my Shield energized, the motors are enabled.
but if I give a command for example: G0 X10 Y10 then the two motors will be disable.
Have you perhaps a idea? why the motors do not move.

Thank you for your Help.

$sys
[fb] firmware build 89.03
[fbs] firmware build " build"
[fv] firmware version 0.98
[cv] configuration version 7.00
[hp] hardware platform 2.00

angle 1.800 deg
[1tr] m1 travel per revolution 40.0000 mm
[1mi] m1 microsteps 8 [1,2,4,8,16,32]
[1po] m1 polarity 0 [0=normal,1=reverse]
[1pm] m1 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
[1pl] m1 motor power level 0.375 [0.000=minimum, 1.000=maximum]
[2ma] m2 map to axis 1 [0=X,1=Y,2=Z...]
[2sa] m2 step angle 1.800 deg
[2tr] m2 travel per revolution 40.0000 mm
[2mi] m2 microsteps 8 [1,2,4,8,16,32]
[2po] m2 polarity 0 [0=normal,1=reverse]
[2pm] m2 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
[2pl] m2 motor power level 0.375 [0.000=minimum, 1.000=maximum]
[3ma] m3 map to axis 1 [0=X,1=Y,2=Z...]
[3sa] m3 step angle 1.800 deg
[3tr] m3 travel per revolution 40.0000 mm
[3mi] m3 microsteps 8 [1,2,4,8,16,32]
[3po] m3 polarity 1 [0=normal,1=reverse]
[3pm] m3 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
[3pl] m3 motor power level 0.375 [0.000=minimum, 1.000=maximum]

Thanks

Staff #

I might guess you have the enable lead inverted - tinyG2 Enable(inverted) [enable bar] - a zerologic state when enable is on.
What are your drivers looking for?

#

Hello ,

thanks that's right, my enable pin is inverted.
where can I invert it in software?
my Driver is Allegro A3977.

Thank you

#

Hello..

Now the motor trembles but does not move.
should I take care of something even.

Thank you for your Help.

#

Good Morning,
I've noticed when I givea comman to move coolTerm crashes.
is because drivers (TinyGv2.inf)?
because I work with my own shield.

Thank you for your help.

Staff #

My suggestion would be to make the logic inversion with a logic gate or just a small fet and appropriate pullup.

It might be possible to to invert the I/O logic in the firmware, but not necessarily simple.

I can only guess a bit at what you call 'motor tremble' - is it a buzz but no movement?
That could just be the energized motor holding current position.

Have you compared all specs for your drivers to comparable TI specs, for example step pulse width?

#

Hallo..
Thank you cmcgrath5035 it work now thank you...
now i need your Help for Homing and switch.
i have 2 sensors and i wanted to use it as a switches.
-- Sensor X for minX
-- Sensor Y for minY
i don't need MaxX/MaxY

help me please
thank you

This topic is from the original forum (May 2016). Your reply starts a new discussion linked to it.

Reply

Different problem? Ask a new question

Back to TinyG Support or latest activity.