Wenn ich den Sensor über PWM (Bascom Pulsein) auswerte habe ich dann eine höhere Genauigkeit?
Wenn der ADXL das PWM-Signal intern aus der analog Spannung generiert, kann es eigentlich nicht genauer sein.

Was natürlich sein kann ist, dass du das PWM Signal genauer auswerten kannst als das Analog-Signal. Das liegt dann an deiner Messchaltung und nicht am Signal.

Grundsätzlich lässt sich das PWM Signal mit dem Pulsein-Befehl in Bascon sehr einfach auswerten.
Von der Genauigkeit her ist der Pulsein-Befehl allerdings nicht so dolle.
Wenn ich mich richtig erinnere, wartet der Befehll bis zur steigenden Flanke des Einganssignals und startet dann einen Zähler. Der Zähler wird dann alle 10 µS hochgezählt und sobald die fallende Flanke auftritt wird der Zählerstand als Ergebnis ausgegeben.

Die Periodendauer des PWM Signals kannst du bei dem ADXL über einen Widerstand einstellen. Die längste Periodendauer die im Datenblatt angegeben ist, ist 10 ms. Bei einem Duty-Cycle von 12,5/g entspricht das 1,25 ms/g. Wenn du diesen mit 10µS auflöst und den Digitalisierungsfehler berücksichtigst kommst du auf keine besonders berauschende Genauigkeit.
So aus dem Gedächnis heraus meine ich, ich habe damals mit einer Genauigkeit von +-3 Grad kalkuliert. Können auch +- 2 gewesen sein, ist schon einige Monate her, dass ich damit herumexperimentiert habe.

Wie genau du das Messergebnis für einen balancierenden Roboter brauchst, hängt aber auch von dessen Aufbau, z.B. Gewicht, Drehmoment der Motoren, grösser der Räder usw. ab. Allzu gross darf die Neigung ja meist nicht werden, damit es überhaupt noch möglich ist das Ding aufzufangen.

Ein weiterer Nachteil des Pulsein-Befehls ist, dass der nicht mit Interrupts arbeitet, sondern von der steigenden bis zu fallenden Flanke hochzählt. In dieser Zeit läuft dein Programm also nicht weiter, und was noch unangenehmer ist - wenn du in deinem Programm Interruptroutinen verwendest und die während des Pulsein-Befehls ausgeführt werden, wird das Messergebnis verfälscht.

Um erst mal ein bischen Gefühl für den ADXL zu bekommen und ein paar Experimente zu machen ist der Pulsein Befehl gut.
Wenn der Controller aber später noch was anderes machen soll als den ADXL auslesen, würde ich entweder das PWM Signal über eine bessere Routine mit Interrups auslesen oder halt doch das Analog-Signal auswerten.

Wie weit bist du denn mit deinen Experimenten mit dem ADXL schon gekommen?
Ich hatte damals das Problem, dass die Beschleunigung durch das Kippen und Aufrichten des Fahrgestells mein Messergebnis arg verfälscht haben.
Der ADXL misst ja leider nicht nur die Erdbeschleunigung sondern alle Beschleunigungen.