Forum Replies Created
-
AuthorPosts
-
cmcgrath5035Moderator
Look at it this way, you learned a lot of the dark corners, the experience will help into the future.
Enjoycmcgrath5035ModeratorOh, to your CP 3D viewer question; centering on 0,0,0 is coded in to the widget.
cmcgrath5035ModeratorSo a $defa=1, the full reconfiguration, fixed it?
Interesting.
What OS are you using?
What interface are you using to enter and maintain parameters? ChiliPeppr, CoolTerm, ?Leaning on this stuff goes on forever.
Hang around the forums and see other folks solve issues.
It is somewhat amazing the variety of machines and projects that flow through.
And experiment, experiment, experiment.cmcgrath5035ModeratorAs I read Closed Issue #55, it was deemed an unsupported feature rather than a bug.
If you really feel it is a bug, I’d suggest opening a new issue, referencing Issue #55, and explain why you think it really is a bug.
Don’t expect the Closed issues to be reviewed very often, there are hardly enough hours in a week to keep up with the Open Issues 🙂cmcgrath5035ModeratorVery strange indeed.
At $1tr=60, you are off by x12
At $1tr=6, you are off by x10
So we can’t blame something like a bad micro step provisioning .or other ‘digital’ defect, or the multiplier would be constant.
The obvious suspects are bad motor or perhaps a bad driver device on tinyG.Let’s try this:
First – objective, run Y axis with only one motor
step 1 – Set parameter $3pm=0 (disable the second Y motor)
step 2 – Set $1tr=60 (back to what we think it should be)
step 3 – Try the Y axis 10mm move – still good? it may be a bit jerky with only one motor running
step 4 – Verify that G1 X10 still moves 120mm or so.Second – Objective: connect the Y motor to motor(driver) 1 and the X axis to motor(driver) 2.
step 1 – At tinyG terminal strips, unwire Motor one and motor two, then reconnect them motor two and motor 1
step 2 – execute a G1 X10. The Y axis should move, ideally 10 mm
step 3 – execute a G1 Y10. The X axis should move, ideally 10mm.What do we get now?
- This reply was modified 9 years, 8 months ago by cmcgrath5035.
cmcgrath5035ModeratorBy the way, having reread this thread I realize I added confusion by referring to $xtr, which is not a parameter, rather than $1tr, with motor 1 assigned to x axis. It does appear you realized that as you properly refer to $1tr, etc.
My suggestion: turnoff linit switches and for now don’t fiddle with Gcode,
We need to get the machine running so you can draw a roughly right size 10mm (or 20 mm square from the command line. By roughly right, I mean setting $1tr=$2tr=$3tr=60mm (assuming your original 20 toot pully and GT3). While you are at it, $4tr=2mm. You should then be able to zero your machine in the work space and from the command line (CoolTerm or CP) enterG21 G91 (mm mode, set incremental mode)
G1 X10
G1 Y10
G1 X0
G1 Y0This should traverse a square, 10mm on a side
And by roughly right, I mean 10mm with tolerance.
You will want to go back and perhaps ‘tweak’ your $ntr values so that a command
G1 X100 repeatedly moves as close to 100.0 mm as you can get (and are comfortable with).
Belt backlash and other sources of error might dictate that $1tr-59.5 rather than 60 to get closest to a 100mm move.cmcgrath5035ModeratorThe display in the middle of your CP screenshot is a rendering by the simulator of a Gcode file that auto loads with CP.
If you go to the Gcode widget, that Gcode will be sent to tinyG when you select the “run” [right arrow] icon.Looking at your screenshot, on the left, in the Serial Port Console widget, all the lines of commands that have been sent that have yellow checkmarks – they have not been executed and responded too.
When they execute, they turn green.On the right side, the 77 under tinyG confirms that tinyG is not respoonding to commands.
I believe this is 77 commands waiting response.Are you sure that COM11 is tinyG?
For your second post, simple answer, no, changes to tinyG parameters is immediate IF the change is executed. In coolterm, you have to look for the response message.
The only exception to this is $p1frq, the pwm frequency – that does require a reset.Or try this:
$1tr=10
$1tr (this will read back the value of $1tr, should be 10
$1tr=20
$1tr (do you get a $1tr=20 response)?cmcgrath5035ModeratorYour expected an arc and see (get) a straight line, I assume.
Tell us a a whole lot more about what machine you have and your environment.tinyG FW version – parameter $fb.? build 440.14 is most up to date
How do your interface with tinyG? (Cool Term, ChiliPeppr, Universal Gcode Sender)?
What OS on you controlling PC?tgFX does not modify Gcode before sending, and tinyG does what it is told to do, get an arc, draw an arc.
tgFX is no longer supported and does not work well with up-to-date tinyG FW.A quick way to provide information would be to post your parameter file.
Seecmcgrath5035ModeratorCool calculator, but tinyG does not work like that.
You provide $xtr = 60 mm (=20 teeth * 3 mm pitch) , Travel per Rotation
You provide $sa=1.8 (=200 steps per rotation)
You provide $xmi = 8 microstep setting
And tinyG computes the distance that each step ‘tick’ moves, which would be 60/(200*8) mm, for internal use.So you need to fix your $xtr, $ytr and $ztr
I would stick with the chilipeppr logo Gcode that auto loads for early experiments,.
Don’t run Gcode until you can jog the correct distance reliably.
cmcgrath5035ModeratorYou mean a blocking read?
I’m not exactly sure what you mean by a blocking read.
Over in CP space, we send commands in json mode, wait for the the confirming json status response before proceeding.
cmcgrath5035ModeratorIn first post your wrote:
what I need now is how do I configure my tinyg to understand my machine and its limits , distance. for arguments sake my first attempt to drive just the X drive from one side to the next using chilipepper to jog it chilipepper reports that the x axis travel is 9cm when in fact it is 60cm.
Keep in mind that tinyG has no idea where you gantry actually is, what is does know is how many microsteps it has commanded from the 0,0,0 location. It calculates the movement per microstep from the parameters, $_tr, $_mi and $_sa,.
You report of 60cm (600mm) when tinyG reports 9cm (90mm) does not makes sense.
Don’t mess with limits and homing until you get your parameters correct.
Zero the gantry in the middle of the work area, then work your parameters until commands G1 X10, a G1 Y10 and G1 Z10 move the correct distance in the correct direction.cmcgrath5035ModeratorI don’t understand your $_tr values.
For X and Y you still have 26.67mm. Did you change pulleys?
For Z, you have $ztr=10mm, but you have a 2mm pitch lead screw?
Can you share your calculation method that results in 26.67 and 10?These values will result in velocity and position errors, but by themselves should not cause homing to fail.
What happens when you try to home, that causes you to reset?
Have you tried homing 1 axis at a time? (X, then Y, Then Z)?
You have the homing switches properly designated for Xmin, Ymin and Z min.
Are you sure that the axes move in the proper direction/ For example, id you issue a G91 (relative mode) then a G1 X-5, does the gantry move toward the X0 limit switch?
Polarity is sort of a relative thing.You have set up for NO switches, which are less noise immune than NC switches..
Did you use shielded cable to wire up your switches? The shields should be grounded ONLY at the tinyG end.If you can, post parameters to a cloud file(dropbox, etc) as suggested.
The forum tool removes blanks, making these long files more difficult to visualize.
I usually download you file and use a ‘diff’ tool to highlight differences from a known good file.cmcgrath5035ModeratorI highly suggest you go the extra mile (or two) and code your system to wait for a response rather than simply waiting longer. I have seen responses that take longer than 50ms on occasion, don’t know why.
It is also easier to debug, since you will have a better idea of where the communication actually stalled.cmcgrath5035Moderator-1 is the default for unused axes, essentially shuts them off.
Good luck!
cmcgrath5035ModeratorLets say your second Z axis, I’ll call it ZA axis, has its stepper directly connected to a 2mm pitch lead screw. To move 10mm, you would need 5 revolutions.
So, a G1 A1800 (5×360 degrees=1800) Gcode command would move your ZA axis 10mm. You have to experimentally determine if you want a G1 A1800 or G1 A-1800 to move in the direction you wantI am not aware of any Gcode generator that would generate this for you, you will have to hand code.
-
AuthorPosts