Arduino Lektion 91: dünn Film, Kraftsensor Modul

Das dünn Film, Kraftsensor Modul von Keyestudio kann kräft von 0 bis 500g messen. In diesem Tutorial möchte ich nun dieses Modul vorstellen.

Dünn Film Druck / Kraftsensor
Dünn Film Druck / Kraftsensor

Die originale Bezeichnung des Sensors lautet „Thin-film Pressure Force Sensor Modul“ für den Titel habe ich diese Bezeichnung einmal ins deutsche übersetzt. 

Bezug

Dieses Modul habe ich über ebay.de für knapp 2,40€ inkl. Versandkosten erworben (hier ein Link zu einer Auswahl). 

Es gibt diese dünn Film Sensoren auch ohne zusätzliche Platine und in diversen Stärken. 

Technische Daten

  • Betriebsspannung 3,3V bis 5V
  • Betriebstemperatur -20°C bis 60°C
  • Messbereich 0g bis 500g
  • Auflösung des Messbereiches < 20g
  • Messtoleranz ±2.5%
  • Stärke der Folie: < 0,25mm
  • Messgeschwindigkeit < 1ms

Anschluß & Schaltung

Der Sensor verfügt über drei Pins welche mit „-„, „+“ und „S“ beschriftet sind. 

Modul Arduino UNO
GND
+ 5V
S analoger Pin A0 

Als Microcontroller verwende ich in diesem Tutorial den Arduino UNO von der Firma Keyestudio.

Arduino UNO von Keyestudio
Arduino UNO von Keyestudio

Der Vorteil an diesem Microcontroller ist das dieser neben den „normalen“ Anschlüssen auch an jedem digitalen und analogen Pin jeweils GND & VCC über eine Stiftleiste anbietet. Die Spannung für diese Kontakte wird über einen separaten Schalter geregelt. (Dieses ist nicht bei jedem Microcontroller vorhanden.)

Quellcode

Da der Sensor einfach über den analogen Pin ausgelesen wird und wir wiederum einen Wert von 0 bis 1023 erhalten, müssen wir diesen Wert nur auf den Messbereich mappen.

//dünn Film Kraftsensor am analogen Pin A0
#define FORCE_SENSOR A0

void setup() {
  //initialisieren der seriellen Kommunikation
  //mit 9600baud
  Serial.begin(9600);
}

void loop() {
  //lesen des aktuellen Wertes vom Sensor
  int value = analogRead(FORCE_SENSOR);
  //mappen des Wertes vom Sensor (0..1023) auf den Messbereich (0g..500g)
  int force = map(value,0,1023,0,500);
  //Ausgeben des Wertes auf dem seriellen Ausgang
  Serial.print(force);
  Serial.println("g");
  delay(125); //eine kleine Pause von 125ms.
}

Kraft ist nicht gleich Masse! D.h. wenn wir eine Kraft von 500g haben, ist dieses nicht einer Masse von 500g gleich zusetzen. Die Kraft wird auch in Newton (N) dargestellt. Dabei sind 1kg Kraft gleich 9,80665 N.

Erweitern wir also nun das Sketch um die Kraft in Newton anzuzeigen. Dazu rechnen wir zunächst den Wert von 1kg in ein Gramm um (0,00980665N) dieses speichern wir uns als Konstante um später mit dieser zu rechnen.

Des Weiteren lassen wir uns die Werte in einer kleinen Tabelle, übersichtlich anzeigen.

//dünn Film Kraftsensor am analogen Pin A0
#define FORCE_SENSOR A0

//1g sind 0,00980665 Newton
const double grammToNewton = 0.00980665;


void setup() {
  //initialisieren der seriellen Kommunikation
  //mit 9600baud
  Serial.begin(9600);
  Serial.println("analoger Wert\t|Kraft in Gramm\t|Kraft in Newton");
}

void loop() {
  //lesen des aktuellen Wertes vom Sensor
  int value = analogRead(FORCE_SENSOR);
  //mappen des Wertes vom Sensor (0..1023) auf den Messbereich (0g..500g)
  int forceGramm = map(value,0,1023,0,500);
  //Ausgeben des Wertes auf dem seriellen Ausgang
  Serial.print(value);
  Serial.print("\t\t|");
  Serial.print(forceGramm);
  Serial.print("g");
  Serial.print("\t\t|");
  Serial.print(grammToNewton*forceGramm);
  Serial.println("N");
  delay(500); //eine kleine Pause von 125ms.
}

Video

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.