Forum: Mikrocontroller und Digitale Elektronik Beschleunigungssensor mit Threshold


von Bach (Gast)


Lesenswert?

Hallo, ich suche einen Beschleunigungssensor der über 3-Achsen messen 
kann. Bei dem man einen Threshold über alle drei Achsen einstellen kann. 
Denke mal einen Digitalen. Also eingestellt auf 3g, wenn nun z.B. auf 
X=1g Z=0,5g und Y=1,5g einwirken soll was ausgelöst werden.

Ich hab schon den MMA7455L gefunden der das unterstütz, aber der macht 
dies nur für jede Achse einzeln, ich bräuchte aber alle Werte zusammen 
Addiert, sprich die Einwirkung auf den Sensor im gesamten.

Hat da jemand mal was gesehen???

von Gast (Gast)


Lesenswert?

Beschleunigungssensor + Komperatoren + nen paar Gatter / uC

von Bach (Gast)


Lesenswert?

Ja hab ich mir auch schon überlegt, jedoch möchte ich auch negative g's 
registrieren können, also beispiel bei 1,5g=2V und bei -1,5g=1V (0g wer 
dann bei 1,5V) soll was ausgelöst werden.

von Gast (Gast)


Lesenswert?

2 Komperatoren + Gatter

von Günther G. (grundy)


Lesenswert?

hallo!
ich häng mich hier mal dran da ich ein sehr ähnliches problem hab, auch 
mit einem mma chip. der chip gibt in ruhe 1,65V aus (0g) und bei -6g 0V, 
bei +6g 3,3V. nun will ich aber nur den betrag ausgeben, also zb 
0g-1,65V, +6g-> 3,3V,  -6g auch 3,3V. (will nix schalten, der 
spannungswert regelt direkt die lautstärke usw)
ich hab schon nachgegrübelt aber aber mein ansatz kommt mir kompliziert 
vor: einen invertierenden und nichtinvertierenden verstärker 
nebeneinaqnder und wenn die spannung unter 1,65 geht auf den 
invertierenden umschalten sonst den nichtinvertierenden nehmen. gibts da 
nichts einfacheres?

von Bach (Gast)


Lesenswert?

lass mich raten du hast ein mma7260q???

von Günther G. (grundy)


Lesenswert?

ja genau hab mal ne platine damit bei sureelectronics mitbestellt.
gibts aber auch bei farnell, versuch grad daraus für nen freund ein 
lichtschwert-soundmodul zu bauen( brummen lauter bei schneller bewegung, 
zischen beim aufschlag usw)

von Tecnologic (Gast)


Lesenswert?

HI,

zu dem Poblem mit dem Betrag bilden. hast du mal einen comperator auf 
1,65V der einen Verstärker um schaltet in betracht gezogen, soll heißen 
ein 2. OP als Verstärker und den von nicht invertirend auf invertierend 
umschalten mit nem multiplexer.

Wenn du die verarbeitung im µC machst dann gehts in der SW einfacher.

von Bach (Gast)


Lesenswert?

Gibt es noch andere Lösungsvorschläge?!?!?!? :-S

von Reinhard R. (reinhardr)


Lesenswert?

Das Addieren der einzelnen Beschleunigungskomponenten liefert nicht den 
Betrag der Beschleunigung. Beispiel: X: 6g, Y: -6g, Z: 0g ergibt "in 
Summe" 0g, was aber physikalisch keinen Sinn ergibt. Den Betrag der 
Beschleunigung kann man ganz einfach über den Pythagoras berechnen:

Analog wüsste ich jetzt nicht wie ich diese Formel umsetzen soll - wobei 
ich mir vorstellen kann dass es zumindest irgendwie in Näherung möglich 
ist. Digital, mit einem µC ist das ganze aber kein Problem.

Zum Lichtschwert sollte man sich die Schaltung des aktiven 
Gleichrichters mal ansehen. Das Prinzip kann man mit einem Inverter 
(virtueller GND bei 1,65V) erweitern. Der aktive Gleichrichter parallel 
(Anm. entkoppelt durch die Dioden) mit dem invertiertem geschaltet setzt 
dann Beschleunigungen von -6g - 0g - 6g in Spannungen von 3,3V - 1,65V - 
3,3V um. Der Materialbedarf liegt bei 2 OPVs, 2 Dioden, und 4 
Widerständen (jeweils 2 für virt. GND und Inverter) pro Achse.
Für eine mehrachsige Lösung bringt das aber auch nicht viel, wie ich in 
den ersten beiden Absätzen erläutert habe. Wenn das gewünscht ist, 
sollte man gleich zum µC greifen.

Reinhard

von Uhu U. (uhu)


Lesenswert?

Reinhard R. schrieb:
> Das Addieren der einzelnen Beschleunigungskomponenten liefert nicht den
> Betrag der Beschleunigung. Beispiel: X: 6g, Y: -6g, Z: 0g ergibt "in
> Summe" 0g, was aber physikalisch keinen Sinn ergibt. Den Betrag der
> Beschleunigung kann man ganz einfach über den Pythagoras berechnen:
>
>
> Analog wüsste ich jetzt nicht wie ich diese Formel umsetzen soll - wobei
> ich mir vorstellen kann dass es zumindest irgendwie in Näherung möglich
> ist. Digital, mit einem µC ist das ganze aber kein Problem.

Wenn man den genauen Beschleunigungswert nicht braucht, könnte es 
ausreichen, einfach die Beträge der drei Beschleunigungskomponenten zu 
addieren. Dabei werden Beschleunigungen < 1 unter- und die > 1 
überbewertet.

Zusammen mit dem Vorschlag von Tecnologic mit dem Comparator gibt das 
dann 3 Comparatorschaltungen und einen OpAmp, der die gleichgerichteten 
Ausgangssignale der Sensoren addiert.

von Reinhard R. (reinhardr)


Lesenswert?

Dadurch wird aber keine Genauigkeit gewonnen. Wenn der Sensor alleine 
auf 3g eingestellt wird, schaltet er im schlimmsten Fall bei 5,2g 
(=3g*Wurzel(3), bei 3g auf allen Achsen). Falls man die Summe der 
Beschleunigungsbeträge verwendet schaltet der Sensor im schlimmsten Fall 
bei 1+1+1g, was einer absoluten Beschleunigung von 1,73g (=3g/Wurzel(3)) 
entspricht. Das Verhältnis von minimaler zu maximaler Schaltschwelle 
bleibt gleich, nur mit dem Unterschied dass die eine Lösung in Richtung 
der Sensorachsen am empfindlichsten ist und im anderem Fall am 
unempfindlichsten.

Reinhard

von Uhu U. (uhu)


Lesenswert?

Günther Grundböck wollte das alles ja direkt und ohne µC machen. Dann 
muß er eben mit gewissen Eigenheiten der Miemik zurecht kommen ;-)

Beitrag "Re: Beschleunigungssensor mit Threshold"

von spess53 (Gast)


Lesenswert?

Hi

>Günther Grundböck wollte das alles ja direkt und ohne µC machen. Dann
>muß er eben mit gewissen Eigenheiten der Miemik zurecht kommen ;-)

Da braucht es auch nicht unbedingt einen µC. Ein etwas zweckenfremdeter 
LM3914 und ein paar Dioden, Widerstände reichen.

MfG Spess

von Reinhard R. (reinhardr)


Lesenswert?

Edit: Ich bezog mich auf das Posting von Uhu Uhuhu.

Von keinem µC hat er da nichts geschrieben, aber sein Bedürfnis nach 
einer einfachen Lösung läuft wohl auf das Gleiche hinaus. Für das 
Lichtschwert dürfte eine gewisse Winkelabhängigkeit auch kein besonderes 
Problem sein.

Ich habe mich jetzt aber auf den Poster "Bach" bezogen. Dem ist 
offensichtlich das was der Sensor alleine kann nicht genau genug. Die 
Summenlösung ist aber auch nicht besser. Mit einer Kombination könnte 
man das aber ein wenig verbessern (wenn Einzelachse über 3g, oder Summe 
über 5,2g).

Reinhard

von Bach (Gast)


Angehängte Dateien:

Lesenswert?

Wie würde nun die Schaltung von Reinhard R. aussehen???

Ich hab die Schaltung in meinem Anhang gefunden, wie könnte man ihm nun 
sagen das die 0Volt Linie bei 1,65Volt ist??? Also alles was dadrunter 
ist soll nach oben invertiert werden.

von Reinhard R. (reinhardr)


Angehängte Dateien:

Lesenswert?

Bach schrieb:
> Wie würde nun die Schaltung von Reinhard R. aussehen???
Das hängt davon ab welche du jetzt meinst. Bevorzugt würde ich sagen 
Sensor -> Tiefpass -> AVR. ;-)

Wenn es analog sein soll ist der erste Schritt die Betragsbildung. Das 
was ich vorgestern um 16:10 gemeint habe sieht in etwa so aus wie der 
Anhang.
Das Prinzip ist simpel. Der obere Zweig ist ein aktiver 
Halbwellengleichrichter. Der untere Zeig ein inverter mit Offset 1,65V. 
Dabei gilt R1=R2, R3=R4. Aufgrund der Dioden ist der Zeit mit der 
höheren Spannung dominant. Da der Feedbackkreis jeweils "hinter" den 
Dioden beginnt wird deren Vf gleich mit kompensiert. Die OPV brauchen 
dafür natürlich eine Versorgungsspannung die entsprechend größer als 
3,3V ist. Das hängt auch davon ab wie nahe der Ausgang an die positive 
Versorgungsspannung ran kommt.
Das wird für die weiteren Achsen wiederholt, die Ergebnisse addiert, und 
bei einer Summe von 5,2g ausgelöst. Zusätzlich löst der Sensor bei 3g 
aus, was mit dem vorigen Signal OR-verknüpft wird.
Diese Schaltung ist dann immer noch in ihrer Empfindlichkeit 
winkelabhängig, aber nicht mehr so stark wie der Einzelachsen- bzw. der 
Summenansatz alleine.

> Ich hab die Schaltung in meinem Anhang gefunden, wie könnte man ihm nun
> sagen das die 0Volt Linie bei 1,65Volt ist??? Also alles was dadrunter
> ist soll nach oben invertiert werden.

Indem du an die nichtinvertierenden Eingänge der OPVs 1,65V statt GND 
anlegst. Der Ausgang wird dann einen Bereich zw. 1,65 und 3,3V annehmen. 
Du musst dir dann noch ansehen ob der Versorgungsspannungsbereich der 
OPVs ausreicht. Die von dir gepostete Schaltung ist für eine 
symmetrische Versorgung ausgelegt.

Reinhard

von pq (Gast)


Lesenswert?

schon mal den SMB380 angeschaut ? Ich kenn ihn so genau nicht im Detail. 
Ich habe aber mal gehört, er könne sowas.

http://www.olimex.com/dev/pdf/OTHER/SMB380_Preliminary_Datasheet_Rev13_20070918.pdf

von Bach (Gast)


Lesenswert?

das ganze soll ja analog bleiben!!!

wenn ich von den schaltung jetzt 3 aufbauen würde und alle Vout 
miteinander verbinde um sie sozusagen zu addieren, würde es dann 
probleme geben?

von Reinhard R. (reinhardr)


Lesenswert?

Einfach miteinander verbinden funktioniert nicht. Die Schaltung so wie 
sie gezeigt ist kann aufgrund der Dioden nur als Stromquelle, nicht aber 
als Senke arbeiten. Am Ausgang ist deshalb noch ein Pull-Down Widerstand 
notwendig. Den hätte ich gleich dazu machen sollen.

Um die Summe zu bilden brauchst du einen Addierer, aber es geht auch 
einfacher. Die Ausgänge können über Widerstände parallel geschalten 
werden, so dass am Ende der Mittelwert der Spannungen anliegt. Für deine 
Zwecke ist es unerheblich ob du mit dem Mittelwert oder der Summe 
arbeitest.
Die Pull-Down Widerstände dürfen dabei maximal den halben Widerstand der 
nachgeschalteten Widerstände haben damit der Zustand der einzelnen 
Ausgänge immer definiert bleibt (Worst Case Szenario, 2 Achsen auf 3,3V 
eine auf 1,65V). In der Praxis ist wegen der Toleranzen ein noch etwas 
größeres Verhältnis notwendig.

Eine Frage noch zur Physik die dahinter steckt: Wie genau bzw. isotrop 
muss das eigentlich sein. Normalerweise misst du ja immer die 
Erdbeschleunigung mit, was schon einmal einen Offset von 1g ergibt. Wenn 
dir Orientierung variabel ist, ändert sich auch dieser Offset. Im Worst 
Case sind das also schon mal +/- 1g. Das hast du hoffentlich schon 
berücksichtigt.

Reinhard

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.