584,814 active members*
5,148 visitors online*
Register for free
Login
IndustryArena Forum > Community Club House > General Off Topic Discussions > what to do with this 3+ axis dental cnc machine
Page 1 of 3 123
Results 1 to 20 of 48
  1. #1
    Join Date
    May 2009
    Posts
    26

    what to do with this 3+ axis dental cnc machine

    Hi all,

    I am new here and to CNC work in general. I recently bought a Cercon Brain Mill, originally used for milling crowns (for teeth). This was a rather impulsive buy, it showed up at a local surplus store and I knew it wouldn't bee there long. The machine, although old, is beautifully made and appears to have been well maintained. One of the problems with these machines is their proprietary closed source system. You had to scan a bar code on the material to get it to run, there is a usb license dongle required to install the software, which even if I had it, is so specific to dental milling, it wouldn't be very useful to me. I have been running manual machines for 10+ years and more recently ventured into 3d printing with a scratch built machine



    Here is a summary of the machine:

    -3 linear axis : maxon driver -> maxon dc motor + encoder -> ball screws
    -non contact laser measurement system

    -a 4th axis that rotates, just 180 degrees and can only be positioned at 0 or 180. however, the addition of an encoder motor and a little mechanical work could make this into a full 4th axis

    -dual spindles run by maxon 50 / 5 brushless dc drivers running maxon brushless dc motors with encoders. The spindle are differently geared for different RPMS, so one was a fast(fine small tool) and a slow (course, larger tool). I do not know the exact model of the motors, but I know the drivers will run up to 125,000 rpm! I doubt the motors & spindle are built for that, but it would not surprise me if these spindle ran in the 30k+ range.

    -the system is run by a honeywell 5c5001.11 industrial computer / universal programmer. This thing is really hanging me up, its where the extremely proprietary software than runs the machine lives, but its also called a universal programmer and sometimes a PROVIT 5000 system. On top of that, its part of the IPC5000 series of products, for which documentation is shared. So any information about this system and what can be done with it, would be very helpful. If the answer is nothing can be done with it, than I would be looking for advise on what to replace it with (arduino, raseberry pi, ect). I also have a older pc laying around that could be dedicated to running this machine via a variety of computer interfaces, taking suggestions!

    Looking for suggestions on what kind of machine to make this into. So far I am thinking a tool grinder (that 4th axis mod would allow me to do things like end mills). A light duty mill, perhaps capable of machining allen & torx heads on small bolts. My most ambitious idea is to add a (probably) vertically lathe spindle and then make a tool post / turret that attaches to the staging. I think this could even done with retaining the grinding / milling capabilities. The challenge to me is how to attach that new spindle, the frame of this machine is rhenocast, an alternative to granite as I understand. I know nothing about this material or how I would go about bolting into it.

    None of this is set in stone yet, very open to all ideas for proceeding with this project.

    I was not sure where on this forum was best to post this, if there is a better place, please advise.

  2. #2
    Join Date
    Apr 2004
    Posts
    5728

    Re: what to do with this 3+ axis dental cnc machine

    Your best bet will probably be to strip it down to the base components, losing the proprietary control system and substituting a computer running something you can figure out how to run, like LinuxCNC, Mach3, or UCCNC. I doubt it would make sense to do major modifications like you're talking about; ending up with a machine that can make really small parts accurately is probably the best you can expect. Figuring out how to get that laser measurement system working again will probably be the biggest difficulty.
    Andrew Werby
    Website

  3. #3
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    I agree. But I am getting a bit confused on what does what here. So lets assume I have a CAM model, first I need to generate toolpaths in gcode using something like fusion360. At this point that gcode needs to be translated from a movement command to actual steps on axis. in my experience with 3d printing, that's refereed to as the "firmware". It keeps track of where the tool is, where the limits are and looks ahead to future commands to plan its movements. Is that the sort of thing linuxCNC, mach 3 & UCCNC do? Are those programs capable of coordinating 4 axis movement? what is this type of software called? are these doing the same thing as GRBL on arduino and is that an option?

    I agree on the laser, its a really cool thing, but I would rather put my time into a full 4th axis or adding a lathe spindle.

  4. #4
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    Is that the sort of thing linuxCNC, mach 3 & UCCNC do?
    Yes. However, Mach 3 is no longer being worked on; and is considered more-or-less obsolete. The replacement is Mach 4; and do note that it more-or-less requires an outboard motion control board (there is a Parallel Port driver; but it's kinda hard to get a PC these days that can reliably generate the pulses needed without interruptions).

    Are those programs capable of coordinating 4 axis movement?
    Yes.

    what is this type of software called?
    A CNC Controller. And, yes, that is a little bit redundant (Computer Numerical Control Controller).

    are these doing the same thing as GRBL on arduino and is that an option?
    Yes, and yes.

    As you are familiar with 3D printer setups; I would humbly suggest that you have a look at this in addition to LinuxCNC, Mach 4 & UCCNC:

    https://github.com/bdurbrow/grbl-Mega/

    That's my fork of Grbl-Mega; and it adds support for running on certain common 3D printer hardware (RAMPS + RepRapDiscount Smart Controller 20x4 LCD + 4x4 matrix keypad is the minimum hardware setup for it). No PC is required (it will read from a SD card the same way as Marlin does); however you can connect one if you wish. Other features include support for a jogging MPG wheel and potentiometers for setting the rapid/feed/spindle overrides.

    I don't consider it a finished product yet; but it is in use by several people; and I'm working on it most days now. You might already have all the hardware needed to give it a try; otherwise you can get it for not much money - and if you decide that it's not for you, all the parts can be re-used for your 3D printers.

    I don't yet have 4th/5th axis support installed yet; but I am intending to add it. Gauthier has a version with multiple axis support; and I'm intending to build upon his work. His repository is here: https://github.com/fra589/grbl-Mega-5X

    The thing that I see that might be a bit of a hangup is the motors & drivers - can you get documentation for them, or are they self-documenting (i.e, have labeled step-and-direction inputs, etc)?

    If you can't get documentation; you will need to replace them, so can you make any needed adapters to go from the existing mountings to standard stepper or servo motors?

    If you can get documentation - do they accept step-and-direction inputs? If not, do they take an analog signal in for velocity (in which case you would need a controller setup that could work with that)?

    Likewise; how are the spindles controlled? Analog voltage? Pulse train? MODBUS? Something else entirely?

  5. #5
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    thanks so much for your response, I appreciate the detail. I spent an embarrassing amount of time reading about the various chipsets and how developed the controller software is (and if its continuing to develop). There are just so many options. I am intimately familiar with mega, though not GRBL. The last project I did with a mega was filament extrude (for making 3d print filament). it required coordinating step pulses for 3 steppers while reading sensors and such. and there is no "marlin" for filament makers, though had I known about GRBL probably could have used it. I ran into problems where I really had to squeeze things in timing-wise, but I am an amateur coder so maybe it was just in effective code. so my concern in starting a cnc controller project is speed, I worry that the 16mhz 8 bit mega just isn't enough...the teensy caught my eye as a possible candidate. I would WAY rather stick with something in the Arduino wheelhouse if it can handle it. I would also prefer less capable open source software to something that I have no idea whats going on, and cannot modify. Also I am decent in C / C++.

    your comment "I don't consider it a finished product yet;" made me chuckle. Nothing is ever really finished for me and I expect that to be no different with this build. So I would like to start with a system that expandable and capable.

    documentation - thats been my starting point too, if I dont know what the drivers want, swapping the brain would be very difficult. Fortunately all of the motors & drivers are well documented. staging motors spindle motors

    the staging motors are DC with encoders (I think calling them servos is right, but that term seems to be differently used in various contexts). I need to get a number from an encoder so I can see what kind of ins & outs it needs. I have only skimmed the pdf's so far, but it appears there are two "set value" inputs and the motor speed and direction are determined by their differential. So yes I would need a controller processing step/dir pulses into the drivers. There is a mystery box that nearly all the logically ins and outs pass through. Looking inside, its largely optocouplers, but there's a fair bit of circuitry I wasn't familiar with, I did see a few digital to analog converters (maybeA->D?) So MAYBE I get lucky and dont have to work that part out. But assuming no luck I need something like repstrap. It was realizing I would need an additional controller(per axis) that brought me back to arduino. The rough idea I have in my head is moduler axis controllers, maybe a nano on each axis signaled from a central Mega. so the nano would process the step/dir signals in conjunction with reading the encoder in order to generate the correct analog input voltage for the drivers. Now if the nano has anything more to give, some of the work normally done on the central controller, could be passed off to the axis controller. I'm thinking the whole positioning system (position tracking, soft & hard limits, ect) could live on the axis controller . this would free up the mega at the center to focus on the big picture stuff.

    now the spindles are a different story. They are sensored BLDC and those drivers are in a bit more standard package:


    so I have the pdf and they are self documenting as you put it. It seems perfectly clear that it can be readily controlled via an analog voltage (5V i think). That picture was before anything was removed, note 11-15 have no connections and those are the input controls! So I have no idea how the spindles WERE controlled, but I can see how I CAN control them.

    i dont want to flood the thread with giant pictures, so here is an album with some more pics if you would like to see what I am working with.

    I fully intend to investigate the links you provided, but my mind has been spinning in CNC wormhole all night, so that will have to wait.

  6. #6
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    OK, I've had a quick look at the PDFs, and the photo album.

    I'm pretty sure that what you have is something like this:

    * 3 each Maxon ADS_E 50/5 Analog Servo Amplifiers (takes a +-10v signal and runs the motors at a RPM that's proportional to that signal).
    * Power supplies for the above.
    * An unknown board in the card-cage next to the Maxon ADS_E 50/5's. There is a sticker on them marked X (b3); Y (b4); and Z (b5).
    * 3 each Maxon DC permanent magnet servomotors; with non-NEMA mounting patterns. However, they are belt-drive to the ballscrews; so replacing them if needed won't be too hard.
    * A proprietary PCB that does the quadrature encoder management (there are three MAC4124 quadrature decoder chips on the board); and possibly generates the +-10v signal to go the Maxon ADS_E 50/5's. It may also do the PID-loop calculation for the servo system; or that may be handled in software on the embedded PC. I couldn't read the markings on the other chips on the board; if you can read the part numbers it may help to figure out what all that board does.

    Most hobby-level or low-end professional CNC Control systems do not directly control servomotors; they output a step-and-direction signal, and some outboard processor turns that into velocity commands for the servo amplifiers (although for many setups that processor and the servo amplifier is in the same physical package). A notable exception is LinuxCNC; it can - with appropriate hardware - accept the encoder signals as input and generate the +-10v analog signal that the Maxon ADS_E 50/5's require. I am not aware of any Arduino-based CNC control systems - even running on ARM processors - that can do this; to drive servos, they all rely on external hardware for the PID function.

    If you are comfortable building your own electronics (PCB layout, soldering QFP chips) you could develop a module that sits in-between the main Grbl-based controller and the existing analog servo drives; and does the quadrature-tracking and PID calculations. If I were to do this; I think I'd either use a FPGA (specifically, an Lattice ICE40, because there's an open-source toolchain available for it) and/or a SAMD21 processor (basically, make a custom version of an Arduino Zero).

    Personally; the one time I tried LinuxCNC, I couldn't get it to work - after installing the required real-time kernel extensions; it wouldn't boot anymore. Consequentially I don't have much experience with it; and none with it working. However, other people have it working just fine; so obviously it's not an insurmountable problem with LinuxCNC in general (it was probably a conflict between the real-time extensions and the BIOS of the motherboards I had available at the time). Instead; I've used Mach 3 with a parallel port on an old Windows 2000 machine (now retired); hacked on my own DOS-based control - which has been abandoned since then because - I've built my own Grbl-based control which I mentioned above.

    There are other control systems that I only know by name - Kflop? And Centroid has several options; but these may be out of the price range that you would be comfortable with for a machine that was picked up surplus and has a really small working volume.

    If you elect to replace the motors and drivers; you will need to fabricate mounting adapters for them, because the existing servomotors don't have standard NEMA 17 or NEMA 23 mountings. This will probably not be too difficult; with some care you can do it with hand-held power tools (drill, Dremel); or alternatively, you could 3D print the adapters (I would suggest using something other than PLA, though - the replacement motors can get hot enough to soften the relatively-low-melting-point PLA - perhaps PETG would be a good choice). Based on the markings on the belts in the photos; it looks like it uses GT2 belts, and these are readily available from the usual sources where you would get 3D printer parts (you may already have some, actually). The pulleys that are on the motors may be re-usable; depending on the shaft size of the old & new motors - and if you have a lathe, you can, of course, modify them to fit.

    Either step-and-direction driven servo motors; or steppers (closed or open-loop) would probably be fine for this application; considering that it's not going to have any medical/dental application anymore.

    so my concern in starting a cnc controller project is speed, I worry that the 16mhz 8 bit mega just isn't enough
    The ATMega2560 is surprisingly capable in this application - the stock version of Grbl is capable of generating a pulse-stream of about 30Khz with a 3-axis setup. Assuming that adding a fourth axis reduces the step rate by a third - I don't know exactly how much the step rate is reduced, I haven't tested the 4/5 axis version yet - that gives 20Khz. If the drive system is set up for a resolution of 0.0001" per step; at maximum speed, you get 2 inches per second; or 120 inches per minute for rapid travels. If you can set it up for 0.0005" per step; you get 10 inches per second, or 600 inches per minute for rapid travels. Note that this is ignoring acceleration and deceleration times. Also, my version is capable of managing streaming G-Code from a SD card and updating the LCD in real-time while the stepper ISR manages the motors.

    The reason I suggested a SAMD21 for a PID processor (instead of, say, an ATMega328pb) is principally because it's got a built-in digital-to-analog converter; so you wouldn't need either an outboard chip, a R2R ladder, or PWM to generate the control signal to the Maxon ADS_E 50/5's. Otherwise, I believe that an 8-bit AVR can keep up with the required step rates.

  7. #7
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    I agree with most of your assessments, few addions:
    -I can clarify the card cage is setup like this: 3 driver boards, 3 output ports (these are cards, but basically just cables bringing the driver IOs to the front panel in a serial connection) and lastly a power distribution card (status lights, connections for interlocks, fuses, ect)

    -the belts are larger than gt2 (my printer uses those), but I dont know how much bigger. If I were to replace them, I have a lathe and mill so that's not a big deal. Really any of the hardware stuff is more in my wheelhouse than the electronics. but I really hate the idea of dumping those servos & drivers, they moved the stages very nicely and they are pricey hardware.

    -could you clarify the challenge of converting step/dir to analog voltage with an arduino? why can't it do it? I havn't worked out the specifics, but in general you have to: read & procces encoder hits (on interrupts), use that to keep track of position of the stage...then when a step/dir signal is sent, determine the appropriate analog signal delivers by a pwm pin. You say later that with the SAMD21 I could do it without the pwm, implying that is advantageous, why?

    -ill need to read up on the FFGA and SAMD21 to understand exactly what your saying there, I will do that and get back to you.

    -as for my comfort with soldering electronics- i am competent, but slow with most of it. QFP chips are not iron work, but rather reflow, correct? I have not done reflow work before, but its hung me up on a few projects(bldc driver most recently), so its a skill I would like to develop. And that's really the whole point of these projects for me, its to learn and develop new skills.

    -i think I am leaning in the direction of GRBL, or something in that vein. This gives me a lot more control over the development of my system and I save some money on licenses that could be put towards better controlling systems. Curious what your opinion of Teensy is?

    Quote Originally Posted by __Britt View Post
    A proprietary PCB that does the quadrature encoder management (there are three MAC4124 quadrature decoder chips on the board); and possibly generates the +-10v signal to go the Maxon ADS_E 50/5's. It may also do the PID-loop calculation for the servo system; or that may be handled in software on the embedded PC. I couldn't read the markings on the other chips on the board; if you can read the part numbers it may help to figure out what all that board does.
    so thats a bit promising, the way I see it there is a decent chance that box is doing exactly that. I will start identifying those chips tonight.

    -i almost forgot, I got a scope since the last arduino project I did...its old and only 15 mhz, but I am excited to have that tool at my disposal...working on pulsing signals without one makes debugging nearly impossible.


    --thanks so much, talking this through has been very helpful.

  8. #8
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    with an arduino? why can't it do it?
    The SAMD21 is an Arduino - it's the Arduino Zero. The reason I suggest it over an ATMega328 based Arduino (like the Uno, Micro, or Nano) is two fold:

    1) The SAMD21 chip is a 32-bit ARM processor running at 48mhz. This gives you quite a bit of headroom for processing fast encoder signals. With servo systems, the encoder pulse train can end up running faster than the position pulse train being output by Grbl.


    2) PWM is a poor digital-to-analog converter. It's used because it's cheap (just add a resistor and capacitor to any digital pin, and bingo - analog voltage) or because you aren't really doing an analog thing, you are turning something on and off really fast (like a MOSFET with a motor directly attached). PWM outputs always have ripple in them; how bad depends on how much smoothing the output filter (resistor and capacitor pair) does. The for any given base PWM frequency, smoother the output, the slower it responds.

    The SAMD21 has a true digital-to-analog output on it; which is supported by the Arduino environment (however, I believe that there are other 3rd party code-snippets/libraries that are more efficient than what the Arduino environment provides - but it's been a while since I looked; perhaps they've upgraded it). This digital-to-analog converter will not have the same ripple issue that a PWM signal does; and it will also respond much faster than a PWM signal will. The result will be servos that run cooler, hold position better, and respond to inputs better.

    QFP chips are not iron work, but rather reflow,
    You might be thinking of QFN - which has no leads coming out of the package, and the connection points are flat on the underside of the package.

    A QFP has leads coming out, and is fairly easy to solder with a good temperature-controlled soldering station and some magnification (I use a stereo microscope, but other people use those inexpensive magnifiers that you wear like a baseball cap). There are lots of YouTube videos showing how to solder a QFP with what's called a "drag soldering" technique. Counterintuitively, a larger tip on the iron actually works better for this - I use what's called a "hoof" tip; which looks kinda like, well, a hoof. Other people use large "chisel" or "screwdriver" style tips.

    Curious what your opinion of Teensy is?
    I understand why it's not fully-open-source, but that same thing is what keeps me from adopting it. With a chip that's directly supported by the Arduino IDE, I can get standard unprogrammed chips (no bootloader on it or anything) and flash the bootloader myself.

    -i almost forgot, I got a scope since the last arduino project I did...its old and only 15 mhz, but I am excited to have that tool at my disposal...working on pulsing signals without one makes debugging nearly impossible.
    Even a cheap hand-held single channel $20 scope from eBay is invaluable for this sort of stuff. Over the years I've managed to accumulate two analog scopes (a somewhat flakey 20Mhz Phillips, and a rather nice ex-millitary 100Mhz Tektronics, both found on eBay), two Rigol digital scopes (a DS1052e and a DS1054z) and one of the aforementioned cheap single channel scopes from eBay. More than once I've been able to find something in the software by looking at outputs or toggling a pin on entry and exit to a function that would have been impossible to spot without a scope.


  9. #9
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    sorry I didn't get the connection between the samd21 and the zero, your previous post makes much more sense to me now. And I really had no idea there were ways other than PWM to create a variable analog signal, im curious how those work, but that's tangential.
    to summarize
    - ticks may very well be more frequent than steps so I actually need more speed at the axis boards than in the central brain. I can probably work out the math on this, need to know rpm and ticks / revolution .
    -you know I have fixed a few contacts on some QFP chips, so I think that is reasonable for me to do, though I need the printed circuit board to start...and then why not just use a stock sand21 dev board?

    -i didn't know teensy was not fully open source. and although I have tried on several occasions to flash boot loaders, I have never been successful. what advantages do you find in your own bootloader? customization, reduced space?

    -my scope is a heath schlumberger s0-4510

    -if you follow that album link from before, I added some close up pictures where you can read the chips, if you need clarification, just ask. I also took the whole thing out of the box to get to the backside/bottom board which has a few markings on it (pics in the album). My german is not up to speed, so I will have to do some translation. If you can offer any insight into what this board accomplishes, that would be great.

  10. #10
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    im curious how those work
    Various systems use various methods; but in this case I think it's a precision R2R ladder.

    https://en.wikipedia.org/wiki/Digita...onverter#Types

    probably work out the math on this, need to know rpm and ticks / revolution
    Having the encoder be higher resolution than what Grbl is expecting can also help reduce or eliminate hunting/singing while it's idle. Also, headroom is needed because the RPM of the motor can get ahead of the Grbl pulse train; and when this is happening, you will have the encoder sending a pulse train frequency that's faster than the 30Khz or so that you can get out of Grbl on an AVR.

    and then why not just use a stock sand21 dev board?
    It's bulky; and you need some analog circuitry to convert the SAMD21's voltage output (if I remember right, the Arduino driver sets it up to be 0 to 3.3v?) to the +-10v differential inputs that the Maxon ADS_E 50/5 require. You could make a PCB that's just an Arduino shield; but I figured while you're making a PCB, why not just drop the SAMD21 processor itself on the board and skip the bulk and expense of the Arduino itself?

    However; if you aren't comfortable doing that PCB layout and soldering; perhaps just making it as an Arduino shield is the better option for you.

    To do the voltage scaling; you could use a LM358, a 10v voltage reference, and a 10-turn 10k trimmer pot. One of the op-amps in the LM358 would provide the virtual ground to the negative terminal of the ADS_E's control voltage input; and the other one would scale the output of the SAMD21 from 0-3.3v to 0-20v. By having the virtual ground at +10v, outputting a voltage that's less than 1/2 the range of the DAC in the SAMD21 will run the motor backwards; and likewise outputting a voltage greater than half the range will run it forwards.

    You might be aware of it, but I'll mention it here anyway - AVR based Arduinos run at 5 volts, but ARM based Arduinos (such as the SAMD21 based Arduino Zero) can only handle 3.3v inputs... so don't forget to put level-shifting resistor voltage-dividers on the inputs to the SAMD21. Generally speaking, 5v AVRs will recognize the 3.3v put out by the SAMD21 without a problem, so a boost chip is generally not needed (however, you might want to put a single resistor in between them - at least during development - so that if you accidentally set what's supposed to be an input on the 5v AVR to be an output, you are much less likely to fry the SAMD21).

    -my scope is a heath schlumberger s0-4510
    Oohh... an old Heathkit! Even if it's not as capable as a brand-new multichannel digital scope with all the whiz-bang features... it's definitely got cool factor going for it!

    -if you follow that album link from before, I added some close up pictures where you can read the chips, if you need clarification, just ask.
    Dunno what's wrong, but... I just reloaded that page; and I'm not seeing anything new?

  11. #11
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    uploaded, but forgot to add to the album, my bad, try again.

  12. #12
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    You could make a PCB that's just an Arduino shield
    that is what I have done in the past, but I have long wanted to reduce the arduino to cpu...so I am open to it. I am not comfortable with any of it really, but one must do things uncomfortably for a while to develop that comfort. My hesitation is in the boards themselves, ive always use proto board, but thats not gonna work ...would need to design boards and have them made, right? Isn't that pricey for just a few boards? Sounds like another thing I really need to add to my skill set, just not real sure where to start.

    I was wonder how I was going to make that -10v, your virtural ground in the middle of +20V answers that.

    I am gonna go spend some time breaking down the machine, I am really curious to find out about those encoders.

  13. #13
    Join Date
    Jun 2012
    Posts
    182

    Re: what to do with this 3+ axis dental cnc machine

    Boards are cheap. $20 will get you 10 boards shipped. Kicad is excellent free software for designing pcbs.

  14. #14
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    well that's news to me, I had no idea you could get custom printed boards for just a few bucks, hell I pay $1.75 for a little proto board. And with a custom board I can rid of the jumpers winding around my boards. Is there a specific company you recommend to have the printing done, oshPark seems to be a crowd favorite?

  15. #15
    Join Date
    Jun 2012
    Posts
    182

    Re: what to do with this 3+ axis dental cnc machine

    Oshpark in the US. Seeed studio and Itead in China.

  16. #16
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    I always check pcbshopper.com; it lists the current prices + shipping from a bunch of PCB manufacturers. Of late, JLC has been the best deal for me here in California; but at your location it may vary (shipping tends to dominate the total price; the PCBs themselves are only a few dollars).

  17. #17
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    OK, looks like there's three system-bus to triple-parallel-port chips; three 12-bit DAC chips (with a parallel bus interface); three RS422 receivers (probably used as the interface to the encoders) and some various bus buffers & logic.

    I don't see anything that looks like it can perform the PID calculation to generate the value for the signal that drives the Maxon ADS_E 50/5's. So, I think that's done in software on the embedded PC.

    At this point, I am thinking that that board is responsible for these functions:
    * Receiving the differential signal from the encoders.
    * Decoding and keeping count of the encoder's position.
    * Reporting that position to the PC.
    * Receiving the value to drive the Maxon ADS_E 50/5's with from the PC.
    * Converting that value to a differential analog +-10v signal.
    * There may be some scaling of the analog signal done by other components of the board (I can't quite tell, but I suspect that 8-pin package next to the blue trimmer pots may be an op-amp); or it may be done elsewhere.

    There seems to be some other chips on the board that may be IO processing for things like limit/homing switches (optoisolators?)... but I can't read the package, so I'm not sure. However, it would tend to make sense.

  18. #18
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    where do you all recommend ordering components from? digikey? mouser?

    The white chips are TLP621's-optical isolators. Endschalter means limit switch / endstop, haubenschalter is cover switch. So i would say its purpose is largely optical isolation, but also some signal scaling.

    I have to decide if this box has any place in my new setup. For that I need to know how hard is the signal processing (hardware & software) for the encoders going to be? My encoders in the past have been fairly low resolution optical gates and dealing with rough/bouncy signals was a real challenge. and I believe these are duplex encoder, which as I understand, is two sensors slightly out of phase...that seems even more complicated. If its not too bad, I just assume build whatever features the box has, into the new boards.

    don't see anything that looks like it can perform the PID calculation
    Converting that value to a differential analog +-10v signal.
    I must be missing something, are these not the same task?


    I have been reading over the samd21 documentation today. gotta say, I am really liking what it offers. The highlights for me are: 19 interrupts! 32bit / 48mhz, and the built in usb. The need for the FDTI chips for arduino's serial connections was a road block in way of running just the atmel chips. Found a project that I really liked, HCC mod. Seems similar to what I would been setting up on these sub drivers.

    So I am going to officially decide to pursue a arduino / grbl type control system. So I will need 1 of these sub boards per axis. We talked about a mega at the center, any reason not to use the SAMD21 there too (maybe GRBL config issues)?

    sidebar: I have a concurrent project for a bldc driver to drive this beefy motor, that may eventually be part of this project...anyways would the SAMD21 make for a decent blcd driver, or am I better off with one of the chips specifically made for blcd control? I have seen a few commercial drivers based around the SAMC21, that's what got me thinking.

    So I am gonna start familiarizing myself with kiCAD and get started on one of the sub boards. Need to figure out all the comps that need to be included. I can start reading on that, but if that is something you can just rattle off the top of your head, it would save me hours of work.

    If you can't tell, I am really quite excited by the prospect of making my own PCB's. Thank you for that.

  19. #19
    Join Date
    Aug 2009
    Posts
    230

    Re: what to do with this 3+ axis dental cnc machine

    where do you all recommend ordering components from? digikey? mouser?
    Usually, I'll check on octopart.com to see who's got the best deal; and then try to factor in shipping cost. Sometimes it's not worth the savings to make orders from multiple sources if that incurs multiple shipping costs. For things that are hard to mess up (passives, switches, etc) I'll also look on eBay if I'm not in a hurry.

    I have to decide if this box has any place in my new setup. For that I need to know how hard is the signal processing (hardware & software) for the encoders going to be?
    It's going to be easier to build it in software on the SAMD21 than interface to the existing hardware. Based on the chips involved, that board looks like it uses a parallel bus interface - probably 8-bit ISA or something very much like it, given the fact that there's an embedded PC involved - and you would have to reverse engineer that. Then you would have to write drivers for the chips involved.

    Managing the quadrature signals won't be very difficult... I've already got code that I can point you to that does it. In my Grbl version; in UISupport.cpp starting at line 468; there's code that handles the MPG handwheel; which is a quadrature encoder, and I'm reading it in an ISR. Specifically, mode 3 would be applicable to the motor encoders (the other modes relate to how the detents on a MPG are setup - a motor encoder, of course, doesn't have any detents). I can abstract it out so it's easier to integrate later; but it's 2AM now and I'm going to bed as soon as I post this.

    Also, the motor encoders are direct logic output devices; and usually not terribly prone to noise. They are not switches, so there's no de-bouncing needed. The ones you have are most likely optical in construction; but there are other types out there also (capacitive sensing similar to the way a touch controller works is one; and there also magnetic using hall-effect sensors; just to name a few).

    these are duplex encoder
    That's usually referred to as a quadrature encoder. Wikipedia has a good explanation: https://en.wikipedia.org/wiki/Increm...rature_outputs


    don't see anything that looks like it can perform the PID calculation
    Converting that value to a differential analog +-10v signal.
    I must be missing something, are these not the same task?
    Yeah - first you need to figure out what the value should be; as a digital number somewhere. In the case of the existing system, I'm pretty sure that's happening in software that's running on that embedded PC. But - it's still just a number, until...
    ...you send that number thru a digital-to-analog converter; where it comes out as a voltage. This voltage, however, may not be in the right range for the Maxon driver boards - and after having a quick look at the datasheet of the digital-to-analog converter that was found on the board, I'm pretty sure it isn't - so, that voltage needs to be scaled up to the right range. This is where...
    ...the opamp that I think is next to the digital-to-analog converter comes into play. If I'm reading the photos right, the opamp is the 8-pin package next to the blue trimmer pot. I think that the trimmer is used to set the gain of the opamp; so that the output voltage is at the right scale for the Maxon driver boards. Alternatively, that trimmer may be used to set where the virtual ground is, assuming it's doing things that way. Or I could be completely wrong about this - I don't have a schematic to look at.

    So, in the proposed new Arduino Zero based system, you'd do the PID calculation in the software that you'd build, based on the step-and-direction inputs as well as the current accumulator value that your encoder management ISR is keeping. Then, you'd send that to the built-in digital-to-analog converter of the SAMD21 chip; where it would come out as a voltage in the range of 0-3.3 volts. Next, that goes thru an opamp where it's scaled up to 0-20v; and because there's a 10v virtual ground being sent to the Maxon driver boards, it gets interpreted as a +-10v signal. Or, that's the theory, anyway...


    Found a project that I really liked, HCC mod. Seems similar to what I would been setting up on these sub drivers.
    OK, I guess? I'm a little perplexed at it's purpose, considering that the SAMD21 is available in a QFP, which is just as easy to solder down as those castillated-pad PCB modules? Other minimum components are a 32.768khz crystal, a couple of load caps for the crystal, some power supply decoupling caps, a USB jack, and a programming header to flash the bootloader with.

    anyways would the SAMD21 make for a decent blcd driver, or am I better off with one of the chips specifically made for blcd control? I have seen a few commercial drivers based around the SAMC21, that's what got me thinking.
    Well, considering that they make brushless motor controllers for RC cars and airplanes out of ATMega8 processors... yeah, it should work just fine. Does that motor have any sort of position feedback sensors on it, or are you going to have to use the back-emf to figure out the commutation for it?

    So I am gonna start familiarizing myself with kiCAD and get started on one of the sub boards.
    I'm afraid I may be of a bit less help there though - I don't use kiCAD. I have my own PCB layout app that I wrote way back when Mac OS X was new, and there was nothing to speak of on the platform (it predates both Eagle and kiCAD). It's still an unreleased project, principally because it's got some significant bugs in it; but it's what I know inside and out (literally, in this case!) and use.

    Need to figure out all the comps that need to be included. I can start reading on that, but if that is something you can just rattle off the top of your head, it would save me hours of work.
    Off the top of my head -

    ATSAMD21G18A-AU or ATSAMD21G18A-AUT (same chip, different packaging - tape vs. tray)
    32.768khz crystal
    Load caps to match crystal
    Power supply decoupling caps
    Ferrite bead for the SAMD21's analog power supply pin.
    3.3v regulator & associated caps (see the datasheet for the specific regulator you choose for what caps it needs)
    A USB jack
    A programming header for flashing the bootloader
    Either an RS422 receiver or a voltage-divider to drop the 5v inputs from the encoders down to the 3.3v that the SAMD21 can tolerate.
    A 2-channel opamp to do the voltage scaling & generate the virtual ground.

    two each 10-turn pots to set the gain and (if you aren't using a precision 10v reference) center-point of the virtual ground;
    --- OR ---
    one each 10-turn pot to set the gain, and a precision 10v reference.

    You will have a bunch of unused pins on the SAMD21; I suggest routing a few of them to some LEDs to indicate status; and the rest to an expansion header in case you think of anything you want to add later.

    I would suggest having a look at the schematic for the Arduino M0 (very similar to the Arduino Zero, except it doesn't have the embedded-debugger chip on it). https://www.arduino.cc/en/uploads/Ma...-schematic.pdf

  20. #20
    Join Date
    May 2009
    Posts
    26

    Re: what to do with this 3+ axis dental cnc machine

    I'd be lost without people like you!

    I think we are on the same page in terms of the big picture theory of how this all should work. I do pretty well in conceptualizing electronics systems, I struggle significantly at determining the exact components (sizing caps / resistors ect).
    Where did we land on using the SAMD21 at the primary controller (vs the sub axis controllers)?

    I'm a little perplexed at it's purpose, considering that the SAMD21 is available in a QFP,
    well ****, when you make me think about, I see how silly it is.

    re: bldc motor sensor vs sensorless: that remains unclear. I have two of these motors, used for electric steering in cars. That black case at the end, holds a driver of its own. The first one had been wired wrong & let out the smoke and then I thoroughly destroyed it trying to take it apart. In taking it apart, I found a small ceramic magnet at the end of the shaft. It only has two poles, but I suppose with 3 hall sensors 120 degrees out of phase, that would probably get the job done. The thing is, I cannot find the sensors! So I am hoping to use the one I destroyed to workout the pinout of the good one and build a driver for the second.

    and the rest to an expansion header in case you think of anything you want to add later.
    good call

    I would suggest having a look at the schematic for the Arduino M0
    this is helpful, I need to continue to study it.

    A programming header for flashing the bootloader
    never been successful at this, but I have only tried in an effort to repair chips. honestly I am not sure I totally understand what bootloaders do, it is fair to think of them like the operating system of the chip?

    re: crystal - a bit confused here, I understand the relevance of 32.768 khz, but I thought the oscillator was responsible for timing cpu cycles....but how does a 32.768 kh produce a 48 mhz cpu cycle?

    re: precision voltage reference: is a zener diode sufficient for this, or is that not considered to be a precision reference?


    encoder: these are hedl 5540 encoders. Looks like 500 lines of resolution. optical. That seems both sufficient for accurate positioning and not too high that the pulses are difficult to process. Would you agree? datasheet

    the spindles: I would like to work out what kind of speed I can get out of the spindles. the motors are maxon 248530 (EC series) --maxon's documentation is normally really good, but there is nothing on this motor, its as if it never existed. I have an email into them.
    The spindles are made by GMN they have different serial numbers (r339423 & r337051) and the common marking of TS 25x56 -s6. Not finding any info on those either. The TS is a class of spindles with a max 20k rpm. I think the 25x56 is ID and OD of the bearings, no idea what s6 means.

    It seems like developing these boards is gonna take a bit, I was thinking about ordering a SAMD21 dev board to start familiarizing myself with it, thoughts?

    I did some more breakdown on the machine, one unsettling discovery: the lead screws have no rear support bearings on any of the axis! Back end of the screw is just hanging in the air. wtf ? That's the sort of thing I expect from harbor freight machines, not a precision dental mill that cost tens of thousands (when it was new). So I guess I will add that to the TODO list.

Page 1 of 3 123

Similar Threads

  1. Dental 4-axis machine + mach3
    By Franko123 in forum Machines running Mach Software
    Replies: 3
    Last Post: 03-16-2019, 10:48 PM
  2. Dental mill?
    By kolec94 in forum Benchtop Machines
    Replies: 11
    Last Post: 05-02-2018, 12:26 AM
  3. need help / dental technician / 5 axis milling
    By flasherbil in forum FeatureCAM CAD/CAM
    Replies: 0
    Last Post: 06-05-2015, 11:18 AM
  4. Anyone built a dental machine?
    By brian257 in forum Uncategorised MetalWorking Machines
    Replies: 12
    Last Post: 08-02-2012, 07:44 PM
  5. Replies: 4
    Last Post: 08-15-2011, 03:04 AM

Tags for this Thread

Posting Permissions

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