I have been trying to set up my TinyG V8 Using ChiliPeppr.

I have been trying to set up my TinyG V8 Using ChiliPeppr. The TinyG is running a 3040 CNC. I am experiencing random + and - directional moves. I managed to get every work plane homed as well as the Machine work space. I jogged in each axis off zero and a G28.2 X0 Y0 Z0 would home each axis. But I just jogged over on G54 to set Z zero on my work piece. Saved it. Then homed the machine again. The Z axis homing direction flipped and drove into the work piece. I reset everything and cleared the buffer and Q. I tried to jog Z…reversed. G28.2 X0 Y0 Z0 (Always does Z first) Still Z was reversed. Power off and on again. Now it works. This has happened several times over several days. Any thoughts?

The only thing I can think of is the bug I still see in my TinyG v8 where if I change any setting, the first move goes in the wrong direction. After that all is good. It doesn’t sound like you’re changing any settings though, so not sure otherwise.

Gaylord, it is unclear from your description where your Z home switch is located. By convention, tinyG expects to home to the top of Z travel, with $ztm = 0 and $ztn = -30 mm or so (machine dependent. See https://github.com/synthetos/TinyG/wiki/Homing-and-Limits-Description-and-Operation.
Setting G54 zero at the work surface would change the $g54z offset parameter , perhaps triggering the bug? But you did not mention how you “jogged over on G54 to set Z zero on my work piece”.

Retry you procedure above, but after setting the G54 Z zero, go to the console and query the $g54z parameter.

I have my Z at the top of travel. I very systematically set all the coordinate planes to 0,0,0 and the machine coordinates. In F360 I have tried PP using the defaults for the coordinate system and I tried G55 & G57 just to see what happens. I also tried G90 and 91. I PP the file through VCarve as well as Fusion and did all the same verification of coordinates before hitting play. The Chilipeppr simulation always looks good…util I hit play. Then either the tool jumps in X,Y, or Z to locations/distances impossible and the machine tries to go there even though I have hard and soft limits set on my machine. The machine even tries to move opposite to home and the part position. My head is going to explode. Maybe I have a bad TinyG. I have been hot melt gluing my limit switches on sine the machine keeps Knocking them off. I don’t even bother to unplug the glue gun any more. If the soft limits worked I wouldn’t bother.
missing/deleted image from Google+

@jlauer Hey John. I was wondering about what you said “the first move goes in the wrong direction”. What are you doing next where it moves correctly? I have even tried using CoolTerm and typing in my own code. Verified with $$ everything looked good. Yet if I tried to home the machine it would crash. This has become an obsession…OMG…I get up at 5:30 AM and just have to to try again. The next thing I know it’s 9:52 PM. I can’t let it beat me. LMAO. So much for the engraved clock dial for next weeks wedding present. I have got to learn to say no to myself.

Gaylord I reread you first post at the top again but am still confused about what you are doing. I do not home my machine so can only read the guidelines. G28.2 X0 Y0 Z0 homes Z, Then X, then Y in G53.
It sounds like that works.
You then switch to G54, move the Z axis down to your work piece, I assume by jogging? Or do you manually crank the z axis down?
So you move Z down maybe two to three inches (I see from screen shot you are in G20 inch mode).
What do you do when yous say “Saved It”.
Do you send a G28.3 Z0 ? Using G28.3 Z0 also leaves the Z axis in $hom(ed) state.
Or do you sen G10 L2 P1… to set G54 offsets?
Or?

Why, after doing that, do you “Then homed the machine again.” ?
Do you home all axes? Seems that would wipe out the work zero you just established. Why home again?

None of this explains why the second Homing Cycle you start heads down (negative, into your work) when home is positive direction. If you are shearing off limit switches, then they would appear not to be working, or do they get sheared off when disabled?
Maybe copy a complete parameter set ($$ output) to a cloud drive and post a URL? That could answer a lot of questions

I am sorry for being absent and thank you for your patience. I wish there was a more universal way to collect and compare data that was not so user step, process, machine, sequence dependent. Wouldn’t that be great. Let me try to explain my difficulty better.

My steps in preparing to run a part:

  1. Make sure the part file is created consistently. Same plane, origin, measurement system etc.
  2. Use the right post processor.
  3. Make sure the machine knows where it is in relation to the work origin I’m sending it.
  4. Zero out the tool in Z.
  5. Read the beginning of the Post Process file to ensure that relative to the machines belief that “I am Here”, it knows where to go to find the part origin and then the machining cycle can begin.

I have concluded by test after test, using code for parts I really need to make and then drawing the simplest design I could imagine, like tracing a line in X and tracing a line in Y, that I have a bad TinyG board. The machine moves in X, Y and Z do not correlate with the code being sent. Even when I manually write and send the code with cool term. (Can you say reset, reset reset) (Or delete start over, delete start over…) Less than 50% of the time does the machine move in the direction it is told. It was like 10%.

I just kept assuming that it was impossible and I was simply not doing or setting something right. (I’m new to Fusion 360, TinyG and Chilipeppr) But since I have drawn and run thousands of parts on a huge Fanuc Komo machine and hundreds on other machines I’ve been obsessed with figuring it out (OCD).

As soon as I get back from a trip and get a new controller board installed I will update you. Who knows maybe it is me lol.

Gaylord; I doubt it is a tinyG board issue, but a parameter and or data corruption issue is highly possible. Before you start disassembling and throwing new hardware it it, post your parameter set (the $$ dump) for a look see. You will want a copy of them anyway, as I am likely going to suggest a hard reset of your tinyG, which will necessitate a reentry of your set-up parameters.
““Maybe copy a complete parameter set ($$ output) to a cloud drive and post a URL? That could answer a lot of questions””

Thanks Carl. I have not pulled the trigger on a new board yet. I will be traveling for a week. When I get back I will give your suggestions a shot. I will say that I did flash the board with the latest. And did set up the parameters for the machine. ($=) a couple times. $$ verified what I set up. I have the last one I printed. Maybe you’ll see something I’ve missed. Thanks again for your patience.

Gaylord R. Livingston

If you posted your $$ parameters, I don’t see the URL.
Or, perhaps they will appear after you get back from travel.

Yeah, sorry I did something wrong. This should work.

OK, I see them
You have a 3 axis screw machine, I see(looked up top, yes, a 3040).
It is going to take a bit to dig into some of your settings.
On real quick look, $_jd settings seem rather large and jerk values low .
What is the physical range of your Z axis?
You have the min, max set to (-1.312,0). If you First Home Z to top of range, but then try to jog Z down to work surface to re-home, you may be exceeding the Z travel setting, if soft limits are enabled that would limit.
I do see that $sl=0 when you made this dump.

I am not all that familiar with the 3040 machine.
Is there a starting point parameter set you are using, or did you create these from scratch?

Here are a couple settings you should change and try:

$zsn=0 , you don’t have a Zmin limit switch, do you?

*xjd=$yjd=$zjd=0.002 in Based on a suggested $_jd=0.05mm

$4pm=0 You have motor 4 assigned to the (not used) A axis.Disable the motor.

I am suspicious that $_jd =1.00 is causing some serious motion compute errors.

Reference: https://github.com/synthetos/TinyG/blob/master/firmware/tinyg/settings/settings_cnc3040.h

If any 3040 users read this, and have a favorite working 3040 parameter list, please share a $$ dump with Gaylord.

Just an update TinyG/3040CNC/ChiliPeppr. Everything works and I am cutting parts. I have been trying to tweak the jerk and acceleration. My 3040 has threaded rods instead of ball screws. So there is more machine resistance than there should be.

I took the machine apart and washed all the grease off with acetone. Much better but I’m sure not as good as ball screws. I haven’t found anyone claiming to have a retrofit kit.

If anyone has a suggestion or has the same type rods as I do and is willing to send me a $$ Dump I would appreciate it. Otherwise Cheers to all.