Forum Replies Created
-
AuthorPosts
-
kiwigrantMember
This is may not be related but during one episode where I got the red flashing LED of Doom I discovered that I was under powering the power supply onto the board.
If I recall the board appeared to be powered when you plug the USB but doesnt have enough juice to allow the board to function properly.
For what its worth…
kiwigrantMemberLooking at the diagram I just posted – HLFB is the High Level Feedback signal coming from the Clearpath motors.
I my intention is to use this signal during a homing routine to sense the gantry hitting the end stops without the need of having to wire in limit switches.
Its been more hassle than what it worth to be frank – but Im weird that way.
I also had an exclusive AND gate chip laying around, and if you send the same signal to the inputs of XAND you end up with a NOT. You can omit those if you can configure your “Enable” function on the steppingstones drivers to true high to true low.
Remember the joy of this hobby is going down the rabbit hole and learning…
kiwigrantMemberHere is a link to the schematic I made
as @CMcgrath5053 mentioned my Servo drivers on cclearpath servos are optically isolated.
kiwigrantMemberYes
I use logic shifters to shit 3.3 volts to 5 vs.
I used the ones from adafruit although there are plenty of alternatives from amazon.
I soldered headers into he TinyG board and created another board which i connected using a ribbon cable. using vero board.
I did begin design a better board in Eagle CAD but haven’t got back to that project for some time.
Let me see if I can print a diagram of how i did it…
I needed to pass, pulse and direction plus enable.. which works great. one element you do want to becareful of is that you match the pulse frequency does not execute the maximum pulse frequency of the stepper driver.
Hope this helps.
Grant
kiwigrantMemberSteverich
As Steve D has explained. When you issue a G38.2 z-20. What you really wpshould be saying is. G38.2 current z height in MCS -20. For it to work consistently.
I am currently modifying the super touch plate widget in chilipeppr to accomplish this and got some test code to function properly tonight. Need a week or two to make it more robust and to test more.
kiwigrantMemberYou know you have have you Z Polarity set to reverse.
[3ma] m3 map to axis 2 [0=X,1=Y,2=Z…]
[3sa] m3 step angle 1.800 deg
[3tr] m3 travel per revolution 8.0000 mm
[3mi] m3 microsteps 8 [1,2,4,8]
[3po] m3 polarity 1 [0=normal,1=reverse]Not sure if this is a requirement of your machines geometry.
sending a -z move should send the tool down during normal operation.
Now I have observed some anomalous behavior with the G38.2 command and the direction of travel.
Reading the Touch plate widget code when you issue a G38.2 z-20 F75 command. The probe should go down if only if you are above MCS or G28.3 z-20 ie > z-20. If you are lower then G28.3 MCS say at MCS -30 when you issue a G38.2 z-20 F75 the probe will go up.
So it seems that the probing direction is set by your relative position to MCS and z-20. I believe this is the correct behaviour in the TinyG.
There are 2 ways to work around this.
1. Zero out MCS to zero as you begin the probing operation/. This isnt a good idea really because itll screw up other operation that are dependent on MCS. but at a pinch this will get your probing operation to work as desired in the right direction.2. Set the G38.2 command with a z value that is appropriate for where you are currently at using the MCS… ie MCS current Z position – z20. This is not how the code is currently set up to do.
3. Set the Z value to a -ve number that you are unlikely to be near. This is also not preferred because this could drive the machine to crash if not equipped with limit switches and if the probe contact fails. This is not how the code is currently set up to do.
Right now I have the Supertouch plate widget code open as Im adding functions to allow us to probe +ve and -Ve on X & Y. Ill see if I can add the preferred behaviour I described in option 2.
kiwigrantMemberIf you wire a probe to zmax, it should not be configured as a Z max limit switch. If you do this you will find that if there is any contact bounce during the probing operation. it will detect the first contact as the probe signal and then the 2nd contact as a z limited causing the tinyG to go into limit mode and will need to be reset.
The G38.2 command does not observe NO/NC action of the zLimit switch sense. It only operates as a NO. I built a transister based inverter circuit that allows me to use a N/C touch probe as well as a NO contact probe if needed.
I havent drawn this up properly yet but could make a drawing available to anyone who would find this useful in a week or so.
While this was a temporary set back Im happy with it functionality.
Grant
- This reply was modified 5 years, 7 months ago by kiwigrant.
kiwigrantMemberI installed..
[fb] firmware build 449.01
[fv] firmware version 0.97It did not change the behavior of the probing routine to recognize $ST for probing and still assume probes are NO…
I was hoping it would detect state change in either direction. but only operates going low-> high ie Normally Open behavior
Time to make a logic inverter… sadly
kiwigrantMember[fv] firmware version 0.97
tinyg [mm] ok>
$fb
[fb] firmware build 440.20
tinyg [mm] ok>Let me do some reading on the edge versions. Now deciding whether or nto to build a logic inverter attempt the new edge version. If I can roll back to 440.20 without issue Im willing to give it a try.
Thanks for the assist.
kiwigrantMemberI have a switched probe that is that is “NC”.
G38.2 seems to ignore $ST
I read in earlier post (2014ish) that during that G38.2 looks for a state change and is therefore not affected by $ST.
This would be ideal as I intend to use both a touch off plate “NO” as well as my sensor probe “NC”
So far my G38.2 command is responding as if it is not looking for a state change rather it is behaving as if it only supports transitions from the NO state.
kiwigrantMemberI had an issue where the step pulse rate was higher then the maximum step and pulse frequency my drivers was able to accept. This resulted in missed step pulses. My suggestion is to check the math in this area to ensure that you are not exceeding the maximum pulse output of the TinyG or the maximum pulse input of the Gecko drives.
Its easy to get carried away in trying to obtain the best step resolution at the expense of over driving your hardwares capabilities.
kiwigrantMemberThe motors should be de-energised to move them by hand.
you can move them by hand in order to zero out the machine.
Once the machine has been zeroed you shouldn’t move it by hand again because the board doesnt see the change in position. i.e. typically after zero you move the machine by jogging.
you can move the machine by hand again if you change the tool and you need to re-zero again.
kiwigrantMemberThank you for the response. Im up and running now.
These learning are part of the fun, and the reason why i started down this road.
-
AuthorPosts