Welcome! Log In Create A New Profile


1 Axis Plankton Feeder

Posted by herring_fish 
1 Axis Plankton Feeder
March 16, 2011 06:47PM

I am a design engineer by trade but I know nothing about electronics. I have read a lot about programming off and on but have not done enough of it to be able to author programs. I can however cobble and edit if I am pointed in the right direction.

I want to build an automatic Plankton feeder system. I'm building a bank of 6 foot tall, 6 inch diameter clear plastic tubes that hold the cultures in water. I need to add liquid food and change-out water through 1/4 inch tubes via two peristaltic pumps. I looked at switching with solenoids but the small volumes of viscous feed would end up getting clogged. Instead, I thought that I would build a simple, light weight gantry like slide system with a toothed belt. I can easily design that part but the electronics, software, firmware and the like is all new to me.

Since different cultures of plankton would have different requirements. I would want to be able to set and reset the times and amounts that the different culture towers get supplied. Of course the number and location of the towers might change as well.

This made me think that I needed an external text file of some sort, to feed a flexible generic program that could be edited and loaded for recompiling when changes are needed.

This led me to think that I should use a piece of G-code software like RepRap. I used to use G-codes so I think that I could right it manually since there would just be goto(s), speeds(optional), turn on and offs and DoLoops for only six stations. Of course there would also be start times to contend with.

Finally, I don't know if I should learn stepper or servo code. I played with both in the last couple of days but since this is just a part of this reefer's hobby, I don't want to invest the time learning one only to change later. I have a step motor but motors are cheap. I have heard that sevos need less consideration for recalibration but that may not be important for what I am doing or anything that I might want to do.

I listed what hardware that I have in my signature section and will try to keep it updated as I go.

I need help in my planning before I come back with tons of detail questions. Please give me your suggestions and point me where I might best find appropriate code that I can use. One thing that I have already found out is that most documentation makes the assumption that I am not an untrained newbie but I am.

I tried to simply download and fire up the main RepRap softward but I couldn't find the right files to get it to run. I had no problem downloading files but finding the right file is an issue for me.

Is there a straight forward, succinct way to get started anywhere with no unexplained acronyms?

I have an Arduino Mega 2560. I also have a (pH) BNC Sensor Shield,an I2C/SPI/Onewire Shield(I beleive that it an on board clock.)and a Breakout Board Shield, all three are from Andrew Oke. Additionally, I have a Stepping Motor but could certainly buy a Servo Motor instead if it is any better for what I want to do, short term/long term. Trying to read the lable, I guess that it is: Type 57BYG. 12 V/Phase, 20ohm, 0-6A/Phase 1.8 Deg/Step, No. 04052 with a K179 Stepper Driver board attached. I can't confirm that the board is fully funtional
Re: 1 Axis Plankton Feeder
March 16, 2011 07:33PM
You might be better off talking to a local HackerSpace, and seeing if they can help you with this. Most hackerspaces love projects like this.

Most stepper controllers simply take a few pins to drive. Enable (ie: act on the signals you're sending it), Direction (logic high goes one direction, logic low goes the other), and Step (a pulse on this actually moves the motor a single step or microstep, if you've got microstepping turned on, in the appropriate direction.

Options you have for sensing you're over each tube:
1. Micro/Opto switch per tube, plus one on each end (to avoid going over the ends). Simply keep moving till your switch is hit. If you hit an end switch, either stop or reverse direction.
2. Just use a Min and Max end-stop (using Micro/Opto switches). Have a stop at each end. Count the number of steps from one end to the other. You can then divide this by the number of places you want to stop and go to the locations simply through programming.

Notes (numbers match each of the above):
1. You can use a servo instead of a stepper with this arrangement. If you add more stops, you will need to add a micro/opto switch per stop. You'll most likely need one IO line per switch (should not be a problem on a mega, but depends how many tubes you end up having).
2. You need a stepper with this arrangement. Adding more stops is just a matter of dividing your full travel length by the new number of steps. This leaves you with more IO lines to control other things (eg: light, heat, pumps, etc).

General notes:
I'd make sure you add a specific stopping position for when you're not feeding tubes. If the feeder leaks at all, you'll end up with one tube getting too much. Put an empty container under it so you don't end up with a mess. grinning smiley
You could use Micro or Opto switches (or mix and match). Microswitches should be fine, and can be relatively cheap. Opto switches should never wear out, but can be affected by ambient light (particularly infra-red).
If you use opto switches and are worried about ambient light, you can paint the interrupter flags with matte kettle black paint (which absorbs infra-red). This will help stop light reflecting off them into the Opto sensor.
Re: 1 Axis Plankton Feeder
March 16, 2011 08:28PM
Steppers sound pretty ideal for this setup - just one opto or mechanical limit switch at one end to establish the starting point, and you're good to go - you can calculate your steps/m without having the max endstop pretty easily. Servos are a bit more complicated, in my opinion, unless you buy something ready to go. As long as the loads are light compared to your stepper torque, you shouldn't loose any steps as long as the power is on.

You could probably use the RepRap firmware with the serial monitor in the Arduino software (make sure it's a recent version with CR/LF turned on) to just send single gcodes for testing and whatnot, but you'll probably want to start editing the firmware once you get going.

For starters though, if you just hooked up your stepper driver as say the X axis, a simple command like G1 X100 F100 would move your head 100 mm along the X axis at 100 mm/min; could be useful as a first test. You can ignore the rest of the firmware stuff until you need it. Don't bother with the Reprap host software yet - it's mostly about generating Gcodes for building objects; if you just want to send pre-built G-code just use some sort of serial sending utility, like gcdump or send.py. Much simpler.

Where are you located? Sounds like an interesting aquarium! As a mechanical engineer myself, I'm a big fan of the Arduino platform - it's great for non EE's who just want to make something work without a lot of fuss. Plus, you can almost always find some example code somewhere that does almost what you want to do, making things a lot easier. Enjoy!

Re: 1 Axis Plankton Feeder
March 16, 2011 09:30PM
You might be better off talking to a local HackerSpace, and seeing if they can help you with this. Most hackerspaces love projects like this.

No worries, at some point we'll move the thread to the "what would you like to print?" forum. grinning smiley

-Sebastien, RepRap.org library gnome.

Remember, you're all RepRap developers (once you've joined the super-secret developer mailing list), and the wiki, RepRap.org, [reprap.org] is for everyone and everything! grinning smiley
Re: 1 Axis Plankton Feeder
March 16, 2011 09:58PM
Thanks Cefiar, Wade and SebastienBailard. I live in Winston-Salem NC. Is HackerSpace my only best hope for finding local help? I am 72 miles from the closest group but if I can get help there, I will make the drive.

Apparently, I have a good bit more research to do. Of course I didn't expect anything less but it looks like if I find some help, I can get there from here.

Yes, I have been into Reef tanks since the early 90s. I try to be on the cutting edge and this is a new frontier for the hobby. I had several articles publish when I built my last tank and I'm sure that people will like to read about this ….if I haven't bitten off more than I can chew.

Anyone that wants to see what I did and what I am doing now with photo-realistic renderings can go to my website:

Thanks again

Edited 2 time(s). Last edit at 03/16/2011 10:01PM by herring_fish.
Re: 1 Axis Plankton Feeder
March 21, 2011 04:52PM
You should ask for help on one of the aquaria boards. As I recall, there's tons of people into the reef hobby with SW or electronics backgrounds, any of which can probably help you just as well as anyone here can, but with an advantage of an understanding and interest in the mechanical and plankton culture issues you may run into. Some of the more mechnically minded ones may also be knowledgable with designing mechanical systems for that environment (salt spray/creep/corrosion, oh what fun smiling smiley ).

If you really want to do the control electronics yourself, might I suggest you prototype using a full computer? This can save the learning curve of using a microcontroller -- nothing you can't master, just eliminates more learning curve and allows you to get to the interesting culture management stuff faster. For a stepper controller, consider the EasyDriver board. It is an open source, off the shelf stepper motor controller board that can be easily adapted to plug into a standard solderless breadboard. Drive it from a parallel port using whatever language you're most comfortable with. Use some off the shelf relay driver boards or simple breadboardable circuits for turning the pumps on and off as needed. That EasyDriver board is available off the shelf from SparkFun and others. Relay driver boards and circuits should be easy to find -- folks have been doing that kinds of stuff since personal computers existed. You should be able to find examples for controlling parallel ports with whatever language you decide to use. Climb the other learning curves as desired/needed to get it running on your final envisioned setup.
Sorry, only registered users may post in this forum.

Click here to login