Showing posts with label hack. Show all posts
Showing posts with label hack. Show all posts

Thursday, September 6, 2012

Fixing Bronkhorst MFC

One of our Bronkhorst MFCs burned out from a user error: a short circuit on the input voltage.  We were building an interface for talking to this MFC and had an inadvertent short.  After this point the MFC became totally dead (no LED lights).  We contacted Bronkhorst tech support, but repairing a broken MFC bascially costs the same as getting a new one.  However, tech support did help us locate a likely culprit for the malfunction.  Given that the problem was a short circuit, we expected that some component regulating voltage on the main board of the MFC was burned out.  There are two voltage regulators on board the MFC we have and using an Ohmmeter, we determined the burnt one.  Here is the fix:

MFC Model: IQF-200C-AAD-00-V-A
Problem: Power surge due to short circuit
Damaged Component: Linear Technology LT1933, 600 mA, 500kHz Step-Down Switching Regulator
3.3V step down converter/regulator.  This IC chip takes in a wide input voltage 3.6-36V and converts it to a regulated 3.3V output for powering the onboard controller of the MFC.  This controller is the brains of the MFC.
Solution: Replace damaged component (Newark part number: 61M3374).

Here is where this chip lives on the MFC main board:

Sunday, June 17, 2012

Fake Neuron in Arduino

I am getting ready to go ahead with electrophysiology experiments recording from the olfactory bulb.  To test my acquisition equipment and software, I created a little Arduino program that simulates a simple neuron with firing rate driven by "sniffing".  The neuron generates Poisson action potentials with the rate parameter governed by a sinusoid (sniffing).

The shield has an LED that indicates the sniffing and a speaker that indicates the spiking.  Here is the shield and program in action (turn volume to max to hear the neuron):


And here is the sketch:


/*
  Fake Neuron
  Yevgeniy Sirotin, 6/16/12
 */


#include <math.h>


unsigned long t0;
unsigned long t;
unsigned long ti;


int ts;
float r;


void setup() {
    pinMode(9, OUTPUT); 
    pinMode(7, OUTPUT);
    t0 = millis();
    
    TCCR1B = 0x01;
    
    ti = 0;
    ts = 0;
}


void loop() {
    t = millis();
    
    r = 0.5 * (1.0 + sin( (float) ((t-t0) % 2000) * 2.0 * 3.14 * 1.0 / 1000));
    analogWrite(9, (int) (255.0 * r ));
       
    if (t>=ti)
    { 
      digitalWrite(7,HIGH);
      delay(1);
      digitalWrite(7,LOW);
      
      if (r<0.1) r = 0.1;
      ti = t + (unsigned long) (-1000.0 / (100 * r) * log(random(10000) / 10000.0 ));
      
   }      
}

Tuesday, March 20, 2012

Hacking Agama V-1325R IR Camera

As part of my research, I do experiments with rodents (rats).  I train rats to do a number of tasks that allow me to ask them how they perceive odors.  Rats like to work in the dark and I monitor them with an IR camera.  As a cheap IR camera, I bought an Agama V-135R cam with built-in IR LEDs.  However, one annoying thing about this camera is that the IR LEDs must be turned on via software and are programmed to shut off every 45 mins.  I just want them to be on all the time!  So I opened up the camera and found a way to keep those guys glowing!  The LEDs were wired as two garlands of 2 leds plus a 50 Ohm resistor.  This makes sense:

USB Vcc = +5VDC
IR LEDs drop = ~1.75 V Each
Leaving 1.5 V dropping over R=50 Ohms --> I = 30 mA

The two garlands go to ground through a transistor.  I simply shorted the transistor with a fine copper wire!

There are 4 LEDs on the Agama 1325R connected as two garlands.  They receive power from a 5V Regulator and go to ground through a transistor switch (right top).  I shorted this transistor with a fine copper wire.