servo control using redbox controller - serial "smart drive"

More
28 Jan 2017 21:02 #86858 by lalbers
Hey everyone,

I'm building a machine in my garage that initially was supposed to be a plasma table, no leaning towards a router but what is important right now is I have the X and Y axes mostly assembled and wired. The Y axis is driven by a pair of ballscrews with NEMA 34 steppers, driven by DQ860MA (fairly cheap) drivers. I've got this axis wired up to an Arduino mega 2560 running GRBL. I just finished attaching a (modified) part of a redbox (dvd rental) machine that has a ballscrew, rail w/ carriage, 24V servo with controller board nicely packaged so that I could just bolt it to my gantry.

I think I am going to be using LinuxCNC/Machinekit (I'm not really clear on the difference at this point) on a beaglebone black to control this thing going forward. I have no experience with linuxCNC but am familiar with microcontrollers and 3d printer controls which is the reason I defaulted to an arduino for control when I started this project.

My question pertains to controlling the servo on the X axis. The controller board uses a PIC-SERVO-SC (www.jrkerr.com/boards.html) - the board seems to be a custom version made for redbox. I have been able to power up the board and connect via RS422 and control it using the test software provided by the maker of the PIC-SERVO-SC.

The controller offers several control modes. My instinct was to use step/direction input mode, mostly because I understand it. I'd wire step and direction from the arduino/beaglebone to the servo controller and essentially be done with it. The servo controller would still utilize the encoder for accurate positioning, transparent to the machine controller. This is probably simplest, as everything would look like a stepper to the machine controller.

I'm wondering if it would be advantageous to utilize one of the other control modes instead - I'm especially interested in controlling it by serial commands. I've got a few of these servos and at least 2 functional control boards. I could connect them via an RS485 bus which would reduce the amount of cabling I need to run from the controller to the gantry.

How tough would it be to control servos this way using linuxCNC/machinekit? I'm very comfortable writing code to control serial equipment, but have no knowledge of the machinekit architecture so I wanted to check here before spending time on it.

I did some googling and it looks like people usually call servo controllers like this "smart drives", and I came across on post that basically just said that linuxCNC should not be used with those. I came across others giving some general guidance on how it would work which made no effort to deter the user from attempting it. Most of what I found on the topic was fairly old as well - so I'm not sure if this has already been done. If the answer is "you shouldn't do this" please explain why if possible.


Thank you in advance

Attachments:

Please Log in or Create an account to join the conversation.

More
29 Jan 2017 03:22 #86876 by Todd Zuercher
It will probably be better to use step/dir rather than a serial connection. I'm not sure that it is even possible to use such a serial connection for realtime work.

other viable options for controlling a servo are an analog +/-10v or a pwm, Both of these require some form of position feedback.

Please Log in or Create an account to join the conversation.

Time to create page: 0.404 seconds
Powered by Kunena Forum