Home › Forums › TinyG › TinyG Support › How to configure Himing switches in tinyg2?
- This topic has 36 replies, 2 voices, and was last updated 8 years, 6 months ago by cmcgrath5035.
-
AuthorPosts
-
November 30, 2015 at 11:06 am #9038cmcgrath5035Moderator
BTW, what $fb= ?
If you are off into tinyG2 EDGE space, this may need a different debug tact.
Any build > 83.09 might be suspect.
Have you tweaked any tinyG2 code?And also, I now recall you are using external stepper drivers. Have you researched compatibility between tinyG2 and those.
Specifically, 3.3V logic and step pulse width?
You mentioned early on 6 pins for three motor drivers, presumably step and direction.
How about enable?
If you leave motors constantly enabled, not they get sort of warm?December 1, 2015 at 4:07 am #9053Buckman117MemberYes the motors are torqey they are 3Nm(425oz-in) coupled directly to the 1605 Ballscrews with backlash less disk couplers. This gives 2.2kN(500lbf) at low speed and 440kN(100lbf) at high speed(90IPM). I am not losing steps during cutting and the coupling are tight I already checked the easy things for me, the hardware is unfortunately fine. I use the same bs170 fets to amplify the 3.3v signal to 5V and it seems to work perfectly. Drivers are supposedly rated to 200kHz. I’m running at most at 26khz frequency at Vmax. The motors get warm but the drivers have an enable pin on them I just haven’t hooked them up. I want to cut the shield\breakout board with the mill. CP reads the correct position but the zero(G54) is not where I put it and changes as the program is run ie the head moves smoothly but it follows the spirt of the program rather than the LAW. I think that you have it nailed when you recommend that I stay at 83.06 because I was running if I remember correctly 86.03. Now to figure out how to get the correct source for 83.09 fw. I have done no tweaks to the g2 code…. that I know of. This Atmel studio stuff is way over my head as is. Just getting and understanding the make file was a challenge for me. I’m a Mechanical engineer so the frame and motion is easy for me even the Arduino and basic coding like Matlab and VBA is doable. But outside the settings file I’m no longer in Kansas anymore. Again thank You for your help.
December 1, 2015 at 8:52 am #9058cmcgrath5035ModeratorIf you are running Atmel Studio(AS), you are likely a windows user.
I agree, that interface is uber complex.
I compile directly on Linux, from a cloned GitHub repo.
I have managed to get some useful results from AS, but don’t ask me to repeat what I did.Did you actually compile your 86.03? From what source tree?
Are you sure you are level-shifting, not inverting-and-level-shifting with your FETs
If you are using the standard Gshield profile, you could get $fb=78.03 from
BTW, I am really not sure 86.03 is an issue.
This
Drivers are supposedly rated to 200kHz. I’m running at most at 26khz frequency at Vmax.
confuses me. How are you measuring 26kHz and where?
There are two dynamics going on – step pulse rate and step pulse width.
The 200kHz rate is consistent with tinyG2. What is the minimum input pulse width spec on your drivers?If, as you state, the mechanical position of the spindle is NOT where you believe G54(0,0) is, BUT the CP DRO reads (0,0), then mechanical steps are being skipped; tinyG believes commands have been executed by the drivers but they have not been.
What leads you to say you are not losing steps during cutting?
I am sort of assuming your Gcode has zillions of small moves.- This reply was modified 8 years, 11 months ago by cmcgrath5035.
December 1, 2015 at 12:38 pm #9064Buckman117MemberWell the drivers are DQ542MA by wantai motor. The inputs are optocouplers so I just attached the signal pin to the gate, 5V to the drain, and ground to the source. The optocouplers have a 200ohm resistor in series so that they don’t burn up. So when the pin is low the fet is off(open) and when the pin is 3.3 the fet is on(closed). That should be just level shifting to me.
I wasn’t measuring the step frequency but you right the output frequency is probably hard coded in. The gcode file doesn’t have that many small moves to me. Compared to some 3dprinting gcode files I have run it is practically microscopic. Not saying that it doesn’t have many small moves. Just maybe I’m on the wrong scale. I believe that it isn’t missing steps because it never fails a G0 command that I type in if I tell it to move 1 inch or 20 before I run the program it jumps and does it the same way every time. I set up a dial indicator to verify and it didn’t waver by .001″ which I though was pretty good. Now that is at machine rapids where the motors have the least torque so any thing slower should make it less likely to lose position right?
December 1, 2015 at 3:29 pm #9065cmcgrath5035ModeratorParagraph 1 – understand and agree
Paragraph 2 – Understand and agree with you observations on G0.
Have you run your job “in air” above work?
Same 0,0 offset?
In air removes the cutting load, which in you case should be nil.December 1, 2015 at 3:29 pm #9066cmcgrath5035ModeratorParagraph 1 – understand and agree
Paragraph 2 – Understand and agree with you observations on G0.
Have you run your job “in air” above work?
Same 0,0 offset?
In air removes the cutting load, which in you case should be nil.December 1, 2015 at 3:42 pm #9067cmcgrath5035ModeratorWhat microstep setting are you using?
Same all axis?December 1, 2015 at 4:54 pm #9068Buckman117MemberIt cuts the same profile raised above the part as it does below and yes I’m using atmel studio 6 on windows 7 microsteps are 8 and all axes are the same.
December 1, 2015 at 6:13 pm #9069cmcgrath5035ModeratorI have been staring off and on at the spec sheet for dq542ma. It appears to me that setting SW5-SW8 0111, which I would assume means no microstepping, is 400 step per rev.
Are you motors 400 step per rev($sa=0.9)?
Do you consider setting 1101 to be micro steps=8?I don’t see any spec on min/max input pulsewidth of the step
As an experiment, have you tried cutting drive current by 1/2 to see if it makes a difference?
December 1, 2015 at 7:33 pm #9070Buckman117Membernope 200 full steps per rev. The driver doesn’t allow full stepping. only 1/2 to 1/250. So I am running 1600 steps per rev for a dip setting of 0011. I will try lowering the current before I finish compiling 83.08 master build. But I have a hunch that my problems will go away with the old firmware. I looked through the git repository with the windows Github.exe and it looked like I had some how updated to the the VERY edge of tinyg2. I don’t remember this being the case when I started this a couple a months ago. BTW do you know of a version\change log so that I can tell ahead of time if for instance 83.08 will have the proper features ahead of time?
December 1, 2015 at 7:34 pm #9071cmcgrath5035ModeratorWell the drivers are DQ542MA by wantai motor. The inputs are optocouplers so I just attached the signal pin to the gate, 5V to the drain, and ground to the source. The optocouplers have a 200ohm resistor in series so that they don’t burn up. So when the pin is low the fet is off(open) and when the pin is 3.3 the fet is on(closed). That should be just level shifting to me.
I have not played with fets in a while. With your set up, if source is gnd, gate is the Due output pin and drain is 5V, where does the PUL+ and PUL- get connected to?
December 1, 2015 at 11:10 pm #9074Buckman117MemberPul is pulse or Step pul+ gets directly connected to 5V and the minus is set up in a low side n channel switch using the bs170. 3 step pins and 3 direction pins.
December 2, 2015 at 7:37 am #9077cmcgrath5035Moderator
BTW do you know of a version\change log so that I can tell ahead of time if for instance 83.08 will have the proper features ahead of time?
I don’t believe there is one. You can infer from some of the check-in comments on GitHub, but in general I would say that a Master build is intended to implement tinyG2 as described in the Wiki.
You can also get some info by monitoring the chatter atWith G2, stick with the Master builds unless you are looking for specific leading edge features..
EDGE builds tend to be really edgy sometimes.Pul is pulse or Step pul+ gets directly connected to 5V and the minus is set up in a low side n channel switch using the bs170. 3 step pins and 3 direction pins.Pul is pulse or Step pul+ gets directly connected to 5V and the minus is set up in a low side n channel switch using the bs170. 3 step pins and 3 direction pins.
So your verbal schematic for PUL is:
PUL+ to +5V
PUL- to Drain of BS170 MOSFET
DUE Step Port to Gate of BS170 MOSFET
Gnd to Source of BS170 MOSFETThat is a simple inverting switch, which is what you need.
It is what I thought you were describing but one version did not read that way.Microstepping = OK, understand your 0011 setting.
I wonder how useful(accuracy and torque) their microstepping >64 actually is.December 2, 2015 at 6:01 pm #9078Buckman117MemberAbout the micro stepping I agree. There is a great link about stepper motors and how the driver makes all the difference. The article was written by the guy who owns Gecko drives. I found the link on cnccookbook.com Basically as I understand it micro stepping greater than 10 is only useful under limited applications like moving mirrors to direct lasers where precision is more important than power.
December 3, 2015 at 7:50 am #9079cmcgrath5035ModeratorI’ll lookup the cncccookbook item, thanks. Microstepping is implemented by the driver, incrementally offsetting the rise and fall edges of the A and B drive windings.
A read of a device data sheet, such as for TI 8825, shows the small offset specifications. -
AuthorPosts
- You must be logged in to reply to this topic.