...

Hall Effect Sensors


Wheel Sensors from Robomower RL500:

These sensors were taken out of a RL500. Scraping off the epoxy from the face of the sensor chip showed a mark that said "N132". Did a search, found this datasheet, and guessing these are latching hall effect sensors.

Connected the white 3-pin male headers (looking from the top, with the locking tab on the left) as follows:
  • top to 5V
  • middle to Vout
  • bottom to GND

On exposing to a magnet's north and south poles alternately, Vout was switching and latching between 1mV and approx 0.7V, when driven from the Arduino 5V. But was able to see swings from 1mV to 1.7V when connected to an external 5V supply that was capable of supplying at 2.5A, so not quite sure what is going on. Maybe it's a linear sensor


US1881 Melexis Latching Hall Effect Sensors:

These are Latching Hall Effect Sensors (from Sparkfun) that when triggered the output will be equal to the supply voltage (3.5 to 24V) and unlatched will output GND. "Latching" in this case means that the sensor will trigger, say on a North pole, and stay triggered even when the magnet is removed, until it senses a magnet of the opposite pole.

Be careful using very strong magnets, they might cause the latching action to get stuck.
Datasheets recommends using capacitors, might consider using caps if the sensor seems to be triggering more than once each time it should.

Sample code to interface with an Arduino, here just reading the raw values. In my setup, the baseline reading was around "70", it swung to "1023" on latching, and dropped to "50" on unlatching.

int sensorPin = 0; // Analog pin 0
void setup(){
  Serial.begin(9600);
}
void loop(){
  int val = analogRead(sensorPin);
  Serial.println(val);
  // just to slow down the output
  delay(100);
}

And to use the sensor as a digital input to drive an interrupt

void setup() {
  Serial.begin(9600);
  // encoder pin on interrupt 0 (pin 2)
  // could probably use RISING, FALLING or CHANGE for this application
  attachInterrupt(0, handleInterrupt, RISING); 
  Serial.println("started...");
}

void loop() {
}

void handleInterrupt() {
  Serial.println("triggered...");
}

ACS711EX Current Sensor Carrier:

This board is a simple carrier of Allegro’s ±15.5 A ACS711 Hall effect-based linear current sensor with overcurrent fault output, which offers a low-resistance (~0.6 mΩ) current path and electrical isolation up to 100 V. This version accepts a bidirectional current input with a magnitude up to 15.5 A and outputs a proportional analog voltage centered at Vcc/2 with a typical error of ±5%. It operates from 3 V to 5.5 V, so it can interface directly to both 3.3 V and 5 V systems.

Got this from Pololu.