"

Neuron Simulation

Experimental Apparatus

Experimentalists directly probe neurons with nanoamps of current using special tools to avoid destroying the cells. We won’t be probing neurons directly since those types of experiments require a great deal of experience and care to get useful results. Instead, we’ll be using the circuits shown in Figure 2, an Arduino microcontroller to supply the voltages, and an oscilloscope to record the train of voltage spikes that result when the pre-defined threshold voltage is reached. Consider consulting Reference [2], or even just Wikipedia for a great reference for understanding how resistors, potentiometers, capacitors, or MOSFETs work. The circuit you will build and use for the Leaky Integrate-and-Fire model is shown in Figure 3.

image

Figure 3: The Arduino Circuit used to simulate a neuron firing. An ammeter that measures the current injected into the RC circuit is missing from the figure. Note that pin 8 should go to the channel of the oscilloscope that is used as the triggering channel (usually channel 2) and the ammeter should be added in series between the injection current (pin 7) and the resistors that control the magnitude of the injection current.

4.1 Current Injection

The digital output pins on the Arduino provide 5 V at a maximum output current of 20 mA. The lower the resistance of the load, the higher the current, which brings us to the most important warning: DO NOT CONNECT THE ARDUINO OUTPUT DIRECTLY TO GROUND! A wire has functionally zero resistance, and the digital output will be damaged beyond repair if its output is shorted to ground. The output from pin 7 in Figure 3 goes to the input resistor, then to the rest of the circuit. In this setup, even if the neuron circuit has a short, the current draw from the Arduino will never be more than about 20 mA. Use an ammeter between the input resistor and the RC circuit to measure the input current injection. Note that the current will change when the ‘neuron’ discharges.

4.2 Discharge at Vth

The voltage across the resistor in the RC circuit is measured using one of the analog input pins of the Arduino. A predefined voltage threshold is set in the Arduino program, at which point we would like the capacitor to discharge, thereby simulating the firing of the neuron. We accomplish this discharge using a MOSFET. A MOSFET (shown in Figure 4) is a piece of layered semiconductor that acts as a voltagecontrolled switch. When voltage is applied to the gate, charge carriers can flow between the source and drain. So when the voltage reaches V_{th}, the Arduino sends 5 V to the MOSFET gate, which closes the switches shown in Figure 2, allowing the capacitor to discharge through the resistorimage

Figure 4: This experiment uses the IRL510 – an N-channel enhancement MOSFET. The drain-source channel is inherently resistive. When a positive voltage is applied to the gate, electrons migrate into the channel and allow current to flow. Figure from Reference [2].

4.3 Oscilloscope

The Arduino microcontroller is great at running looped programs and sending and controlling outputs and timings and lots of tasks along those lines. The Arduino is absolutely horrendous at displaying data; it just wasn’t designed to do that. To measure our discharge spikes and the timings between them, we’ll use an oscilloscope. Probes are attached across the resistor in the RC circuit and connected to channel 1 on the scope, while the ‘trigger’ pin is connected to channel 2 and acts as a trigger signal for the scope to start taking data. The scope has measurement functions to measure the frequency/period of the input signal, or one can use the cursors to manually measure the time between voltage spikes.

License

Physics 2P03 Lab Manual Copyright © by Daniel FitzGreen. All Rights Reserved.

Share This Book