Current status: experimenting with firmware.
PoC
The build
The build consists of an Arduino Uno, a proto shield, a TMC2130 and a Stepper motor. The rest are wires, connectors and case.
TMC2130 stepper driver supports Stall detection.
Alternative, more advanced stepper drivers: TMC2209 or TMC2226.
General overview
Arduino is connected to either the Radio via CAT, or computer controlled (probably will come up with a ESP8261 setup to control via network). The arduino firmware constantly checks the current frequency and if it changes, will estimate the stepper position for best SWR. No relays are involved, so there is no gaps in receive or transmit.
Operating principle
When Arduino is first connected, it will give the Stepper a command to home - to find the zero position, by rotation CCW until a stall is detected. This will be position zero.
For calibration, operator will use a computer (at least in the first versions) to enter a position, and measure with a SWR meter, until the perfect position is found for the beginning of the band, and then for the end of the band. These values will be hardcoded in the arduino firmware.
After calibration is done, a different firmware will be written, with the hardcoded positions for each band. When operating, connected to a Radio via CAT, arduino firmware will read the current frequency, will look it up in the saved values and then will estimate the required stepper position, by a linear estimation. ex:
- current freq: 7.060 MHz
- hard coded values:
- @ 7.000 MHz stepper = 3180
- @ 7.200 MHz steppe r= 3600
- calculated position = 3180 + (3600-3180)/200*60 = 3306
Linear approximation proved incorrect with my antenna, but the error is acceptable for current setup. Will have to gather more data points to figure out an approximate function that yields more accurate results.
Planned final version
Final version will be a single fimware where the calibration can be done by connecting a radio via CAT and a SWR meter, and no computer. By stepping in increments.
Outstanding questions and problems
- Perfect homing - currently achieved 70% success rate, and 30% off frequency but only 1 Stepper full step. For my antenna, at 7MHz, that is +/- 7khz, and abt .25 SWR
Thank you for the update!
I am able to put the board into calibration but the steps of the motor are quite big and the 2E0ERO magloop I am using has very small bandwidth (5KHz) in 40 meter band.
Is there any way to configure the motor to move in smaller increments?