Forum: Mikrocontroller und Digitale Elektronik Accelerometer


von Bernd Ickert (Gast)


Lesenswert?

Hallo,
hat schon mal jemand einen Beschleunigungssensor LIS3DHH benutzt?
Ich möchte ihn in eine Applikation einsetzen, verstehe aber das 
Datenblatt offenbar nicht ganz richtig!!!???
Er wird per SPI angesprochen. Auf meine Frage "Wer bist Du" antwortet er 
ordnungsgemäß (Hx11). Und dann geht es los: Die Register setzen. Da habe 
ich schon alles mögliche probiert, die verschiedenen Betriebsarten 
(Bypass-/Continuous-Mode...), aber als Antwort auf die Fragen der 
aktuellen X-/Y-/Z-Achse kommt stets 0 0 0, egal ob ich meine Platine 
drehe, schlage oder schwenke ...
Ich benötige lediglich Werte, die mir sagen, dass sich das Gerät bewegt 
hat (wie beim Handy z.B.), um es zu aktivieren. Dazu wollte ich stets 
die letzten Werte speichern und mit der nächsten Messung vergleichen, um 
eine wesentliche Änderung zu erkennen. MEHR BRAUCHE ICH NICHT.
Hat jemand eine Idee, mit welchen Werten ich den LIS3DHH beschreiben 
muss (CTRL_REG1  4  5, FIFO_CTRL)? Wohl bemerkt: SPI funktioniert 
grundsätzlich! Geschwindigkeit ca. 2-3 MHz.
Freue mich auf Antworten und vielen Dank schon mal im Voraus

von Jan K. (jan_k)


Lesenswert?

Hast du ihn eingeschaltet? Manche Sensoren haben einen power down mode.

von J. -. (Gast)


Lesenswert?

Jan K. schrieb:
> Hast du ihn eingeschaltet? Manche Sensoren haben einen power down mode.
Ahso? Daran hatte ich nicht gedacht.
5 von den Dingern bei Mouser bestellt. Auf eine selbstgeätzte Platine 
gelötet -> nix. Auf ein professionelles Adapterboard mit vergoldeten 
Pads gelötet -> nix. I2C-Mode, SPI-Mode, ich-hau-dir-eine-aufs-Maul-Mode 
probiert -> nix.
So ein penetrates Arbeitsverweigerungsgerät habe ich noch nie bebrütet. 
Die Dinger wurden an die Schweine verfüttert und einen habe ich mit dem 
Hammer plattgemacht. Keine Gnade. Stattdessen habe ich ADXL335 und 345 
genommen. Tun was sie sollen und zicken nicht rum.

von Dussel (Gast)


Lesenswert?

Ich glaube, auf dem Arrow/Trenz Max1000 Board ist einer drauf. 
Vielleicht haben die Beispiele zur Kommunikation.

von Soul E. (Gast)


Lesenswert?

Jan K. schrieb:

> Hast du ihn eingeschaltet? Manche Sensoren haben einen power down mode.

Zum LIS331DLH bzw AIS328 meint STM in der AN2847:

"Once the device is powered up it automatically downloads the 
calibration coefficients from the embedded Flash memory to the internal 
registers. When the boot procedure is complete (i.e. after about 5 
milliseconds), the device automatically enters power-down mode.

To turn on the device and gather acceleration data, it is necessary to 
select one of the operating modes through the CTRL_REG1 register, and to 
enable at least one of the axes. The following general-purpose sequence 
can be used to configure the device:
1. write CTRL_REG1
2. write CTRL_REG2
3. write CTRL_REG3
4. write CTRL_REG4
5. write Reference
6. write INT1_THS
7. write INT1_DUR
8. write INT2_THS
9. write INT2_DUR
10. read HP_FILTER_RESET (if filter is enabled)
11. write INT1_CFG
12. write INT2_CFG
13. write CTRL_REG5"


Vielleicht passt das auch zu Deinem LIS3DHH.

von Dussel (Gast)


Lesenswert?

Es ist ein LIS3DH und hier ist die Dokumantation zum Board: 
https://wiki.trenz-electronic.de/display/PD/TEI0001+-+MAX1000
Ich weiß nicht, wie viel zum LIS3DH da drinsteht.

von Bernd Ickert (Gast)


Lesenswert?

Vielen Dank für Eure vielen Hinweise. Ich kann mir nicht vorstellen 
Jürgen (aber es ist auch tatsächlich nicht unmöglich, habe schon Pferde 
vor der Apotheke ko... sehen), dass der LIS3DHH nur Schrott sein soll. 
Dennoch: Eingeschaltet wird er durch setzen des Registers CTRL_REG1 auf 
Hx80. Dass habe ich natürlich getan.
Wenn ich mir aber den Beitrag von Jan ansehe, so scheint es wohl, dass 
man ihn immer wieder erneut einschalten muss???!! Probiere ich mal.
Übrigens bezüglich Gold und Platin aufgelötet: Ich arbeite hier 
(zunächst) zum Experimentieren mit einem Demo-Board 
https://www.mouser.de/ProductDetail/STMicroelectronics/STEVAL-MKI180V1?qs=HXFqYaX1Q2zdl0LAJ9lZzw%3D%3D

Melde mich wieder...

von J. -. (Gast)


Lesenswert?

Bernd Ickert schrieb:
> Vielen Dank für Eure vielen Hinweise. Ich kann mir nicht vorstellen
> Jürgen (aber es ist auch tatsächlich nicht unmöglich, habe schon Pferde
> vor der Apotheke ko... sehen), dass der LIS3DHH nur Schrott sein soll.
Es ist durchaus denkbar, daß ich durch das Scheitern eine tiefsitzende, 
narzisstische Kränkung erlitten habe, die die Dinge etwas überbewertet 
;-)
Am allerwahrscheinlichsten ist, daß die Kontaktierung des Chips auf der 
Platine jedesmal fehlschlug, das Gehäuse ist nicht ganz ohne.

Ansonsten gibt es die LIS302 auch auf dem 407-Discoveryboard, und dort 
hat er auch bei mir funktioniert. Ich kann leider keine 
weiteren,sachdienlichen Hinweise geben, und wünsche Dir mit Hilfe der 
anderen viel Erfolg. Und falls nicht, kannst Du ja auch einen Ausflug 
zum Bauernhof anvisieren g

von mts (Gast)


Lesenswert?

Bernd Ickert schrieb:
> Ich benötige lediglich Werte, die mir sagen, dass sich das Gerät bewegt
> hat (wie beim Handy z.B.), um es zu aktivieren.

Dafür müsste der eingebaute Hochpassfilter recht brauchbar sein..

von Bernd Ickert (Gast)


Lesenswert?

Noch mal kurz zum Thema "Schrott": Da kann ich bezüglich der 
Datenblätter zustimmen. Was da in so manchen Datenblättern für Fehler 
drin sind ...!!
Im LIS3DHH steht z.B. dass man die Einschaltsequenz wie folgt 
durchführen soll: Erst Vdd_IO und dann wenige Millisekunden später VDD 
??? Sowohl beide parallel an VDD legen oder so, wie beschrieben - Kein 
Unterschied. Nun habe ich beim Stöbern ein anderes Datenblatt eines 
Accelerometers gesehen, dass wohl ähnlich aufgebaut ist. Hier steht es 
logischer: Erst VDD, dann VDD_IO (also die Spannung, die des 
Signalpegels). Habe ich nun auch getan - Auch kein Unterschied.
======================
Nun zum Thema "Einschalten": Nach jeder Messung setze ich nun den 
Register CTRL_REG1 erneut auf Hx80. Vorher hatte ich (also beim ersten 
Einschalten) die Werte (in DEZ) 125,40 (X), 0,0 (Y) und 0,100 (Z) (stets 
2 Byte, H- und L-Byte für jede Achse), nach der 2. Messung 6 x 255 und 
dann nur noch 000000.
Jetzt, nach dem Setzen des Registers auf Power ON vor jeder Messung habe 
ich fast das Gleiche: Nur dass nun nach der 3. Messung nur noch 255 
(statt Null) gelesen wird. Ich werde nicht schlau.
Offenbar hat noch niemand der hier Anwesenden selbst so einen Chip per 
Mikroprozessor angesprochen und kann die Frage nach dem "Welche Register 
muss ich wie setzen" nicht beantworten.
Wie nutze ich den eingebauten Hochpassfilter - lieber mts ???

von was (Gast)


Lesenswert?

Ich fürchte, dass du viel zu aufgebracht bist um mit sowas Erfolg zu 
haben. Deine Schreibweise lässt das stark vermuten.

Leg das Ding weg, schlaf eine Woche drüber und dann geh nochmal 
systematisch ran.

Alternativ, anderen Sensor mit mehr Verbreitung und entsprechend mehr 
verfügbarem Beispielcode verwenden.

von Klaus S. (skibby)


Lesenswert?

Hallo Bernd,
meine Init-Sequenz sieht folgendermassen aus:

uint8_t lis3dhh_init(lis3dhh_t *lis3dhh)
{
  lis3dhh_set_samples(lis3dhh, 1);
  ret = lis3dhh_write_reg_byte(lis3dhh, LIS3DHH_CTRL_REG1, 0xC1);
  if (ret!=0)
    return 1;

  ret = lis3dhh_write_reg_byte(lis3dhh, LIS3DHH_INT1_CTRL, 0x80);
  if (ret!=0)
    return 2;

  ret = lis3dhh_write_reg_byte(lis3dhh, LIS3DHH_CTRL_REG4, 0x01);
  if (ret!=0)
    return 2;

  return 0;
}

Die Auslesefunktion so:

uint8_t lis3dhh_read_all(lis3dhh_t *lis3dhh, float *temp, float *acc_x, 
float *acc_y, float *acc_z, uint8_t *status)
{
    uint8_t buf[9];
    int16_t tmp=0;

    ret = lis3dhh_read_reg(lis3dhh, LIS3DHH_OUT_TEMP_L, buf, 9);
    if (ret!=0)
      return ret;

    tmp = (int16_t)((buf[1]<<8) + (uint16_t)buf[0]);
    *temp = 25.0f + ((float)(tmp)/4096.0f);
    *status = (uint8_t)buf[2];
    tmp = (int16_t)((buf[4]<<8) + (uint16_t)buf[3]);
    *acc_x = 5.0f*(float)tmp/65536.0f;
    tmp = (int16_t)((buf[6]<<8) + (uint16_t)buf[5]);
    *acc_y = 5.0f*(float)tmp/65536.0f;
    tmp = (int16_t)((buf[8]<<8) + (uint16_t)buf[7]);
    *acc_z = 5.0f*(float)tmp/65536.0f;

    return 0;
}

Viele Grüße
Klaus

von Bernd Ickert (Gast)


Lesenswert?

Ach nein, ich bin wirklich nicht aufgebracht. Muss jedoch nun mal 
endlich damit zum Ziel gelangen. Habe schon 2 x 2 Wochen darüber 
geschlafen - heute ist der Tag der Tage ...
Hallo Klaus! Das ist doch mal eine KLARE Antwort - Probiere ich jetzt 
mal aus.

Soviel vorab: Das Ding geht wirklich wieder in den Standby - Muss den 
Register jedes mal neu setzen UND jedes mal vorweg die Frage "Wer bist 
Du" (Hx0F), sonst kommt keine Antwort. Die NULLEN waren einfach "keine 
Antwort", sah ich, nachdem ich den SPI BUS mit dem Osszi kontrolliert 
hatte...

Soweit meine Erkenntnisse bis hier her.
Danke allen

Bernd

von Klugscheisser (Gast)


Lesenswert?

Ist der nicht auf dem STM32F407 Discovery Bord verbaut?
Da tut er das was er soll.
Mit dem Democode. Und der ist nicht geheim.

von ThomasW (Gast)


Lesenswert?

ich hab mich auch schon mal etliche Stunden mit dem LIS3DH rumgeärgert. 
Bis ich dann endlich gemerkt hab, dass ich einen LIS3DSH vor mir hatte. 
Sind nur ein paar Register anders, aber manchmal reicht das. Tja, Ali 
halt.

bist Du Dir sicher, den richtigen zu haben?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

Der Sensor ist ja noch einfacher als der MPU6050. Ihn fand ich 
pfelegeicht, wobei ich die zusätzliche I2C-Peripherie nicht brauche.

Anscheinend möchtest Du den Fifo benutzen und von dort lesen. Auch noch 
mit IRQs. Das ist aber schon fortgeschritten.

Was passiert, wenn Du die Register 25h und 26h für die Temperatur liest 
und das Statusregister 27h und die Achsenregister 27h bis 2Eh liest? Man 
kann sie einzeln lesen oder die Adresse automatisch inkrementieren 
lassen, wenn man das richtig einstellt.

Alleine das Statusregister müßte schon heftige Aktivität anzeigen. Die 
Fifo-Geschichten würde ich erst mal weg lassen und erst später 
aktivieren, wenn alles geht.

Die Grundfunktionen wären: Statusregister lesen können, Temperatur lesen 
und Achsenregister lesen können.

Ist die Betriebsspannungsrampe korrekt ausgeführt? Oszilloskopbild?

wer zu faul ist, das Dabla zu suchen:
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjf58-x0KzrAhWM_qQKHan3C5UQFjAAegQIAhAB&url=https%3A%2F%2Fwww.st.com%2Fresource%2Fen%2Fdatasheet%2Flis3dhh.pdf&usg=AOvVaw1xUGBI3D4qRoGhRFGYwQl-

mfG

: Bearbeitet durch User
von Bernd Ickert (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe genau dieses Teil (siehe Anhang). Da ist zumindest lt. der 
Beschreibung ein LIS3DHH drauf...

Schade - auch mit der Einschaltsequenz von Klaus bleibt alles, wie es 
ist. Im Prinzip mache ich ja die ganze Zeit nichts anderes, als die 
Register mal so und mal so zu setzen. Es bleibt immer das selbe: 
Hintereinander abfragen (um Änderungen zu erkennen) geht nicht. Immer 
erst Einschalten (CTRL_REG1) und dann kommen immer die GLEICHEN 
Erstwerte.
Muss ich noch irgend etwas unternehmen, damit er die intern gemessenen 
Werte in das Register, was ich auslese, übergibt?
Ich brauche keine 32 Werte (internes FIFO). Es müsste doch rein 
theoretisch so sein, dass die Achsen andere Werte ausgeben, da ich das 
Teil bei den Messungen heftig bewege. Habe auch mehr von diesen Modulen, 
die sind ja steckbar. Ist aber bei allen das Gleiche, nur das diese 
gleichen Werte von Modul zu Modul etwas abweichen...

von Klaus S. (skibby)


Lesenswert?

Hallo Bernd,
mit welchem Mikrocontroller arbeitest Du ?
Hast Du beim SPI auch das Read/Write-Bit beachtet (MSB)?
Da bin ich anfangs drüber gestolpert.
Falls Du es noch nicht gemacht hast, lese das Register nach dem 
Schreiben
nochmals aus und schau ob die Werte übernommen worden sind.

Meine SPI-Funktionen sehen so aus:

uint8_t lis3dhh_write_reg_byte(lis3dhh_t *lis3dhh, uint8_t reg_addr, 
uint8_t data_byte)
{
   return lis3dhh->write_reg_byte(lis3dhh->dev_handle, (reg_addr & 
0x7F), data_byte);
}

uint8_t lis3dhh_read_reg_byte(lis3dhh_t *lis3dhh, uint8_t reg_addr, 
uint8_t *data_byte)
{
  return lis3dhh->read_reg(lis3dhh->dev_handle, (reg_addr | 0x80), 
data_byte, 1);
}

uint8_t lis3dhh_read_reg(lis3dhh_t *lis3dhh, uint8_t reg_addr, uint8_t 
*data, uint8_t len)
{
  return lis3dhh->read_reg(lis3dhh->dev_handle, 0x80 | reg_addr, data, 
len);
}

Viele Grüße
Klaus

von Bernd Ickert (Gast)


Lesenswert?

Hallo Christian, das hört sich gut an (".. der ist ja so einfach ..."). 
Schön wärs ja! Das Datenblatt (dein Link) habe ich natürlich auch. Dort 
habe ich alle bisherigen Weisheiten erfahren.
Nein, im Gegenteil, ich will es so einfach wie möglich halten. Ohne FIFO 
und auch ohne Interrupts. Die nutze ich nicht. Wie schon beschrieben, 
einfach nur irgend einen aktuellen Wert lesen... Ich versuche es mal mit 
dem Lesen der Temperatur...
Wie auch schon erwähnt, das Einschalten: Lege an VDD direkt meine VDD 
(3,3V) an und am VDD_IO 2-3ms später den (gleichen) Pegel, indem der µP 
den Port, der mit VDD_IO verbunden ist, auf High setzt. Auch mit Osszi 
kontrolliert!
Im Datenblatt steht es ja umgekehrt!!! (Erst VDD_IO anlegen, dann VDD - 
ist doch unlogisch, oder?).

Hallo Klaus,
ich arbeite mit dem PIC18F4620. Setze den internen SPI-Block extra etwas 
langsamer:
SSPSTAT = %00000000
SSPCON1 = %00110001     'SPI Einschalten (bit.5), Clock High-Level 
(Bit.4), Clock FOS/16 (Bit.3-0 = 0,0,0,1)
Da ich mit 20MHz arbeite. Dann käme man über die 10MHz - Grenze, die der 
LIS3DHH ab kann.
Das Bit für Lesen habe ich beachtet. Alle Adressen zum Lesen (lt. 
Registerbeschreibung im Datenblatt) mit Hx80 addiert. Sonst würde ich 
auch nicht die Antworten von "Wer bin ich" und auf die ersten 
X,Y,Z-Werte nach dem Einschalten erhalten. Meine Daten zeige ich zwar 
auf einem Display an, aber habe, wie auch schon erwähnt, alles immer mit 
dem Osszi kontrolliert. So konnte ich auch hin und wieder 
Programmierfehler erkennen.
OK - Register nach dem Setzen gleich lesen (kontrollieren), auch eine 
gute Idee.
Bin ich vielleicht zu langsam? Ein Byte Setzen/Lesen dauert gut 6µs. 
Dann ist knapp 5µs Pause, ehe ich das nächste Byte sende. Ich kann auch 
schneller bzw. flüssiger (hintereinander Byte für Byte). Aber das kann 
doch ein SPI ab!!!
Liebe Grüße aus dem sonnigen Norden, Bernd

von Soul E. (Gast)


Lesenswert?

Bernd Ickert schrieb:

> Ich habe genau dieses Teil (siehe Anhang). Da ist zumindest lt. der
> Beschreibung ein LIS3DHH drauf...

Lt der Beschreibung? Du hast doch die Bauteile bei STM oder einem 
namhaften Distributor gekauft? Mouser, Digikey, TME, Farnell, ...

Bei Chinaware vom Ali kann man Dir alles mögliche geliefert haben, da 
würde ich mich über nicht funktionierende Teile nicht weiter wundern, 
bzw sowas erwarten.

von Mike J. (linuxmint_user)


Lesenswert?

"with output data rates from 1 Hz to 5 kHz"

Das Ding ist aber ganz schön langsam.

Weshalb nutzt du nicht einen BNO055 oder einen BNO080?

GY-BNO055-9DOF-9-Achsen
https://www.ebay.de/itm/313039453822
https://de.aliexpress.com/item/32805406886.html

von Christian S. (roehrenvorheizer)


Lesenswert?

Wieso sind 5000 Messungen pro Sekunde langsam? Worauf müßte man 
schneller reagieren?

mfg

von Bernd Ickert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Christian,
so ist es. Und wenn es 3 Messungen pro Sekunde sind ...
Das Teil hatte ich bei Mouser gekauft (Link hatte ich mal beigefügt), 
also nicht bei "Ali".

Warum nicht BNO055 oder BNO080? Abgesehen vom beachtlichen 
Preisunterschied (ich rede nicht vom Einzelstück. Das wäre mir egal. 
Jetzt lege ich fest, was ich später in tausender Größe verwende), es 
muss stets bei namhaften Distributoren (und nicht bei ebay) beschaffbar 
sein... (bis zur Abkündigung).
Und dann ist eben dieses "wieder von vorn anfangen", wo ich doch schon 
so viel Zeit in diesen LIS3DHH investiert habe.

Es ist bestimmt nur eine Kleinigkeit. So wie mit dem Display hier (was 
ich hier einsetze) mit Interface ST7565R. Es hat eine Weile gedauert, 
und es wollte kein Text erscheinen. Dann erinnerte ich mich an die 
DOG-Serie von elctronic assembly, wo ich mal vor Jahren eines verwendet 
hatte. Und electronic assembly hat ein Datenblatt dazu veröffentlicht, 
wo (auf deutsch) klar und verständlich anhand eines Beispiels alles 
Wichtige zusammengefasst aufgeschrieben ist. Welche Register müssen wie 
gesetzt werden - Und siehe da, mein Display hier leuchtete und "redete" 
mit mir! (Anhang - Seite 6 "Initialisierungsbeispiel").

Oder als ich vor Jahren das erste mal ein FT800 Grafiktreiber von FTDi 
benutze: Schwierig genug, aber nur durch so eine "nebenbei Bemerkung" im 
Forum hier von einem, der sich richtig gut auskennt, war der Knoten 
geplatzt (nach tagelangem Experimentieren): "Witzig ist schon, dass man 
beim Senden der Daten mit MSB zuerst sendet und beim Empfangen kommt LSB 
zuerst ..." Oder so in etwa. Das war der entscheidende Tipp. Steht 
sicherlich alles irgendwo im Datenblatt!!!

Also, habe noch nicht weiter gemacht, bin nicht der Nachtschwärmer wie
Christian, der nachts um 3:50 Uhr einen Beitrag veröffentlicht !!!:):) 
-Respekt! Schönes Wochenende euch allen!

von Mike J. (linuxmint_user)


Lesenswert?

Bernd Ickert schrieb:
> Warum nicht BNO055 oder BNO080? Abgesehen vom beachtlichen
> Preisunterschied (ich rede nicht vom Einzelstück. Das wäre mir egal.
> Jetzt lege ich fest, was ich später in tausender Größe verwende), es
> muss stets bei namhaften Distributoren

Bei Mouser ist der BNO055 ab mehr als 10 Stück günstiger als der 
LIS3DHH.

Der LIS3DHH hat einen theoretisch geringeren Stromverbrauch, ist 
schneller, neuer.
Beim BNO055 ist aber ein Cortex  M0+ drin mit der "Bosch  Sensortec 
sensor  fusion  Software" und im "Low Power Mode" kann man den 
Energieverbrauch sehr stark senken.
Im Moment würde ich nur den Sensor von Bosch verbauen, dann brauche ich 
die Berechnungen nicht in meinem Controller zu machen.

Ich schaue aber natürlich auch was es so auf dem Markt gibt.
Hast du irgend einen speziellen Anwendungsfall wo du die hohe 
Sample-zahl benötigst oder hat der Sensor gute Eigenschaften die ich 
übersehen habe?

von Mike J. (linuxmint_user)


Lesenswert?

Christian S. schrieb:
> Wieso sind 5000 Messungen pro Sekunde langsam? Worauf müßte man
> schneller reagieren?

Eigentlich frage ich mich was ihn bewogen hat genau den Chip zu nutzen, 
wahrscheinlich wegen der hohen Sample-Rate.
Wir hatten auch gesucht welcher Sensoren am besten nutzbar ist und sind 
letztendlich bei dem Sensor von Bosch hängen geblieben.
Wenn es etwas besseres geben sollte, dann bin ich aber natürlich dafür 
offen.

Bernd Ickert schrieb:
> Ich benötige lediglich Werte, die mir sagen, dass sich das Gerät bewegt
> hat (wie beim Handy z.B.), um es zu aktivieren.

Das könnte die Aktivierung der GPS-Ortung sein, quasi in einem 
Diebstahlschutz um den Energieverbrauch zu minimieren damit das GPS 
nicht permanent läuft.

Beim BNO055 kann man einstellen dass er in den Low-Power-Mode fällt wenn 
keine Bewegung durch den Beschleunigungssensor erkannt wurde.
Nur der Beschleunigungssensor ist in der Zeit aktiv und wenn Bewegung 
erkannt wurde (Schwelle und Dauer einstellbar), dann wacht er wieder 
auf.

von Bernd Ickert (Gast)


Lesenswert?

Hallo Ihr Lieben,
vielen herzlichen Dank für die rege Teilnahme an dieser Diskussion. 
Vielleicht hat es ja auch Diesem oder Jenem etwas für sich selbst 
gebracht. Mir hat es soviel gebracht: Ich kündige dem LIS3DHH meine 
Freundschaft...
Ihr habt Euch einen großen Kopf gemacht, warum diesen und nicht einen 
andern usw. Wie schon erwähnt: Ich brauche lediglich eine 
Erschütterungserkennung. Vor Wochen schon stand ein Vibrationssensor zur 
Debatte ("Röhrchen" mit Kontakt, z.B. Conrad: 1606627 - VQ). Der 
erschien mir zu unzuverlässig. In Frage käme auch ein 
Piezo-Vibrationssensor. Ist teurer, aber auch nicht mehr als z.B. so ein 
LIS...

Also hatte ich mich ZUNÄCHST auf diesen verschworen, in der Annahme - 
und das zeigte mir das Datenblatt - dass der einfach beherrschbar ist 
und sich hier keine beweglichen Teile darin befinden, wie beim 
"Röhrchen". Das ist der ganz banale Hintergrund. Ich bin Entwickler und 
entwickle für meine Kundschaft ihre maßgeschneiderten Produkte und 
später werden sie in den gewünschten Stückzahlen von uns produziert. 
Also muss ich, wie schon erwähnt, in der Entwicklungsphase die richtigen 
Bauteile einfach nur aussuchen. Das tue ich jetzt mit oben genannten 
Sensor. Und das Experimentieren geht weiter ...

Ein bisschen Werbung muss sein: Nicht für meine Dienstleistungen!!!
ICH SUCHE EINEN NACHFOLGER!!! Das muss so ein Elektronik-Freak sein, der 
"Nachts um 4:00 Uhr noch bastelt" und natürlich ein bisschen Ambitionen 
hat, unternehmerisch tätig zu werden... Also selbst, oder kennt jemand 
jemanden, der jemanden kennt ....?
Liebe Grüße und schönen Sonntag noch, Bernd

von Jan K. (jan_k)


Lesenswert?

Irgendwie ist dieser Thread komisch. Zig Leute mit verschiedenen Namen, 
die auch der TO sein könnten?!

Dann: Du bist Entwickler und änderst jetzt die Technologie deines 
Sensors, weil du mit dem aktuellen nicht kommunizieren kannst?

Wir haben viele unterschiedliche MEMS von ST im Einsatz, LSM6DSL, 
IIS3DHHC, L3DG20(H) usw, alle über SPI, keine Probleme. Man muss halt 
zumindest mal das Datenblatt lesen.

Damit der Post auch noch etwas Konstruktives beinhaltet: ST hat zig 
Beispiele und Libraries für all seine Sensoren hier veröffentlicht: 
https://github.com/STMicroelectronics/STMems_Standard_C_drivers

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.