I am a beginner with electronics and RPi.
I have a Brushed DC Motor that runs at a constant 13V and draws about 4-5 A while running and about 18-20 A at stall. It also has a single Hall effect sensor (https://www.melexis.com/en/product/US1881/Hall-Latch-High-Sensitivity) built in so I can get the square waveform (0.4V-4.8mA at low and 3.9V-48mA at high). I am running the motor via a Regulated DC Power source.
I want to use the hall sensor output with the Raspberry Pi 3 B+ so that I can store a certain home position of the motor. The motor can also be operated manually to rotate Clockwise or Counter Clockwise. Once stored, I want to press a button so that the RPi can count the number of revolutions of the motor and if it is different than the stored position, it will run the motor in the required direction to returned to the stored position.
My question is,
1) Can I run the motor using a High Power Motor Driver like the one in the link below? Will there be any other issues with it? https://www.pololu.com/product/3751
2) As the motor will run both ways and I have only 1 hall sensor to work with, how can I distinguish a clockwise (CW) signal from a counterclockwise (CCW) one? Can I somehow have a switch and use 2 GPIO pins to record the CW and CCW counts separately (ex. positive for CW and negative for CCW)? And then program it so that when I press the button it will rotate in the appropriate direction to return to the stored count)
Also, I think I will have to limit the output voltage from the Hall sensor as GPIO would only take upto 3.3V.
I would appreciate any help regarding this. Thanks a lot.