Sensor gekauft um zu gucken ab welcher Kraft ein aufschlagendes ei kaputt geht.
nun habe ich das Problem das ich zwar werte habe diese aber nicht deuten kann.
ich habe volgenden Code verwendet
float Wert = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(A0,INPUT);
}
void loop() {
if (analogRead(A0)>Wert){
Wert=(analogRead(A0));
Serial.println((Wert*500)/1024);
};
// put your main code here, to run repeatedly:
}
nun ist die Frage, der Sensor kann von 0-0,5kg arbeiten und der analogRead arbeitet von 0-1024. Kann man da einfach eine Verhältnisgleichung aufstellen wie ich das gemacht habe oder wird das brühe?
Bist Du Dir sicher, daß das so geht?
Das aufschlagende Ei fällt wohl aus einer bestimmten Höhe, da sind viele Messungen notwendig, bis man die richtige Höhe ermittelt hat.
Stattdessen wäre es einfacher, das Ei auf den Sensor zu legen und dann Kraft auszuüben. Wenn man eine Kraftquelle verwendet, die man direkt kontrollieren kann (Gewicht und Hebel...), dann kann man auf eine Messung völlig verzichten.
Ok, aber der Sensor gibt ja nicht 0-0,5kg aus, sondern eine proportionale Spannung.
Die dürfte aber abhängig von Vcc sein.
Also muss die jeweilige Ausgangsspannung des Sensors in die Werte für den Druck umgesetzt werden, dazu kannst Du map nutzen.
Arduino rechnet standartmäßig mit int. Da sind Werte zwischen ca -32000 und ca +32000 möglich. Bei einem ADC Wert von 65 wird die Rechnung falsch gemacht.
Das muß kein Problem sein. Wenn die Versorgungsspannung als Referenzspannung für den AD-Converter verwendet wird dann ist die Spannungsteiler-Messung richtig.
Eine Fehlerquelle, sind andere:
der Widerstand ist nicht linear zur Kraft sondern nichtliear logaritmisch.
die Ausgangsspannung des Spannungsteilers ist nicht linear mit der Widerstandsänderung
die Sensibilität ( Widerstandsänderung zu Spannungsänderung) ist am größten bei R1 = R2, je mehr die Beiden Widerstände des Spannungsteiler verschieden groß sind desto kleiner ist die Spannungsänderung.
Alle 3 Dinge lassen sich irgendwie herausrechnen. Die Messung hat aber nicht über den gesamten Meßbereich die gleiche Auflösung.
Außerdem sind solche Sensoren nur mäßig genau. siehe https://cdn.sparkfun.com/datasheets/Sensors/ForceFlex/2010-10-26-DataSheet-FSR400-Layout2.pdf
Force Repeatability single part +/- 2% ( Meßergebnis eines Sensors; wenn man den Sensor außmisst und kalibriert)
Force Repeatability part to part +/- 6% ( Streuung zwischen verschiedenen Sensoren)
Hysteresis +/- 10%
Long Term Drift < 5% per log (time) (Zehnerlogaritmus)
Das heißt der Sensor ist gut zu messen daß jemand draufdrückt und vieleicht daß er fest oder leicht drückt. Wie fest er draufdrückt ist eine andere Sache.
Num einfach einen normale Haushaltswaage, eine Schüssel und gib das Ei in die Schüssel. Dann drückst Du mit der Hand auf das Ei bis es bricht.
Der Widerstand des Sensors ist umgekehrt logaritmisch proportional zur Kraft. (siehe Datenblatt)
Die Ausgangsspannung des Spannungsteilers ist proportional zum Verhältnis R1/(R1+R2) wobei R1 an Masse geschaltet ist. Der Kraftsensor kann als R1 oder R2 verwendet werden.
Die Messung der Spannung über den AD-Wandler ist unabhängig von der Speisespannung des Spannungsteilers wenn diese Spannung auch als Referenzspannung für den AD-Wandler verwendet wird.
Ich habe das Projekt inzwischen abgebrochen, weil ein anderes rein kam das erstmal Vorrang hat. Dadurch habe ich grad leider keine Kapazitäten da weiter dran zu basteln. Ich hatte mal den Hersteller angeschrieben, der meinte das die Sensoren in ruhe durchaus verwertbare Genauigkeiten haben. Da ich aber die Maximale Kraft eines Aufschlages Messen wollte, kann es sein das dieser Aufbau so gar nicht funktioniert.