Ich weiß, dass es ähnliche Sensoren relativ günstig gibt, allerdings soweit ich weiß nicht mit Bluetooth. Während der Messung ist das Display allerdings nicht einsehbar, sodass eine Live-Übertragung per Bluetooth o.ä. nötig ist. Angebracht werden soll das Messgerät an verschiedenen Einsatzorten, welche alle eine Metalloberfläche haben, sodass eine magnetische Anbringung ideal wäre.
Hierzu also die Frage, welcher Sensor sich nicht durch die magnetische Anbringung stört und idealer Weise "einmal" auf einer ebenen Fläche kalibriert wird und danach an den Verschiedenen Einsatzorten ohne erneute Kalibration verwendet werden kann. (Eine IMU ist da soweit ich das verstehe ungeeignet)
Überprüft werden soll sowohl die waagerechte, als auch vertikale Stellung der Bauteile (dementprechend werden 2 Achsen benötigt?)
Danke dafür, dann versuche ich es mal damit. Ist zwar nicht ganz günstig aber wenn es damit auch zur Montage mit einem Magneten funktioniert ist es mir das Wert.
Prinzipiell ist ein Selbstbau möglich; ist es aber sinnvoll?
Ein fertiges komerzielles Produkt hat den Vorteil daß es sicher funktioniert und auch noch zusätzlich Spritzwassergeschützt und hat auch eine Anzeige auf dem Gerät.
Bekommst Du das Gerät mit diesen Eigenschaften um bedeutend weniger Geld zusammen? Ich klammere bewußt die in das Projekt investierte Zeit mal aus.
Ich brauche den Wert Live um im Betrieb Einstellungen vornehmen zu können. Während des Betriebs ist ein Ablesen des Displays nicht möglich, die Optimierung kann wirklich vernünftig aber eigentlich nur während des Betriebs stattfinden. Auch die flexible Anbringung per Magnet vereinfacht das ganze. Eine Live-Übertragung von meinem alten auf mein neues wäre evtl. interessant. Hat hierzu schon jemand Erfahrung? Da muss ich nochmal recherchieren. Nur eine magnetische Halterung für mein Smartphone muss ich mir dann noch überlegen.
Ein möglicher Ansatz wäre, einen Mikrocontroller wie den Arduino mit einem HC-05 Bluetooth-Modul zu verwenden, um die Bluetooth-Konnektivität bereitzustellen. Sie könnten dann einen Neigungssensor wie den MPU-6050 verwenden, der über einen eingebauten Beschleunigungsmesser und Gyroskop verfügt. Dieser Sensor kann über den I2C-Bus mit dem Mikrocontroller verbunden werden. Sie müssten dann Code schreiben, um die Daten vom Sensor auszulesen und über Bluetooth an ein Smartphone oder Tablet zu senden.
Hier wäre noch ein Beispielcode, ich bin mir aber nicht sicher, ob dieser funktioniert:
#include <Wire.h>
#include <SoftwareSerial.h>
const int MPU_addr = 0x68; // I2C address of the MPU-6050
int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ;
SoftwareSerial BTSerial(10, 11); // RX | TX
void setup() {
Wire.begin();
Wire.beginTransmission(MPU_addr);
Wire.write(0x6B); // PWR_MGMT_1 register
Wire.write(0); // set to zero (wakes up the MPU-6050)
Wire.endTransmission(true);
Serial.begin(9600);
BTSerial.begin(38400); // HC-05 default speed in AT command more
}
void loop() {
Wire.beginTransmission(MPU_addr);
Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
Wire.endTransmission(false);
Wire.requestFrom(MPU_addr,14,true); // request a total of 14 registers
AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
AcZ=Wire.read()<<8|Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
Tmp=Wire.read()<<8|Wire.read(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
GyX=Wire.read()<<8|Wire.read(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
GyY=Wire.read()<<8|Wire.read(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
GyZ=Wire.read()<<8|Wire.read(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
// Send data via Bluetooth
BTSerial.print("AcX = "); BTSerial.println(AcX);
BTSerial.print("AcY = "); BTSerial.println(AcY);
BTSerial.print("AcZ = "); BTSerial.println(AcZ);
BTSerial.print("Tmp = "); BTSerial.println(Tmp/340.00+36.53); //equation for temperature in degrees C from datasheet
BTSerial.print("GyX = "); BTSerial.println(GyX);
BTSerial.print("GyY = "); BTSerial.println(GyY);
BTSerial.print("GyZ = "); BTSerial.println(GyZ);
delay(333);
}
Dieser Code liest die Daten des MPU-6050 Sensors aus und sendet sie über das HC-05 Bluetooth-Modul an ein verbundenes Gerät. Du kannst die Daten dann auf deinem Smartphone oder Computer empfangen und anzeigen.
Wenn du mit dem ADXL375 versuchen willst, dann nehme ein ESP32 der hat BT +WLAN dabei je nachdem was nutzt kann man kleine Webseite bauen, um die Daten anzeigen , funktioniert auch ohne Internet im AP Modus.
Willst Du ein Wohnmobil / Wohnwagen nivellieren?
Wenn Du mit jemanden Wegfährst habt Ihr ja 2 Smartphons. EInes könnte den Winkel Messen und auf das zweite übertragen.
Grüße Uwe
Auf die Wohnwagennivellierung bin ich auch schon gestoßen, darum geht es aber nicht.
Eine gute ScreenShare App zu finden scheint auch nicht so einfach zu sein.
Funktionieren sowohl ein ADXL (ist die Nummer dahinter entscheidend? Bis auf die Genauigkeit und das Kommunikationsprotokoll haben die alle ähnliche Funktionalitäten oder?) und ein MPU-6050 Sensor mit magnetischer Halterung? Ich habe häufiger von Erdmagnetsensoren gelesen, die durch einen Magneten zur Montage doch sicherlich gestört, wenn nicht gar zerstört werden?
Ich werde wahrscheinlich beides mal testen. So ein MPU kostet ja wirklich nicht die Welt und nen Arduino oder ESP32 braucht man sowieso immer mal wieder...
Da könnte ich natürlich weiterhelfen Dort habe ich einen ESP32 mit ADXL345 verwendet. Neben der Anzeige als Webseite, könnte man natürlich die Werte durchgängig per Bluetooth versenden.
Das erfordert dann aber eine App zur Anzeige. Oder man nimmt den Bluetooth Serial Terminal und schaut sich die Werte fortlaufend als Text an.
Beim ADXL345 hatte ich versucht die Werte (anhand zahlreicher unterschiedlicher Tutorials) als echte Grad darzustellen.
Das ist mir aber nicht gelungen! Im Testaufbau ist die Gradzahl immer abgedriftet oder stimmte von Anfang an nicht.
Es gab die verschiedensten Beispiel-Berechnungen, die häufig sehr unterschiedlich waren.
Daher gebe ich die Werte nun quasi gedämpft prozentual aus. Für einen Wohnwagen mehr als ausreichend.
Dann bin ich wohl doch noch nicht beim richtigen Sensor gelandet. Welchen Sensortyp wird denn in solchen digitalen Winkelmessern mit Magnetfuß genutzt?
Ich bin im Internet auf den Begriff konduktiometrisches- bzw. kapazitives Messprinzip gestoßen, allerdings finde ich dazu kaum sensoren. G-NSDPL2-007 wäre einer, allerdings sehr teuer.
Ansonsten noch die Möglichkeit mit einem Rotationssensor, hierfür müsste ich allerdings ein Pendel mit Schwingungsdämpfung o.ä. herstellen, das wird dann doch sehr aufwändig.