1 Axis Sliding Plankton Feeder

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 loops 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.

GCODE might be overkill if all you need is to operate one stepper motor. Stepper motors take lots of power when stationary (get hot) so you want to power them down between uses - I presume feeding is a low-duty cycle activity. You need some limit switches to prevent damage and callibrate position, and a stepper driver with an enable control and the rest is probably fairly simple coding.

As you 're building the whole thing anyway, why not go the easy way?

You add at each stop position at a tube a contact (reed, optical, mechanical, it doesn't matter) and wire those contacts to digital input ports. Then a motor where you can just control the direction. Turn on the motor in the right direction - wait for correct contact to close - feed plankton - repeat. The program for this is quite simple and a very good beginner project.

You can use any DC motor with a simple H-Bridge to make it turn both ways. The H-Bridge can even be something mechanical with two control lines (forward - backwards). Speed is regulated via hardware either by the gears or the current.

If you have lots of tubes (> 10) you might put a little more intelligence into the detection at which you just arrived.