Gast
#93677
Moin Moin, nun gehts ins Eingemachte:
Ich verwende Bascom und einen ATMega16 mit 10 MHz.
Ich muss mit dem AD Wandler 2 Spannungen messen und damit etwas
rum rechnen, hier kurz der Code:
---schnipp --
Dim Ad3 As Word
Dim Ad4 As Word
Dim Pv As Single
Dim Pr As Single
Dim Pwr01 As Single
Dim Pwr05 As Single
---schnipp ---
Pwr: 'Das Unterprogramm
Start Adc ' Werte vom AD holen
Ad3 = Getadc(3)
Ad4 = Getadc(4)
Stop Adc
'Leistung vorlauf
Pwr01 = Ad3 / 0.2046
Pwr01 = Pwr01 - 937
Pwr01 = Pwr01 / 25
Pwr01 = Pwr01 / 10
Pwr01 = 10 ^ Pwr01
Pv = Pwr01 / 1000 'Wert Pv merken für Hauptprogramm
'Leistung rücklauf
Pwr05 = Ad4 / 0.2046
Pwr05 = Pwr05 - 1187
Pwr05 = Pwr05 / 25
Pwr05 = Pwr05 / 10
Pwr05 = 10 ^ Pwr05
Pr = Pwr05 / 1000 'Wert Pr merken für Hauptprogramm
Return
------schnipp --
Nun das merkwürdige: Wenn ich entweder Leistung Rücklauf
oder Vorlauf deaktiviere, werden die jeweiligen Messeregebnisse
zu 100% verarbeitet (HF Leistung 144 MHz).
Wenn ich aber beides aktiviere, messe ich nur die Vorlaufleistung,
Rücklauf macht er nur dummes zeug:
meine LCD Anzeige:
PV = 20.1 W (Wert ok)
Pr = 0.0012 <= Dieser Wert schwankt ständig wild umher.
(muss aber ca 100mW sein)
Das komische ist, dass meine AD-Wander AD0 bis AD2 alle korrekt
arbeiten. Also am Layout/Bedrahtung dürfte es nicht liegen.
Der AD Teil auf auf dem PCB auch eine getrennte Masse.
Ist evt der RAM knapp ?? Aber ich verbrauche ja nicht voiel mehr an
Variablen, Pwr01 kann ich ja doppelt verwenden, oder mach ich was
falsch ?
Für Tips wie immer besten Dank !
So langsam weiß ich nicht weiter, was der Fehler ist.
mfg
Oliver