Spannungsanzeige im MP wackelt: Tiefpass nachrüsten!

gervais

Ich brauche mehr Details
#1

Yups

Erfahrener Benutzer
#2
Nagut, dann wissen wir endlich woran es liegt. Nachrüsten ist wohl kaum möglich. Ich warte ja noch auf den Tag, wo man endlich voll auf 32 bit geht und die 8bit Schiene liegen gelassen wird. Bisher können Pixhawk und PX4 ihre Vorzüge überhaupt nicht ausspielen.
 

SvenL

Erfahrener Benutzer
#3
Nur weil das ein 8-Bit-Mikrocontroller ist, kann der trotzdem mit 32- oder 64-Bit rechnen...es dauert halt nur ein paar Takte länger. Das ist aber ein Punkt, über den sich der Compiler kümmern muss und nicht der Entwickler.

Auf dem PX4 wird eben nativ in 32-Bit gerechnet, was dann natürlich weniger Takte braucht. Der größere RAM, die höhere Taktrate usw. geben natürlich viel mehr Spielraum, aber ich frage mich warum man so einen kleinen ARM sich rausgesucht hat?!? Die gibt es auch mit _deutlich_ mehr RAM und Flash...

Viele Grüße!

Sven
 

Yups

Erfahrener Benutzer
#4
Ja sven, natürlich kann ein 8bit Prozessor mit größeren Variablen umgehen, braucht dafür aber extrem viel länger. Allerdings gibt es beim "alten" APM mit dem Atmega kaum noch Reserven, so dass der Code so weit es eben geht zusammen gestrichen ist. Die ganze Sensorauswertung und Berechnung könnte man mit der Rechenleistung des Pixhawks wesentlich genauer machen.

Und hier sind die Entwickler eben gekniffen. Bisher bringen PX4 und Pixhawk eben keinen Vorteil...

Pixhawk:

32bit STM32F427 Cortex M4 core with FPU
168 MHz
256 KB RAM
2 MB Flash
32 bit STM32F103 failsafe co-processor

Was findest du daran klein? 2Mb Flash im Vergleich zu den 256K eines Atmega 2560 finde ich jetzt nicht sooo klein.
 

SvenL

Erfahrener Benutzer
#5
Extrem viel länger halte ich für übertrieben. Der Compiler weiß schließlich auch was Ganzzahlarithmetik ist und die CPU kann durch Shiften größere Werte, eban auch Gleitkomma, relativ schnell verarbeiten. Der dafür verwendeten Takte sind natürlich mehr, aber nicht extrem mehr. Bei 16 MHz fällt das kaum in's Gewicht.

Es ist natürlich schön, wenn man mehr RAM und mehr Flash-Speicher zur Verfügung hat und damit einige Reserven...da stimme ich Dir zu!

Viele Grüße!

Sven
 

Yups

Erfahrener Benutzer
#6
Ich habe bisher nur diesen Vergleich gefunden:
http://forum.arduino.cc/index.php/topic,40901.0.html

Und den Hinweise in der Arduino Wiki, dass man floats vermeiden soll, weil sie sehr viel langsamer sind.

Die Arducopter 3.0.1 Version hatte auf dem APM in der Okto und Hexa Konfiguration arge Geschwindigkeitsprobleme. Das resultierte in sehr schlechter AltHold Performance und irre schlechter Telemetrierate.
 

Vollkorn

Erfahrener Benutzer
#7
Ich habe bisher nur diesen Vergleich gefunden:
http://forum.arduino.cc/index.php/topic,40901.0.html

Und den Hinweise in der Arduino Wiki, dass man floats vermeiden soll, weil sie sehr viel langsamer sind.

Die Arducopter 3.0.1 Version hatte auf dem APM in der Okto und Hexa Konfiguration arge Geschwindigkeitsprobleme. Das resultierte in sehr schlechter AltHold Performance und irre schlechter Telemetrierate.
Also gervais macht hier auf ein anderes Problem / mögliche Ursache aufmerksam. Nämlich dass die Referenzspannung für die A/D Wandler aufgrund des fehlenden Tiefpassfilters nicht stabil ist. Somit sind die Samples nicht genau und damit auch sämtliche darauf basierenden Berechnungen. Da spielt die Registerbreite einer CPU keine Rolle. Falsch ist falsch ;-)
 

SvenL

Erfahrener Benutzer
#8
Man klemmt auch die AVcc nicht parallel zur Vcc. Das ist eine Referenzspannung, sprich: Die muss genau sein! Dort nimmt man eine Z-Diode, wenn die Spannung ein wenig rauschen darf oder wenn es genauer werden soll eine echte Spannungsreferenz mit sehr wenig Rauschspannung. Hat man beides nicht zur Hand, kommt gemäß Datenblatt des Atmega ein Kondensator an den AVcc-Pin und man benützt die interne Spannungsreferenz, die immer noch Dekaden genauer ist als der Murks mit Vcc.

Ich will nicht stänkern, aber man kann bei der Schaltungsauslegung froh sein, dass das Ding überhaupt funktioniert... :)

Viele Grüße!

Sven
 
FPV1

Banggood

Oben Unten