Artificial Flower

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

  1. Hi, Thank you for sharing beautiful blog on <a href="https://elvy.com/collections/botanicals/Botanicals" title="Artificial flowers>Artificial flowers</a></b>. Elvy Lifestyle offers luxury home decor accessories to make your home more elegant and beautiful.

    ReplyDelete

Post a Comment