How to configure Himing switches in tinyg2?

Home Forums TinyG TinyG Support How to configure Himing switches in tinyg2?

Tagged: , , ,

Viewing 15 posts - 16 through 30 (of 37 total)
  • Author
    Posts
  • #9038
    cmcgrath5035
    Moderator

    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?

    #9053
    Buckman117
    Member

    Yes 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.

    #9058
    cmcgrath5035
    Moderator

    If 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.

    #9064
    Buckman117
    Member

    Well 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?

    #9065
    cmcgrath5035
    Moderator

    Paragraph 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.

    #9066
    cmcgrath5035
    Moderator

    Paragraph 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.

    #9067
    cmcgrath5035
    Moderator

    What microstep setting are you using?
    Same all axis?

    #9068
    Buckman117
    Member

    It 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.

    #9069
    cmcgrath5035
    Moderator

    I 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?

    #9070
    Buckman117
    Member

    nope 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?

    #9071
    cmcgrath5035
    Moderator

    Well 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?

    #9074
    Buckman117
    Member

    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.

    #9077
    cmcgrath5035
    Moderator

    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 at

    With 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 MOSFET

    That 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.

    #9078
    Buckman117
    Member

    About 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.

    #9079
    cmcgrath5035
    Moderator

    I’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.

Viewing 15 posts - 16 through 30 (of 37 total)
  • You must be logged in to reply to this topic.