Forum: Mikrocontroller und Digitale Elektronik ADXL beschleunigungsmesser auswerten


von Marcel Meyer (Gast)


Lesenswert?

Hallo,

ich mal wieder :(

habe jetzt meinen beschleunigungsmesser wieder ausgepackt und will das
jetzt zum laufen bringen, das dingen erzeugt einen PWM und je nach lage
verändert sich das verhältnis ( 0g=50% / 50%), das teil funktioniert
laut osziloskop auch einwandfrei... das auswerten versuche ich derzeit
mit einem ATMEGA16 und codevision, nur leider komme ich nicht so recht
weiter... derzeit versuche ich über einen interrupt den erzeugten
High-pegel zu messen, da scheitert es jedoch schon :(

code:

interrupt [EXT_INT2] void ext_int2_isr(void)
{
// Place your code here
high=TCNT1H;  //sichern
low=TCNT1L;

TCNT1H=0x00;   //timer zurücksetzen
TCNT1L=0x00;
}

im main wird nur der inhalt von high u. low per uart ausgegeben, jedoch
ist der wert immer 0?!

die einstellungen am timer sind wie folgt:
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 7,200 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

stehe leider mächtig auf dem schlauch, und weiss nicht wie ich so
richtig weitermachen soll, die suchfunktion im forum hat mir auch nicht
sooo richtig weitergeholfen.

Mfg
Marcel

von Thomas K (Gast)


Lesenswert?

tja, bei mir sind heute auch ein paar adxl angekommen.
http://www.thomaskropf.at/elektronik/adxl202je.html
leider hab ich erst richtig in einem monat zeit mich damit zu
beschäftigen :(

von Marcel Meyer (Gast)


Lesenswert?

ok dann wir sind wir scheinbar schon 2 mit einem ähnlichen problen ;)

hilft mir aber momentan nich wircklich weiter...

Mfg

von leif (Gast)


Lesenswert?

guck mal in der academy von avrfreaks, da gibt's meines Wissens die
Auswertung ein paar mal, der Sensirion Sxx ist da ebenfalls mehrmals
vertreten. Und ich glaube MIS von yampp hat damit mal einen
Beschleunigungs/Kraft/Weg Rechner mit realisiert, weiß aber nicht, ob
der den code rausgegeben hat.

viel erfolg!

-leif

von Matthias (Gast)


Lesenswert?

mal ne Frage. Wenn der ADXL ein PWM- Signal ausgibt, kann man doch einen
Tiefpass dahinterhängen und die Analogspannung auswerten. Ich weiß,
erst digital und dann analog und dann wieder digital ist schon Mist,
aber wäre doch ne Möglichkeit

von Marcel Meyer (Gast)


Lesenswert?

ja das mit dem analog hab ich schaun überlegt, der adxl gibt auch ein
analog signal aus, jedoch finde ich es eleganter das PWM signal
auszuwerten, muss ja möglich sein :)

@leif, da schaue ich mich mal um, aber die seite ist irgendwie recht
unübersichtlich

von leif (Gast)


Lesenswert?

ja, das ist leider wahr. völlig bescheuerte navigation. moment,
vielleicht helfen die links:

bei avrfeaks hab ich noch nix gefunden...

 http://autopilot.sourceforge.net/

http://www.myplace.nu/avr/accelr8/

http://alumni.deec.uc.pt/~ruyfra/PSD/CycleDuty.pdf

-leif

von Marcel Meyer (Gast)


Angehängte Dateien:

Lesenswert?

danke für die links, http://alumni.deec.uc.pt/~ruyfra/PSD/CycleDuty.pdf
hilft schon ein wenig, ist ja eigentlich nur eine zusammenfassung vom
datenblatt, jedoch übersichtlich ;)

so hatte ich mir das ja auch schon vorgestellt, nur läuft mein code ja
nicht so wie er sollte :-/

im anhang ist ein bild aus dem PDF, ich würde gerne erstmal die zeit
Ta-Tb (T1) messen, Ta-Tc (T2) ergibt sich ja aus T1 * 2 bei 0g...

von leif (Gast)


Lesenswert?

Tja, mit dem Code kann ich Dir leider noch nicht helfen ;-) Aber wenn Du
noch ein paar Monate warten kannst..
Alternativ wär's toll, wenn Du Deine Ergebnisse schön erklärst, und
irgendwann mal zur Verfügung stellst. Ist zwar ein bißchen Spinnerei,
aber mein MP3 Wecker soll auch so ein tolles Teil bekommen, falls
möglich. Dann kann man ihn halten wie man will(Display wird dann
gedreht), den Alarm 'ausschütteln', ihn als Türwächter benutzen
(sofern Laut genug), Wasserwaage..

Zumindest plane ich ihn erstmal ein, die Software ist dann eine andere
Frage..

Jaja, der Phantasie sind keine Grenzen gesetzt :-)

Gutes Gelingen!

-leif

von Thomas K (Gast)


Lesenswert?

gibt es für den adxl202 (in der bauform auf meiner seite) eigentlich
einen sockel?
die lösung mit dem kupferlackdraht ist nicht gerade vorteilshaft :(

von Marcel Meyer (Gast)


Lesenswert?

ich habe mir einfach eine platine geätzt, und den adxl verlötet, d.h.
ein pin auf der platine verzint, dann den adxl zuerst mit einer fläche
angelötet und dann die anderen, ging ganz gut, du brauchst nur eine
sehr feine lötspitze!

von Thomas K (Gast)


Lesenswert?

...tja und einen der platinen ätzt :(

von Marcel Meyer (Gast)


Lesenswert?

soll ich dir eine adapter platine anfertigen?

von Joern Gerhard (Gast)


Lesenswert?

Hi,

dazu gibt es auch einen Bausatz bei ELV (einfach mal "BM 2" im Shop
eingeben oder "beschleunigungsmesser").
Die Doku kann man runterladen - mit Schaltplan, ist sehr nett
realisiert mit verschiedenen Bandbreiten einstellbar vom ATmega8, den
Code gibt es natürlich (wie üblich bei ELV) nicht.

Ich habe gestern mir das Ding (also den Bausatz, der jetzt reduziert
sogar erschwinglich geworden ist) zusammengelötet und war erstaunt,
dass der ATmega nicht gelockt ist... ;-)) also den Code gibt es
offiziell nicht. ;-)  Ist aber schon ein ganz schon grosses Programm
und das ganze im Disassembler nachzuvollziehen nicht gerade ein
Zuckerschlecken.

cu joern

von Thomas K (Gast)


Lesenswert?

@Marcel:

danke für das angebot, aber irgendwie muss ich das auch selber
schaffen.
schon vor allem deswegen weil ich bis jetzt 4 sensoren habe und 2
sollten noch kommen.

von Marcel Meyer (Gast)


Lesenswert?

wär aber kein problem dir die paar platinchen zu ätzen, sind ja nichtmal
briefmarken groß ;)

von Thomas K (Gast)


Lesenswert?

danke, aber ich muss sowieso irgendwann ins platinenätzen einsteigen.
ich schau mir grad an was reichelt so hat. will nicht unbedingt was
basteln.

ich überleg mir das
ÄTZGERÄT 1 - Platinen-Ätzgerät bis Platinengröße 250x175mm um 99,95
ENTWICKLUNGSSET - Einsteigerset zum Platinen entwickeln um 7,50
(als vorrat noch zusätzlich entwickler und ätzmittel)
dann bräuchte ich doch eigentlich nur noch etwas zum belichten, oder?
da werde ich mich dann um einen Gesichtsbräuner umschauen.

aber das ganze erst in ca. 1 monat

von Timo Ottersberg (Gast)


Angehängte Dateien:

Lesenswert?

Moin Moin

Ich habe mich auch schon mit dem ADX202 beschäftigt. Allerdings mit
AVR-GCC und nicht in CodeVision. Aber ich denke, dass sich der
Quelltext im Anhang leicht übertragen lässt. (Bitte nicht über den
Quelltext lachen :-))
Mit dem kleinen Gehäuse hatte ich auch Probleme. Ich habe den Chip dann
einfach in einen acht poligen Dip Sockel gelötet. Somit kann ich ihn
auch mal ausbauen und musste keine extra Platine ätzen. (siehe
Anhang).
Ich habe allerdings noch ein anderes Problem mein DutyCycle ist bei 0 g
nicht genau 50% deshalb musste ich noch einen Offset einbauen. Kann mir
evtl. jemand sagen woran das liegen könnte?

Schönes Restwochenende
Timo

von Marcel Meyer (Gast)


Lesenswert?

Hallo,

danke vielmals für den code, hat mir SEHR weitergeholfen, ich war auch
schon auf dem richtigen weg, aber auf die idee, von rising edge auf
falling edge umzustellen bin ich nicht gekommen ;)
habe das jetzt in meinen code zum teil übernommen, jedoch noch etwas
abgewandelt - er funktioniert schon mal! :)
ich werde meinen code, sobald er einwandfrei funktioniert in der
codesamlung veröffentlichen ;)

>Ich habe allerdings noch ein anderes Problem mein DutyCycle ist bei 0
g nicht genau 50% deshalb musste ich noch einen Offset einbauen. Kann
mir evtl. jemand sagen woran das liegen könnte?

evtl. ist der kondensator nicht der beste? so das er beim "umladen"
nicht schnell genug ist? ist nur eine vermutung, weil bei mir ist der
dutycycle bei 0g ca 49-50% (laut oskar)

von Sascha (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
für den 202 habe ich sowas mal geschrieben.
der Controller ATmega163 captured nach Knopfdruck die LOW und High
zeiten und speichert siem im Ram. Nach einem Weitern Knopfdruck werden
sie über RS232 formatiert ausgegeben. Vielleicht hilft Dir das weiter.
Bei der Berechnung des Ausgabewerts ist aber (glaube ich)ein Bug drin,
bin aber nicht ganz sicher. Sollte mir mal ein gescheites
Versionsmangetment angewöhnen.Nacher habe ich den Timer nur als 8 bit
ausgelesen.


Zum 50% Problem:
1. Der ADXL reagiert auch auf statische Beschleunigung, d.h. wenn du
ihn schief halts kommt die Erdanziegung ins spiel.
2. Es gibt einen Testpin. wenn der auf High(Low?) liegt verschiebt sich
der Ausgang um 10%. Mal im Datenblatt schauen.

Gruß Sascha

von Marcel Meyer (Gast)


Lesenswert?

danke auch für deinen code, werde ihn mir heute abend mal zu gemüte
führen ;)

von Marcel Meyer (Gast)


Angehängte Dateien:

Lesenswert?

so, hier mal ein kleines diagram von meinen gemessenen werten ;)
ist aber noch nicht so 100%ig

von Marco (Gast)


Lesenswert?

hallo, habe mir ebend das datenblatt angeschaut, aber irgendwie kann ich
nicht erkennen, wie anhand der g werte die beschleunigung errechnet
werden kann. kann mir da einer kurz weiterhelfen?

und wie ist es mit der schieflage des adxl, muß ich ihn immer
ausrichten, oder kann ich auch mit umrechner per software bzw
zusatzschaltung ihn nach lust und laune plazieren?

von Cambrino (Gast)


Lesenswert?

Hallo Marco

1g sind 9.81 m/s2. Also hast du ja die Beschleunigung.

Gruss
Cambrino

von Sepp Kradez (Gast)


Lesenswert?

Hallo,

hier gibt es ein Breakout-Board für den ADXL, sehr hilfreich.

http://www.sparkfun.com/shop/index.php?shop=1&itemid=147

Sepp

von Mark (Gast)


Lesenswert?

Hallo,

hat jemand das programm ??? den bausatz bekommt man nicht mehr und ich
möchte mir das gerät nachbauen ! die platine bekommt man noch bei
elv...

@Joern Gerhard  -  du hast es ja anscheinend, kannst du es mir zur
verfügung stellen ???

oder hat jemand die email von ihm ???

danke für eure hilfe !!!

mark


Org:

Autor: Joern Gerhard
Datum: 05.06.2004 00:04

------------------------------------------------------------------------ 
--------

Hi,

dazu gibt es auch einen Bausatz bei ELV (einfach mal "BM 2" im Shop
eingeben oder "beschleunigungsmesser").
Die Doku kann man runterladen - mit Schaltplan, ist sehr nett
realisiert mit verschiedenen Bandbreiten einstellbar vom ATmega8, den
Code gibt es natürlich (wie üblich bei ELV) nicht.

Ich habe gestern mir das Ding (also den Bausatz, der jetzt reduziert
sogar erschwinglich geworden ist) zusammengelötet und war erstaunt,
dass der ATmega nicht gelockt ist... ;-)) also den Code gibt es
offiziell nicht. ;-)  Ist aber schon ein ganz schon grosses Programm
und das ganze im Disassembler nachzuvollziehen nicht gerade ein
Zuckerschlecken.

cu joern

von Christoph Kessler (Gast)


Lesenswert?

hier gibts von ELV den Artikel als pdf gratis:
 http://www.elv-downloads.de/service/manuals/BM2/560-01.htm

von Mark A. (coyote)


Lesenswert?

danke,

das pdf habe ich schon, ich brauche aber noch das dazu passende
programm ...

Mark

von Mark A. (coyote)


Lesenswert?

hallo,

hat jemand das programm vom beschleunigungsmesser von elv

http://www.elv-downloads.de/service/manuals/BM2/560-01.htm

angeblich kann man es auslesen!!!

mark

von Steven Kienast (Gast)


Lesenswert?

Heyho...

was mich interessieren würd: Wie kommt man an samples bei analog
devices? ich finde da nichts, bei der sparte add to samples cart fehlt
immer der Link. Hab auch vor etwas mit Beschleunigungssensoren zu
realisieren.


MfG

Steven

von Dennis Kleine-Beck (Gast)


Lesenswert?

Samples vom ADXL202 gibt's nicht mehr, da das Teil ausläuft. ADXL320
sollte klappen, oder, auch sehr interessant, Freescale MMA6260. Beides
aber ohne PWM-Ausgang, rein analog. Der MMA6260 ist aber sogar
temperaturkompensiert.

Gruß,
Dennis

von Marco P. (bruchpilot-deluxe)


Lesenswert?

Hallo, dieser Beitrag ist zwar schon älter aber ich greife ihn nochmals 
auf...

Joern Gerhard (Gast) schrieb seinerzeit das das Programm ausgelesen 
werden kann, da der ATmega nicht gelockt ist...

Hat jemand das Programm und kann es mir zur Verfügung stellen, möchte es 
nachbauen, da bei elv nicht mehr im programm...

oder wenn jemand das gerät noch hat und nicht mehr benötigt wäre ich 
auch interessiert...

Danke!

Marco Pedro

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.