Shop OBEX P1 Docs P2 Docs Learn Events
Help us develop an open-source motor controller for RepRaps, CNC mils, etc… - Page 2 — Parallax Forums

Help us develop an open-source motor controller for RepRaps, CNC mils, etc…

24

Comments

  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2011-12-16 11:47
    idbruce wrote: »
    However, I think the focus should be on the driver instead of the end use.

    Not sure if you can design a piece of hardware without considering the end use cases. You need to consider the ways people might use it, not just one or two intended uses.

    Graham, I read David's initial comments about a low-cost system meaning the central electronics of the driver itself. Having the option to add encoders for *either* servomotors or steppers should not be overlooked. In other words, be sure there's nothing stopping someone from doing that, either in hardware or firmware. There should not be exclusivity to use encoders with only servomotors. Whether or not someone wants to do it is up to them. They can take the driver hardware and add $10,000 worth of stuff on it. What they connect -- size, quality, etc. (as long as it meets voltage and current specs) -- doesn't deprive the controller from being low-cost. Nor should we assume a "low-cost" controller is only going to be used on amateur or hobby or low-end equipment.

    -- Gordon
  • idbruceidbruce Posts: 6,197
    edited 2011-12-16 12:36
    Not sure if you can design a piece of hardware without considering the end use cases. You need to consider the ways people might use it, not just one or two intended uses.

    It is simple in this instance:

    1. Classify Motor Type
    2. Set Max Voltage
    3. Set Max Current
    4. Design Driver

    Why over-complicate the issue? Keep it modular as previously mentioned.
  • pedwardpedward Posts: 1,642
    edited 2011-12-16 13:01
    I have a bit of experience with CNC machines (had a machine shop for 6 years) and steppers (surprise, had a stepper based desktop mill and did a stepper conversion on a mini lathe).

    First, an ATX power supply isn't adequate enough to supply the 24-30vdc that is needed to properly run steppers at high speed. Remember, we have to trade voltage for current to get the shorter saturation time in the coils, to get higher speeds and smoother/more accurate drives.

    Reducing all of this to "we must have step/direction control" really limits the boundaries. This assumes you are going to take the same road as every person before and dump a stepper ASIC onto the board. We are posting in the Propeller group, the chip that doesn't have any specific I/O hardware because it's all implemented in software!

    If you eliminate the set boundaries of discrete step/direction (with the associated mcu time wasted), you can then implement position based programming. This is where the driver is told to go to a position and just does it. This really builds part of the motion controller into the drive and a lot of higher end BLDC drives do this.

    That said, I would suggest stepping away (no pun intended) from the way things were *done* and think up a better, cheaper, way of doing it! I've already started doing this by controlling a stepper directly from the propeller, without any driver chip, just H-bridge.

    My vision is to implement a software microstepper, one COG per motor, and then implement feedback and motion control on top of this. I could just as easily implement "go this many steps" as "go 1 step" in a COG, since the counters are doing all the heavy lifting and the COG just twiddles it's thumbs. At present there is enough room for 256 clocks in the loop, this could be expanded until you hit the maximum designed steps/second limit (50K???, 100K???).
  • idbruceidbruce Posts: 6,197
    edited 2011-12-16 13:04
    @David Carrier

    I realize one of your key concepts is to use the Propeller, so how about a chopper drive that uses a Propeller as a step translator.

    Let's say each board has two full h-bridges with current limiting, but the logic levels to determine step, direction, and enable levels are determined by an onboard Propeller chip.

    Bruce
  • W9GFOW9GFO Posts: 4,010
    edited 2011-12-16 13:11
    I'd like to see at least six stepper drivers for a 3d printer.

    X axis
    Y axis
    Z axis (2)
    Extruder 1
    Extruder 2

    I think that dual extruder printing is going to be a big deal in the near future - one extruder printing water soluble support structure.

    If the drivers cannot be on separate boards then they must be well protected from becoming damaged, rendering the whole board useless.
  • idbruceidbruce Posts: 6,197
    edited 2011-12-16 13:15
    Okay, I will take a back seat now and just see what direction this thread takes. Good luck.
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2011-12-16 15:27
    Gordon, when you said "it might as well use them for steppers as well" I read this as a suggestion that this would be the default. Of course I agree with you that since there is the potential to read them why not allow the option. Also useful for machines that can be used both manually and the computer control as it can provide a DRO.

    All,

    The worries about drives blowing and rendering a whole board useless are less founded when considering an open hardware design where you can probably repair it?

    If you are talking about having 4+ propeller based motor drives as well as motion control it does sound like it might be turning in to a 2 propeller system?

    Cheers,

    Graham
  • W9GFOW9GFO Posts: 4,010
    edited 2011-12-16 15:39
    I think there is a considerable difference for the end user between swapping out a driver board vs swapping out a surface mount IC. I haven't burned up a stepper driver myself yet, but I have seen others do it. As long as they are protected, then it's probably not an issue.

    Is it reasonable to expect an onboard stepper driver to be protected against mis-wiring, shorting and over-current?

    I understand that it is a common warning not to connect or disconnect a stepper motor while the circuit is powered. An intermittent connection would be a similar situation, can the driver be protected from that as well?
  • bee_manbee_man Posts: 109
    edited 2011-12-16 15:58
    I have converted the Gen 7 board from an ATMega644 to the 40 pin DIP Prop. I still have a little work with bed heater control and ADC input for Thermistor feedback in version 2. Its basicly a Gen 7 direct replacement using Pololu stepper drivers. My next step is the software if others don't beat me to it.

    I have added VGA, mouse, and keyboard for future stand alone control.

    In PCB Express format for toner transfer.
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2011-12-16 15:59
    idbruce wrote: »
    Why over-complicate the issue? Keep it modular as previously mentioned.

    My expectation is that the board will use a microcontroller, and thus will have a firmware component. It's the firmware (but potentially the hardware itself) that needs to address the variations in use cases, or at least not inhibit them.

    As the encoders will use at least one cog of a Propeller (I know Parallax won't be doing this with a BS2!), I think it's best that the encoder "service" is always available, regardless of motor type. Here's the potential problem: As cogs are finite resources, there is a possibility that in developing such a board certain assumptions might be made that could limit its usefulness in some applications. Encoders should be considered an all-purpose resource, not attached to any specific motor type. That's really all I'm suggesting.

    -- Gordon
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2011-12-16 16:29
    If you are talking about having 4+ propeller based motor drives as well as motion control it does sound like it might be turning in to a 2 propeller system?

    My assumption is more than one Propeller if it's a six-axis controller. Probably two. But Props are cheap (make that "inexpensive"!), from Parallax's point of view. They're only $8 retail in quantity of 1, and they're the things that can provide the "compelling story" that separates this controller from all the others. The world is awash in stepper motor drivers, including some very low-cost ones. I read David's list as this board handling everything expected of a motion control system: acceleration, ramping, chopping, position and velocity control, and so on.

    The typical industrial motor controller board is expensive because its development costs are spread over too few products, a natural by-product of niche markets. If you spend $20,000 in development costs but only sell 500 of them because your markets are small, you have to somehow absorb $40 into each board. I suspect this is an opportunity to develop a high volume solution by making it generic enough that it appeals to all kinds of users, hence the abstraction so people don't have to write their own stepper motor acceleration routines and the other things that stymie folks like me when it comes to motors. If the lifetime sales can be 5,000 units because it addresses multiple emerging and growing markets, development costs are only $4 per board.

    All that Smile that I just said really amounts to "low cost" really being a function of the market. Don't count pennies, in other words, because the market will compensate for the few dollars here and there where you decided to add a bit of flourish. The feature set should match what the market wants, not what you want to build because you're wanting to be cheap. You can be so low-cost it doesn't have any features, and then no one wants it.

    BTW, how's the weather in Oxford this time of year. In 'Inspector Lewis' (the name for the show over in the states) it always looks gorgeous, even when it's raining.

    -- Gordon
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-12-16 17:05
    Nice discussion...
    I have been researching the RepRap for over a year and a half and here is my take on the project
    • Modular approach using cheap and readily available connectors
    • Pololu sized and compatible stepper driver pcb ~0.6"x0.8"
    • Stepper Motherboard pcb for up to 4 stepper pcbs (this is the norm)
    • Heater pcb for 2 heaters and sensors (extruder and heated bed)
    • Propeller pcb with microSD, USB and TV/VGA & PS2 keyboard options; stepper, heater, endstop pcb connectors
    I have already made the following pcbs...
    • Pololu compatible pcb using the TSSOP Allegro A4982 or A4984 (Pololu use A4983 or A4988)
    • Carrier pcb for 4 stepper pcbs ~1.8"sq (and plugs into the standard headers 1x10..14 that some of us are making)
    I have pcbs in the works for...
    • Dual heater/sensor pcb
    • Propeller pcb with microSD, USB and TV/VGA & PS2, etc in a ~1.8"sq pcb
    Now for the reasons of my design choices...
    • Pololu driver pcbs ~0.6x0.8"
      • Currently multiple sourced
      • Has already become a standard in many RepRap electronics designs
      • Reasonably priced but can be much cheaper
      • Simple interface DIR, STEP, ENABLE
      • Easy replacement at the single driver level
      • Up to 2A
      • IC worth ~$3.80/1 ~$1.90/1000
    • Stepper Motherboard pcb ~1.8"sq
      • Size suits 4 x Pololu stepper driver pcbs
      • 4 steppers is the norm in the RepRap now (X, Y, Z, Extruder)
        • In the Prusa, Dual steppers are driven from the one Z driver
      • Uses cheap connectors (Molex and/or pin headers)
    • Dual Heater/Sensor pcb
      • Discrete Mosfet design
      • Modular so in the event of failure, a new module can be purchased
      • Handles the normal extruder hot-end and one heated bed.
      • Uses cheap conectors (screw type or blade type)
    • Propeller pcb
      • Propeller, Xtal, Eeprom
      • microSD
      • USB interface
      • Optional TV/VGA & PS2 Keyboard
      • Connections to Stepper Motherboard, Dual heater/sensor, endstops
    The above modular design permits later expansion
    • Add a new Stepper Motherboard for more steppers
    • Add a new Heater/Sensor for additional extruders or heat chambers
    • Keeps initial cost to a minimum
    • Permits the modules to be used with existing micros
    • Permits easier transition to the Propeller micro as the controller by using existing modules (Pololu in particular)
    • The Propeller offers the ability to use microSD and TV/VGA & Keyboard easily
    Information on my modules are on my website www.clusos.com and links back to the propeller threads where these are discussed, and also to a wip mechanical design in the RepRap forums.

    One thing that I have particularly noticed, pricing is everything in these projects. Currently IMHO the electronics are overpriced, as are the Stepper Motors. Both these would have a major impact in opening up the RepRap to a wider audience.

    There is still a lot of progress to be made in the mechanical designs, specifically the extruder and the frame. The Prusa is a major improvement to the frame although I still see many improvements. It is still an experimental device and not a plug and play device IMHO.

    I am prepared to open up my pcb designs if that what it takes to reach a wider audience.

    Links:
    My PCBs (see #18)
    http://forums.parallax.com/showthread.php?134134-Cluso-s-new-Propeller-stackable-and-pluggable-boards-(MultiProps-too)&highlight=reprap

    My RepRap mechanicals (an old thread now, but still valid)
    http://forums.reprap.org/read.php?4,57039

    Phil Pilgrims RepRap MakerBot thread
    http://forums.parallax.com/showthread.php?133002-MakerBot-Build-Log-Prop-Control-Discussion


    One final comment... I believe the Propeller is the most suitable micro for this type of job because of its multicore architecture. (no comments about the other procesor please Leon)
  • GeckoKevGeckoKev Posts: 4
    edited 2011-12-16 17:36
    Seems like this board will be a very interesting and useful product!

    For current limiting, the surge limit can/should be tolerated at significantly higher levels versus the continuous current limit. It is useful to be tolerant of brief surges so you can start and stop motors quickly without the drivers cutting out, and also to be tolerant of switching noise or other interference. So in the current-limiting circuitry for each bridge, you'll want to implement a low-pass filter with the current feedback sensor. Otherwise you will get (false) fault conditions all the time when operating anywhere near the upper ranges of your rated current (depending on how aggressively the motors are being driven).

    Also, it seems to me that if someone wanted to use encoder feedback, they can still use whatever motor types they choose (steppers/DC/brushless). That's purely a software decision.

    I agree with Gordon that the design should be full-featured and robust, and that pennies shouldn't be spared at the expense of features or a quality design. Additionally, it should be high-quality & fully featured within the SCOPE of the target applications. This board could make a great controller for 3D printers and possibly hobby CNC, but probably shouldn't go much further than that in scope, or will likely take away from the original target application.

    With this many half/full H-bridge circuits, from a purely cost-savings perspective it seems like a pretty fitting choice to go with a discrete design (rather than driver IC's).

    Also, what sort of form factor (board dimensions) are you looking for with this design? There will be a lot going on in this board. Definitely a cool (and useful) product!

    Cheers,
    -Kevin
  • nightwingnightwing Posts: 56
    edited 2011-12-17 10:09
    wrote:
    Interesting about this topic coming up. Been following any threads in the forums on motor control etc that fall within the range of CNC/3D printers. Was thinking of a prop(s) to do control and monitoring. And when they release it, a Rasspberry Pi as the "Computer" side to handle any code the prop(s) would not be suitable for. At $25 or $35 for that unit would be a bit better than an old computer for control have seen people use. And would make for a compact design.

    Repeatable Accuracy
    Can the electronics control the motors etc to hit there marks close enough to make it worthwhile. Along with the structure of the device this is the make/break item.

    Dust/Wast control/contamination.
    Depending on what sensor are uses maybe optical/magnetic/whatever. Its a very mess place. Remember the original Roland Modler recommended a large pizza box to catch the chips while it worked!

    RF noise.
    Need to make it easy to shield the "Control" Electronics so it produces the least RF noise possible but not to the point of making it super hard to service.

    I think the prop would be fun to use. And should work out very well.

    PS: Did anyone catch what this person did for a high speed steeper controller.
    http://hackaday.com/2011/12/14/high-speed-stepper-driving-25k-steps-per-second/

    And for reference:
    http://www.raspberrypi.org/
  • GadgetmanGadgetman Posts: 2,436
    edited 2011-12-17 11:11
    I find this more impressive:
    http://www.3dprinting-r2c2.com/?q=content/r2c2-running-reprap-mendel-his-maximum-speed-725mms

    It's easier to run a motor without losing steps if it doesn't move any loads...
  • wjsteelewjsteele Posts: 697
    edited 2011-12-17 20:03
    bee_man wrote: »
    Its basicly a Gen 7 direct replacement using Pololu stepper drivers. My next step is the software if others don't beat me to it.

    What is that second chip next to the eeprom?

    Bill
  • nightwingnightwing Posts: 56
    edited 2011-12-17 21:04
    Gadgetman wrote: »
    I find this more impressive:
    http://www.3dprinting-r2c2.com/?q=content/r2c2-running-reprap-mendel-his-maximum-speed-725mms

    It's easier to run a motor without losing steps if it doesn't move any loads...

    I really agree! ^_^

    I did work on sign software that used pen/knife plotter's about 12 years ago. The catch was not speed but could it hit the mark every time during and after plotting a pattern.

    Like the video on the rep rap but cant tell how precise it actually is at that speed. And was only hitting corners no complex design.
  • vanmunchvanmunch Posts: 568
    edited 2011-12-17 22:19
    I'm very excited to hear that Parallax is working on this and with Brook Drumm too! He seems like a nice guy. His Kickstart just closed today where he exceeded his $25,000 goal by ~$805,000!
  • LeonLeon Posts: 7,620
    edited 2011-12-18 03:46
    There is some interest in RepRap amongst XMOS users, as well. This might be of interest:

    https://www.xcore.com/forum/viewtopic.php?f=21&t=1581
  • StefanL38StefanL38 Posts: 2,292
    edited 2011-12-18 04:17
    Leon, what's your reason to mention your favorite non-propeller-chip again and again in the propeller-chip-forum?

    If you have good reasons I might can accept it. Please post your reasons.
    Do you have the impression the propeller-chip has a quasi monopol position where it is nescessary to point on other things as alternatives?

    best regards
    Stefan
  • LeonLeon Posts: 7,620
    edited 2011-12-18 04:18
    I thought that each group might learn something from the other. It might even make sense to use common driver hardware.
  • wjsteelewjsteele Posts: 697
    edited 2011-12-18 06:46
    Leon wrote: »

    Not to anyone here!

    Bill
  • 4x5n4x5n Posts: 745
    edited 2011-12-18 07:04
    wjsteele wrote: »
    Not to anyone here!

    Bill

    I thought it was interesting. I saw a "trainer" board using the technology for ~$100 and more likely then not will get one.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2011-12-18 09:22
    There is a lot of good discussion here, but I think you are overlooking one of the Propeller's best contributions - VGA or NTSC/PAL video display, especially with multiple colors.

    RepRap devices involve all sorts of calibrations and positioning. Having a real-time summary to monitor is extremely useful.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2011-12-18 11:08
    Gadgetman wrote:
    It's easier to run a motor without losing steps if it doesn't move any loads...
    That's not always true, surprisingly. When a stepper motor is driven at its resonant frequency without a load, it can lose steps, because the rotating shaft will "bounce back." A small, frictional or viscous load actually helps to eliminate resonance effects. Still, though, it's always a good idea to avoid resonant step frequencies and to ramp through them as quickly as possible.

    -Phil
  • GeckoKevGeckoKev Posts: 4
    edited 2011-12-19 01:54
    There is a lot of good discussion here, but I think you are overlooking one of the Propeller's best contributions - VGA or NTSC/PAL video display, especially with multiple colors.

    RepRap devices involve all sorts of calibrations and positioning. Having a real-time summary to monitor is extremely useful.

    It will already have a USB connection (as part of David's original feature list), so if there needs to be a calibration/monitoring feature what about just printing all the data out to a terminal window?
  • wjsteelewjsteele Posts: 697
    edited 2011-12-19 02:15
    I agree, I think that video capabilities can put this well ahead of the other platforms. The MakerBots and RepRaps can be configured to print without a connection to the computer from the SD card. They use a simple LCD screen to show the status and to allow the selection of the item to print.

    If we used a small VGA LCD (or even just an NTSC based one to minimized I/O) we can really step up the quality bar from a user interface stand point that the other platforms would have to invest heavily in supporting circuits to match.

    Bill
  • idbruceidbruce Posts: 6,197
    edited 2011-12-19 06:32
    I would be interested to know just what kind of motor resolution everyone is looking for. Of course the question must be more specific, so let's assume degrees of rotation for any given motor for a given movement.

    Bruce
  • wjsteelewjsteele Posts: 697
    edited 2011-12-19 12:08
    idbruce wrote: »
    I would be interested to know just what kind of motor resolution everyone is looking for. Of course the question must be more specific, so let's assume degrees of rotation for any given motor for a given movement.

    Hi Bruce,

    I'd like to see a standard 1.6 or .8 stepper with 1/8th or 1/16 stepping. That'd give us a very nice resolution while keeping the unit nice and quiet.

    Bill
  • vanmunchvanmunch Posts: 568
    edited 2011-12-19 12:09
    wjsteele wrote: »
    I agree, I think that video capabilities can put this well ahead of the other platforms. The MakerBots and RepRaps can be configured to print without a connection to the computer from the SD card. They use a simple LCD screen to show the status and to allow the selection of the item to print.

    If we used a small VGA LCD (or even just an NTSC based one to minimized I/O) we can really step up the quality bar from a user interface stand point that the other platforms would have to invest heavily in supporting circuits to match.

    Bill

    How about a touch screen like one of Rayman's?

    The new RepMan 3.2 was just announced with one:
    http://www.alibre.com/3dprinters/rm_overview.asp?utm_content=0000-00-00%2000%3A00%3A00&utm_source=VerticalResponse&utm_medium=Email&utm_term=Learn%20more%20about%20the%20RapMan%203%2E2%20%26gt%3B%26gt%3B&utm_campaign=December%202011%20Newslettercontent

    I think that the biggest thing is that the price point has to be $500 or less. I think that's why Brooks's Kickstarter was so successful. (3,000%+ funded)
Sign In or Register to comment.