Welcome! Log In Create A New Profile

Advanced

Designing a new controller board to run RepRapFirmware: feedback wanted!

Posted by dc42 
Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 08:16AM
I am in the process of finalising the schematic of a new 3D printer controller board intended as a logical successor to the Duet. The main differences from the Duet are:

* ARM Cortex M4 processor with FPU and more RAM

* On-board WiFi instead of Ethernet

* Dual extrusion support (i.e. 2 extruder drivers and 2 hot ends)

* Controllable (on/off only) hot end fan

* Support for a 4-wire PWM cooling fan including the ability top turn the fan right off, or alternatively a 2-wire fan

* Side facing reset and erase buttons mounted on the edge of the board

My aim is to keep the board cheaper to manufacture than the Duet despite these improvements. I would welcome your suggestions for:

1. Features missing from the Duet that you think I should consider including. Bear in mind that I want to keep the manufacturing costs low - this isn't meant to be a top-end board with all the bells and whistles.

2. Features of the Duet that make it harder to use than necessary. I'm talking hardware features here, not firmware features.

3. Features of the Duet that could be removed. For example, the PS_ON output, and the potential USB OTG functionality. I will almost certainly remove the USB OTG capability, not sure about PS_ON.

4. Features of the Duet that make it harder than necessary to support. This one is mostly for Ian! I have already specified a different Micro USB connector that is easier to solder during manufacturing and grips the plug better.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 09:39AM
Sounds like a good project. My biggest bugbear is the small unsupported surface-mount USB connectors that so many boards (including the Duet) use. Pull sideways on the USB cable too often and it is prone to ripping the connector off the PCB together with tracks, which can be unrepairable. Plus it is fiddly to insert the micro-connectors, especially when the board is in a position where you are doing it by feel. For boards that are quite likely to be used without a very solid tight-fitting housing around the connector, in my opinion the large through-hole type B connector is the way to go rather than any type of micro-connector - board size is not a major design concern. I'd also vote for a full-size SD card rather than a micro SD card - again, this is not a small portable device, the miniaturisation is unnecessary and makes it more delicate and difficult to use. Or maybe have a second USB host (type A) connector if the CPU has one, and use a USB memory stick instead of an SD card. Or no removable memory, just an on-board Nand Flash or serial EEPROM chip that is written to via the USB or web interface (such chips are cheaper than an SD card connector!).

Connectors should ideally be keyed and unable to be misaligned, and of enough different types so that any possible accidental mis-connection will not cause damage. Power and heater connectors should be man enough for the currents and not prone to going high-resistance. Chocolate block style connectors (with compression screws like the power input of the Duet) are not in my opinion ideal in that respect. Bolted-down ring terminals are better, but there are other types. Nice would be for endstop and other inputs to go via an optical isolator so that external mis-wiring or shorts will not cause too much damage. Maybe put your differential Z probe circuit on the main board (though noise concerns may make it better to keep off-board).

Definitely use a switch-mode regulator rather than a linear device for the 5V.

As I have said before, ideally the firmware should be re-written so that no floating-point calculations are used (they are unnecessary and in this product impede rather than enhance the required functionality), which would make a FPU unnecessary, but I understand that that would be a lot of work so a higher power CPU is probably the best way to go.

Other nice-to-have features that will not add to cost would be to position LEDs so that they can be seen with simple cutouts in the case (maybe along the edge of the PCB for example), or have an additional connector so that LEDs can be situated on a separate flying-lead like a PC motherboard. Either a connector for additional pushbuttons or matrix keypad could be useful if there are spare GPIO for future firmware that makes it easier to use the printer standalone, though you may feel that your LCD panel should be added by people requiring that functionality.

How about a beeper on-board?

Maybe a few extra buffered inputs (if GPIO is available) for possible future additional sensors - e.g. filament break/end/jam, move faults, smoke detector :-)

Dave
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 10:22AM
Dave, thanks for your feedback. My comments on your comments:

- The main problem with going to a full size USB connector is board space. Also I think the bigger connectors cost more. For the USB connector, I was planning to use the one I use the micro USB B connector that I use on the PanelDue. This is a pure SMD device, so no problem with failing to solder the mounting lugs, and it grips the plug much better than the one on the Duet (perhaps because it is a Micro B rather than a Micro A/B socket). It has 4 SMD mounting pads for the case. I might sacrifice one of my PanelDue prototypes to see how much force it takes to rip it off the board.

- Likewise a full size SD card socket would take up more board space. I am trying to make the board smaller than a Duet, so that it fits easily under the bed of a small delta printer. But I may review the SD card socket size, I agree it is rather fiddly.

- All the connectors except power, heaters and expansion will be keyed Molex KK ones. I was going to use chocolate-block connectors for the heaters and power. RRP now uses spade terminals for power on the Duet Shield, and it looks like the Duet 0.8 uses spade terminals for power too. What do you think of that option?

- Putting the differential IR stuff on the main board is not an option because too many wires would be needed to run to the sensor head. My mini differential IR board (see [miscsolutions.wordpress.com]) is about to go into mass production, and that would be the natural choice of IR sensor I think, given that the main board will be doing the hot end fan control.

- The 5V regulator will be switch mode. There is no other option, given the amount of current needed by the WiFi module.

- Using a processor with FP support only adds about 25p to the cost, and comes with higher clock speed and more RAM as well.

- The beeper is a nice idea, but I think it will need to be an optional extra because of the cost.

- I'll see if I can position the LEDs along an edge of the board.

- For more than the most basic of user interfaces, I think PanelDue or similar would be the best choice. I want to get the price of PanelDue down, which will be possible soon because I am almost into the second batch. But the main board could in principle support a dumb 12864 display and rotary encoder, as most other printer electronics does.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 12:23PM
Hello,

what I am really missing is a way of updating the firmware via Ethernet (but that should be automatically included). WiFi is a good idea but you may consider also a LAN option. There are people out there who avoid WLAN for many reason, for example security reasons or even healthy reason. The Duet board is hard to get outside the UK. You can get it only at UK (shipping costs are luckily moderate) or at China like I ordered now. Ordering from China seems to be cheap at the first look but you have a very long shipping time and I do not know how much the customs will be exactly. So for me some kind of a high financial risk, but the shop offered also some other things I would like to try.
But the idea is really good. Believe me or not short time before your post I was thinking about using a Raspberry PI B2 or similiar as controller board. The advantege is that you can get it everywhere but it has no stepper motor drivers for example.
Some kind of a lighting output would be indeed nice that can be controlled by the controller for example that would be shut down during homing.
Second idea: The newer heatbed boards has an 24V option to heat faster and higher. As I watch my actual heatbed I always register that at some degrees it is turned on and off quickly so if you change the power supply to 24V. I am afraid that the regulation could be over-swing so a switching between 12V and 24V could be nice but this would indeed cost something. Maybe this is something that could be solved in the firmware so that you can use 24V only, but you should have an option to heat the bed with 24V.

Regards,

Sven


Slicer: Simplify3D 4.0; sometimes CraftWare 1.14 or Cura 2.7
Delta with Duet-WiFi, FW: 1.20.1RC2; mini-sensor board by dc42 for auto-leveling
Ormerod common modifications: Mini-sensor board by dc42, aluminum X-arm, 0.4 mm nozzle E3D like, 2nd fan, Z stepper nut M5 x 15, Herringbone gears, Z-axis bearing at top, spring loaded extruder with pneumatic fitting, Y belt axis tensioner
Ormerod 2: FW: 1.19-dc42 on Duet-WiFi. own build, modifications: GT2-belts, silicone heat-bed, different motors and so on. Printed parts: bed support, (PSU holder) and Y-feet.
Ormerod 1: FW: 1.15c-dc42 on 1k Duet-Board. Modifications: Aluminium bed-support, (nearly) all parts reprinted in PLA/ ABS, and so on.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 02:51PM
Hi Sven,

Thanks for your feedback.

Regarding updating via Ethernet, this could be done with the Duet already if the facility were added to RepRapFirmware. The procedure would be to write the new .bin file to the SD card, then have the firmware re-flash from that. It's not trivial to implement, but not too difficult either. There is a thread about it somewhere on this forum.

Regarding LAN, it's too expensive to put both WiFi and Ethernet on the board. WiFi is now the less expensive option, and I think it would suit most users better. That's why I have chosen WiFi. If you really want Ethernet instead, it should be possible to connect an RPi running Octoprint to the USB port.

The reason the Duet is hard to get outside the UK is that as far as I can tell, RepRapPro has made no attempt to find and appoint international distributors for it. I will actively seek distributors for the board in the USA, mainland Europe, and Australia.

The idea of a lighting output is interesting. My initial thought is that you could power the lighting from the hot end fan connection, as long as it doesn't take too much power (e.g. LED lighting). The hot end fan will be turned on whenever power is applied to any hot end or to the bed, or a hot end is above about 45C or the bed is above about 60C.

The Duet is already capable of operation with a supply voltage up to about 30V, and so is my design. To use a 24V bed, your hot end(s) and fan(s) need to be 24V too. For large beds, a mains-powered heater switched by an SSR (as I have on my delta) is a more practical solution. If you get a lot of overshoot in the bed temperature, this usually means that either the bed is overpowered or the thermistor does not respond very fast to changes in heater temperature. It's possible to run the bed in PID/PWM mode to counter overshoot.

When your Duet arrives from China, I suggest you check that the USB socket lugs are securely soldered on the top side of the board. The first boards shipped by Replikeo had them not soldered, just like the boards in early Ormerod kits.

Quote
Treito
Hello,

what I am really missing is a way of updating the firmware via Ethernet (but that should be automatically included). WiFi is a good idea but you may consider also a LAN option. There are people out there who avoid WLAN for many reason, for example security reasons or even healthy reason. The Duet board is hard to get outside the UK. You can get it only at UK (shipping costs are luckily moderate) or at China like I ordered now. Ordering from China seems to be cheap at the first look but you have a very long shipping time and I do not know how much the customs will be exactly. So for me some kind of a high financial risk, but the shop offered also some other things I would like to try.
But the idea is really good. Believe me or not short time before your post I was thinking about using a Raspberry PI B2 or similiar as controller board. The advantege is that you can get it everywhere but it has no stepper motor drivers for example.
Some kind of a lighting output would be indeed nice that can be controlled by the controller for example that would be shut down during homing.
Second idea: The newer heatbed boards has an 24V option to heat faster and higher. As I watch my actual heatbed I always register that at some degrees it is turned on and off quickly so if you change the power supply to 24V. I am afraid that the regulation could be over-swing so a switching between 12V and 24V could be nice but this would indeed cost something. Maybe this is something that could be solved in the firmware so that you can use 24V only, but you should have an option to heat the bed with 24V.

Regards,

Sven



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 03:44PM
Hey how do you know where I ordered my board? eye rolling smiley The great advantage is that the 5V power supply is included and it seems to be much cheaper. Hard to say until I got the bill from the customs. But I was not able to get a Duet Shield as well as the hobbit insert. I ordered both here at the shop. I will also have to check what kind of version I have (1k or 4k7) but BTT.

My printer is connected via WLAN as well as my Smartphone. My Router can use my smartphone even as telephone. I personally also prefer WLAN so you are independent and you can choose freely the place and you have not a cable crossing the floor. I was indeed thinking of using a RPi as interface but via WLAN and a 10" touch screen.

What would happens if you home during/ after heating? Especially using BuildTak I have sometime the problem that I have to near the head to the printer bed so starting a print, cancelling because the height is not height, rehoming and so on. As I alter my G31 command I prefer this solution over using G92 because I can rehome at every time without watching the height difference. But using the hotfan connection as switch would do the job I think.

At the moment I have no problem with the regulation but at some temperatures I can watch that the heater does not rest in one state for more than 10 seconds often less than 7. In theory with 24V you can divide this time by 2, practically I would guess something like 1.2 til 1.5. Luckily there is no mechanical relays to switch the heater on and off but the values could be indeed causing a problem. I will check this somehow later but using an electronic switch and 24V only for the bed. But it is good to know that only one supply would be enough and I ordered a 12V DC power supply instead of 24V DC at the beginning. Never mind.

And regarding the firmware update I know that there are possibilities out there but using an ARM it should be easier depending on how you design this. Do you want to run some kind of an available OS like Android or Debian or do you want to create a complete own OS to save resources? BTW I have read about Octoprint and Co because I was first thinking of buying a Prusa I3 from Replikeo and adding a RPi as Webserver and Gateway between Ethernet and USB but I gave up this idea and so I stayed with the Ormerod because the design is more attractive and you produced a milestone regarding the Firmware and the Web-interface.


Slicer: Simplify3D 4.0; sometimes CraftWare 1.14 or Cura 2.7
Delta with Duet-WiFi, FW: 1.20.1RC2; mini-sensor board by dc42 for auto-leveling
Ormerod common modifications: Mini-sensor board by dc42, aluminum X-arm, 0.4 mm nozzle E3D like, 2nd fan, Z stepper nut M5 x 15, Herringbone gears, Z-axis bearing at top, spring loaded extruder with pneumatic fitting, Y belt axis tensioner
Ormerod 2: FW: 1.19-dc42 on Duet-WiFi. own build, modifications: GT2-belts, silicone heat-bed, different motors and so on. Printed parts: bed support, (PSU holder) and Y-feet.
Ormerod 1: FW: 1.15c-dc42 on 1k Duet-Board. Modifications: Aluminium bed-support, (nearly) all parts reprinted in PLA/ ABS, and so on.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 04:38PM
I like the addition of the WiFi - wired Ethernet would be fine as well.
Micro USB is fine if reasonably robust - I think most people will only use it for upgrading the firmware.
I would expect the SD card to mostly remain in place with file upload being from the web interface so micro SD is fine for me.
Molex KK connectors require a crimp tool (though these seem to be reasonably cheap) whereas IDC connectors can be fitted with a vice (though that means anything other than ribbon cable is fiddly) - whatever is chosen should be keyed.
Well worth the 25p to upgrade the CPU :-)
Lining the USB socket, SD card slot reset and flash buttons and status LEDs up along one edge would help with case design.
I'm quite happy using the web interface so not too bothered about rotary switches / led displays etc.
Good quality stepper drivers to help reduce standby and operating noise would be nice. I'm not sure what the state of the art is in small drivers but the difference between basic drivers and good ones on my CNC milling machine is quite dramatic.

Expansion - I think there's potential for using this as a controller for more than just repraps - already there's a laser cutter out there and it might be suitable for small milling machines so having the ability to use external stepper drivers and some extra GPIO for digital / PWM / analogue control as well as serial interfaces like I2C and possibly CAN bus would make the board more versatile and hopefully wouldn't add too much to the cost and size.

Looking forward to replacing the Melzi controller on my RRP Mendel :-)

Edited 2 time(s). Last edit at 06/25/2015 08:52AM by FatFreddie.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 24, 2015 06:50PM
Glad to hear of this project David. I think I already made the suggestion to add protection to the exposed inputs - a diode clamp e.g. BAV99 between inputs and rails via a (sacrificial) low-ohmic resistor or better still resettable fuse. Mostly thinking about analogue and endstops which as dmould said could be optos instead although diode clamp + R would be lower cost and ultimately less wreckable.

Do you think thermocouple amp(s) are out of the question? Thermistors are operating near their limits in the hot end at times.

Thinking about the multiple uses for some O/Ps like the Fan, the Duet has the corresponding indicator LED on the open-drain via 4K7. I always felt it should be on the previous stage as when off the drain is pulled up to the 12/24V supply rail which has been an issue for me.

Is the WiFi to be provided by anESP8266 module? They're incredibly cheap!

Hmm, CCD connector to stream video over network link for keeping a remote eye? (OK, probably not).


RS Components Reprap Ormerod No. 481
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 25, 2015 07:11AM
Pt100 could also be nice to read the temperature but in both cases the firmware has to be changed that you can change the type of readings. If I understood correctly the controller should be compatible with the Duet controller and that makes sense. But I would also refer to use some kind of other thermistors which are better available. It is hard to get these kind of thermistors.

Edited 1 time(s). Last edit at 06/25/2015 07:16AM by Treito.


Slicer: Simplify3D 4.0; sometimes CraftWare 1.14 or Cura 2.7
Delta with Duet-WiFi, FW: 1.20.1RC2; mini-sensor board by dc42 for auto-leveling
Ormerod common modifications: Mini-sensor board by dc42, aluminum X-arm, 0.4 mm nozzle E3D like, 2nd fan, Z stepper nut M5 x 15, Herringbone gears, Z-axis bearing at top, spring loaded extruder with pneumatic fitting, Y belt axis tensioner
Ormerod 2: FW: 1.19-dc42 on Duet-WiFi. own build, modifications: GT2-belts, silicone heat-bed, different motors and so on. Printed parts: bed support, (PSU holder) and Y-feet.
Ormerod 1: FW: 1.15c-dc42 on 1k Duet-Board. Modifications: Aluminium bed-support, (nearly) all parts reprinted in PLA/ ABS, and so on.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 25, 2015 08:04AM
Nice, I especially like the idea of using an embedded WiFi controller in combination with a more powerful processor. Which processor and WiFi chip do you indend to use?

Here are a few more ideas:

- Leave the possibility to attach heatsinks to the stepper drivers. I know the A4988 stepper drivers are rated up to 2A with proper cooling, but AFAIK this setting cannot be achieved with the current Duet layout. If possible, it would be good to be able to attach heatsinks to drive bigger stepper motors at higher currents.

- Although I guess this one is rather obvious, I suggest to make unused pins easily accessible via an additional pin headers. The great idea of RepRap hardware is the ability to expand the hardware depending on individual needs, so it would be nice to be able to implement new functionality on demand.

- It would be really cool to be able to detect missed steps, this way the firmware could stop prints automatically if e.g. the extruder drive gets jammed. I don't know if this is easy to implement, though.

- For USB it may be better to go with a Mini B socket instead of the micro USB one. I believe newer Duets will change it eventually, but you may want to consider this as well in your design process.

Spade connectors seem to be working well with my Ormerod 2, so I don't see any reason not to keep them in a new design. If I come up with more ideas, I'll share them here.

Btw, I'm in the process of reducing the memory usage of RepRapFirmware by reorganizing most of the output buffers, I hope I can free up a few more KBs this way.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 25, 2015 08:44AM
Regarding a beeper - a small beeper such as is fitted to many PC cases is well under £1. There are times when it can be handy to signal an operator (e.g. bed temperature reached, end of print, pause command in g-code etc.) Maybe have a buzzer pin header like PC motherboards have, so people who want can plug in a PC type beeper (you can get DC beepers, but more common are sounders that are crude speakers that thus need to be fed with a logic level audio frequency signal).

I am happier with spade connectors for the high current connections than I am with chocolate blocks. There is less chance of the connection loosening and becoming high resistance, and visual inspection is easier. There are also quite a few high current connectors available that are used in the automotive field and by electric R/C models, it might be worth browsing hobby and automotive sites for ideas. Bullet connectors are extremely cheap and the large ones will handle up to 40 amps - both male & female can be soldered to a board edge so they take less space than a spade connector. Edge connectors (with several tongues in parallel to get the current capacity) might also be an idea, and while gold plating is best to inhibit corrosion, tinned edge connectors are probably good enough for power.

Dave
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 25, 2015 05:20PM
I have to say I'm not a fan of spade connectors as they rely on passive mechanical force (springiness). After several disconnections the connection force is reduced and resistance goes up. A ring terminal and screw block as found on PSUs is hard to beat for cost and reliability.
Was this what you meant by chocolate block dc42?



RS Components Reprap Ormerod No. 481
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 01:00AM
What about supporting other stepper motors? There are stepper motors with 400 steps per turn for theoretically higher accuracy. I would like to test them later - maybe - but supporting would be nice.


Slicer: Simplify3D 4.0; sometimes CraftWare 1.14 or Cura 2.7
Delta with Duet-WiFi, FW: 1.20.1RC2; mini-sensor board by dc42 for auto-leveling
Ormerod common modifications: Mini-sensor board by dc42, aluminum X-arm, 0.4 mm nozzle E3D like, 2nd fan, Z stepper nut M5 x 15, Herringbone gears, Z-axis bearing at top, spring loaded extruder with pneumatic fitting, Y belt axis tensioner
Ormerod 2: FW: 1.19-dc42 on Duet-WiFi. own build, modifications: GT2-belts, silicone heat-bed, different motors and so on. Printed parts: bed support, (PSU holder) and Y-feet.
Ormerod 1: FW: 1.15c-dc42 on 1k Duet-Board. Modifications: Aluminium bed-support, (nearly) all parts reprinted in PLA/ ABS, and so on.
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 06:14AM
Thanks for the continuing feedback.

Regarding the use of screw terminals i.e. barrier strip, I have looked into this, and unfortunately even using them just for the power input and bed output would take up nearly double the space and increase the build cost by £1. If this were intended as an expensive high end board then I would do it, but as I am trying to keep the BOM cost lower than the Duet, it isn't really an option - unless someone can point me to a 20A or greater 4-way barrier strip costing well under £1 in qty 100+.

Regarding other stepper drivers, I am told that there are already some folks who don't use the internal stepper drivers on the Duet but connect external ones via the expansion connector. There is a new gcode being discussed to remap the axes and extruders on to different stepper driver channels, to make this possible to do without changing the firmware. On the new board I am considering adding a connector to break out the enable, step and direction signals feeding the internal drivers as well. This connector would not be populated by default, but could easily be added by a user with a soldering iron. I considered using DRV8825 drivers on board instead of A4982, but they cost too much more. Using drivers with greater than 16x microstepping probably won't significantly increase accuracy, but would make the motors quieter. A better way to increase accuracy is to use 0.9deg/step motors instead of 1.8deg/step.

Regarding the beeper, yes they cost well under £1, however when you are trying to achieve a BOM cost of under £30 then it is still a significant cost. If there is room on the PCB then I can include pads for one, and/or make the pins available on the expansion connector. But the other issue is that the beeper really needs to be driven by a pair of complementary PWM output pins as I do on PanelDue, and there may be no PWM channels left to drive it, depending on how many additional heaters I allow for on the expansion connector.

I am considering having more than one population option for the board, with items like the PS_ON output, beeper, possibly a thermocouple input, and possibly the 5th stepper driver as optional components.

Regarding USB, I think Mini USB is on the way out, having been superseded by Micro USB. As I said previously, I find the Micro USB B connector that I use on PanelDue grips the plug well, much better than the Micro USB A/B connector on the Duet. In time, Micro USB will itself be superseded by the reversible USB C connector, but these do not appear to be available yet.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 08:03AM
Quote
dc42
... the beeper really needs to be driven by a pair of complementary PWM output pins as I do on PanelDue, and there may be no PWM channels left to drive it ...
I often drive beepers from a single GPIO output - if it has enough drive to power an LED it can drive a small speaker/beeper. It is loud enough driven with 5V or 3.3V single-ended at its resonant frequency, and does not need to be double-ended or fancy PWM (though you can of course double the peak-to-peak drive voltage by using two outputs). The inductance of a moving coil or diaphragm type beeper is small enough that a protection diode should not be necessary, but inclusion of a diode would increase the cost by less than 1p so I usually stick one on anyway. As far as driving it is concerned, for AC beepers I usually do that in software by spawning a small routine that toggles the output at a suitable rate for the duration called for - usually by hooking an existing timer interrupt and toggling every N timer cycles unless I have a spare timer to dedicate to the beeper. I figure that the beeper will only be needed to sound when the print is stopped, so CPU cycle overheads are not a consideration at that stage even if they are at all significant (which they should not be as the routine will add only 5 or 6 instruction cycles every timer interrupt for the duration of the beep). But if that is not possible, then just a logic output to drive a DC beeper would be OK.

Dave
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 08:12AM
Quote
dc42
Regarding the use of screw terminals i.e. barrier strip, I have looked into this, and unfortunately even using them just for the power input and bed output would take up nearly double the space and increase the build cost by £1. If this were intended as an expensive high end board then I would do it, but as I am trying to keep the BOM cost lower than the Duet, it isn't really an option - unless someone can point me to a 20A or greater 4-way barrier strip costing well under £1 in qty 100+.

I see your problem. MOLEX 38720-7504 is the obvious choice but costly. As usual, CPC (owned by Farnell) have lower prices than Farnell for even lower price breaks: £1.01 for 25 off is better but not well under £1
[cpc.farnell.com]

CamdenBoss have a cheaper equivalent (~75p):
[www.anglia-live.com]

Fairly long lead-time there though. Not showing up much elsewhere.

But considering the end-user experiences we've seen so far, the PSU and bed connections have proved to be the most scary due to the heavy currents involved heating up the wrong parts! Difficult choice.


RS Components Reprap Ormerod No. 481
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 09:44AM
Dave, I hadn't considered moving coil beepers, only piezo ones. The piezo one I use on the PanelDue doesn't produce enough volume with single-ended 3.3V drive, which is why I use complementary PWM outputs to drive it - not a big deal because the mcu provides them for all 4 PWM channels anyway.

Radian, thanks for those links. I wasn't aware that CPC Farnell was cheaper than Farnell, although I generally buy connectors from Rapid because they are cheaper there than Farnell. I had a go at Farnell a few months back about their prices for Molex KK connectors, and then they reduced them! Could have been coincidence though.

I did a search for Camden Boss parts on their web site, but although they have a 4-way 1-row PCB mount barrier strip at a more reasonable price (see [www.distrelec.ch]), their entire range of barrier strips seems to be rated at only 15A, which isn't enough for the power connector, unless I double up power connections as RAMPS does.

I'm still considering spade terminals for the power and heated bed connections. These don't get disconnected that often, and if they lose their grip you can always cut the old receptacle off the cable and crimp a new one on, assuming you can afford to shorten the cable by a few mm.

I've not had a big problem with the screw terminal block on my Duets. My main gripe is that the power input terminal block won't accept a large enough cable, which I was hoping to solve by using a block rated at 24A.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 10:22AM
I don't use piezo beepers for the very reason that they need more drive voltage (and for most a pretty exact frequency). The moving coil sounders are no more expensive and you can get very small ones (probably the same drive units as used in earbud headphones). They have the advantage of being able to reproduce a range of sounds (even voice & music), though they are loudest when driven at resonance. You can increase the volume considerably (and audio range) by putting a horn over the opening - this could be designed as part of a printed enclosure.

Dave
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 11:12AM
I've seen anything from 15A to 25A rating for very similar looking barrier strips depending on the standard (EN, UL, CE etc.) I think more depends on the quality of the connection being made irrespective of the part soldered to the PCB - as you know tinned copper wire will fail, bare wire is hopeless, bootlace ferrules improve things considerably but a crimp in a properly sized receptacle is best. A screw-down ring (or fork) is most reliable but a push-on spade receptacle is probably OK if, as you say, the user is prepared to replace it if it works lose in time.

For many of the other non-standard additions suggested, the sort of user that would be interested is the sort who would probably be happy to solder their own parts on the PCB so I think it would be a great way to keep the cost down without compromising the flexibility.


RS Components Reprap Ormerod No. 481
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 12:30PM
I found a barrier strip that may do the job and costs a bit less: [www.digikey.co.uk].

I am still planning to use screw terminals for the hot end connections, and Molex KK for everything else. I guess another possibility is to use doubled-up Molex KK for the hot end heaters, as the Duet does. But I like having the 12V connections different from the rest, to make is less easy to mix them up.

Edited 1 time(s). Last edit at 06/26/2015 12:33PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Designing a new controller board to run RepRapFirmware: feedback wanted!
June 26, 2015 01:00PM
Quote
dc42
I found a barrier strip that may do the job and costs a bit less: [www.digikey.co.uk].

I am still planning to use screw terminals for the hot end connections, and Molex KK for everything else. I guess another possibility is to use doubled-up Molex KK for the hot end heaters, as the Duet does. But I like having the 12V connections different from the rest, to make is less easy to mix them up.

You can also "game" the price breaks by doubling the volume using two separate 2-way barriers (and make the layout more logical) e.g.
[www.digikey.co.uk]

While I agree that it's nice to have different connectors for different voltages the steppers kind of spoil things for you so maybe 0.1" headers aren't out of the question for hot ends... which leads me to the suggestion that the board be as "plug and play" as possible with the Duet for people swapping over to it. Keeping the hot end wiring connector the same would be helpful in this regard.


RS Components Reprap Ormerod No. 481
+1 for a beeper. The option to add yourself after is fine.

in fact feature requests that would push the BOM over the top but not take much to implement in the board layout should be considered as user optional add-ons and included. Most people looking to buy this sort of product will have basic soldering skills and wouldn't mind spending a few quid upgrading a cheap board to their own requirements.

How about making the power/heater pads in such a way that the user can add the connector of their choice? Not sure how feasible that is.

Love the idea of on board WiFi, having a separate wifi bridge on my duet is another layer of complication and potential failure. Option for an external antenna maybe? If your gonna mount in the base of a kossel there will be a lot of metal around the board.

I'd like to see 0.1" headers kept, Its very easy to source and make your own looms and connectors being the same as widely used in RC and GPIOs on many microcontrollers.

+1 for full sized SD, even with the web interface i seem to pull the card often. Its not a show stopper though.

Not hardware related but I'd love to see SD card firmware updates to be added to the code as it would make these boards so much more user friendly for everyone.

As usual, great work!

Edited 1 time(s). Last edit at 07/03/2015 05:57AM by wayno complaino.
Sorry, only registered users may post in this forum.

Click here to login