1

Topic: Current-detecting controller board

Hey everyone,
I've designed a current-sensing controller board for my home-built filastruder knockoff. My extruder uses 12V cartridge heaters and a thermistor to control the heat. I realize that the filastruder uses a thermocouple and a 110V band heater, but I'm sure the circuit can be adapted. However, the key innovation is using an ACS715 chip to sense the amount of current going to the motor, which is controlled by an arduino.

What this means is that you can control the speed of the motor using the arduino, the current sensing can protect the extruder in case of a motor stall, and the system could shut itself off when the motor is freely spinning with nothing in the hopper.

I've attached the fritzing file that I'm using -- only the PCB view is valid. It only requires a single sided PCB, so it should be relatively easy to etch by yourself. It takes a 12V input, and has both a motor and a heater output. It can also control a low current (500mA max) fan. I'm still developing the firmware, and I plan to include a nice menu system to select presets for what kind of plastic you're extruding. I'm current etching V2 for myself, since V1 had some bugs. The BOM includes the following:

Arduino Pro Mini ($3 on ebay)
LCD1602 (also $3 on ebay)
Sparkfun rotary encoder
ACS715 hall effect current sensing chip
OPA344 opamp
2x IRLB8743 Mosfets
2n2222 NPN transistors

This is my first full scale PCB design project, so please let me know if there are any design issues you see. If there is interest, I could probably get a proper fab shop to make the PCBs and sell a few of these boards. Consider this a sneak preview -- this board will be much more functional and useful once the firmware is finished!

Post's attachments

PID_5Vreg.fzz 48.68 kb, 6 downloads since 2014-02-19 

You don't have the permssions to download the attachments of this post.

2 (edited by adrian 2014-02-19 07:45:09)

Re: Current-detecting controller board

Nice. You might want to have a read of the series of posts Ed Nisley did back in January building up his current sense setup.. some interesting considerations about the Hall Effect Sensor Tolerances, calibration, and quality of some ebay specials (although, I'm assuming you've got the one of the pololu breakout boards or similar... I'm a cheap ass though and have truckloads via AliExpress wink ).

http://softsolder.com/2013/08/16/hall-e … rst-light/ and there is 5 or 6 follow up posts working through his hall effect setup...  But theres a truckload of articles about it if you checkout hall effect sensor on ed's blog : https://www.google.com.au/search?q=hall … llofmolten

Some good info in Ed's blog about ensuring good calibration base etc due to differences in quality of the various sensors - the +/-1.5% claim is for genuine factory goods etc etc.. reality in the field is quite different if you have chips of questionable heritage smile I appreciate that the ACS715 is actually pretty good - but it pays to test the quality of your parts none the less with known good currents smile

Re using such as setup on >30V - its doable but just begging for misshaps. My suggestion would be to just run with an inductive sensor using a split torroid - ala 'current clamp'.... directly reading mains voltage is not to be taken lightly - the current clamp option lets you continue to drive the SSR but 'safely' read the current draw....

3

Re: Current-detecting controller board

Just noticed in your file - you dont have a regulator yet talk of running 12V - you dont want to put 12V into the arduino.. you should be running the digital and signalling side from 5V (and it wont need anywhere near those trace sizes) and then use the mosfets to switch the 12v...

You also dont want to run that Analog signal line to A2 - underneath the arduino - it'll cause noise. And you really shouldn't have power rails that near the ACS712 .

Just some thoughts for you...

4

Re: Current-detecting controller board

jamesshuang wrote:

I realize that the filastruder uses a 110V band heater

That is incorrect, it uses a 12v heater band.

5

Re: Current-detecting controller board

The filastruder motors are all 12V motors IIRC, so I believe sensing AC currents won't be a problem! Also, the only ebay specials in use are the arduino (very specified behavior, pretty obvious if that messes up) and the LCD. The ACS715 is from digikey, and the circuit is adapted from this sparkfun breakout board: https://www.sparkfun.com/products/8883. It uses an opamp and two trimpots to adjust the bias and gain from the ACS715. With V1 of the board, I accidentally designed it for the 712 which senses current both forwards and backwards. The 715 is tuned only forwards, so V2 fixes this bug. In theory, it should be able to detect up to 30A, but I wouldn't put that much current through the board!

6

Re: Current-detecting controller board

elmoret wrote:
jamesshuang wrote:

I realize that the filastruder uses a 110V band heater

That is incorrect, it uses a 12v heater band.

Oh, that's good news! I'll just have to adapt this circuit to use a thermocouple and there could be an integrated controller.

7

Re: Current-detecting controller board

adrian wrote:

Just noticed in your file - you dont have a regulator yet talk of running 12V - you dont want to put 12V into the arduino.. you should be running the digital and signalling side from 5V (and it wont need anywhere near those trace sizes) and then use the mosfets to switch the 12v...

You also dont want to run that Analog signal line to A2 - underneath the arduino - it'll cause noise. And you really shouldn't have power rails that near the ACS712 .

Just some thoughts for you...

There's an LM7805 at the bottom of the board, right underneath the arduino. It provides all the 5V for the logic side of the board. And you're right about the line to A2 -- I should really find the better spot. The thing is, I designed the circuit to use just a plain ACS712 without an opamp. But after calculating the gain from the ACS712, it wasn't enough without it to detect the lowest currents. Any recommendation on shielding? Or should I just try to move the opamp above the board? I'm considering switching over to all SMT since I found out drilling through holes is a pain in the ass, so it would certainly save on board space.