Go Down

Topic: Require the programming of an Arduino Uno for a circuit which maintains current (Read 3455 times) previous topic - next topic

rellimxela

Hey everyone, I require a programmer to program my arduino uno for me, I have a basic understanding of programming in another language but just don't have the time to learn and build this circuit before my project documentation is due (Im not getting assessed on the programming but need a working product.) It will probably take someone who knows how to do it around 10 mins ? I am happy with the general circuit diagram it is purely the programming I require.

Background on the project:

On a boat when you submerge two dissimilar metals into an electrolyte and electrically bond them a current will flow which causes galvanic corrosion. If the current is to high, hydrogen bubbles form under the paint of the boat, if it is too low, your sacrificial Zinc or Magnesium anode is not providing sufficient protection to your propeller or other metals. With time the surface area of the anode decreases - increasing the resistance of the electrolyte and decreasing the current flow.

The project I am working on will measure the natural current flowing (every ten or so mins) and react by doing the following.

* The current is to high
If the current is to high it will use a Mosfet in series as a potentiometer to add resistance

* The current is to low
It will saturate the Mosfet (0.0017Ohms resistance) so that the natural current has the best chance at flowing.

* The current is still to low
It will open circuit the Mosfet (to redirect current flow) and Inject an artificial voltage from another source which will be controlled by the Arduino Uno to try and match the measured value to the "float". An LED will also light up to warn that it has moved into an "active mode".

* The injected voltage meets the "maximum inject threshold"
If it still cannot meet the required "float" voltage (determined by the potential divider circuit) and it hits the "maximum inject threshold" The circuit will alarm to warn that the circuit cannot provide any more external voltage and the boat is not protected any more.

On the attached circuit diagram the natural galvanic circuit is highlighted in Pink. The instrumentation amplifier will measure a potential drop over the resistor which will be proportionate to the current flowing in the circuit. This voltage drop is amplified and is compared against the "float" voltage set by the potential divider circuit. It controls the Mosfet to either add or remove resistance, or it open circuits the mosfet and controls the injected voltage with another pinout.

The reason a Mosfet was picked is due to the low resistance. The natural voltage supplied by the two metals is extremely low (0.7Volts) so It couldn't afford a 0.7Volt depletion layer drop inherit with transistors.

Another consideration was the propellor is earthed to the chasis of the boat so I have to use an isolated supply when injecting an artificial current into the galvanic circuit.

I have the circuit built on multisim and it seems to work but I will gladly take any advice on the circuit design.

I have no idea how to program the arduino, from what I hear it is fairly straight foward but I really wouldnt know. I have added the flow diagram as a .PDF so hopefully it opens for you

Also more thought has gone into the Injected voltage line it just kind of made it all look quite messy so I have left the detail out

Thank you

Alex

polymorph

I see the thread has moved here, so I'll repost my response here, too:

Where is the Common connection shared between the Arduino and the boat?

What does that strange symbol for the MOSFET signify?

How much current are you expecting?

Paul__B is right, it will take far too long for the Arduino to respond. I'd build an analog feedback circuit, and use the Arduino to decide if the passive circuit is enough or if it should switch in an extra power source.

BTW, if you -don't- use a darlington pair, the saturation voltage of a bipolar power transistor can be quite low, on the order of 10s of mV.
Steve Greenfield AE7HD
Nick Gammon on multitasking Arduinos:
http://gammon.com.au/blink
http://gammon.com.au/serial
http://gammon.com.au/interrupts

Go Up