In this post, I want to describe the artificial flower that
I have been working on. The artificial flower is a feeding device for honey
bees built with open source hardware and software. That’s why it costs only 50 Euros
or less to make it. If you are new to electronics, this is not something to
start with. Have a look here.
The machine is complex and more importantly, it is not jet working as well as
it should. If, on the other hand, you have some deeper knowledge about this
topic you might be kind enough to suggest some improvements. That is, if you
can stand the awful drawing and my unstructured rambling somehow.
Please watch the video before you continue reading; the
video will give you a general understanding of the device and its purpose.
Let’s start with the power supply. The whole system is fed
by a 9 Volt block battery. Since all parts here operate at 5 Volts, I
introduced a voltage regulator (LM317)
and attached resistors accordingly (1
kOhm between the adjust pin and ground and a 240 Ohm resistor between the output
and the adjust pin. 1.25 V * (1000 Ohm / 240 Ohm + 1) = 5.2 V) Now I can
attach 5 V to all the parts and ground as well. The FDC1004 works only at 3.3
V, it works now with 5 V but you should use a level shifter. The upper Arduino,
an Arduino mini, is connected to the motor control board, which is controlling
the stepper motor. The motor is moving the liquid in the tube (blue line). As
to how to connect such a stepper motor and its controller programmatically see:
github.com/tardate/X113647Stepper.
There you will find the code to accomplish this. I used a peristaltic pump
without the DC motor that is usually supplied and attached the stepper motor to
the pump. DC motors are way too fast and hard to control with the precision I
needed here.
Next I needed to measure the liquid level in the tubing, so
I used a dual operational amplifier (opamp)
configured as a voltage follower. That means the negative input of the amp is
directly tied to the output. The positive input goes to the tube and is
connected to ground with a 100 Mega Ohm resistor. The positive input wire is
soldered to a thin silver wire which is pierced into the tube. I have two such
assembles; one is positioned at the very end of the tube so it is connected to
water only when the tube is full of liquid. The other assemble is located 2 cm
back in the tube. I let it sit there in case the bee is not supposed to reach the
sucrose solution. The third wire, the red wire pierced into the tube, is
connected to 5 V. As long as the measuring wires are dry, the opamp is sensing
ground (0 V) over the 100 Mega Ohm resistor. When the liquid is connecting the
5 V wire with one or two of the sensing wires, the resistance of the liquid is
a lot lower (5 Mega Ohm). Most current will flow over the liquid and the opamp and
will output 5V to an analog Pin of the Arduino. This worked surprisingly well
until recently. About 10 days ago, the device stopped working. I guess some
oxidation on the silver wires or water crawled along the outside of the tubing.
This part of the device will get some revision. There are two different colored
LEDs on the Arduino to supply a light stimulus that the bee should learn while
being rewarded with reachable sucrose solution. At this point, however, I only
use one color.
The other Arduino, an Arduino mini pro, is keeping track of
what is happening. By the way, there is no specific reason why I used those
models, you can use whatever. Probably one Arduino overall would work just fine.
It was just easier this way. The second Arduino is connected to a FDC1004
breakout board. It can measure capacitance. The capacitance of air is different
than the capacitance of a bee, because of the water in its body. I connected a
copper sheet to the input of the FDC1004 that is lying right under the feeding
tube. The signal from the amplified sensing wire and one LED lead are connected
to this Arduino. There is a SD card breakout board attached to the Arduino which
is used to write data to a file. The file on the SD card is a CSV file (Comma-separated
values) containing the voltage values from the most outer wire, the state of
the LED and the capacitance in front of the tube opening as indicator for bee
attendance. All these values are
recorded ten times per second.
On a PC, I can look into the data to see if the LED was
blinking as it should and the sucrose solution was present when appropriate. I
would see if something failed or if the bees drank all the solution over a
weekend. I can also see, if the attendance of bees gets more correlated with
the availability of the reward over time.
This project contains pretty much every aspect of
electronics in my experience, analog signals, digital signals, I²C, SPI, data
storage, moving parts and liquids. It is also important to be efficient with
the power supply; the motor is draining the battery quite badly. To avoid this,
I usually attach a bench top power supply as long as there is no electrophysiology
experiment running. Only in case of a running experiment, I would use a
battery. The reason for this is that the whole casing of the artificial flower
is metal. The noise, mainly by the motors, should not reach the very sensitive
electrode of a recorded bee. The signals going into the extracellular amplifier
have a very high impedance of around 10 MOhm at 1 kHz. We want to measure micro
volts, the electromagnetic fields of the motors get easily picked up by the one
meter long electrode that is attached to the bee.
Here a description of the related experiments, back then
without the artificial flower: sciencedirect.com/science/article/pii/S0165027015002502
Code running the artificial Flower: github.com/Neuro3en/ArtificialFlower
If you have
any suggestions, questions or other feedback please let me know!
List of parts:
Comments
Post a Comment