Forum: Mikrocontroller und Digitale Elektronik Beschleunigungsmessgerät bauen


von maxmünchen (Gast)


Lesenswert?

Hi,
ich möchte mir gerne ein Beschleunigungsmessgerät bauen, um das dann auf 
mein Motorrad oder Auto zu montieren. Hab bisher nur 
diesen(http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=28515&flv=&bereich=&marke=) 
Sensor gefunden. Ich hab allerdings nich nie mit der I²C Schnittstelle 
gearbeitet. "einfache" programmierungen von Mikrocontroller klappen ganz 
gut. Ich dachte ich finde einen Beschleunigungsgeber, der eine Spannung 
in Abhängigkeit der beschleunigung ausgibt. hab aber sowas bisher noch 
net gefunden. Ist die erwendung der I²C Schnittstelle kompliziert??
Vielen Dank im Vorraus
max

von Harald Wilhelms (Gast)


Lesenswert?

maxmünchen schrieb:
> Hi,
> ich möchte mir gerne ein Beschleunigungsmessgerät bauen,

Mach ein Pendel an ein Poti...
Gruss
Harald

von Marius W. (mw1987)


Lesenswert?


von mani (Gast)


Lesenswert?

Beschleunigungssensoren gibt es viele mit analogen Ausgängen.
Schau mal bei Freescale, Analog Devices oder STmicroelectronic die haben 
mehr als genug davon. Oder eben mit I2C oder SPI Schnittstelle.

Wenn Du einen AVR benutzt heißt I2C übrigens TWI (Two-Wire-Interface) im 
Datenblatt. Für eine schnelle Lösung kannst Du auch die Lib von Peter 
Fleury benutzen: http://homepage.hispeed.ch/peterfleury/i2cmaster.zip

Wenn Du es für Winkelmessungen benutzen möchtest, dann ist es allerdings 
nicht mehr gerade trivial. Der Beschleunigungsmesser misst nähmlich 
jegliche Art von Beschleunigungen, also auch Vibrationen und Stöße.

Gruß
Mani

von peterguy (Gast)


Lesenswert?

> ich möchte mir gerne ein Beschleunigungsmessgerät bauen,

>  Ist die erwendung der I²C Schnittstelle kompliziert??

Lustig, genau mit dem gleichen Projekt habe ich mich vor 7 Jahren auch 
beschäftigt um einen Einstieg in die Welt der Mikrocontroller zu finden.

Jetzt würde ich sagen: Kinderfasching, aber damals hat mich das schon 
ein oder zwei Wochenenden gekostet den I2C ans laufen zu bringen und die 
Sensorwerte vernümftig auszulesen.

Also ist auf jeden Fall schaffbar, nicht direkt entmutigen lassen. Wenn 
du das Hobby weiterbetreiben möchtest, dann kommst du früher oder später 
eh nicht um Bussysteme drum rum :-)

von Lehrmann M. (ubimbo)


Lesenswert?

maxmünchen schrieb:
> Ist die erwendung der I²C Schnittstelle kompliziert??

Nein das ist nicht sonderlich kompliziert - eine oder zwei Wochen als 
Microcontrolleranfänger, dann sitzt das alles.

Vielmehr möchte ich dir ein paar Sachen aufzeigen die eine große 
Problematik aufweisen ...
Die Aufgabenstellung 'Beschleunigung am Auto/Motorrad/Modellauto messen' 
ist seit Jahren ein Thema.

Zur Erläuterung der Problematik habe ich dir mal einen Thread 
ausgegraben in dem ich meine Erfahrungen mit dem Thema erläutert habe 
...

Beitrag "Beschleunigungssensor"

Es gibt schon fertige Produkte: Hierzu Diskussion und meine Meinung: 
Beitrag "Drift Box füür RC-Cars"

von Physik ist so einfach (Gast)


Lesenswert?

Lehrmann Michael schrieb:
> Die Aufgabenstellung 'Beschleunigung am Auto/Motorrad/Modellauto messen'
> ist seit Jahren ein Thema.

Am Auto ist ein Geschwindigkeitssignal vorhanden. a = dv/dt, Thema 
erledigt.
Ganz ohne Beschleunigungssensor.

von maxmünchen (Gast)


Lesenswert?

Physik ist so einfach schrieb:
> Am Auto ist ein Geschwindigkeitssignal vorhanden. a = dv/dt, Thema
> erledigt.

naja, mir gehts ja nicht nur drum die beschleunigungen zu wissen, 
sondern auch mal so ein gerät selber zu bauen.

von maxmünchen (Gast)


Lesenswert?

hi,
also hab mir jetz das gerät von Pollin gekauft 
(http://www.pollin.de/shop/dt/NjU4OTgxOTk-/Bausaetze_Module/Module/3_Achsen_Beschleunigungssensor_Modul.html)

jetz hab ich noch zwei Fragen:

1. auf der Homepage steht das dass Gerät eine Betriebsspannung von 6 bis 
24V hat. im datenblatt steht allerdings 1.8-3.6V
was stimmt nun??


2. Im Datenblatt hab ich was gelesen, dass man Kondensatoren anschliesen 
sollte um einen Tiefpassfilter zu realisieren. Der Widerstand (ca 
32kOhm) ist, soweit ich dass verstanden habe schon in der Schaltung 
integriert.
Heist das jetz, dass ich einen Kondensator zwischen Cx, Cy und Cz nach 
GND schalte um höherfrequente Schwingungen rauszufiltern?
um die Beschleunigungsspannungen dann zu messen muss ich ja meinen ADC 
am Mikrocontroller bemühen. soweit ich weis kann der AVR nur Spannungen 
messen, die zwischen GND und VREF=2.56V liegen. Jetzt würde mich noch 
intressieren woher ich weiß wie groß die Spannung dann am Ausgang wird, 
damit ich eine passende Spannungsteilerschaltung aufbauen kann um die 
Spannung mit dem AVR zu messen.

Vielen Dank
gruß max

von Karl H. (kbuchegg)


Lesenswert?

maxmünchen schrieb:

> 1. auf der Homepage steht das dass Gerät eine Betriebsspannung von 6 bis
> 24V hat. im datenblatt steht allerdings 1.8-3.6V
> was stimmt nun??

Wenn man die Produktbeschreibung bei Pollin liest, dann steht da ganz 
genau genommen

[zitat]
Bestückte Mini-Platine mit Beschleunigungssensor (ADXL330KCPZ, X-Y-Z),
Spannungsregler und Verpolungsschutzdiode.
***************
[/Zitat]

von maxmünchen (Gast)


Lesenswert?

ok, das heist dann das ich 6-24Vanlegen muss, oder??
aber wie siehts dann mit den kondensatoren aus? muss ich die dann noch 
anbringen und stimmt das so wie ich das oben beschrieben habe??
danke für die antwort.
max

von Alex S. (thor368)


Lesenswert?

Tach maxmünchen,

Zu erstens:
Steht in der "Beschreibung". Es ist ein Stabi verbaut, dass die 
Versorgung des Boards auf 3,3V ausregelt. Daher die frei 
Eingangsspannungswahl.

Zu zweitens:
Wieder in der "Beschreibung" zu finden. Die Kondensatoren sind schon 
drauf. Leider hirnloserweise ohne Vorwiderstände, sodass nur der 
Vorverstärker im chip ins schwitzen Gerät aber keine echte 
Tiefpasswirkung zustande kommt. Aber es hält dir immerhin die Handy HF 
vom Leibe und wozu hat man schon einen µC wenn man dann doch alles mit 
Analoggedönse löst.

Die Ausgangsspannung des ADX ist direkt proportional zur Beschleunigung. 
Der Proportionalitätsfaktor ist im "Datenblatt" unter SENSITIVITY mit 
300mV/G angegeben. Die ohne Spannungsteiler messbare maximale 
Beschleunigung hängt dann von der Referenzspannung am ADC des µC ab. 
Einige AVRs haben 2,56V VRef andere 1,1V VRef. Alle kann man aber auch 
auf die Versorgungsspannung(idR 5V) oder eine externe VRef umschalten. 
Gehen wir von 2,56V aus. Dann ist die theoretisch messbare 
Beschleunigung mehr als doppelt so groß wie die Measurement Range des 
chips(3,6G).

Thor

von Jan K. (madengineer)


Lesenswert?

Hallo zusammen,
ich habe letzte Woche mit dem Pollin Modul rumgespielt und hier mal 
meine Erfahrungen dazu...

Die Datenblattangaben beziehen sich fast alle auf eine 
Versorgungsspannung von 3V. Da das Modul aber mit 3,3V versorgt wird 
ändert sich die Sensitivy und das Offset. Das ganze wird im Datenblatt 
schön "ratiometric" genannt, das bedeutet also, dass wir eine Sensitivy 
von ca 330mV/g und ein Offset von etwa 1,65V (=3,3V/2) haben.
Die externe Beschaltung mit Kondensatoren ist auch im Datenblatt sehr 
gut dokumentiert. Die Vorwiderstände  (~32kOhm) des Tiefpassfilters sind 
in das Modul integriert. Auf Seite 12 sind sogar verschiedene 
Kapazitäten und die resultierenden Grenzfrequenzen aufgelistet.
Auf meinem Testboard ist ein Atmega8, das Modul und ein 4x20 LCD.
Das Modul ist direkt mit den ADC-Eingängen verbunden und ich verwende 
die interne 2,56V Referenz. Mein kleines Testprogramm gibt den aktuellen 
Beschleunigungswert in g, sowie Minimal- und Maximalwert auf dem Display 
aus.
Mein Code ist zwar relativ Quick&Dirty, aber wenn interesse besteht, 
kann ich den gerne posten.

Schöne Grüße
Jan

von maxmünchen (Gast)


Lesenswert?

hi, erstmal danke für die antworten.

Alex S. schrieb:
> Wieder in der "Beschreibung" zu finden. Die Kondensatoren sind schon
> drauf. Leider hirnloserweise ohne Vorwiderstände,

da steht doch das die widerstände einen wert von ca 32kOhm haben und man 
die kondensatoren je nach der gewünschten durchlassfrequenz auswählen 
soll, oder versteh ich das jetz total falsch???

Jan K. schrieb:
> Die Vorwiderstände  (~32kOhm) des Tiefpassfilters sind
> in das Modul integriert. Auf Seite 12 sind sogar verschiedene
> Kapazitäten und die resultierenden Grenzfrequenzen aufgelistet.
> Auf meinem Testboard ist ein Atmega8, das Modul und ein 4x20 LCD.
> Das Modul ist direkt mit den ADC-Eingängen verbunden und ich verwende
> die interne 2,56V Referenz.

hast du die Kondensatoren dann von dem jeweiligen C nach GND 
angeschlossen??
du hast auch noch gesagt, dass du das modul direkt an den 
Mikrocontroller angeschlossen hast. Ist die Spannung die vom Modul 
ausgegeben wird nicht größer als die Vref vom Mikrocontroller?? d.h. 
kann ich dass dann noch messen?

wie hast du das mit der Versorgungsspannung gelöst?? hast dus an einen 
7805 geklemmt (aber der bringt ja nur 5 V)? Ich baue das Gerät fürs auto 
und wollte das Modul direkt an die 12V vom auto anschließen, aber ich 
glaub des ist keine gute Idee. Werde dann wahrscheinlich einen 
einstellbaren Spannungsregler nehmen.
Danke
Gruß Max

von Jan K. (madengineer)


Lesenswert?

> da steht doch das die widerstände einen wert von ca 32kOhm haben und man
> die kondensatoren je nach der gewünschten durchlassfrequenz auswählen
> soll, oder versteh ich das jetz total falsch???

Ja das ist korrekt.


> hast du die Kondensatoren dann von dem jeweiligen C nach GND
> angeschlossen??
> du hast auch noch gesagt, dass du das modul direkt an den
> Mikrocontroller angeschlossen hast.

Auf der Pollin Platine sind an den Ausgängen bereits 100nF Kondensatoren 
gegen Masse verschaltet und die begrenzen die Bandbreite auf 50Hz.


> Ist die Spannung die vom Modul
> ausgegeben wird nicht größer als die Vref vom Mikrocontroller?? d.h.
> kann ich dass dann noch messen?

Nein ist sie nicht unbedingt: Wenn der Sensor keine Beschleunigung 
misst, gibt die Hälfte seiner Versorgungsspannung(1,65V) aus. Misst er 
eine postive Beschleunigung, dann steigt die  Ausgangsspannung um 330mV 
pro gemessenes g. Ist die gemessene Beschleuniging negativ, dann sinkt 
die Ausgangsspannung um 330mV/g.
Ich habe zum Testen die Referenz auf 2,56V gelegt, so kann ich von -3,6g 
(Limit des Sensors)bis etwa +2,75g messen.
(Ich bin beim ersten Überschlagen von 300mV/g ausgegangen)

> wie hast du das mit der Versorgungsspannung gelöst?? hast dus an einen
> 7805 geklemmt (aber der bringt ja nur 5 V)? Ich baue das Gerät fürs auto
> und wollte das Modul direkt an die 12V vom auto anschließen, aber ich
> glaub des ist keine gute Idee. Werde dann wahrscheinlich einen
> einstellbaren Spannungsregler nehmen.

Meine Baugruppe wird mit etwa 9-12V versorgt. Ein 7805 macht die 5V für 
µC und Display. Der Spannungsregler auf dem Pollin Board braucht leider 
ca 6V, also hab ich ihn direkt an die Versorgung gehängt.
Am besten wäre es wohl den Spannungsregler auf dem Pollinboard 
stillzulegen und es extern mit 3,3V zu speisen. Ich denke da an einen 
Dropdropregler, der an der 5V Schiene hängt. So hast du dann auch gleich 
eine 3,3V Referenzspannung, um den vollen Messbereich zu nutzen.

Elektronik im Auto ist immer so eine Sache, wegen der ganzen Störungen 
und Impulse im Boardnetz. Da die 5V Zigarettenanzünder-Netzteile für 
Handy, Navi & Co eh so billig geworden sind, würde ich gleich darauf 
zurückgreifen.

von Max S. (maxmuenchen)


Lesenswert?

hi jan,
ich muss jetz nochmal kurz fragen, du hast also die Platine an' Strom 
angeschlossen und die Ausgänge Cx,Cy und Cz direkt und ohne zusätzliche 
Kondensatoren oder Widerstände oder sonst was an die ADC Eingänge des 
Mikrocontrollers geschalten?

was macht denn der Mikrocontroller, wenn ich ihn eine Spannung messen 
lass, die deutlich größer als seine Vref ist??
Geht der da kaputt oder misst er einfach nix bzw nix gscheits??

Weist du wie groß der Innenwiederstand des Mikrocontrollers an dem ADC 
Port ist? könnte ich auch direkt die 12 Volt von meiner Autobatterie 
messen??

danke Gruß max

von Jan K. (madengineer)


Lesenswert?

Hallo Max,
ja ich habe die Platine direkt mit den ADC-Eingängen verbunden. Der 
Tiefpass ist wie gesagt bereits integriert. Der Widerstand ist in dem 
Sensor und die Kondensatoren auf der Platine.

Ob das so gut ist kann ich nicht sagen, soweit ich das Überblicke gibt 
es da zwei Meinungen. Die einen meinen, dass ist kein Problem, solange 
die Eingangsspannung kleiner als AVCC ist und der ADC-Wert bleibt am 
Anschlag.
Die anderen meinen es schadet dem µC.

Um auf Nummer sicher zu gehen würde ich das oben vorgeschlagene machen: 
Die 3,3V von der Platine abgreifen und als AVREF nehmen.

Der Innenwiderstand soll bei 10Meg legen.

Autobatterie ja, Boardnetz/Zigarettenanzünder ist schlechte Idee, siehe 
hier:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

von Frank (Gast)


Lesenswert?

Zu dem ADXL330KCPZ habe ich eine Frage:
Hat jemand irgendwo eine Kurve gesehen, die die Empfindlichkeit zur 
Frequenz
aufträgt. Suche Das recht dringend, besonders im Bereich um die 5 bist 
55 Hz ist von Interesse.

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.