Hall Effect Sensor Simulator

I need to set up a hall effect sensor with set 3 bit pattern

101
100
011
010
001
110

I would to vary the rate of 1Hz to 50 Hz to simulate the motor rotation.

000 & 111 are error conditions that I might need to insert.

I would drive the printed circuit board under test with an Open Collector or Isolator.

How easy is the LCD Touch screen to program an interface?

Thanks,
Greg

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html

sunybeet1987:
I need to set up a hall effect sensor with set 3 bit pattern

101
100
011
010
001
110

I would to vary the rate of 1Hz to 50 Hz to simulate the motor rotation.

000 & 111 are error conditions that I might need to insert.

I would drive the printed circuit board under test with an Open Collector or Isolator.

How easy is the LCD Touch screen to program an interface?

Thanks,
Greg

So you want an Arduino to output through 3 digital outputs the above bytes.
You will be simulating 3 Hall Effect devices?
Can you tell us your electronics, programming, Arduino, hardware experience?
To connect your simulator to the device under test , opto-couplers would probably be the best.
Tom... :slight_smile:

Check your bit patterns. AFAIK only 1 bit toggles in state transitions.

The actual pattern from the UC2635 Truth Table which I did not have at home last night is

101
100
110
010
011
001

I need to vary the speed up to 50 Hz to simulate the motor hall effect sensor input to the assembly under test.

How easy is the touchscreen able to be programmed?

Is this project feasible for the Arduino? If so, which is unit is better suited for this project?

Thanks,
Greg

Hi,
Have you tried any code yet?

Can you please tell us your electronics, programming, Arduino, hardware experience?

Tom.... :slight_smile:

30 year veteran - Test Engineer Labview and Genrad ICT Programmer. Hardware Engineer with a Bachelor Degree. Just purchased card, proximity switches, etc this afternoon. Need to write some code now.

Hi,
So you are counting in binary 6 down to 1 inclusive.

In your code you need to setup a counter that starts at 6, counts down and when it gets to 1 the next count is a roll back to 6.

You then using the counter value;
Read bit(2) ,the MSD, and output it to a designated output.
Read bit(1) and output it to a designated output.
Read bit(0) ,the LSD, and output it to a designated output.

If you put a potentiometer on an analog input of the controller, you can read the voltage from it and compute that into a speed to run the counter and up date the outputs.

I hope this helps.

Tom.. :slight_smile:

A lookup table is required for the 6 values. The bits can be written individually to output pins, or as a whole to an output port.

Hi,

count = count - 1
if (count < 1)
{
count = 6
}

Then to output;

PORTB = count;

if count is the counter value 6 to 1
Will give you pins 10,9 and 8 as the digital outputs

Use "blink without delay" example to give delay function.

Tom..... :slight_smile: