This dual-force cell monitor and reward dispenser is used to run rodent operant behavior in which animals learn to work for rewards.
x-zip-compressed - 3.58 kB - 01/15/2019 at 19:22
MPEG-4 Video - 771.98 kB - 01/15/2019 at 19:22
We order two parts from the Lee Company - the solenoid valve (LHDB0342115H LEE HDI SOV, PI-2P-3.3V-SI), and the manifold it sits in (LFMX0524000A MANIFOLD-1X HDI-PI-2 PORT).
We've found that force cells can be finicky little guys - they can drift, false trigger, and become very unstable. Mounting them firmly helps with some of this. To this end, we've strengthened the 3D printed housing, bolted the PCB firmly to the housing, and included magnetic mounts to attach it to a 2qt deli container that we're using as a chamber. It's working really well!
Using the new PCBs, we're now able to deliver ~40 uL of 5% sucrose in a trial-based design. During a trial period, a tone plays. If, during this period, the active lever is pressed hard enough to break (a user-defined) criteria, a reward is dispensed. If the active lever is pressed not during the trial period, or the inactive lever is pressed, no reward is dispensed. BNC cables transmit continuous analog data for each lever, as well as trial-duration and reward-dispensed digital signals. We designed a removable cover for easy access to the PCB and force cells/amps. Now, on to multiple-subject behavioral testing!
We had a board fabricated to make things even easier to assemble. Modifications here include moving pins around to make connections more convenient, and including a beeper for auditory feedback. We also had a trace of some of the first data recorded with FORCE silkscreened on the back :)
I measured power consumption of various components of FORCE, and found that with everything on, FORCE consumes ~57mA of current:
When the solenoid is triggered this jumps to 200-300mA, but this is for very brief periods (~50ms). So if we estimate and average of ~60mA of current, this means that the large 3 cell batteries (6600mAh) we've been using would provide about 100 hours of continuous operation. Not bad! The breakdown was:
Important to note, at the moment no power saving approaches are being used. A simple approach that would save ~30% of the consumed power is to shut off the screen when the levers are not being pressed. A more drastic measure would be to sleep the M4 processor and wake it up with a proximity sensor that detects when the mouse is near the device. This approach would likely extend the battery life to >2 weeks.
The problem with the first PCB was that the ground pin on one of the force cell amps wasn't connected! It was on an island of copper, and thereby didn't connect up with the ground plane. I re-oriented the force cell amps and everything is working now!
Next step is to integrate 3.3V solenoid control for dispensing liquids, using a circuit we've previously built:
And then spin a nice purple board!
The circuit on the proto-board is working but it is time consuming to build and leaves open the potential for human error in wiring. So we decided it was time for a PCB! We're using the OtherMill Pro to mill these. The first attempt looks great but unfortunately it doesn't work :(
I'm checking the wiring but good news is that we got one failed PCB design out of the way - probably only 1 or 2 more attempts until this works :)
We've got the force cells and screen working, and we've coding behavioral programs onto the device. We are interested in a task where the mouse has to exert more and more effort (force) to trigger a reward. This device will be used to ask whether obesity reduces the effort mice are willing to make to obtain rewards.
Almost ready to test with mice!
Bridget created the first prototype from multiple Arduinos and two force levers. It looked like this:
It looked much nicer from the mouse's point of view:
However, we wanted to shrink it down and make it more reliable. We managed to run everything on one Adafruit M4 feather, which is reading both force levers, outputting two 12bit force readings in real-time via the two onboard DACs, and also displaying the data on a TFT display - all running on a battery :) Here's a shot of the output of the two channels going to an oscilloscope:
Here's the most recent prototype, showing output to the display.
Currently ARROW continuously monitors (displayed on the LED screen of an Adafruit Mini TFT with Joystick Featherwing) and outputs (via BNC) force cell readings on the active (reward-dispensing) and inactive (non-reward-dispensing) force cells. We are in the process of adding pre-programmed fixed and progressive ratio behavioral paradigms; stay tuned!