I know this is of no use to you, but when I worked at a communication company, we had a 100W HF auto antenna tuner. The CPU used the fwd/Rvs power to run the tuning algorithm. It did not need to know the frequency. Just thought I would mention it.
A directional coupler (to allow the Arduino to measure SWR) will be used for the final positioning of the L and C. I am going to use memorized (band-dependent) positions to preset the tuning to the same positions where the best match was found the last time I tuned that band as this tuner will always be connected to the same antenna. Will store the settings in EEProm during power down.
One trick I learned is that making the vertical antenna element 18ft long allows it to be tuned with a series-C input , shunt-L from whip to ground tuning network without having to reconfigure the network on any band from 20m to 6m. The 18ft whip doesn't resonate on any ham band, but can be tuned without switching the configuration of the tuner. Even at a 1kW power level, the maximum voltages are manageable at < 3kV and the currents are < 3A on all bands of interest.
Goal is a hands-off remote tuner, and to get to learn more about what I can do with a $3 Arduino Mini.
Here are two pictures of my breadboard (literally) as it exists so far:
So far, the control box just has two center-off switches (joysticks) for testing. The left one controls the capacitor; the right one controls the inductor; up to increase capacitance or inductance; down to decrease, respectively. Tapping the joystick makes one little step up or down. Holding the joystick for ten seconds steps once a second. Holding the joystick for more than ten seconds causes the gearmotor to slew at full speed.
The blue readout is just a voltmeter that shows the pot wiper voltage of whichever joystick was last pressed. The voltage is ratiometric to the Arduino's 5V supply, so is also read by the Arduino's AD converter and used to stop rotation of the respective shaft as the capacitor reaches min and max capacitance, and the inductor reaches the limit of its travel.
The two motors and the meter readout are multiplexed based on which joystick was last pressed. This makes possible the six wire interface.
So far, I have written Arduino code for positioning the capacitor and the inductor, checking the limits, slewing slow and fast, stopping at the limits, going to a specific position, etc. Now the real fun begins...