TinyG g2 issues with responses to CoolTerm

Home Forums TinyG TinyG Support TinyG g2 issues with responses to CoolTerm

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #9787

    Hey guys, thanks for taking the time to read this and for any help you can provide.

    I currently have an Arduino Due setup with the gShield v5, and running the g2 firmware (version 0.98, build 89.03). On my windows 8.1 machine it responds fine, on my windows 10 pc (the one that will be dedicated to CNCing) and on my windows 10 tablet the responses in CoolTerm are never completed correctly.

    Example: on my windows 8.1 machine for when I click connect I get ”
    {“r”:{“fv”:0.98,”fb”:89.03,”hp”:3,”hv”:0,”id”:”0213-0215-d473″,”msg”:”SYSTEM READY”},”f”:[1,0,1]}
    tinyg [mm] ok>

    but on my windows 10 machines it will stop anywhere between “hp” and [1,0,1]}, but it never makes it to the end of the line.

    I have a couple of guesses why this might be:
    1) unsigned driver issue – my window 8.1 is calling it a Teensy, and using the driver from my keyboard build, where the win10s have the driver from the wiki only.
    2) undiagnosed usb connectivity issues (but wouldn’t that cause issues with remaining connected, not unfinished responses?)

    I have a couple of other questions I would like to throw out there because I haven’t found them yet, but I haven’t given up yet.

    A) for the limit switches, since I only have 2 wire switches, should I install after market ones or is there a way to make the built in ones on the LabVolt5600 work?
    B) since I’m using the spindle controller from the LabVolt, how would I control the potentiometer from the Arduino Due, or where can I read about that?

    Once again thanks for your time and any help you guys can provide.

    #9788

    well, it is not apparently that windows10 is choking on the unsigned driver. as using the Teensy driver had no effect.

    #9790
    cmcgrath5035
    Moderator

    USB: Are you running $fb=89.03, or 83.09? Compile yourself?
    You could try $fb=83.09 from here:

    Are you connected to the DUE programming port or the native USB port?
    After initial programming of the DUE, you should connect to the native USB.

    (Limit ?) Switches: Are they simple NC or NO [passive] microswitches?
    What are you using for motor drive, G Shield or ?
    Gshield does not interface to limit switches, you will need to do some port conditioning (pull ups and low pass filter) to use switches connecting to DUE. This post might be of interest:

    Spindle: tinyG2 outputs spindle control as a PWM pulse stream. No knowledge here of what your labvolt might need. Any references?

    #9792

    USB: Are you running $fb=89.03, or 83.09? Compile yourself?
    You could try $fb=83.09 from here:

    http://synthetos.github.io/g2/

    I downloaded (git clone) the current version and compiled it without making any changes, and flashed it from my Ubuntu VM

    Are you connected to the DUE programming port or the native USB port?
    After initial programming of the DUE, you should connect to the native USB.

    I’m usually connecting from the native port. I have tried from the programming port, but that did not improve the situation so I went back to how is supposed to be.

    (Limit ?) Switches: Are they simple NC or NO [passive] microswitches?

    I think they are NC magnetic switches, but that’ll have to be tested. But the writing I usually see is three wire and these are a standard 2 wire switch.

    What are you using for motor drive, G Shield or ?
    Gshield does not interface to limit switches, you will need to do some port conditioning (pull ups and low pass filter) to use switches connecting to DUE.

    I’m using the gshield to drive the stepper motors, I thought pins 8-11 were dedicated to limit switches, which prevent the bed from over extending (unless I’m using the wrong terminology?).

    Spindle: tinyG2 outputs spindle control as a PWM pulse stream. No knowledge here of what your labvolt might need. Any references?

    I’m trying to have the gshield or arduino control the pot that the spindle control uses for speed (as the labvolt’s spindle control takes 110AC and will control the 1hp 90V dc motor)

    Thanks for your time, I’ll reread those links when I get a chance to sit at my pc. Any thoughts on why coolterm isn’t, for lack of a better analogy, finishing it’s sentences?

    #9793
    cmcgrath5035
    Moderator

    I’m using the gshield to drive the stepper motors, I thought pins 8-11 were dedicated to limit switches, which prevent the bed from over extending (unless I’m using the wrong terminology?).

    My bad, I am not a Gscield user, the Schematic does not clearly demark that, but this diagram does

    I’m trying to have the gshield or arduino control the pot that the spindle control uses for speed (as the labvolt’s spindle control takes 110AC and will control the 1hp 90V dc motor)

    Does the controller have a control voltage input? Usually the Pot is just a reference voltage from Gnd to ?? (5V, 10V, ?). Some folks level shift the PWM output and pass thrue a LPF to generate a DC voltage dependent on pulse width.

    Thanks for your time, I’ll reread those links when I get a chance to sit at my pc. Any thoughts on why coolterm isn’t, for lack of a better analogy, finishing it’s sentences?

    I’d suggest you install 83.09 from the Synthetos web above, I know that works.
    You might have a build error or it might be a bad build at the moment.
    Are you cloning Edge or Master? Edge here is frequently edgy

    #9796

    Does the controller have a control voltage input? Usually the Pot is just a reference voltage from Gnd to ?? (5V, 10V, ?). Some folks level shift the PWM output and pass thrue a LPF to generate a DC voltage dependent on pulse width.

    That’s whats weird, the Pot on the cnc has a 24V high, Gnd and Wiper posts. But the old LabVolt setup ignored the 24V high, and ran up to an 8V charge to the Wiper. So I was wondering if there was a way to make the PWM handle that, or if I was going to have to just use a physical pot until I can get the digital pots in, wired up and programmed into the Arduino?

    I’ll reflash the Arduino with the downloaded firmware and see if that fixes it. I still find it very strange that it works on 8.1 with Teensy drivers, but not on 10 with any and all drivers…

    #9797
    cmcgrath5035
    Moderator

    That’s whats weird, the Pot on the cnc has a 24V high, Gnd and Wiper posts. But the old LabVolt setup ignored the 24V high, and ran up to an 8V charge to the Wiper. So I was wondering if there was a way to make the PWM handle that, or if I was going to have to just use a physical pot until I can get the digital pots in, wired up and programmed into the Arduino?

    A wild guess would be that the pot is the ‘lower’ end of a voltage divider which includes a fixed resistor internally to 8V? If true, then a voltage between 0 and 8V on wiper post might constitute a voltage controlled speed input.
    If true, level translate the PWM stream to 8V pulses, then build a LPF to extract a DC voltage proportional to the PWM duty cycle.

    I find your Win10 connection issue somewhat odd as well.
    My Win10 test bed is a Win10VM which I upgraded from a Win7 VM.
    The upgrade ‘just ran OK’. My recollection is fuzzy on how I dealt with the unsigned driver issue.
    Maybe run CoolTerm as administrator?
    Or perhaps run in Win8 compatibility mode?

    #9812

    I ended up re-flashing down to the 78.03 firmware in your link above and that seems to have resolved some of my issues.

    I still get incomplete responses from the windows10 pc, but any commands that I give it complies with (changing the velocity, or position of a motor).

    At this point I am starting to think that there is an issue between windows10, that pc, and CoolTerm, but that’s more speculation.

    A wild guess would be that the pot is the ‘lower’ end of a voltage divider which includes a fixed resistor internally to 8V? If true, then a voltage between 0 and 8V on wiper post might constitute a voltage controlled speed input.
    If true, level translate the PWM stream to 8V pulses, then build a LPF to extract a DC voltage proportional to the PWM duty cycle.

    To be honest, this paragraph goes a little over my head. The pot’s high post is 24V, the low is ground (0V compared to the frame). My understanding is that the spindle controller provides power to the spindle motor in proportion to the voltage (though it could be current, due to the reaction with a 1.5V AA battery) difference between the wiper and the low post.

    I think that it is calibrated so that we have a logarithmic growth pattern on the speed of the spindle in relation to the voltage across the wiper and low post.

    Would it be easier to wire in a digital potentiometer, and add that to the ardiuno due’s programming, or do you still think level translating the pwm signal and building an LPF is better?

    Again thank you so much for your time and help.

    #9813
    cmcgrath5035
    Moderator

    In the distant future G2 will (likely) have some interesting spindle control enhancements –

    I would suggest some data gathering – wiper voltage vs spindle speed, to get a feel.
    My guess is that DAC programming and then amplifier (analog level shifter) would be a non-trivial software effort.
    Level shifting PWM and filtering with an OpAmp LFP would seem the most straight forward.

    Someone posted a nice clean solution, but I can’t seem to find it.

    BTW, my strong guess is that the interface is voltage control, not current control, based on other legacy spindle projects.

    In another thread, a user is having issues with a SurfacePro running Win10; his Win10 desktop seems OK, ?

    #9814

    Thanks for the resources, I’ll keep reading them.

    My guess is that DAC programming and then amplifier (analog level shifter) would be a non-trivial software effort.
    Level shifting PWM and filtering with an OpAmp LFP would seem the most straight forward.

    Someone posted a nice clean solution, but I can’t seem to find it.

    My thought was that a digital potentiometer like

    http://cdn.sparkfun.com/datasheets/Components/General%20IC/22060b.pdf

    could be added to some of the pins not currently used (like 92,95,97) and then have the code to control that appended to the firmware for the tinyg g2? or does that have to be scaled up and down?

    BTW, my strong guess is that the interface is voltage control, not current control, based on other legacy spindle projects.

    I would have thought that too, because current doesn’t make a lot of sense, but why would the spindle jump so fast when I put 1.5V from a AA battery across from low to wiper?

    In another thread, a user is having issues with a SurfacePro running Win10; his Win10 desktop seems OK, ?

    I think that it has something to do with CoolTerm and the version of Windows10. I think that the tablet version, and the older (pre-release) versions aren’t working properly. But I did prove that’s a problem with the computer and/or programming, as it responds completely to my phone using DroidTerm.

    I may have to rebuild that computer but that can wait for as long as necessary.

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.