AD8307 i obliczanie mocy z mostka pomiarowego |
Hej Robert. Widzę, że mamy podobne problemy ![]() tutaj fragment kodu: // Initialise the variables int value = 0, // Used to store the raw reading from the ADC float vout = 0.000, // Holds the true value of the ADC output voltage float powerdB = 0.00, // Calculated power in dBm float pWatts = 0.00, // Calculated power in watts float slope = 40, // Slope of the AD8307 log output (Default = 40) float intercept = 44.0, // 0V intercept point (Default = 44) float refVolts = 2.5, // Measured value of the 2.5V external reference value = analogRead(0), //read the ADC and store the result in value vout = (value*refVolts)/1023, // Convert the ADC result to volts in vout powerdB = (slope*vout)-intercept, // convert the voltage to dBm in 50 ohms pWatts = pow(10.0,(powerdB -30)/10.0), // convert dBm to watts --------------------- Może ten fragment kodu Ci pomoże : ) W moim mierniku mam akurat wartości slope=53, intercept=50.7, Co do mojego miernika, to do tych 200 W pokazuje moc w watach, dBm oraz SWR w miarę prawidłowo, i ostatecznie mogło by to być, niestety, przy wyższych mocach rzędu 600-1000W mam spory błąd i muszę to przemyśleć, co z tym zrobić. Wiadomo AD8307 jest wzmacniaczem logarytmicznym, i wiadomo przy większych mocach, przyrost napięcia na AD8307 jest bardzo niewielki, a przetwornik w Andrutino jest 10 bitowy. Póki co do miernika wsadziłem dokładne, zewnętrzne źródło napięcia referencyjnego 2.5V, przy odczycie napięcia stosuję średnią ze 100 pomiarów, ale nie jest to, czego oczekuję od tego miernika : ) Póki co zamówiłem na ebayu jakąś płytkę dokładniejszego przetwornika AD. Będę się bawił, zobaczę , co z tego wyjdzie : ) Pozdrawiam i powodzenia. |