mariolukas.de - Hardware, Software und Bastelei

Kategorien

Suche

Letzte Tweets

Arduino: Drucksensor ( SEN-09673 ) Tutorial

Da ich zur Zeit noch an meinem Projekt für den Wettbewerb “Mach flott den Schrott” bastele und dabei ein Drucksensor zum Einsatz kommen soll, schreibe ich hier schnell ein kurzes Tutorial zur Nutzung des SEN-09673 Drucksensors mit dem Arduino.

Welcher Sensor?
Ich verwende für dieses Tutorial den Drucksensor SEN-09673 (Datenblatt), dieser ist auf der Abbildung (unten) zu sehen. Der Sensor ist sehr klein und ist somit für mein Projekt bestens geeignet. Ein Nachteil des Sensors ist allerdings das er mit ca. 4 – 6 Euro nicht gerade günstig ist. Den Sensor gibt’s zum Beispiel bei Watterott electronic GmbH oder etwas günstiger bei Sparkfun Electronics.

Theorie zum Sensor
Der Sensor misst eine Veränderung des elektrischen Wiederstands. Wenn kein Druck auf den Sensor ausgeübt wird, so ist der Wiederstand größer als 1 MΩ. Bei maximal messbarem Druck liegt der Wiederstand bei ca. 2.5 kΩ.

Der Aufbau
Ein Pin des Sensors wird auf 5V gelegt. Der zweite Pin des Sensors wird auf den Analog Pin 0 gelegt. Zusätzlich wird noch ein Wiederstand auf den Analog Pin 0 gelegt. Das andere Ende des Wiederstandes wird auf GND gelegt. Die Abbildung unten zeigt die genaue Verkabelung im Detail.

Die Programmierung
Alles was nun noch fehlt, sind ein paar Zeilen Code. Listig 1 zeigt einen Beispiel Code, welcher die gemessenen Werte des Drucksensors auf dem Seriellen Port ausgibt.

Listing 1:

/*Variablen initialisieren*/
int analogPin = 0;
int val = 0;

void setup(){
/*Seriellen Port initialisieren*/
  Serial.begin(9600);
}

void loop(){
/* Wert einlesen */
   val = analogRead(analogPin);
/* gelesenen Wert auf dem Seriallen Port ausgeben*/
   Serial.println(val);
/*Kurze Zeit Warten */
   delay(500);
}

Das wars auch schon. Die Werte die der Sensor erzeugt werden über den Analog Pin 0 eingelesen und in der Variable val gespeichert. Diese wird anschließend über den Seriellen Port ausgegeben.

Kommentare

Pingback von mariolukas.de » Mach flott den Schrott: Toilettenpapier Drucker
Geschrieben am 19. September 2011 um 10:53 Uhr

[...] 1x Drucksensor [...]

Kommentar von pfeili
Geschrieben am 7. Januar 2012 um 13:02 Uhr

hallo,

lässt sich das auch bei folgendem sensor realisieren?

http://www.sensortechnics.com/download/DS_Standard-LBA_E_11691.pdf

beste grüße

pfeili

Kommentar von Mario
Geschrieben am 7. Januar 2012 um 14:43 Uhr

Mit Sicherheit lässt sich ein ähnlicher Aufbau auch mit diesem Sensor realisieren. Leider habe ich gerade keinen zur Hand. Das Datenblatt liefert aber alle benötigten Informationen.

Gruss
Mario

Kommentar von pfeili
Geschrieben am 8. Januar 2012 um 10:35 Uhr

hallo mario,

im datenblatt steht, welche pins alle auf gnd kommen müssen. kannst du mir vielleicht kurz skizzieren, wie ich das auf meinem breadboard durchführe?

liefert der sensor als output wirklich eine stromstärke? kann ich diese auch über einen analogen input einlesen?

sorry für die dummen fragen. ich bin absoluter neuling auf diesem gebiet.

viele grüße

pfeili

Kommentar von pfeili
Geschrieben am 8. Januar 2012 um 10:46 Uhr

die zweite frage hat sich erübrigt. er liefert 0,5…4,5V.

Kommentar von Mario
Geschrieben am 9. Januar 2012 um 18:19 Uhr

Sorry, ich hab zur Zeit viel zu tun da dauert das Antworten schon mal etwas länger. Also wie du ja selber schon richtig erkannt hast kannst du die Spannung mit dem analogen Input auslesen. Allerdings kann ich dir gerade keinen genauen Tipp für die Verkabelung geben, die Seite mit dem Datanblatt scheint ( zur Zeit?) down zu sein.

Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt. :)

Kommentar von pfeili
Geschrieben am 14. Januar 2012 um 09:41 Uhr

hallo mario,

du hast recht. scheinbar hat die firma ihre internetpräsenz umgestellt. hier der aktuelle link:

http://www.sensortechnics.com/cms/upload/datasheets/DS_Standard-LBA_E_11691.pdf

vielleicht kannst du bei gelegenheit doch mal reinschauen.

dein script verstehe ich, da ich die tutorials teilweise schon durchgearbeitet habe.

viele grüße und danke für deine mühe.

pfeili

Kommentar von pfeili
Geschrieben am 14. Januar 2012 um 10:58 Uhr

hallo mario,

ich habe jetzt den anschluss so vorgenommen, wie auf dem bild hier (und es funktioniert rein qualitativ erstmal):

http://s7.directupload.net/file/d/2769/lyj8ucln_jpg.htm

nun meine fragen:

1. sollte ich einen widerstand vor +5v legen?

2. was gibt er mir mit deinem script auf dem seriellen monitor aus? das sind erstmal keine spannungswerte, sondern zahlen (z.b. 110, 111… je nach meinem anliegenden druck). wie kann ich daraus spannungen erhalten, denn eigentlich steht ja, dass der sensor zwischen 0,5 und 4,5 V augibt.

3. war es richtig, dass ich das unidirectional device anzapfe oder muss ich bidirectional nehmen?

beste grüße und vielen dank für deine ermutigung.

felix

Kommentar von pfeili
Geschrieben am 14. Januar 2012 um 16:15 Uhr

hallo mario,

ich bin mittlerweile schon weiter. die integer-werte entstehen natürlich aus der a/d-wandlung, d.h. weil die auflösung desselben 10 bit beträgt, muss ich mir meine spannung erst mit

U = 5 V * wert (in bit) / 1024 bit

ausrechnen. somit wäre frage 2 geklärt. nach dieser erkenntnis hat sich auch frage 3 erledigt, denn der anschluss ist so korrekt. ich habe es anhand eines schrägrohrmanometers nachgeprüft.

mittlerweile lese ich den arduino über matlab aus, was super funktioniert.

beste grüße

pfeili

Kommentar von Mario
Geschrieben am 14. Januar 2012 um 16:53 Uhr

Hallo pfeili,

sorry dass ich im Moment nicht immer gleich dazu komme auf deine Kommentare zu antworten. Ich freue mich das du es so weit geschafft hast. Danke das du deine Erfahrungen über den Sensor hier teilst. Ich glaube es wäre Interessant ein Tutorial über den Sensor zu schreiben. Wo hast du den Sensor gekauft bzw. wo liegt der preislich ca. ?

Danke & Gruss
Mario

Kommentar von pfeili
Geschrieben am 15. Januar 2012 um 06:21 Uhr

hallo mario,

ja, das könnte man tun. der sensor ist von der firma sensortechnics für etwa 70 € gekauft worden und hat einen messbereich von 500 pa.

unter

http://www.gomatlab.de/drucksensor-kontinuierlich-auslesen-und-plotten-t21892.html

finden sich meine ersten ansätze zum auslesen mittels matlab. schreib mir einfach, wie du dir das mit dem tutorial vorstellst.

beste grüße

pfeili

Kommentar von pfeili
Geschrieben am 15. Januar 2012 um 18:59 Uhr

hallo mario,

da schieb ich gleich noch eine frage hinterher: kann ich denn einen zweiten sensor am arduino mit 5v versorgen (z.b. über eine art spannungswandlung des 3,3v ausgangs) oder benötige ich dann auch ein zweites arduino? gibt es vielleicht ein arduino, welches mehrere +5v-pins zur verfügung stellt oder wie kann man dieses problem anderweiteig lösen?

beste grüße

pfeili

Kommentar von Mario
Geschrieben am 15. Januar 2012 um 20:53 Uhr

Hallo Pfeili,

es gibt auch noch den Arduino Mega, der hat allerdings soviel ich weiß auch nur einen 5v PIN.
Wenn es nur um die Versorgungsspannung geht, häng den zweiten Sensor doch einfach an den gleichen 5v PIN, das geht ohne Probleme.
Du brauchst natürlich für den INPUT einen anderen Analog PIN als für den ersten Sensor, aber davon sind ja noch reichlich frei.

Gruss
Mario

Kommentar von pfeili
Geschrieben am 16. Januar 2012 um 08:40 Uhr

hallo mario,

das mit dem analogen input war mir schon klar. ;)
wieviele sensoren kann ich denn dann mit der einen spannungsversorgung betreiben? das wird ja begrenzt sein, denn da geht doch die stromstärke in die knie, oder?

beste grüße

pfeili

Kommentar von pfeili
Geschrieben am 18. Januar 2012 um 10:51 Uhr

hallo mario,

und noch eine frage: muss ich als refereznzwert wirklich die 5v der spannungsversorung ansetzen oder die 4v differenz, die zwischen 0,5v und 4,5v outputsignal bestehen?

beste grüße

pfeili

Kommentar von pfeili
Geschrieben am 23. März 2012 um 11:19 Uhr

hast du schon mal einen bmp085-sensor ausgelesen. alle versuche dies mithilfe diverser inet-beispielen zu tun, scheiterten bei mir.

beste grüße

pfeili

Kommentar von xx
Geschrieben am 8. April 2012 um 10:58 Uhr

Hey,
wie groß muss der Widerstand sein?!

Kommentar von Mario
Geschrieben am 10. April 2012 um 07:49 Uhr

Ich weiß nicht mehr genau welche Größe ich gewählt hatte. Versuch es mal z.B. mit 100 kΩ

Kommentar von xx
Geschrieben am 13. April 2012 um 14:15 Uhr

Ja habe jetzt mal den Widerstand eingelötet, programm schreib ich noch. Das ist aber nicht der Widerstand der von dem Sensor verändert wird oder?!

Schreib ein Kommentar