Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HF power meter #12

Open
rembulan opened this issue Nov 28, 2022 · 7 comments
Open

HF power meter #12

rembulan opened this issue Nov 28, 2022 · 7 comments

Comments

@rembulan
Copy link

can I ask for HF calibration and power setting, in my country legal limit is 1500w. it must wonderful if I program the max limit and when the power pass max limit there is some warning in the screen
thank You,
Anton

@K7MDL2
Copy link
Owner

K7MDL2 commented Nov 30, 2022

Being VHF focused with all my big amps are on 50Mhz or higher, I used the HF position as a way to tell the band decoder to switch everything to the equivalent of OFF. In my remote transverter/amp setup, they are all outside the house. The band decoder sets the correct band on the transverter, powers on the correct amp, selects the correct bi-directional coupler SM switches, sets the correct antenna RF Coax switch lineup, and passes through PTT. HF, or "Band Slot 0" I use to set all that to the safest state (OFF or open).

In theory you can put in cal values and all should work but I likely have some code to zero displays on Band 0.

I do have an external HF amp and would like to revisit how Band 0 is handled to be useful for HF readings.

That said, you can rename any band label. So you can have several HF bands if you like, or just 1. If using manual band selection on the meter no problem, it will cycle though all slots and display the name you program in. IF using band decoder input cable, then you need to send a band value other than all 1s or all 0s. Slot 0, the "HF" label today is all zeros.

The band decoder can have any input pattern you like. Can be BCD format, just one of up to 6 input lines, or any random pattern you can send to it. You could use a SP6T rotary switch and active 1 line of the 6 lines to get 6 bands, all can be renamed HF or more likely 20M, 30M,, 40M, etc. Using a BCD type coding gets you more bands with fewer input lines.

The point here is if you can control the band input pattern sent to the decoder, you can rename any band slot as you like.

The 2nd ask you made is for a High RF power alert on any band, set per band. I can see this would be handy. Adding the new threshold control and alert indicator requires some UI rework to squeeze it in but can be done. You can skip all of this if you only use the desktop app. Then all changes are in the Python UI including band button labels. No Band input cable required. An easy temporary code workaround is to take over an existing alarm threshold control and alert indicator such as 13VDC and make it a global high power alarm. Just substitute the Fwd Power value for the 13VDC value and rename the UI labels.

Thank you for the suggestions. These days I am working mostly on my Teensy 4 SDR but will consider this feature request when I come back around to the RF wattmeter code again.

@K7MDL2
Copy link
Owner

K7MDL2 commented Apr 28, 2024

Will be revisiting the HF support situation.

@rembulan
Copy link
Author

rembulan commented Apr 29, 2024

You make Christmas come earlier this year to me, Thank You
for RPI thats a even a better news

@K7MDL2
Copy link
Owner

K7MDL2 commented May 7, 2024

Tonight I made changes to support 21 bands and preprogrammed the names for each 160M though 3cm with default Band input and Port A, B and C output patterns based on my K3 band decoder output. THE first (index 0) was meant to be a catchall when an undefined input pattern match is encountered. Probably needs more work. The default calibration values are just examples. Each band must be calibrated as usual. Each time your set RESET_EEPROM =1 it wipes all stored EEPROM values and you must start over. It is helpful to dump the cal table and copy and paste the table text to a file. You can put those values in the default band table also. Be sure to set RESET_EEPROM value back to 0 after the first boot or you will overwrite any new config/cal changes you make! You need to reset EEPROM when making changes to the Band table size or layout, or want to overwrite the cal/config values with hard coded values.

The HF change was fairly simple, increased the NUM_BANDS and populated the structure with more bands by copying and editing the existing ones. IN my K3 I changed KIO3 to HF-TRN and wired up DigOUt0 and DigOut1 to use all 6 input pins. This results in a unique pattern on the input for every bang HF and VHF. IF frequency comes in serially then that is easier.

The desktop App will need more work. It has a limited number of buttons for a select number of VHF bands today. The button labels are hard coded text. In the Python code for each button calls code which sends a band index number associated with that button. It is not hard to change the button text and band number to other bands. If your radio is controlling the decoder then the buttons are not required. You can instead edit the band table structure for each band for the proper values of Band_Input, Port A, B and C outputs and then in the top of the .ino, set RESET_EEPROM to 1 and send up to the Teensy (set for Triple Serial). Change bands with the radio (or simulate with a switch or wire jumpers on a breadboard) and for each band the Desktop App will display the correct text. For each band you can then Edit the Config in the UI to calibrate and change any Ports patterns, PTT polarity, etc.

RE: Hi Amplifier Ouput Power Alarm: The Nextion touch screen flags thresholds for Voltage, Temp, and Current. There is no threshold today for max power. In a special 1296 Amplifier config I calculate SWR and output a 0 - 4.0VDC signal intended for an amplifier sequencer board HI SWR shutdown protection input. The same approach could be used for trigger something or even set a port connected to TxInhibit. Special UI code would need to be added. This type limit is normally a function of the amplifier if they have a UI. You can add Python UI code to do anything you need. It is not something I see getting around to anytime soon. Changing the Nextion screen and related code is tedious. In the future I would replace the Nextion with a graphics screen like the 4.3" or 7" I use in my Teensy SDR project.

@K7MDL2
Copy link
Owner

K7MDL2 commented May 7, 2024

Next steps are to test this for a while and ponder what to do about the band select button limitations. It is most convenient to use the UI to call up a specific band to enter the config and cal and force a band change in case the serial or wired inputs are not connected or correct yet. As mentioned, you can edit the band table defaults as a workaround.

@K7MDL2
Copy link
Owner

K7MDL2 commented May 8, 2024

I created a new Edit Meter Table page and added support in the firmware and Desktop App (only in the Desktop_App_190 version for testing). Now supports 20 bands 160M though 3cm (10GHz). Nothing fancy.

The new "Edit Meter Table" page has scrolling list box where you can select any one band and that will be made active allowing you to edit the Decoder IO patterns desired. This is useful when you first setup a new wired or serial input. You need a way to make the band current to be able to edit it before you have a wired config defined, a chicken and the egg scenario.

Also the per band Power Cal/SWR calibration fields are only on the "Edit Meter Config" page. Will update the main Desktop_App. Note that you must RESET_EEPROM one time for the new band data in EEPROM, the structure has changed so the EEPROM must be initialized.

I updated the Wiki page for the desktop app with sample pictures.
https://github.com/K7MDL2/RF-Power-Meter-V1/wiki/Desktop-Remote-monitor-and-control-program-based-on-Python

Any Feedback is welcome.

@rembulan
Copy link
Author

its very nice feautures I really like to try it with real hardware but using teensy is not a good thing for me.
far better if its use raspberry pi pico 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants