Finally very easy: Azoteq IQS211. Azoteq is the leading company, others like ST integrate their technology. The ESP32 also has touch sense inputs.
I had similar idea about a year ago, used a bit of added arduino code to read an encoder stolen from a stereo volume control with big knob & included a push button switch. basically if encoder is turned steering control arduino ignores AOG and responds to speed & direction of encoder until switch on the encoder is pushed to return control back to AOG. simple.
could dig out the code if interested. but its not tested as the tractor it was destined for was hit by lightning in February and I’m still waiting on its return from the dealer (apparently it should’ve been written off by the insurance rather than put in for repair).
Hello,
For automatic desengaging (shut-off power supply) of the motor when you start to manually move the steering wheel: a solution based on a mesure of the voltage and current at the input of the motor has already been proposed by @Juliennorth here: Autosteer disengagement (torque measurement).
With his solution, the reengaging of the motor is manual, throught a button that the operator has to press.
For automatic reengaging (shut-on the power supply) of the motor, we could uptade his solution has follow:
- Add an encoder to the Phidget motor. Phidget sell encoder that cant be directly add to the rear of their motors: Optical Rotary Encoder HKT22 - 3531_0 at Phidgets. With this encoder we (the Arduino) have acces to the speed of the Phidget.
- When the operator takes back control of the steering wheel we assume that it’s for turning the steering wheel on way or the other. So after having automatically disengaging the motor (following a detection of a beginning of a manual rotation of the steering wheel by the operator), the Arduino can monitor the speed applied to the motor by the operator. If the speed of the motor is superior to 0°/s, the operator is still rotating the steering wheel. If the speed of the motor is 0°/s (plus/minus a tolerance) for a time superior to x secondes (to be define), we assume that the operator has finish to turn the steering wheel. So the motor can be reengage automatically by the Arduino (power to motor shut-on).
Best to keep this system on a seperate Arduino with a specific Arduino Code. If Brian update the Arduino code of AOG, we don’t have to had the automatic disengagin/engaging code to the new version of AOG Arduino code.
Drawback: you always have to move the steering wheel to keep the motor desengaged by the Arduino. So it’s mean that you cannot do this with your tractor: make turn, following a straight line, make a turn again and after let the motor beeing automatically engage.
So it’s why I’m convinced by the utility of the automatic disengaging system. I’m more skeptic of the automatic reengaging system.
And I don’t see any other solution than a monitoring of the speed of the motor when operator manually operate the steering wheel, except hand detection on the steering wheel (like on Tesla car for autopilot) which seem to be really more complicate to implement.
Math
Hi,
the solution of @Juliennorth seems promising, I asked him to send me his code, although I dont completely understand how he measures the current.
Personally I think an automatic engagement system could be dangerous, I would never use that, but I know that some commercial systems can do that, might be interesting for someone.
Thank you all for your interesting point, its fantastic to see a free and simple solution grow apart from big companies.
Greetings
Bennet
Hi, I will send the code tomorow.
I use a small ARDUINO compatible board to get the Amps used by the motor on an Analogic input.
I can read that value with the software in the arduino.
(I calculate the Power by multiplying A and V)
I also do not like the automatic engagement, I prefer to do a manual action to engage steering.
TEST_REMOTE.ino (4.4 KB)
How many amps controller is needed? What should I buy?