Welcome to Our Community

Some features disabled for guests. Register Today.

CNC xPRO Driver

Discussion in 'Other Builds' started by Spark Concepts, May 25, 2014.

  1. Jake Fry

    Jake Fry New
    Builder

    Joined:
    Dec 3, 2014
    Messages:
    11
    Likes Received:
    18
    Thanks John! After I realized it was using PWM on the SPL pin, I found an option in config.h that let me use the direction pin as enable. That way I don't have to manually change all my gcode to make sure the spindle starts. Appreciate the assist.
     
    John Meikrantz likes this.
  2. Darus

    Darus New
    Builder

    Joined:
    Mar 9, 2015
    Messages:
    22
    Likes Received:
    1
    Is there a way to upgrage from 0.9g to 0.9i and if so how?
     
  3. John Meikrantz

    John Meikrantz Well-Known
    Builder

    Joined:
    Nov 2, 2014
    Messages:
    169
    Likes Received:
    56
    Follow directions here: https://github.com/grbl/grbl/wiki/Compiling-Grbl

    It's super simple to do via the Arduino IDE. Very quick, I was up and running again in minutes on the new version.
     
  4. Bernd

    Bernd New
    Builder

    Joined:
    Mar 3, 2015
    Messages:
    24
    Likes Received:
    1
    I realized, at a test, when I have the Limit switch enabled ($23=1), the motor at the “A” axis (mirror of Y axis) won’t lock / work proper.

    Any idea ?


    For now I have the hard/ soft limit disabled.


    But I really would like to use the homing feature and therefore I need the limit switches I guess.


    Any input / ideas would be welcome.
     
  5. John Meikrantz

    John Meikrantz Well-Known
    Builder

    Joined:
    Nov 2, 2014
    Messages:
    169
    Likes Received:
    56

    The $23 doesn't enable the limit switches, it just tells GRBL which direction to look for the limit switch. Where are your limit switches located on the machine? In my machine, I have $23=3, so X and Y are inverted (i.e. head in a negative direction to look for limit switches - to the front/left of the machine) and Z is still positive, because my Z limit is at the max height of the Z travel.
     
  6. Bernd

    Bernd New
    Builder

    Joined:
    Mar 3, 2015
    Messages:
    24
    Likes Received:
    1
    Aaaaah, this would make sense, I have them on both sides of the "Y" axis and both on the "X" axis, non on the "Z" axis so far. What value would I have to enter at $23= ?
     
  7. John Meikrantz

    John Meikrantz Well-Known
    Builder

    Joined:
    Nov 2, 2014
    Messages:
    169
    Likes Received:
    56
    I don't think you can do homing without limit switches on all 3 axes (X,Y,Z). The hard limits should still work. Soft limits and homing cycle should be disabled.
     
  8. Bernd

    Bernd New
    Builder

    Joined:
    Mar 3, 2015
    Messages:
    24
    Likes Received:
    1
    This of course, makes sense. For now I just would like to be able to fix the problem with the motor not working correct. I have the switches for the Z-axis already, so the second step would be to have the homing cycle enabled.




    aaaah I have just discovered that I have confused $21 and $23 in my previous post. I meant to write $21=1 and I assume there is just the enabling and disabling option (0 or 1)....

    $23 is for the homing feature.
     
  9. Macchp

    Macchp New
    Builder

    Joined:
    Mar 14, 2014
    Messages:
    42
    Likes Received:
    5
    You can have homing on only specific axes.
    It is not by configuring the $ variables, but it can be made through a "compile time" variable on one of the GRBL files. I cannot recall which one just now, but I did it on my OX, may be Config.H.
    I have limit switches on X and Y, and run the homing cycle on those two only.
    Also, I have $23 = 3 for the axes direction of homing I prefer.


    Found it: Config.h file to be modified as follows
    original statements:

    // NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
    #define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.
    #define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.
    // #define HOMING_CYCLE_2 // OPTIONAL: Uncomment and add axes mask to enable


    modified statements (the red piece):
    // NOTE: Defaults are set for a traditional 3-axis CNC machine. Z-axis first to clear, followed by X & Y.
    #define HOMING_CYCLE_0 ((1<<X_AXIS)|(1<<Y_AXIS)) // REQUIRED: Move X and Y at the same time

    //#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.
    // #define HOMING_CYCLE_2 // OPTIONAL: Uncomment and add axes mask to enable

     
    #249 Macchp, Apr 28, 2015
    Last edited: Apr 28, 2015
  10. solarground

    Builder

    Joined:
    May 27, 2015
    Messages:
    61
    Likes Received:
    9
    Hi all! Congrats for your great work!
    I have ordered an ox kit with cnc xpro v2 controller.
    I am total newbie, this is gona be my first ever build, i have no experience with programming and cnc machines.
    Do you believe i made the right choise for the controller? I read here people having some troubles and i am very afraid if i actually could setup the machine to work properly.
    I can cancel the order of cnc xpro controller and chose other controller like tinyg. I made this choise because i have in mind it would be easy, but seeing all the flaws i am thinking to change my order.

    my setup would have 4 nema 23 motors, 24V/360W 0-15A psu, and my pc running on win7.

    Thank you in advance! Keep your good work!
     
  11. Macchp

    Macchp New
    Builder

    Joined:
    Mar 14, 2014
    Messages:
    42
    Likes Received:
    5
    Easy is very easy. I had no experience at all and it worked out very easy.
    One board for everything, was really what I wanted to start with, and I'm still happy with that choice. I'm cutting ply with no problem at all and that was my main objective.
    Nevertheless, I cannot say it is the choice I would do again because I have chattering on X and Y axes at low feed rate. It's not a problem with ply, but will come into play when I'll move to aluminum cut where the feed rate should go down.

    About you order change, the point is that I'm not sure my issue is due to the controller or whatever else. There are so many possible causes.
    Have a look to your Nema 23 specs: considering the max A the xPro is allowing is 2,5A, to be on the safe side your steppers should require a lower current.
     
  12. solarground

    Builder

    Joined:
    May 27, 2015
    Messages:
    61
    Likes Received:
    9
    My steppers say that have 2.8A. Its this a problem? I plan to work with woods mostly.
     
  13. Josh B

    Josh B Well-Known
    Builder

    Joined:
    Nov 4, 2014
    Messages:
    116
    Likes Received:
    42
    I'm running the same setup, I would recommend you go with a higher current output PSU. Although, the Xpro will only do 2.5A regardless of the PSU. I'm also having some low speed chatter which may, or may not, be caused by the max current out of the Xpro controller. What type of spindle will you be running? For instance, I'm using a 400w chinese spindle limited to 12,000 rpm max. The low maximum rpm's limit my ability to run higher feed rates in the wood/ply that I mainly want to cut. Therefore, the low feed rate chatter is an issue for me. In a nut shell, if I were to start over I would definitely consider other controller options.
     
  14. solarground

    Builder

    Joined:
    May 27, 2015
    Messages:
    61
    Likes Received:
    9
    Hi, thank for your response.
    Currently i have a dewalt611 router, but i am thinking if a kress is more suitable. I m not planing to use the controller (at least in the near future) to drive a spindle. When i receive my kit, do you think is better to change the motors for somes with current max 2.5A? Does this solve the problems? And last thing, what controller would you choose if had to go from start?

    Thanks
     
  15. Joe Santarsiero

    Joe Santarsiero OB addict
    Staff Member Moderator Builder

    Joined:
    Oct 30, 2014
    Messages:
    902
    Likes Received:
    196
    I had a TinyG that I sold off to another forum member recently. I really liked that board. I had it running 2.8A steppers with no problem. iirc it can handle a little more current than the xpro. 3A.
    I think heatsinks and a fan would run the common 2.8s no problem.
     
  16. Ronald van Arkel

    Staff Member Builder Resident Builder

    Joined:
    May 7, 2014
    Messages:
    472
    Likes Received:
    245
    When you use a 24vDC PSU the motors will do fine at 1.2A per coil/phase, that's 28.8W! The motor is rated at 2.8A max current and the factory always sets a low voltage such as 3.0v on the motor specs, thus 8.4W power consumption. yes, consumption as there is some loss when converted to mechanical energy, logically.

    So, there is no need for a lower rated NEMA23 motor ;).

    The last five xPRO boards I sold, on of them had a bad driver chip on them, small chance it was some other component but could have been a signal malfunction, but I do believe that these small Arduino based boards are one of the best solution for it's price and a good board to start with.

    Now, I would recoment to get a 4USD 24vDC 80mm fan of eBay or so to get some airflow over the board. All of the machines I installed boards on have at least one fan blowing on the board.

    -Ronald
     
    Mark Carew likes this.
  17. solarground

    Builder

    Joined:
    May 27, 2015
    Messages:
    61
    Likes Received:
    9
    Thank you all for your help and advice! It seems that it will be fine so i stay with my choise for xpro, i hope for no problems and get a nice one board. I will prepair a box to install the controller with fans and i will add small heatsinks. Does all the chips onboard need heatsinks or only the 4 DRVs chips?

    Thank you
     
  18. Ronald van Arkel

    Staff Member Builder Resident Builder

    Joined:
    May 7, 2014
    Messages:
    472
    Likes Received:
    245
    If you place heatsinks than just put them on the DR8825 drivers themselves, but I use those boards without the heatsinks. A 45CFM 24vDC fan is all I use and it blows on top of the board from 30mm/1-1/5" distance straight on the drivers.

    -Ronald
     
  19. solarground

    Builder

    Joined:
    May 27, 2015
    Messages:
    61
    Likes Received:
    9
    Thank you Ronald for mention that! Very helpful, i will try that.
     
  20. The Todd

    The Todd New
    Builder

    Joined:
    Aug 19, 2014
    Messages:
    11
    Likes Received:
    3
    Hi guy's... I'm not sure if this has been covered here or in a different thread, but I would like to setup and Z offset probe for my OX. How would I set this up? Would this just wire in with the Z axis Limit switch?

    Thanks for any help with this :)
     
  21. davidbrowne

    Builder

    Joined:
    Jul 25, 2014
    Messages:
    30
    Likes Received:
    20
    having trouble with my A channel, keeps shutting down, even with the current setting at 40 %, its not the stepper, as I've swapped it over with the y stepper. Anybody else having this trouble?
     
  22. Ronald van Arkel

    Staff Member Builder Resident Builder

    Joined:
    May 7, 2014
    Messages:
    472
    Likes Received:
    245
    Hi David,

    Same here, A "axis/channel" (Y axis clone/mirror). I'm waiting for the 24vDC PSUs to come in to test the boards I still have here (3 of them). I know that one crapped out on me from the beginning, swapping it out with a new one did the trick. I'll let you know next week if I found some solution to this and if it's fixable without replacing components on it (warranty still applies).

    -Ronald
     
  23. The Todd

    The Todd New
    Builder

    Joined:
    Aug 19, 2014
    Messages:
    11
    Likes Received:
    3
    My "A" stopped working about a month ago... I hooked both Y steppers together till see something to try so I can get A working again. I'm running a 24VDC PSU already.. It runs strong without a hitch, knock on wood..
     
  24. stephenW

    stephenW New
    Builder

    Joined:
    Dec 2, 2014
    Messages:
    2
    Likes Received:
    0
    Hi

    New here, so please be kind if I've made some obvious mistakes.

    I've built a Ooznest kit 1000 x 750mm with the X-pro v2 controller (no heat sinks fitted yet) powered by a 24V 15A power supply. I have only ever used UGS after pre-warning from Ryan about bricking happening with GRBL controller. Have not got a router for it yet, but it is together and with the belts off is very smooth motion with no play on any axis. All connected and communicating well with the board via Win 7 PC.

    I've read all the posts on OB that I can find, but have not found a solution

    so..
    I've tested and changed settings with the belts on and off with the same results

    I'm experiencing the familiar coarse stepping on all axis but particularly noisy on the Y.

    I've been through all the settings for GRBL and tried changing from 1/8th to 1/4 and 1/16th steps.
    While doing this, I tried the smallest step I could command and get a response from the motors,on X and Y axis, I found that less than 0.075mm commanded would work for two steps then not the third, and would repeat this pattern. I also noticed that the sound of each first step in this sequence was a solid 'dong' while the intermediate step was softened. I therefore conclude these are the full step and part step movements, but I'm not getting 8 or 16 steps in between these full steps.Should I get more than the one intermediate step?
    Due to the noise and heat levels, I have the Amps turned down as low as the pot will go on the Y & A and at 25% on the X and Z.
    It seems smoother on the Y axis with 1/4 steps, 1/8th on the other axis.
    I'd like to set the Amps to the rated motor amps using the ref volt measure but can't find a point on the board to check it. Is there a test point?
    I have ran a pen in the machine and seem to have good accuracy on sizes but worried about rough motion /noise on the movements.

    Any pointers on what else I can do to improve the movement and resolution would be very welcome.

    current GRBL settings (giving best motion I can get so far)

    $0 10 (step pulse, usec)
    $1 25 (step idle delay, msec)
    $2 0 (step port invert mask:00000000)
    $3 0 (dir port invert mask:00000000)
    $4 0 (step enable invert, bool)
    $5 0 (limit pins invert, bool)
    $6 0 (probe pin invert, bool)
    $10 3 (status report mask:00000011)
    $11 0.050 (junction deviation, mm)
    $12 0.010 (arc tolerance, mm)
    $13 0 (report inches, bool)
    $20 0 (soft limits, bool)
    $21 0 (hard limits, bool)
    $22 0 (homing cycle, bool)
    $23 0 (homing dir invert mask:00000000)
    $24 200.000 (homing feed, mm/min)
    $25 5000.000 (homing seek, mm/min)
    $26 25 (homing debounce, msec)
    $27 10.000 (homing pull-off, mm)
    $100 26.670 (x, step/mm)
    $101 13.333 (y, step/mm)
    $102 100.000 (z, step/mm)
    $110 2500.000 (x max rate, mm/min)
    $111 2500.000 (y max rate, mm/min)
    $112 500.000 (z max rate, mm/min)
    $120 150.000 (x accel, mm/sec^2)
    $121 150.000 (y accel, mm/sec^2)
    $122 50.000 (z accel, mm/sec^2)
    $130 400.000 (x max travel, mm)
    $131 600.000 (y max travel, mm)
    $132 50.000 (z max travel, mm)
     
  25. Josh B

    Josh B Well-Known
    Builder

    Joined:
    Nov 4, 2014
    Messages:
    116
    Likes Received:
    42
    [/QUOTE]current GRBL settings (giving best motion I can get so far)
    $0 10 (step pulse, usec)
    $1 25 (step idle delay, msec)
    $2 0 (step port invert mask:00000000)
    $3 0 (dir port invert mask:00000000)
    $4 0 (step enable invert, bool)
    $5 0 (limit pins invert, bool)
    $6 0 (probe pin invert, bool)
    $10 3 (status report mask:00000011)
    $11 0.050 (junction deviation, mm)
    $12 0.010 (arc tolerance, mm)
    $13 0 (report inches, bool)
    $20 0 (soft limits, bool)
    $21 0 (hard limits, bool)
    $22 0 (homing cycle, bool)
    $23 0 (homing dir invert mask:00000000)
    $24 200.000 (homing feed, mm/min)
    $25 5000.000 (homing seek, mm/min)
    $26 25 (homing debounce, msec)
    $27 10.000 (homing pull-off, mm)
    $100 26.670 (x, step/mm)
    $101 13.333 (y, step/mm)
    $102 100.000 (z, step/mm)
    $110 2500.000 (x max rate, mm/min)
    $111 2500.000 (y max rate, mm/min)
    $112 500.000 (z max rate, mm/min)
    $120 150.000 (x accel, mm/sec^2)
    $121 150.000 (y accel, mm/sec^2)
    $122 50.000 (z accel, mm/sec^2)
    $130 400.000 (x max travel, mm)
    $131 600.000 (y max travel, mm)
    $132 50.000 (z max travel, mm)
    [/QUOTE]

    Welcome aboard Stephen,
    There may be several solutions but this is what I would try. I have my stepper current turned up to around 75%-ish, maybe running closer to the 80% side (hard to tell). Also, add heat sinks and a fan to help with cooling. Also, here are my settings that seem to be working at the moment. Yours will be a bit different but I would say that you need to play around with your settings.
    $0=10
    $1=255
    $2=0
    $3=6
    $4=0
    $5=0
    $6=0
    $10=3
    $11=0.020
    $12=0.002
    $13=0
    $14=1
    $20=0
    $21=0
    $22=0
    $23=0
    $24=50.000
    $25=1200.000
    $26=250
    $27=1.000
    $100=26.673
    $101=26.68
    $102=199.000
    $110=7500.000
    $111=7500.000
    $112=1500.000
    $120=150.000
    $121=150.000
    $122=100.000
    $130=650.000
    $131=1240.000
    $132=52.000
     
  26. The Todd

    The Todd New
    Builder

    Joined:
    Aug 19, 2014
    Messages:
    11
    Likes Received:
    3
    Hi Josh B... Question, your $100 & $101 are different (I know, just a minor amount but) is this by design? Aren't they suppose to be the if motor's, pulleys, and belts are the same? These are my Ox settings i'm currently running with great success.. I have the xPRO V2 running on 24VDC "steps" set to 1/16

    $0=3
    $1=255
    $2=0
    $3=6
    $4=0
    $5=0
    $6=0
    $10=3
    $11=0.02
    $12=0.002
    $13=0
    $14=1
    $20=0
    $21=0
    $22=0
    $23=1
    $24=50.000
    $25=635.000
    $26=250
    $27=100
    $100=55.000
    $101=55.000
    $102=355.000
    $110=7500.000
    $111=7500.000
    $112=2000.000
    $120=150.000
    $121=150.000
    $122=150.000
    $130=750.000
    $131=1500.000
    $132=75.000

    Also, I did get the "Z probe" feature to work on the xPRO, and it works great.
     
  27. Josh B

    Josh B Well-Known
    Builder

    Joined:
    Nov 4, 2014
    Messages:
    116
    Likes Received:
    42
    I started $100 & $101 at 26.67 per which was found using the RepRap calculator found in the OB resources. From there I measured the exact distance moved (using a metric ruler) vs the programmed distance.

    Example: Insert small end mill into spindle, I used a 1/32" bit, and drop Z to within 1 mm of "0". Input G01 Y450 F1000 = 450 mm to the Y positive. Make a mark on your spoiler board exactly where the bit starts, execute the above command, then mark the exact location where the bit ends. Now measure the exact distance between the two marks, if your lucky it will be 450 mm. When I measure my X and Y to start I had an error of +/- 1 mm. You need to fine tune the $100 and $101 numbers to make sure that when the computer says your machine just moved 30.5 mm, it really did move 30.5 mm.
    I would recommend you don't verify these numbers over a short distance such as 10 mm. I think you'll get a finer tune by checking over longer distances. Hope this makes sense.

    Josh
     
    Mark Carew likes this.
  28. The Todd

    The Todd New
    Builder

    Joined:
    Aug 19, 2014
    Messages:
    11
    Likes Received:
    3
    :thumbsup: Absolutely JoshB, makes perfect sense... Now i'm curious about mine o_O
     
  29. Ronald van Arkel

    Staff Member Builder Resident Builder

    Joined:
    May 7, 2014
    Messages:
    472
    Likes Received:
    245
    I´ve been testing the A-axis on the xPRO and it's hard to say what is exactly the cause of failure. The test included 3 xPROs, 1 from the last batch and 2 from the batch before. It seems that it doesn't like long wires to motors, uneven length in wires for the "mirrored/slave" axis and another thing I can think of is saturation of the capacitor that doesn't want to discharge by itself (not enough tools here to test, sorry).

    So here are my tips, use:
    - as short as possible wires to the motors (lower resistance),
    - evenly in length wires (equally resistance, check with Ohm-meter on coils),
    - same diameter cables (the gauge /mm2 that is, larger diameter in general is lower resistance, OFC and aluminum wire are better, anything more luxury isn't needed),
    - same settings on pot-meters (variable resistors) so when adjusting the current (A) you use only one motor connected at a time.

    The xPRO is just a bit picky; I don't have this problem with Polulu DR8825 drivers.

    -Ronald o_O
     
    Mark Carew likes this.
  30. stephenW

    stephenW New
    Builder

    Joined:
    Dec 2, 2014
    Messages:
    2
    Likes Received:
    0
    Thaks for the two replys to my post.
    I have differnt step settings on the CNC Xpro board, so my #100 and #101 are different. calibration is good (movements commanded same as measured). With these settings I can get reasonable smooth motion on the steppers at high speed, but not at low speeds.
    I'd like to know what resolution you guys are getting per step of the motor. I'm not getting anything like I expected and my motors appear not to be making the a portion of fractional steps I am expecting. Therefore I'm only getting 0.1mm best resolution.
    Am I expecting too much? is it correct to expect the stepper motor to be able to move by a single half or quarter step, let alone 8th or 16th?
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice