Welcome! Log In Create A New Profile

Advanced

[Watson] Electronics: DSP/DSC, Allegro 4988, Dual Extruder, Bed Control, User Interface Port

Posted by pmarcus 
Introducing the Watson 3d printer electronics package.

The Watson electronics were designed to address the specific needs of the Watson 3d printer as well as creating a platform for future printer development including larger format printers with higher deposition rates.

Note that it will take us some time to get all the posts up related to the Watson 3d Printer so please hold tight while we get all the information posted in the forums!



Some of the features of the Watson electronics are:

- Single or Dual extruder capable
- Higher power hot end up to 72W offering broader range of possible heater resistor choices and hot end designs
- Heated bed with power up to 240W
- 5 configurable 1/16 step stepper motor drivers with software current output control
- SD card for stand alone operation
- Auxiliary serial port for external Watson user interface (future development)
- Fusing and protection circuitry on all major power circuits including: main power, heated bed, hot end heaters.
- 24V capable for higher power smaller cabling, and smaller, lower cost connector systems
- Compatible with Watson DSC firmware (in development and based upon the wildly popular Marlin firmware)
- 70MIPS Microchip DSPIC33E series microprocessor
- Hardware PWM control for all heaters
- Emergency Stop input
- Onboard configurable Audible Alarm
- 1.25MHz logic voltage step down converter
- Custom MOSFET Drivers

Safety
Having designed industrial automation equipment for more than 10 years we thought safety was a serious concern in the 3d printing space. Incorporation of thermal switch interlocks on the main printer, Emergency Stop inputs, and fusing on power circuits to us, is imperative, even if it cuts into product margin!
Safety is an important combination of not only system design, but consistent documentation and carefully formulated instructions. No design is perfect but we intend to move the bar for safety and reliability forward with our designs.

Microchip DSC
There is sure to be some grumbling and Arduino is a great platform, but unfortunately we have big plans for the Watson 3d printer and our future printing solutions. There have been many instances where the Atmega processors have come close to capacity. This is exacerbated by use of 1/16 step motor drivers. Microchip has a long standing history of availability and support for both volume manufacturing as well as the hobbyist. The variety of hardware peripherals, higher instruction rate, and DSP functionality seemed like the right choice even at the expense of needing to compose new hardware drivers. It is our intention though to have a codebase that is compatible with existing interfaces (i.e. skeinforge, pronterface)

Why the big capacitors?
Ripple current can play havoc on cheap power supplies and puts a lot of strain on bulk capacitors. Ripple current is actually the primary source of heat in capacitors and heat causes failure. We’ve all heard too many stories of capacitors in computers, TVs, monitors and other equipment going bad and failing. This is often due to failed filter capacitors on the output of switching power supplies. The PWM output of the steppers and heaters are all very similar to switching power supplies especially in terms of induced ripple current on preceding filter capacitors. We decided to spend the extra money on larger input filter capacitors (1800uF 35V) that could withstand high ripple and protect the power supply feeding the electronics. The other benefit if large bulk capacitors is reduced system EMI since the current draws will be more uniform.

Continued in second post

Edited 5 time(s). Last edit at 08/13/2012 12:22PM by pmarcus.
24V or 12V
Shifting from the accepted use of 12V power was another difficult choice but we believe was the right one. Increasing overall power and operational headroom for large heated beds, multiple extruders, and hot ends pushed the design to a level where the higher power at 12V made the circuit board layout expensive due to high copper thickness, larger board area, and more costly connectors and wiring systems. NEVER FEAR though! Watson Electronics are fully compatible with 12V systems, but at the same power level as current 12V electronics packages. The power handling when used with 12V is not less than the other available electronics packages, but is much higher when 24V is available.

Custom MOSFET Driver Circuitry
Admittedly there isn’t any black magic here, but the use of level shifting circuitry for higher MOSFET drive voltages as well as low side sink driver transistors boots the capacity to reduce MOSFET switching losses at higher switching frequencies. This is the primary cause of MOSFET burn up when higher frequencies have been tried in the past with reprap electronics. Rds On is certainly a major factor but as frequencies approach and exceed 100KHz switching losses associated with driving MOSFET gate capacitance starts to dominate.

you can see some of the thought process behind the design here:
[reprap.org]

Also, although the site is a bit rough still, you can follow our progress on the design here:
[www.apparentlyconnected.com]

Note one of our special Tutorial posts as part of our effort to give back some of the great knowledge we have gained from this wonderful community! The topic covered is prototyping those very hard to solder QFN leadless ICs (like the Allegro 4988 stepper driver)
[www.apparentlyconnected.com]

Edited 6 time(s). Last edit at 08/13/2012 02:04AM by pmarcus.
reserved 2
reserved 3
Is there any plans on making a higher voltage version ? 48V ?

How will heatsinking be handled ? Is the layout final or will things be shifted to allow for one large plain heatsink to be used ?

Will a charge-pump / watchdog system be implemented ?

Personally I prefer mini-USB connectors to Type B USB connectors but that's just personal preference.

Edited 1 time(s). Last edit at 09/06/2012 07:49AM by yngndrw.
Interesting questions. No there are no plans for an even higher voltage version. 24V will be suitable for a long time on larger platforms in my opinion. Remember that power in resistive loads is V^2/R so you get a LOT of margin from moving the supply voltage from 12V to 24V. I'd be interested in what your thoughts on the value of a 48V system might be.

The layout is not final yet but should be pretty close besides fixing up minor issues. You can't tell from the images but the board is 4 layers with heavy internal ground and power planes. All power components are connected to surface and internal planes with thermal vias. The switching MOSFETS have pull up drivers so that Rds on will be minimized and switching losses will hopefuly be minimal as well (I still need to do some testing here). The prototype boards are 1oz copper but the final design will likely be 2oz. So this was a really round about way to say, there shouldn't be any need for any heat sinks. This was also one of the reasons to go to 24V as it greatly reduces the current demand and therefore resistive heating in both switching components as well as circuit traces. The only item I am not positive on in terms of thermal dissipation is the A4988 motor drivers. I feel pretty confortable that will proper thermal planes that additional heat sinks won't be required. The chip is designed to produce full output without external heat sinks. I will know for sure once I have fully characterized the board.

I don't follow what you are asking about with regard to charge pump. I know what it is, but not where you are thinking it might be used / needed.

I typically avoid watchdogs on embedded systems designs. Especially in early stages where there might actually be software bugs. Although you can pass some information from a watchdog even to the next reboot I think it is far more effective to trap software issues and debug/correct them rather than having a watchdog based reset. After software is finalized and the application is safety or life critical it's always a good idea to enable basic watch dog functionality as a "Hail Mary". My medical device designs will usually have embedded watch dogs enabled prior to final regulatory approval.

I understand the like for the mini-USB. Actually though I wouldn’t use mini-USB and would opt for micro-USB if I were to use a smaller connected. What’s interesting is that the fatiguing portion of the pins are inside the jack of a mini-USB connector while they are in the plug of a micro-USB connector. This is important because as a customer you will ALWAYS want the cable to fail and not the connector.

For this design (and any where space is not a premium) I use full size USB-B connectors. The reason is that they are far more robust. The PCB mount on these larger and bulkier connectors can take a lot more abuse than the mini or micro USB PCB connectors. So from that perspective I have to say that USB-B was the right choice for this design.

Thanks for the questions! We’re always looking for opportunities to improve!
The reason for the higher voltage is because a stepper motor is an inductive load. It is better for me to just link you to an explination by a drive manufacturer than for me to try and explain it as I'll probably miss something:
[www.geckodrive.com]

The main part to look at is section #4 on that page, specifically this graph:


It also reduces the trace current further which lowers the cable losses and allows for smaller trace widths. (As well as more smaller connectors.)


Regarding the heatsinking:

For the A4988 I would be interested to see if they need to be de-rated in order to be run at maximum power without a heatsink. The datasheet suggests that the thermal resistance on a 4 layer board is 32C/W which is quite a lot. It's also rated at 35V maximum which may cause you problems when running it at 24V.

The main concern I have about heatsinking however is for the heat-bed MOSFETs. SystemsGuy in this post has shown that the standard Sanguinololu heat-bed MOSFET gets a tab temperature of 80C on a 3C/W heatsink. Because of this I have personally bought a 0.5C/W heatsink for my MOSFETs on my Sanguinololu, although I haven't tried it yet. Of course, there are better MOSFETs to use and this combined with the higher voltage could greatly reduce this issue.


Regarding the watchdog / charge-pump, I mean something to activate the emergency state rather than just reset it. Usually in a CNC system you would have your charge-pump in case the computer crashed or the connection was lost, but in this case there is less chance of that due to the processor being on the board. In the case of the microcontroller hanging however, there still may be an issue where a stepper motor is driven into the end of the machine as an example. This could be solved by requiring a software driven oscillator which would drive the charge pump - If this signal stops oscillating (In either state) the hardware would be put into a safe state.


It's a really interesting point you make about the micro USB connectors being better than mini USB and I fully agree with your point. The reason why I mentioned mini USB over both micro and USB type B is because of availability - I personally never seem to have micro USB or USB type B cables around, but always seem to have piles of mini USB cables for some reason. I don't know why but it seems that most things have mini USB connectors. It is a bit of a personal preference thing though.


Have you considered ARM microcontrollers ? [www.ghielectronics.com] The cost is higher but it's a different class of product really and the fact that development is in .Net makes the software development far easier in my opinion.
Re: [Watson] Electronics: DSP/DSC, Allegro 4988, Dual Extruder, Bed Control, User Interface Port
September 06, 2012 06:15PM
FWIW: I run a RAMPS board at 24V happily and have not had a problem with the A4988's.

I did however change the original MOSFETs out for better MOSFETs (with lower RDSon) and I also made sure I'm using lower-frequency switching for PWM to avoid undue heating caused by capacitive slow slew on the gate (below 100 Hz).

That said, the MOSFET still gets slightly warm (I have a very small heatsink on mine without a fan, so could probably do away with it using a fan alone), so I'd be interested to see how well those SMD transistors work out.
Okay I understand what you mean by a charge pump. No I don't have plans for that in this design. It would be a mistake for a user to have the current level of the steppers set high enough to cause damage if the motor ran into a physical stop. On a CNC it is more of an issue since the torques are so high. I've used what you call a charge pump before in medical devices. I'd not think it was necessary here.

I wouldn't consider an ARM for a project like this. I come from a strong background in assembly, C, and DSP. From my perspective .Net would be a step in the wrong direction. I'm not saying your suggestion is wrong, but I am very happy with Microchip controllers, their support, availability and the fact that they NEVER go obsolete without a drop in replacement. I am not sure you can say that for ARM.

Other downsides of ARM are: Need for external memory and flash, more than 4x the cost, and I'm not sure the perfomance gains over a low end DSP (like we are using) is going to buy you much. The dsPIC already offers a LOT of horsepower over the Atmel.

Another point is that the controller we are using has a tremendous number of hardware peripherals. PWM modules, serial ports etc are all hardware driven greatly reducing the CPU load. I'm not sure you can do that with an ARM. I am pretty sure everything would have to be software driven.

Ha, I have the same problem with USB, lot's of minis and fewer of the others smiling smiley

Actually having a higher voltage on steppers makes them much harder to control. Keep in mind that many of these steppers have pretty small inductances and very low resistances. The higher the voltage the greater the rate of change of the current and the faster the stepper driver has to respond.

I think part of the confusion is that what you are saying about motor voltage and torque is absolutely true for standard DC motors. I am not positive that it is true for steppers (but I am far from a stepper expert!). The capacity to deliver current into the stepper, even at 12V is quite good and I think we could use some pretty large motors.

The concern about the heater bed sounds wrong to me. 80C with a 3C/W means the mosfet is dumping over 15W, that's an awful lot of power NOT being delivered to the heater bed! That suggests that there is a serious switching loss problem or the Rdson is something like a few ohms! I don't know what switching frequency he is running the mosfet at but if he is driving it with a processor output then there could be a variety of reasons it is getting so hot. A non-logic level MOSFET usually likes to have a gate voltage of 10V to turn on good and hard even though the thresholds are often quoted around 4V.

So the MOSFET we are using has an Rdson that is 1/6th of the IRFZ44 that SystemsGuy was using on the Sanguinololu. The use of a non logic level MOSFET with a processor output as a driver could also be a serious issue since the switching losses will be higher and the MOSFET may not be able to turn all the way on.

Anyway, well see when I finish testing where the temps come in. I'm not too worried about pulse width modulating 10A with the MOSFETS we picked.

Thanks again for the comments keep 'em coming!

Edited 1 time(s). Last edit at 09/06/2012 06:29PM by pmarcus.
It's clear that you have a very strong background in both embedded systems and electronics so I expect your project to go well. smiling smiley

I can't really argue with any of your reasoning for the choices you've made except two things:
1) I believe the voltage thing does also apply to stepper motors, although having said that this is usually a point raised on full CNC machines where they are driven by lead screws - I believe it affects torque at high speeds more than anything. (Which is only useful for our Z axis lead screws in this application.)
2) I think that using drivers which are rated up to 36V but limiting the design to only 24V is a waste - I'd expect that the motor drivers are quite a high cost compared to the rest of the board so you might as well design the rest of the board to match. Thinking about it, the board will probably already be happy running at 36V assuming the switching regulator you made is using a driver which is happy with that voltage, although obviously it would need to be checked in order to make sure that it is reliable at that level. A limit on the board of 32V would probably give you a decent safety margin.

It's also an interesting point you make about the heat bed issue that SystemsGuy saw - I will have to try my smaller heatsinks with a fan and see if they will do, will be much easier than me pulling out the MOSFETs and mounting them separately.


Keep us updated on this project as I'm really interested in it. It sounds like an excellent replacement for the Sanguinololu for my next printer.
Thanks for the compliment. I've been designing embedded systems, power electronics, industrial automation and medical instrumentation for a while. I'm certainly no grey hair and I still make mistakes. I think I'm getting pretty good at it but there's ALWAYS something to learn!

Unfortunately for the heater MOSFETs there is a tradeoff between gate capacitance, Rdson and voltage rating. The MOSFETs I am using for the heat bed and the hot ends are rated for 30V and are similarly protected with Zener/transient voltage suppressors so there would actually be a handful of things to change to go above 24V. That said it could be changed if it looks like that makes the most sense.

One other item I'd like to point out about 24V is that it is an industry standard voltage making power supplies more common and cost effective. Unfortunately the 24V supplies are not as cheap as 12V supplies but they are a lot cheaper than non-standard voltages. The next standard voltage would be 48V as you had originally suggested.

Thanks again for the comments. It helps motivate us to get the testing done and more of the software written (which is a lot of work with the new architecture). I think it's the right thing to do though.
Regarding the standard power supply voltages, Meanwell do a 27V PSU and a 36V PSU, both of which adjusted. (The 27V PSU goes up to 32V and the 36V PSU goes down to 32V.)

For a 350W 36V Meanwell PSU you're looking at £32 including postage from Ebay.
Re: [Watson] Electronics: DSP/DSC, Allegro 4988, Dual Extruder, Bed Control, User Interface Port
September 13, 2012 08:12PM
pmarcus Wrote:
-------------------------------------------------------
> Other downsides of ARM are: Need for external
> memory and flash, more than 4x the cost, and I'm
> not sure the perfomance gains over a low end DSP
> (like we are using) is going to buy you much. The
> dsPIC already offers a LOT of horsepower over the
> Atmel.
>
> Another point is that the controller we are using
> has a tremendous number of hardware peripherals.
> PWM modules, serial ports etc are all hardware
> driven greatly reducing the CPU load. I'm not
> sure you can do that with an ARM. I am pretty
> sure everything would have to be software driven.

Huh? That is nearly all nonsense! Have you actually used anything apart from PIC?

Obviously you have already a fixed idea of your design decisions, and are not going to change anything, which is fine, but don't back them up with misinformation.

Makes me wonder how reliable the rest of your info is.
bobc Wrote:

>
> Huh? That is nearly all nonsense! Have you
> actually used anything apart from PIC?
>
> Obviously you have already a fixed idea of your
> design decisions, and are not going to change
> anything, which is fine, but don't back them up
> with misinformation.
>
> Makes me wonder how reliable the rest of your info
> is.

This is great, if you have a lot more knowledge please share it. We are far from perfect. I think we do have a good idea of how we want to approach the design, have done this for a long time, and very much do like Microchip products for a variety of reasons, BUT our team is always eager to learn from those who are versed in areas which we don't know (such as ARM cores).

So please elaborate on which points specifically are incorrect and what the right answer is. Our team would very much like the knowledge if you are willing to share. Otherwise your broad stroke comments don't have much meaning and no one learns.

Thanks for your input!

Edited 1 time(s). Last edit at 09/13/2012 09:53PM by pmarcus.
I did a little reading(and rereading of my previous posts) and realize I wasn't very clear on some things. When I was addressing the capabilities of ARM cores I was specifically talking about the module that yngndrw suggested. I realize that there are a lot of ARM based processors that are comparable in cost and capability to the dsPICs (though I didn't know until Nathan did some looking).

The other item I wasn't clear on was I said the dsPIC had a lot more horsepower than the Atmel. I meant the Atmels that are used in Arduino. Again I wasn't clear on what I was trying to express.

If anything else seems wrong feel free to pipe in.
If what you want is horsepower, take a look at the STM32F4 (168MHz/210DMIPS) and the LPC43xx series (204MHz/255DMIPS), both have SIMD and DSP extensions

Each of these processors has so many built-in peripherals that there aren't enough pins in a 100-pin package for all of them, including ethernet and USB, and 512kB-1MB of flash. and at least 136kB of RAM

The LPC43xx runs in big/little mode--that is to say that it's dual-core. It has a Cortex-M4 and a Cortex-M0 in the same package (http://www.nxp.com/products/microcontrollers/cortex_m4/lpc4300/LPC4333FBD144.html)

They all cost about $11 in single-unit quantities.
In case anyone was wondering, we've finished initial evaluation of the stepper electronics. The A4988 at full current (2A) runs at an acceptable temperature. We didn't get a thermocouple on it but to the touch it is hot and slightly uncomfortable so it is likely in the 50 to 60 C range. When everything else it turned on I expect that it will get hotter but will still perfectly acceptable for a device with a max die temperature of 165C. Note that this is with a 1oz copper board, production boards will be 2oz and will help with heat dissipation.
Re: [Watson] Electronics: DSP/DSC, Allegro 4988, Dual Extruder, Bed Control, User Interface Port
September 15, 2012 04:42AM
Can your PCB manufacturer maintain the track widths and gap tolerances required for the QFN with 2oz copper? I ask because in my day job I wanted to use 2oz on a LED lighting strip with QFN drivers and was told it couldn't be done as the accuracy drops with thicker copper.


[www.hydraraptor.blogspot.com]
Sorry, only registered users may post in this forum.

Click here to login