(26-01-2014 14:38)SP5MNL napisał(a): W programie jest wyłączony HF - widocznie autor używał SWR tylko do UKF
Oto ten fragment programu
BAND = EEPROM.read(2);
if (BAND == 0) {
BAND = 3; // No HF for time being, default = 2m
PowCal = PowCalHF;}
if (BAND == 1) {
PowCal = PowCal6m;}
if (BAND == 2) {
PowCal = PowCal4m;}
if (BAND == 3) {
PowCal = PowCal2m;}
if (BAND == 4) {
PowCal = PowCal70;}
if (BAND == 5) {
PowCal = PowCal23;}
if (BAND == 6) {
PowCal = PowCal13;}
Usuń linię BAND = 3; // No HF for time being, default = 2m
żeby było tak
if (BAND == 0) {
PowCal = PowCalHF;}
powinno pomóc.
Jeżeli chodzi o kalibrację to zmierz napięcie (VoltFWD) na wejściu fali padającej i oblicz wg wzoru PowCal=(VoltFWD²/Power) / 1000 (gdzie Power = moc na 50 Ohm w watach)
to co ci wyjdzie wpisz do programu w nawias zamiast 100
#define PowCalHF (100) // HF band
powodzenia
Trzeba jeszcze od-komentować samo przełączanie pasm w pętli głównej programu, to powyżej dotyczy ładowania pasma z pamięci eeprom przy starcie urządzenia, też się dałem złapać na to za pierwszym razem
Kod:
if (digitalRead (BANDSwitch) == 1) { // released
beepband = 0;
BAND = BAND + 1;
if (BAND >= 7) BAND = 1; // set 0 if HF is enabled !
EEPROM.write(2,BAND); // store new mode permanently
if (BAND == 0) { //set proper calibration constants
PowCal = PowCalHF;}
if (BAND == 1) {
PowCal = PowCal6m;}
if (BAND == 2) {
PowCal = PowCal4m;}
if (BAND == 3) {
PowCal = PowCal2m;}
if (BAND == 4) {
PowCal = PowCal70;}
if (BAND == 5) {
PowCal = PowCal23;}
if (BAND == 6) {
PowCal = PowCal13;}
Dokładnie chodzi o linię:
Kod:
if (BAND >= 7) BAND = 1; // set 0 if HF is enabled !
Zmieniamy tam na 0 tak jak jest opisane w komentarzu
Z tego co widzę wyświetlana moc jest liniowo zależna od napięcia na przetworniku procesora. Nie widziałem jakiegoś specjalnego przeliczania, użyta została krzywa dwupunktowa na anjprostszej funkcji map. Więc jeśli mostek pomiarowy nie pracuje liniowo to należało by chyba to skompensować programowo. Podejrzewam że dla każdego pasma osobno bo będą rozbieżności.
Może ktoś kto ma większe doświadczenie w pomiarach by to opisał to można by posiedzieć nad softem.
Jeśli będzie bardzo tragicznie z tymi pomiarami to można by wprowadzić krzywą na przykład trzy punktową albo więcej tak by jak najwierniej małym nakładem pracy poprawić odczyty