Forum Replies Created
-
AuthorPosts
-
SteveDMember
Hi Steverich,
I don’t think you have a configuration error.If you read through previous posts in this thread you’ll realise I had the exact same problem about a year ago.
If you watch the Chilipeppr videos closely they appear to be zeroing the machine (G53) co-ords to match the workpiece. Presumably they have G54 set to zero offset from G53. This became obvious to me during one of the PCB milling videos.
I tend to mill sheet materials such as acrylic and MDF. Most times I make cuts completely through the material. In this scenario your zero doesn’t need to be exact, I tend to jog down and rotate the spindle by hand (0.1mm at a time) until the bit is just making contact. Making your CAD tool think the material is a little thicker, say 3.2mm for 3mm material, compensates for minor mistakes and guarantees a clean cut through. A piece of heavy paper, 250GSM is about 0.5mm thick, placed under the workpiece is enough to prevent spoil board damage.
If you’re making PCBs then you will need to probe. I found the electrical connection was a little on the unreliable side and managed to damage several of the cheap Chinese carbide bits. I found a better solution was to glue a test pin (aka pogo pin) into a piece of 1/8″ round styrene instead of using the milling bit as a probe.
Regards,
SteveSteveDMemberLooks like your G54 Z position is 40mm lower than G53. I.e. When Z is at G54 0 the machine Z is at G53 -40.
G38.2 uses G53 values. G38.2 Z-20 F25 means probe Z to G53 -20. This is 20mm ABOVE the G54 0.
Try this:
0) remove bit from spindle
1) home machine
2) jog 5mm above work surface (40 mm down from the Z home position)
3) zero G54
4) jog up 30 mm (10mm down from the home position)
5) G38.2 Z-20 F25- This reply was modified 5 years, 7 months ago by SteveD.
SteveDMemberPretty sure G38.2 uses G53, not current MCS.
SteveDMemberHave you read the previous comments in this thread? Reply #10844 in particular.
Regards,
SteveSteveDMemberHi Fixxxer,
using Coolterm as the ‘sender’ works for simple, getting started type jobs. As the jobs become more complicated, involving more lines of gcode, you will eventually encounter problems and then you will need to debug them.Sounds like you’re at the point where you need to start using a gcode sender program. This will allow much greater control over gcode execution. For example you get the ability to single step, pause for tool changes etc.
I suggest you look into something like Chilipeppr. The learning curve can be a little steep but it’s worth the effort.
Regards,
StephenSteveDMemberHi Reeve,
you are correct. It’s an absolute versus relative co-ordinate thing. The TinyG developers have decided to implement G38.2 in G53 absolute terms, ignoring any user offsets (G54-G59) and absolute/incremental modes. This is confusing because other commands like G0/G1 don’t work this way.Working through an example, assume the WCS is G54 and mm (G21). The block “G0 Z-10” can mean one of two things. If you’re working in absolute mode (G90) then this means move the Z axis to position -10 in G54 space (an absolute move). If you’re in incremental mode (G91) then this means move the Z axis down by 10mm from its current position (a relative move).
G38.2 Z-10 F25 always means move the Z axis to position -10 in G53 space.
It doesn’t help that the GCODE from the touch plate widget and CNCJS are mixing useless G91’s into the sequence. Using your previous example:
; Z-Probe
G91
G38.2 Z-10 F50
G90
; Set the active WCS Z0
G10 L20 P1 Z19
; Retract from the touch plate
G91
G0 Z4
G90This can be rewritten as:
; Z-probe
G38.2 Z-10 F50
; Set the active WCS Z0
G10 L2 P1 Z19
; Retract from the touch plate
G91 G0 Z4 G90The first G91/G90 pair have no effect. G38.2 ignores the current absolute/incremental mode setting i.e. it is hardcoded to be G90. The current WCS is ignored and G53 is always used.
Cheers,
SteveSteveDMember> So by homing the machine I’m setting G53 to 0,0,0, right?
Correct> Then by setting g54z=0 I’m essentially making g53 and g54 the same?
YepG28.3 Z0 sets the G53 Z value to zero, i.e. machine zero has been moved down to the jog position.
This means the the following G38.2 Z-10 F25 block will result in a downward movement. Without it the machine will move up.
BTW, these are not dumb questions. It has taken me the best part of 2 weeks, a damaged engraving bit and a damaged touch plate to work this out.
Cheers,
SteveSteveDMemberYeah, the G38.2 command ALWAYS uses absolute G53 co-ordinates. It ignores G54-G59 offsets and G90/91.
When you’re at the top of the Z axis the G53 value is 0 so it goes down, i.e. seeks absolute -10. When you jog below the G53 -10 point, say at -20, it is going to seek up.
To get the Chilipeppr touch plate widget to work right try this:
1) put a thick sponge under the touch plate to prevent bit/plate damage
2) home machine
3) set G54 Z to zero i.e. clear out the offset
4) jog down close to your touch plate
5) G28.3 Z0
6) run the touch plate widget (be ready with the ! just in case)SteveDMemberTry:
1) Home the machine
2) Jog down 20mm
3) G38.2 F-10 F25SteveDMemberI think I may have worked this out.
Try this:
1) Home your machine, do not jog once in home position
2) G38.2 Z-10 F25Which way does it go?
SteveDMemberThanks for that. Guess I’ve just deleted the boot loader. Not to worry, have an Atmel-ICE available and prefer it over avrdude.
Have played some more and had G38.2 going both ways before I remembered that G38.2 always uses machine co-ordinates. Issue #157 contains a PDF link – https://github.com/synthetos/TinyG/files/139431/TinyG.wiki.-.G38_2.Probe.pdf, well worth a read.
For better or worse, my machine home position is top, right, back (max Z, max X, max Y). In general I use G54 offsets to zero out the workpiece (all my gcode to date has used G54). My general process is:
1) G21 G90 G54 – units=mm, absolute, use G54 offsets.
2) G28.2 X0 Y0 Z0 – home machine (machine X, Y and Z all set to 0mm), Chilipeppr defaults to displaying machine values + G54 offsets.
3) Move the cutter (jog) to the workpiece zero and issue G10 L2 P1 X[] Y[] Z[] to zero G54. My Z has always been a little off this way but I’ve compensated by using a 3mm MDF waste board underneath and making the tool path plunge a little deeper.
4) Run the job.For general milling of wood, MDF and acrylic this has worked well.
SteveDMemberWhat I neglected to mention in my previous post was that I was running with the edge firmware, i.e. 449.01. My suggested workaround applies to it only.
Taking the previous comment from cmcgrath on board I decided to revert the firmware to the current master 440.20 and repeat the exercise.
Immediately after programming the chip I noticed something different. My TinyG controller is version 8. It came preloaded with a firmware that reported itself as 440.20 and 0.97. However, every time it went through a hardware reset cycle it would flash one of the red LEDs as it booted (I forget which one). Once reset, the LED would stop flashing and remain on.
The newly programmed device also reports itself as 440.20 and 0.97. When reset the PWM LED turns on and stays on. It does not flash.
Is it possible that there were two versions of the firmware with the same build number but different code?
- This reply was modified 6 years, 9 months ago by SteveD. Reason: clarity
SteveDMemberCorrection – $ztn=0 and $ztm=115.
SteveDMemberTry setting $ztm=0 and $ztm=115.
I was having the same problem and this seemed to be the thing that made G38.2 go the right way.
-
AuthorPosts