Welcome! Log In Create A New Profile

Advanced

Gen7-ARM released!

Posted by Traumflug 
Gen7-ARM released!
February 18, 2016 05:09PM
Surprise, surprise, venerable Generation 7 Electronics made it to a new release: [reprap-diy.com]



New Features:

- ATmega replaced by NXP LPC1114FN28, a 32-bit CPU.

- Signal voltage to 3.3 volts.

- Three jumpers for microstepping selection instead of two.

- External reset / emergency stop connector.

- Connector for always on fans (5/7/12 volts).

- Extension Board connector replaced by two SPI connectors.

- Thermistor resistors 1K/4K7 instead of 4K7/4K7 for better accuracy.

- MOSFET driver and voltage regulator to adjust for 3.3 V signal voltage.

Other than that it's the same robust, DIY-able design. I mill boards regularly on a Mantis Electron, works out nicely. Etching boards on the kitchen table should be doable as well, no track narrower than 30 mil. Some even build Gen7's on prototyping board.



... and it's three times faster than the Gen7 before. Enjoy!


Generation 7 Electronics Teacup Firmware RepRap DIY
     

Re: Gen7-ARM released!
February 18, 2016 07:26PM
Nice to see homemade electronics entering the modern age. But IMO there is one huge feature missing: software adjustable stepper motor currents. So many users have trouble getting the currents right or blowing up the drivers when they twiddle pots with a voltmeter attached. Software adjustable current is IMO a must-have feature on any new electronics design.

I appreciate that you want to maintain compatibility with existing drivers, but that shouldn't stop you. When I was designing my low-cost 32-bit board (which I canned when the MKS Sbase and Replikeo Duet became available at $50), I designed it to have a 9th pin on one end of the input side of each driver socket. That pin was fed by a DAC output of the mcu. The idea was that you could use either standard drivers, or standard drivers modified by removing the pot and connecting the 9th pin to where the slider was, or the new drivers that I was going to have manufactured. It's a shame you didn't choose this route.

What firmware do you plan to run on this board?

Edited 2 time(s). Last edit at 02/18/2016 07:32PM 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: Gen7-ARM released!
February 19, 2016 01:29AM
This looks great! I would definitely like to try my hand at milling a board. Is there a guide and/or advice on how to prepare the files for milling and drilling?
Re: Gen7-ARM released!
February 19, 2016 04:06AM
Quote
dc42
What firmware do you plan to run on this board?

Teacup features this board already.

Also this board is really cheap. You can order the LPC1114 at about 3€.

Also this board uses an standard ATX and the firmware support this. I think for users who never handles 230V this is much more important. You have never issues to connect it the wrong way. And you also don't have any open 230V cables.

It's a shame that other boards don't go this way. winking smiley

Edited 3 time(s). Last edit at 02/19/2016 04:09AM by Wurstnase.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Gen7-ARM released!
February 19, 2016 05:13AM
Quote
dc42
software adjustable stepper motor currents.

There are certainly a number of things I'd consider if there were extra pins. Software adjustable stepper current is one of the last things I'd spend pins and parts (money) on. These trimpots have to be adjusted only once in the lifetime of a printer and it's a matter of a minute to do so.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 19, 2016 05:23AM
Quote
MattMoses
I would definitely like to try my hand at milling a board. Is there a guide and/or advice on how to prepare the files for milling and drilling?

For now there are these instructions: [reprap.org] Design files are here: [github.com] (note the 'release documents' folder).

For myself I make G-code for drilling directly in gEDA/pcb. Isolation milling is done with Visolate. Both are not exactly polished applications, but with (sometimes) some trying and some tweaking (e.g. adding a start sequence in a text editor) it always worked out.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 19, 2016 07:27AM
Quote
Traumflug
Quote
dc42
software adjustable stepper motor currents.

There are certainly a number of things I'd consider if there were extra pins. Software adjustable stepper current is one of the last things I'd spend pins and parts (money) on. These trimpots have to be adjusted only once in the lifetime of a printer and it's a matter of a minute to do so.

Only if you know what you are doing - and the evidence from these forums is that many people don't. And I disagree with your "once in a lifetime" premise - I have adjusted my extruder motor current several times to get the best performance from my extruder (enough torque to push the filament through the nozzle, but not enough to grind the filament when the nozzle is obstructed).

Quote
Traumflug
Also this board uses an standard ATX and the firmware support this. I think for users who never handles 230V this is much more important. You have never issues to connect it the wrong way. And you also don't have any open 230V cables.

It's a shame that other boards don't go this way. winking smiley

I'll have to disagree with you there. Using an ATX PSU does indeed simplify the wiring, but IMO it has serious disadvantages:

1. The regulation on the 12V rail is typically poor. You will find reports on these forums of the PSU cutting out, and of banding caused by the bed heater cycling on/off and causing the 12V rail to vary, which causes the banding - probably due to the extruder temperature varying, because the PID can't react instantaneously to a change in supply voltage.

2. Sadly, many PCB bed heaters are under-powered and can't heat the bed to ABS temperatures. Turning up the supply voltage is a workaround, but you can't do that with an ATX supply.

RepRapPro used ATX PSUs for exactly the reason you state on the Ormerod 1. But after a lot of complaints from users and returned PSUs, they switched to LED/CCTV-style PSUs for the Ormerod 2.



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: Gen7-ARM released!
February 19, 2016 08:29AM
Quote
dc42
Only if you know what you are doing - and the evidence from these forums is that many people don't.

If you don't know what you're doing when turning a trimpot, learn it, or don't build a printer. Much less one with a DIY'd controller.

Part of the problem is certainly that there are people who trumpet complicated software and hardware as a solution. Even with a software control you still have to know what "current" means, so such a control solves nothing.

Quote
dc42
1. The regulation on the 12V rail is typically poor.

Doesn't really matter. Heaters are slow anyways, so fluctuations should be barely noticed. I even removed a smoothing cap from the heater rail for this reason.

@dc42, why did you stop your own board efforts? You had the chance to do everything so much better. Now you're back to lamenting about board concepts which have been proven to work well for many years. Disappointing.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 19, 2016 03:18PM
Quote
Traumflug
If you don't know what you're doing when turning a trimpot, learn it, or don't build a printer.

That may have been an acceptable attitude in the early days of RepRaps, but things have moved on a lot. IMO that attitude is unacceptable now.

Quote
Traumflug
Much less one with a DIY'd controller.

You have a fair point there.

Quote
Traumflug
Part of the problem is certainly that there are people who trumpet complicated software and hardware as a solution. Even with a software control you still have to know what "current" means, so such a control solves nothing.

I generally respect what you say but I really think you are talking rubbish now. RepRaps only exist because of complicated software. To an electronics engineer, the hardware to do digital stepper motor current control is simpler than using pots. Most people have some idea of what current means. Far fewer people have the ability to identify the sense resistors on their drivers, decode the print on them to determine the resistance, apply a formula to work out the relationship between the voltage on the put wiper and the motor current, and adjust the pot to the correct voltage without shorting it out in the process (almost nobody has a ceramic screwdriver).

Quote
Traumflug
Quote
dc42
1. The regulation on the 12V rail is typically poor.

Doesn't really matter. Heaters are slow anyways, so fluctuations should be barely noticed. I even removed a smoothing cap from the heater rail for this reason.

I have an indication from a usually-reliable source that it has been shown to matter. I'll try to get more information.

Quote
Traumflug
@dc42, why did you stop your own board efforts? You had the chance to do everything so much better. Now you're back to lamenting about board concepts which have been proven to work well for many years. Disappointing.

I'm lamenting about board concepts that have been shown to be problematic, by the large numbers of posts on these forums from users having trouble with them.

The board whose design I got most of the way towards completing was intended to be a basic 32-bit board, with a BOM cost less than Arduino + RAMPS - so that when mass produced, it could cost the same as they do or less. It had a ARM Cortex M3 processor, 5 plug-in drivers (with optional software control of motor current), 2 hot end heater outputs, 1 heated bed output, 1 PWM fan output, a few spare pins for expansion, a native USB port and a SD card socket. I calculated that if I committed to 500, I could afford to sell it at about $65 + tax retail, and I hoped that I would be able to manufactured and sell several batches before the Chinese clones appeared. But then the MKS SBASE and the Replikeo Duet appeared, both at about $60, based on established designs, and both with additional features such as an Ethernet port. So my board would have been uncompetitive compared to those. Maybe if I had an established relationship with a Chinese assembly company and committed to much higher volumes, I could have brought the price down to $45 or even $40. But is made no sense for me to take that financial risk.

Arduino/RAMPS is showing its age and I believe the RepRap community deserves something better, even if it's not as sophisticated as Duet or Smoothieboard. But I have a living to earn, so I can't afford to do the necessary work without a good expectation of recompense for the costs I incur and at least some of my time.



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: Gen7-ARM released!
February 19, 2016 05:20PM
Quote
dc42
To an electronics engineer, the hardware to do digital stepper motor current control is simpler than using pots.

OK. If you show me on how to do such software controls without using additional pins (there are none left) and with these popular Pololus (this is what people can get everywhere), I'll implement it.

Quote
dc42
Most people have some idea of what current means. Far fewer people have the ability to identify the sense resistors on their drivers, decode the print on them to determine the resistance, apply a formula to work out the relationship between the voltage on the put wiper and the motor current, and adjust the pot to the correct voltage without shorting it out in the process (almost nobody has a ceramic screwdriver).

I have no ceramic screwdriver either and it always worked easily. There is no need to read the print on the resistor.

But you have a valid point between the lines. People are confused. Pololus with 0.05, 0.1, 0.2 ohms sense resistors, manufacturers not telling which one is used. Steppers with 1, 2, 4, 6 ohms static resistance. Many "instructions" on the net which are partly contradicting. People who think one needs exactly this or that voltage, because it happens to work for them. People trying to fix flaws in their firmware by messing with stepper current. A huge mess.

How about fixing this lack of knowledge? Adjusting the trimpot is really easy. Crank it up until the motor starts to stutter (due to overheating), then about 1/8 of a turn back. Then you have the maximum possible current, which is always as safe as the hardware allows.

Quote
dc42
I'm lamenting about board concepts that have been shown to be problematic, by the large numbers of posts on these forums from users having trouble with them.

Gen7s work so well that they're almost unknown. This silly effect that the best designs get forgotten, because there are no problems, so nobody asks or writes about them. I'm again and again surprised where Gen7s appear by accident and all of them just work.

Quote
dc42
[...] But is made no sense for me to take that financial risk.

Arduino/RAMPS is showing its age and I believe the RepRap community deserves something better, even if it's not as sophisticated as Duet or Smoothieboard. But I have a living to earn, so I can't afford to do the necessary work without a good expectation of recompense for the costs I incur and at least some of my time.

Either do your own board or stop lamenting about other efforts. It's pretty rude to yell at projects which differ from your ideals while you sit on your ass without doing any actual work, much less a working design. I'm not your servant, not your financer and much less your wishlist fulfiller.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 19, 2016 07:22PM
Quote
Traumflug
Quote
dc42
To an electronics engineer, the hardware to do digital stepper motor current control is simpler than using pots.

OK. If you show me on how to do such software controls without using additional pins (there are none left) and with these popular Pololus (this is what people can get everywhere), I'll implement it.

If you have run out of pins, and you don't already have an I2C bus that you can tap into, then I guess you have a problem adding any extra functionality.

Quote
Traumflug
There is no need to read the print on the resistor.

Sadly, that's not true in my experience. Some drivers use 0.1 ohm resistors, others use 0.05 ohm resistors. Pololu and T3P3 tell you what value resistors they use (if you know where to look for it), but most users seem to buy cheap stepstick drivers via ebay, and the vendors rarely say what value resistors they use. I recently tried to help a user on these forums whose machine had problems extruding, possibly due to the motor current being too low. He was using Vref of around 0.4V with motors rated at 1.3A, afair. Without knowing whether his drivers had 0.1 or 0.05 ohm resistors, I could not recommend that he turn the pot up to Vref=0.9V because that might have solved his problem if he had 0.1 ohm resistors, but wrecked his motor if he had 0.05 ohm resistors. He was unable to read the resistor marking, so I couldn't help him.

I already mentioned that I recently helped a user set up a delta printer that was supposedly assembled by a professional builder of 3D printers, which had the motor currents set up incorrectly (I suspect they had not been set up at all). On that machine, three of the drivers turned out to have 0.05 ohm resistors, and the extruder had 0.1 ohm. I was able to work that out, but my user wasn't.

Quote
Traumflug
...
How about fixing this lack of knowledge? Adjusting the trimpot is really easy. Crank it up until the motor starts to stutter (due to overheating), then about 1/8 of a turn back. Then you have the maximum possible current, which is always as safe as the hardware allows.

It's the driver that is overheating when the motor starts to stutter. In many cases it will be the driver that overheats before the motor, but that's not always the case. So this approach risks burning out the motors. Another risk is that the printer will work for a time, then when it gets hotter the drivers will overheat again and the print will be ruined. There's no good substitute for knowing what the motor currents are set to.

Quote
Traumflug
Gen7s work so well that they're almost unknown. This silly effect that the best designs get forgotten, because there are no problems, so nobody asks or writes about them. I'm again and again surprised where Gen7s appear by accident and all of them just work.

I suspect the real reason is that Gen7's are only made by people who have a good knowledge of electronics, so they have enough knowledge to deal with any electronics issues they encounter.

Quote
dc42
[...] But is made no sense for me to take that financial risk.

Arduino/RAMPS is showing its age and I believe the RepRap community deserves something better, even if it's not as sophisticated as Duet or Smoothieboard. But I have a living to earn, so I can't afford to do the necessary work without a good expectation of recompense for the costs I incur and at least some of my time.

Quote
Traumflug
Either do your own board or stop lamenting about other efforts. It's pretty rude to yell at projects which differ from your ideals while you sit on your ass without doing any actual work, much less a working design. I'm not your servant, not your financer and much less your wishlist fulfiller.

I'm sorry if you think I am yelling or rude, that wasn't my intention.

I did a lot of work on my design, including all the component selection, the schematic capture except for the expansion connectors, and about 75% of the PCB layout. I'll gladly publish it for someone else to finish. If there is enough interest then I will even port RepRapFirmware to it.

Seriously, I think we should be advancing the state of RepRap, not protecting the status quo. You have a valid point in saying that users who make your boards are likely to have less trouble adjusting trimpots than the average 3D printer builder. But in the wider market, I feel that when the same problems come up over and over again on these forums - such as difficulty setting the right motor currents, overheating 5V regulators, and slow/difficult delta calibration procedures - and there are well-known technical solutions to these problems, those of us who develop RepRap hardware and/or software should provide these solutions, and encourage the community and the kit manufacturers to adopt them. RepRappers face enough problems in getting good prints without making them also suffer old problems for which there are well-known and low- or zero-cost solutions.



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: Gen7-ARM released!
February 19, 2016 08:46PM
PS - I've taken a look at your schematic, and spotted a few things that might be of interest:

- The resistor from +12V to the gate of be bed heater mosfet has a rather high value (10K), which will lead to quite a slow turn-on of the bed heater mosfet. Have you measured the turn-on-time? It's not likely to be a problem if the bed heater uses bang-bang control, but the mosfet might get rather hot if PID control is used and the PWM frequency isn't very low.

- You have sensibly included a driver for the bed heater mosfet, but you are taking a risk by driving the IRLB8743 extruder heater mosfet with only 3.3V gate drive when the datasheet only gives a guaranteed specification at 4.5V, and the gate threshold voltage may be 0.55V higher than the value shown in the typical characteristics. It should be OK in the vast majority of cases according to the typical data, but a small proportion of builders might find that the mosfet overheats.

- Choosing a 1K series resistor for the extruder thermocouple may not be such a good idea. Looking at section 10.3 and Fig. 17 of the LPC1114 datasheet, at the high end of the ADC range you may have an offset error of up to 3.5 lsb plus a gain error of 0.6% = 6 lsb. Total about 9 lsb. This means that on some LPC1114 chips, you might not be able to tell the difference between a disconnected 100K thermistor and a thermistor at 22C or lower. This is an extreme and probably unlikely case. More likely is that some builders will find that the system thinks that a thermistor at e.g. 10C is disconnected. There was a similar problem on some early Duet boards, which is why the resistor was reverted to 4.7K on later boards.

- You said you have run out of pins, but you could save several by using a common DIR pin for all the stepper drivers, and setting it in software just before sending each step pulse - unless Teacup uses whole-port writes to generate step pulses to multiple drives simultaneously.

- The design appears to have the same USB-over-serial scheme as the atmega2560-based boards. So I guess you expect most of your users to add an SD card socket in order to provide the gcode data fast enough. I guess you couldn't find an ARM microcontroller with a built-in USB port in a DIP package.



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: Gen7-ARM released!
February 20, 2016 06:04AM
Quote
dc42
If you have run out of pins [...]

So you have no solution either.

Quote
dc42
Sadly, that's not true in my experience. Some drivers use 0.1 ohm resistors, others use 0.05 ohm resistors.

As said, this doesn't matter, as long as one follows the simple rules given. All your writing just confirms me, "experts" make everything much more complicated than it actually is. Procedures as simple as touching driver & motor with fingers are sufficient to achieve a working setup.

Quote
dc42
I did a lot of work on my design, including all the component selection, the schematic capture except for the expansion connectors, and about 75% of the PCB layout. I'll gladly publish it for someone else to finish.

Doing the design is just 10% of the work required. You have to stress test the design, you have to fix these issues you never thought of, you have to hunt for a good price for each of the components, you have to build up a distribution channel, you have to get the PCBs and boards manufactured somehow, you have to write instructions for every detail, you have to take pictures for every detail. Still you have an advantage: user dc42 won't chime in claiming that everything is wrong.

Quote
dc42
- The resistor from +12V to the gate of be bed heater mosfet has a rather high value (10K), which will lead to quite a slow turn-on of the bed heater mosfet.

This 10K resistor isn't between driver MOSFET and high current MOSFET, it's a pullup to 12V to get voltages to a known state. Maybe it's even obsolete, but I'm not sure about this.

Quote
dc42
you are taking a risk by driving the IRLB8743 extruder heater mosfet with only 3.3V gate drive when the datasheet only gives a guaranteed specification at 4.5V

If you look a bit further down in the data sheet you can see specification diagrams (fig. 1, fig. 2) for 3.0 volts, too. It's "only" 15 amps, much less than the capability at higher gate voltages, still easily sufficient for an extruder heater, which runs somewhere between 3 and 5 amps. In practice the MOSFET doesn't even get warm to the touch at 3 amps, much less hot.

Quote
dc42
- Choosing a 1K series resistor for the extruder thermocouple may not be such a good idea. [...]

Accuracy at room temperature doesn't really matter. What matters is accuracy around 200 °C and above. A 1K comparison resistor increases accuracy at these high temperatures drastically. If the firmware does stupid things at room temperature it's a firmware bug.

Quote
dc42
you could save several by using a common DIR pin for all the stepper drivers, and setting it in software just before sending each step pulse

With such a strategy you quickly run into timing issues. You have to wait a moment after setting Dir before operating Step. And then wait again until you can unset Dir. Quite complicated for a firmware and bye bye high step rates. A good idea for low performance printers, though.

Quote
dc42
- The design appears to have the same USB-over-serial scheme as the atmega2560-based boards. So I guess you expect most of your users to add an SD card socket in order to provide the gcode data fast enough.

The MCP2200 is good for up to 1'000'000 baud, which means 100'000 bytes/second or 5000 lines of G-code/second. Teacups quite fast G-code parser maxes out at about 1000 lines/second, which is still far beyond any reasonable G-code. And yes, you can also connect an SD card.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 20, 2016 01:46PM
Quote
Traumflug
Surprise, surprise, venerable Generation 7 Electronics made it to a new release: [reprap-diy.com]

... and it's three times faster than the Gen7 before. Enjoy!

Very fresh and very good news! Amazing!
Re: Gen7-ARM released!
February 20, 2016 07:48PM
dc42, show us your board, not for the posible profit you could get, but for the reprap movement, as you said, to advance... and stop trying to pretend traumflug work its a bad done work... he at least, had opened all his work winking smiley what have you showed us till today? some remarcable work?
Re: Gen7-ARM released!
February 20, 2016 07:53PM
Traumflug, you have evidently failed to grasp the points I attempted to explain, and like many other amateur designers you obviously don't understand the difference between typical and guaranteed semiconductor characteristics, nor the limitations of relying on application level flow control when using a general purpose operating system (limitations which many users of atmega2560 based electronics have encountered). But that's your loss, and as you dont want my input, I won't post in this thread any more.



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: Gen7-ARM released!
February 20, 2016 07:57PM
rum rum rum... keep complainyng... and go to hide in moms dress... its better to hide than to confront what you know you cant deny... confused smiley
Re: Gen7-ARM released!
February 21, 2016 05:27AM
Re: Gen7-ARM released!
February 21, 2016 10:49AM
Quote
Iceflow
dc42, show us your board, not for the posible profit you could get, but for the reprap movement, as you said, to advance...

Since you asked: [github.com] has the schematic, partly-complete PCB layout, BOM and costings.

Edited 3 time(s). Last edit at 02/21/2016 10:57AM 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: Gen7-ARM released!
February 22, 2016 06:57AM
It's sad to see capable people get so easily adversarial and this is how the reprap stalls advancing. Because having it all on the shoulders of a few is detrimental. You smart people should somehow get along, consider the criticism and at least have a "what if he's somewhat right?" attitude.

The communication over a faceless medium like the internet is always dehumanizing people and the reactions are more virulent and easy to get out of hand than if those people would be face to face. I sometimes wish the reprap forum would be a building somewhere where we can meet with a whiteboard in front of us).

So, like in a relathionship, hard feelings aside, we are smart people, could we put our pride aside and work on improving something? Smart people are known to be very aware of their smartness and tend to disregard others more often... until you realize you are doing that. Then one's smartness should help him overcome that attitude.

My 2c, I don't mean any disrespect. On the contrary, I have a great deal of respect for both of you. And I believe the reprap movement is greater than any of us so let's think of that when we discuss here.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Gen7-ARM released!
February 22, 2016 05:42PM
Quote
realthor
You smart people should somehow get along, consider the criticism and at least have a "what if he's somewhat right?" attitude.

I certainly look at his arguments. But doing so I see most of them simply not doable with a DIY-able design. What @dc42 did above was debating a Gen7 as if it were a Duet. Entirely different designs, entirely different design goals. If you show me how to manufacture a Duet PCB on a RepRap printer and how to solder the result on a kitchen table I'll take all this back and return to the drawing board.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 23, 2016 03:37AM
The Mosfet-part could be discussed. For the Mosfet without the driver you could use a IRF3708 with specificated 2,5V [www.irf.com]
However, this is a DIY and you could buy 2 or 3 Mosfets and use one which will work.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Gen7-ARM released!
February 23, 2016 03:38AM
Traumflug. I'm not suggesting that you should be trying to emulate the Duet - if I were then I would be arguing for Ethernet and a lot more expansion capacity. I am suggesting two separate things:

1. I said I think it's a shame you didn't consider making software adjustable motor current an option. Modifying standard stepper drivers to make this possible is not difficult, if you buy the drivers with the header pins not soldered on. When I have more time and a decent internet connection, I will post a few pictures showing how to do this. For driving the current control pins, there are plenty of DACs in PDIP packages available. You could choose an 8-channel DAC such as TLC5628CN to allow independent control of all the motors, or a dual channel DAC to allow control of the XYZ motor currents and separate control of the extruder motor currents. Perhaps you might consider doing this for the next version of your design? You would need to free up one mcu pin to drive the CS pin on the DAC. A user who didn't want this option would not need to fit the DAC.

I haven't completely given up the idea of producing a design for a low-cost board with plug-in drivers, so if you do follow this up then I hope we can agree on a common position for the additional pin on the driver modules.

2. I said I can see some definite and possible design issues that make it likely that a proportion of boards made will not work properly. Whether it is 1 board in 10 or 1 in 1000 is impossible to say. Two of these issues are fixable by a resistor change, so at least for home-made boards they won't be difficult for builders to fix if/when they occur.



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: Gen7-ARM released!
February 23, 2016 05:49AM
Quote
dc42
1. I said I think it's a shame

The only shame here is that you do "suggestions" but can't come up with solutions. That's like shaming people which can't walk at 40 mph.

I'll stop this discussion now. Congratulations for successfully turning down a proven design with FUD.

Edited 1 time(s). Last edit at 02/23/2016 06:24AM by Traumflug.


Generation 7 Electronics Teacup Firmware RepRap DIY
     
Re: Gen7-ARM released!
February 23, 2016 06:44AM
Quote
Traumflug
The only shame here is that you do "suggestions" but can't come up with solutions.

I am wary of automatically providing solutions when people haven't asked for them, because they may feel patronised, especially if they are perfectly capable of coming up with the solutions themselves. But since you have now criticised me for not providing solutions, here they are.

1. To provide an option for software-settable stepper motor current (this is the same solution I already outlined):

- Modify the driver modules by adding a 9th pin on the input side (with effort and luck we can make this a new standard)
- Add a DAC in a PDIP package to the board (I suggested a particular part number in my previous post)
- To drive the CS pin of the DAC, free up a pin by using a common DIR pin for the stepper drivers. For A4982 and A4988 drivers, the DIR setup time needed is 200ns, which is less than the pulse interval time of 1us. For DRV8825 it's 650ns and 1.9us. So this need not impact the maximum step frequency.
- A few details remain, such as what to use as the DAC voltage reference, which affects whether you need to put a voltage divider on the output of each DAC to get the correct Vref voltage range.

2. To avoid the risk of a thermistor at room temperature reading the same as a disconnected thermistor, don't use a series resistor as low as 1K. You will need to decide on the lowest temperature at which you want to guarantee that a disconnected thermistor reads differently from a connected thermistor, then use the ADC characteristics in the mpu datasheet to work out the minimum value you can use for the series resistor that takes account of tolerances in the ADC. Note that the ADC tolerances for ARM chips seem to be a lot worse than they are for AVR chips.

3. To avoid the risk of the bed mosfet getting hot if it is driven by PWM, use an oscilloscope to measure the fall time of the bed output voltage with the existing 10K resistor. From this, you can estimate the switching power dissipation at a given PWM frequency. Decide on the maximum PWM frequency you want to support and how much switching power dissipation to allow at that frequency. Then reduce the value of the 10K resistor to reduce the switching time so as to bring the switching power dissipation down to that level. My gut feeling is that around 2K would be good. If/when you do a new version of the board, you could use a different gate drive circuit (see next solution).

4. Eliminating the risk of the hot end heater mosfet getting too hot when you combine a mosfet with excessive (but within limits) Rds(on) @ Vgs=3.3V is more difficult, because the datasheet only includes typical characteristics @ Vgs=3.3V, not worst-case characteristics. However, a comparison of the typical characteristics of the IRLB3034pbf and the IRLB8743pbf suggests that the risk will be lower if you use the IRLB3034pbf. If/when you revise the board design, I suggest you use a 74HCT series logic gate powered from +5V to drive both the bed mosfet and the hot end heater mosfet. See the schematic for my (incomplete) design that I linked to a couple of posts ago. The 180 ohm gate series resistor that I used in that design is about right for the SMD mosfets that I used, but may need adjusting to get a more optimal balance between power dissipation and EMI generation with your IRLB8743 mosfets.

Edited 2 time(s). Last edit at 02/23/2016 07:00AM 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: Gen7-ARM released!
February 23, 2016 07:13AM
1. Does Pololu-Stepper has a Pin for current-adjustment?
2. Should the disconnected temperature be at 20°C?


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Gen7-ARM released!
February 23, 2016 08:07AM
Quote
Wurstnase
1. Does Pololu-Stepper has a Pin for current-adjustment?

The chip does, but it on Pololu modules it is connected to a pot. I am suggesting connecting it to a 9th pin on the input side of the module instead. The electronics will have the 9-pin connector, so it will accept both traditional Pololu modules with pots, and modified Pololu modules with the 9th pin.

There is at least one Pololu-style driver module available that has an option to fit an extra pin in between the existing two rows for motor current control. The problem with that is that it increases assembly costs too much, especially if you are having the boards assembled in the West.

Quote
Wurstnase
2. Should the disconnected temperature be at 20°C?

I think it has to be lower. In the early days of the Ormerod (when the Duet used 1K series resistors) there were multiple reports on the Ormerod forum of users complaining that at low ambient temperatures, they couldn't use the printer, because the hot end thermistor read disconnected so the firmware refused to heat the hot end. The workaround was to heat the hot end with a hair dryer until the thermistor no longer read disconnected. I guess you could have the firmware allow heating for a few seconds even when the thermistor reads disconnected instead. But in any case, users don't like to see their hot ends reading -5C when know the temperature is about 20C, even though it doesn't really matter as long as the temperature is accurate at extrusion temperatures.



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: Gen7-ARM released!
February 23, 2016 09:47AM
Quote
dc42
Quote
Wurstnase
1. Does Pololu-Stepper has a Pin for current-adjustment?
The chip does, but it on Pololu modules it is connected to a pot. I am suggesting connecting it to a 9th pin on the input side of the module instead. The electronics will have the 9-pin connector, so it will accept both traditional Pololu modules with pots, and modified Pololu modules with the 9th pin.

I have seen drivers with an extra pin on DfRobot A4988 stepsticks and always wondered what is that extra pin. Maybe it's the extra control you are referring to because I know that the DreamMaker Overlord uses digital control for voltage in their firmware (one very annoying think as long as the firmware didn't allow for user input/modification).




RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Re: Gen7-ARM released!
February 23, 2016 02:15PM
The cool stuff on standard Pololus is, there are a lot of different. DRV8825, A4988, RAPS128, TMC2100 to count the popular ones. I've never missed firmware current control, but I'm really happy to simple change the drivers. Got my first RAMPS some Years ago and started with A4988, then someone invented the TMC2100. Hell, they are quiet! I couldn't replace it on a soldered board without some solder-skills and loosing that current-feature.

The temp stuff can be handled easily. When we have a bad ARM-ADC take it. Temps can be checked also when ADC is showing too high temperatures. Most thermistors have a range of 5%. At 250° they show us 270°. But hey, we can print with'em.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Gen7-ARM released!
February 23, 2016 03:55PM
Quote
Wurstnase
The cool stuff on standard Pololus is, there are a lot of different. DRV8825, A4988, RAPS128, TMC2100 to count the popular ones.

That's why I suggested (and designed) a main board that can take both standard Pololus AND modified boards with the 9th pin on one side.

Quote
Wurstnase
I've never missed firmware current control

What you never had, you never miss. It's evident from posts in other forum sections that novices with little electronics knowledge benefit from software-settable motor currents. Less important for veterans in the field who have learned to live with the pots, and for novices to 3D printing who have a reasonable knowledge of electronics already.

Quote
Wurstnase
The temp stuff can be handled easily. When we have a bad ARM-ADC take it. Temps can be checked also when ADC is showing too high temperatures. Most thermistors have a range of 5%. At 250° they show us 270°. But hey, we can print with'em.

I don't know about Teacup, but I think most firmwares refuse to heat the hot end if the thermistor appears to be disconnected, for obvious safety reasons. Users get annoyed if they can't use their printers because the firmware says the thermistor is disconnected when it isn't. Btw a 5% error in the thermistor resistance causes a temperature reading error of about 3C, not 20C. It's the thermistor B value that needs to be controlled closely to avoid large reading errors at high temperatures.

Edited 2 time(s). Last edit at 02/23/2016 04:11PM 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].
Sorry, only registered users may post in this forum.

Click here to login