. .
Page 1 of 2 12 LastLast

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 2 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,729. Received thanks 295 times, giving thanks to others 11 times.
    Following a brief mention by Jazz in a different thread, I had a look at the CS-Labs website where they say that the CSMIO/IP-M now has slave axis functionality. They also say that it does not include full gantry geometry correction (which the CSMIO/IP-S does do, at about 2.5x the price!). I have mailed them to see if there is any more information available, but this looks like an important enough development that it deserves a thread of its own.

    My new machine has reached the point where I am thinking about an external motion control card, as well as alternating on a more-or-less daily basis about whether to go single motor/twin belts or two motors for X. Even if I go single-motor now, I don't want to get a motion controller that stops me going 2-motor at a later date if I feel it necessary. If I were happy with single motor then the IP-M would be my choice, but if it is single-motor only, I might look at alternatives (ESS maybe? Does that do slave axis homing properly now? Pure Logic PLCM-something?). This new development might solve the problem - IP-M can do both, has 24V operation for good noise immunity, decent opto-isolation and other nice features including spindle speed control on the same board. I'm guessing that there are others out there in a similar position, or at least thinking about upgrading to an external motion controller.

    I've had a look at the IP-S manual to try to second-guess what the lack of gantry geometry correction might mean. As I understand it, the IP-S can do a calibration run where it homes both axes, measures the offset between home switches, and builds this into the configuration parameters. The user can then tweak the offset value to fine-tune for squareness, etc. Maybe the IP-M will lack this calibration capability, which means manual adjustment of home switches? Don't know - but would like to! It looks as if the IP-M manual available online hasn't been updated with this new functionality yet.

    I shall post any more information received from CS directly, but would like to hear any other comments or information or especially experience of playing with it in this mode!

  2. The Following User Says Thank You to Neale For This Useful Post:


  3. #2
    Quote Originally Posted by Neale View Post
    I might look at alternatives (ESS maybe? Does that do slave axis homing properly now?
    Yes, this version of the driver, ESS_v10r2d1d.zip , has been working fine for ages now, the previous version used to give me problems. I'm using two motors X and A as slave but I only use one homing switch on the X side, I might fit two at some stage but as yet one works fine.
    Spelling mistakes are not intentional, I only seem to see them some time after I've posted

  4. #3
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 2 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,729. Received thanks 295 times, giving thanks to others 11 times.
    Eddy - how do you cope with the possibility that the steppers lose position when you switch off, so that possibly the gantry goes slightly out of square each time you switch on? Or do you square it manually somehow from time to time? I thought that that was the advantage of two homing switches. Or does practice trump theory, as is often found?

    - Brian

  5. #4
    I think you need two homing switches. I use the Pure Logic PLCM-something from Zapp and it home very well with the two switches but I have to set it up by adjusting one of the switches to get the gantry squaring correct, after that it sorts its self out at every home position. ..Clive

  6. #5
    Quote Originally Posted by Neale View Post
    Following a brief mention by Jazz in a different thread, I had a look at the CS-Labs website where they say that the CSMIO/IP-M now has slave axis functionality. They also say that it does not include full gantry geometry correction (which the CSMIO/IP-S does do, at about 2.5x the price!).
    It would be pretty trivial to program a PIC/Arduino/pick-your-favourite-microcontroller to square the gantry and let you enter offset numbers to save very fine adjustment of limit switches, so I wouldn't pay more than a few £ more for a motion controller with this feature.
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

  7. #6
    Quote Originally Posted by Jonathan View Post
    It would be pretty trivial to program a PIC/Arduino/pick-your-favourite-microcontroller to square the gantry and let you enter offset numbers to save very fine adjustment of limit switches, so I wouldn't pay more than a few £ more for a motion controller with this feature.
    Well how about sharing the code with us mere mortals ..Clive

  8. #7
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 2 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,729. Received thanks 295 times, giving thanks to others 11 times.
    I would agree that programming an Arduino (just because I know that one) would be pretty easy if all I wanted to do was measure offset between a couple of not-quite-accurate home switches. I haven't thought through the details, but I suspect that that is only simplifying what is not a particularly difficult task anyway. Measuring gantry squareness seems like the biggest issue rather than tweaking switch positions and that's common to all setups. However, I'm not sure that I could use those values in any of the usual solutions, so the straight hardware-based "tweak switch until dual-homing leaves the gantry square" solution seems inevitable.

    I currently use LinuxCNC and I've had a look at that from the point of view of dual-motor homing and operation. It seems somewhat incredible that with all its users, there still seems to be no official solution to this particular problem. From what I see and read, it seems to be bound up in the internal representation of a machine which makes a generalised solution very difficult, although I did wonder if a custom job for my particular machine geometry might not be possible. Still, at the time, the latency of my garage/CNC PC was such that an external motion controller looked like a good option for my Mk2 router, despite needing a move to Mach3. Then the motherboard went pop a week or so back, and the cheap replacement is performing much better, so I'm just confused.

    Stay with LinuxCNC? That forces me to single-motor/twin belts, but I probably now have sufficiently low latency figures that I can get reasonable performance. Dual-motor? That means Mach3 (or one of the dedicated hardware/software combinations like PlanetCNC). What I don't want to do is invest in kit that limits later options, at least not unreasonably, and the CS Labs boxes seem to have a decent reputation from the point of view of reliability, etc. Hence the interest in this new IP-M development.

  9. #8
    So Neale what you do normally when you start your machine? Bump the gantry to some gantry hard stops as a dedicated Linux user?

    Its seems incredible, but its the same with Mach3. I am sure half of the motion control plugins are not capable of it or are very obscure. Mostly cause people who write them have mills and dont have a way to try it or think that all people in the world use servos with absolute encoders.

    The way i see it it is a must for steppers.

  10. #9
    Neale's Avatar
    Lives in Plymouth, United Kingdom. Last Activity: 2 Hours Ago Has been a member for 9-10 years. Has a total post count of 1,729. Received thanks 295 times, giving thanks to others 11 times.
    No, my current machine doesn't even have home switches, so I'm not exactly pushing the limits of LinuxCNC!
    I know that LinuxCNC does not support master/slave motors; thinking about it, I've never looked at whether or not Mach3 supports this natively (via parallel port, no motion controller). Is this a capability that comes from a motion controller, not Mach3?

  11. #10
    Quote Originally Posted by Neale View Post
    Measuring gantry squareness seems like the biggest issue rather than tweaking switch positions and that's common to all setups. However, I'm not sure that I could use those values in any of the usual solutions, so the straight hardware-based "tweak switch until dual-homing leaves the gantry square" solution seems inevitable.
    You can measure the squareness of the gantry as follows:
    1. Use the machine to drill 4 holes at the corners of a square (or rectangle), e.g at (x,y)=(0,0);(0,100),(100,100),(100,0).
    2. Measure the diagonals of the square/rectangle accurately.
    3. If the diagonals aren't equal, your machine isn't square, so either draw the actual dimensions in a CAD program to find how far from perpendicular your axes are, or just calculate it.
    4. Offset, and try again... repeat until you deem it square enough.


    I find that drilling 4mm holes in a piece of MDF, then pushing 4mm drills into the holes and measuring the center distance with a digital caliper works well and is repeatable. Since I don't have limit switches (a case of a few years ago 'oh it works, time to use the machine now not carry on with wiring'), I just make marks on each rotating nut which align with a mark on the housing when the gantry is square. Then I check that the marks are aligned when I switch the machine on - I can see if the marks are out by about 1/4 of a step, so it's accurate. The machine stays square when switched off unless accidentally knocked...which is fair enough really. If I crash it then I do the above squaring procedure and I do it every 6 months or so just to make sure.

    Anyway...

    The principle with Arduino's is they provide you with an extensive library of functions that make it very easy to code things as it adds an abstraction layer between the user and setting the microcontroller registers. For that reason I tend to dislike Arduino's because the built in functions limit what you can do to fairly simple stuff, so you end up having to program the microcontroller directly and therefore might as well do that from the start. However in this instance I think it's simple enough for the Arduino language to do what we need. Also, you don't need a programmer (Pickit or whatever) as they program via USB.

    The way I envision is for the Arduino to send the step and direction signals to the two X motors and read the limit switch signals, so it takes control of the machine to make it square, then leave the X axis in the home position. The normal machine controller can then take over. We could add potentiometers to set the feedrate and acceleration for homing, or just leave it in software. One extra input for e-stop I guess...

    So I think it's worth me acquiring an Arduino and trying it, then I'll post the code and wiring diagram here. Not sure how long it'll be until I have chance to do it, but if someone who already has home switches is willing I'll happily help them wire it up and program it over Skype. One of these should suffice. Jazz could also use it for this.
    Last edited by Jonathan; 29-11-2014 at 01:53 PM.
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Similar Threads

  1. ES-D1008 + CSMIO/IP-S wiring
    By Matt81 in forum CS-Lab (CSMIO)
    Replies: 3
    Last Post: 03-05-2014, 10:56 PM
  2. Home Switches & Slave Axis in Mach 3
    By Tenson in forum Artsoft Mach (3 & 4)
    Replies: 14
    Last Post: 03-03-2014, 11:43 PM
  3. CSMIO/IP-M vs Ethernet SmoothStepper (Begone foul parallel port!)
    By Greeny in forum Control Hardware & Systems
    Replies: 20
    Last Post: 14-11-2013, 11:59 PM
  4. NEW MEMBER: Goal - Enable 3-Axis CNC Bed Mill to Perform 5-Axis Milling
    By LoveLearn in forum New Member Introductions
    Replies: 2
    Last Post: 25-01-2012, 08:46 PM
  5. Precision metal processing (3 axis, 5 axis, 7 axis) OEM
    By 7AxisCNC in forum Manufacturer News
    Replies: 0
    Last Post: 17-05-2011, 02:04 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •