Maker Pro
Maker Pro

Hacking a flow sensor - Hall Effect Sensor help

Hello all,

I am working on interfacing a Neptune FS-100 flow sensor unit with my raspberry pi.

After taking it apart, I have found inside a Honeywell SS460S Hall sensor (http://www.mouser.com/ds/2/187/honeywell-sensing-ss-360nt-ss-360st-ss-360st-10k-s-794951.pdf) and a 120ohm resistor between V+ and the output pin.

The Neptune control module for their flow sensors say:
In addition to the four sensor ports, the FMM also has a DC24 accessory port and a power supply input. This adds another controllable outlet to your Apex set up. So, for instance, if you do want to make your own ATO and attach our available PMUP or Solenoid Valve, you can do so. Simply add our 36W 24V DC power supply (available separately).

I looked at the data sheet for the hall sensor and i'm trying to make sense of it.

To me, it is saying:
The range of input supply voltages 3-24Vdc.
The output range (Applied output voltage?) is -0.5V to 26.0 V

But it doesn't provide information on input voltage to output voltage.

I have a few questions:
1. How to read/interpret this data sheet
2. How to interact with this flow sensor using my raspberry pi
3. Do I need a 24V power supply? Or can i power this thing off my Raspberry pi 3.3V supply?
4. I tried hooking up the hall sensor with V+ going to 3v3, ground going to ground, and the output pin going to pin 23 with the following test code and my output is pretty erratic regardless of whether i pull up or down the output pin (23). It reads "true" even when there is no magnet anywhere near the hall sensor. When i bring the magnet near it, it doesn't seem to change the output noticeably. I rotate the magnet very slowly trying to find the + or - side and there isn't much of a change. The code :
Code:
#!/usr/bin/python
import os
import RPi.GPIO as GPIO

boardRevision = GPIO.RPI_REVISION
GPIO.setmode(GPIO.BCM) # use real GPIO numbering
#GPIO.setup(23,GPIO.IN, pull_up_down=GPIO.PUD_UP)
#GPIO.setup(23,GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(23,GPIO.IN)

lastPinState = False
pinState = 0

CONTINUE = True


# main loop
try:
     while CONTINUE:
       if GPIO.input(23) == True:
         pinState = True
         print "Pinstate = True!!!"
       elif GPIO.input(23) == False:
         pinState = False
         print "Pinstate = False!!!!!!!"

# if CTRL+C is pressed the main loop is broken
except KeyboardInterrupt:
     CONTINUE = False
     print "\Quitting"


# Actions under 'finally' will always be called
# regardless of what stopped the program
finally:
     # stop and cleanup to finish cleanly so the pins are available to be used again
     print "Cleaning up...."
     GPIO.cleanup()

thanks for your help with this folks!

Screen Shot 2017-09-16 at 7.04.07 AM.png
 
The spec sheet says 3v min 24vdc max. But 3.3v that is pushing the lower limit
It is Latching, south pole activated, I have used a few of these series and they are simple to operate,
M.
 
The spec sheet says 3v min 24vdc max. But 3.3v that is pushing the lower limit
It is Latching, south pole activated, I have used a few of these series and they are simple to operate,
M.
Any chance you could help me out in understanding how to talk to this thing with my raspberry pi?

thank you
 
Top