{"id":149,"date":"2011-01-12T20:45:40","date_gmt":"2011-01-12T19:45:40","guid":{"rendered":"http:\/\/gc.x3.net\/wordpress\/?page_id=149"},"modified":"2019-09-23T14:43:09","modified_gmt":"2019-09-23T13:43:09","slug":"avr-mit-3-achs-beschleunigungssensor","status":"publish","type":"page","link":"https:\/\/www.byter.de\/wordpress\/?page_id=149","title":{"rendered":"Elektronik: AVR mit 3-Achs-Beschleunigungssensor"},"content":{"rendered":"<p>K\u00fcrzlich ist mir bei einem bekannten Restposten-H\u00e4ndler ein analoger  3-Achs-Beschleunigungssensor ins Auge gefallen&#8230;&nbsp; Gelieb\u00e4ugelt hab ich  mit so einem Sensor schon l\u00e4nger, schlie\u00dflich fallen einem da allerhand  lustige Anwendungsm\u00f6glichkeiten f\u00fcr einen Cache ein ;-), allerdings  scheiterte es bisher immer am hohen Preis oder an den extrem  unhandlichen Chip-Abmessungen (l\u00f6tet mal einen 4x4mm gro\u00dfen Chip mit 16  Pins&#8230; \ud83d\ude44 ).<\/p>\n<p>Es handelt sich dabei um den Sensor <a href=\"http:\/\/www.alldatasheet.net\/datasheet-pdf\/pdf\/150894\/AD\/ADXL330KCPZ.html\">ADXL330KCPZ<\/a>, der fast identisch auch in den Controllern der WII-Konsole zum Einsatz kommt&#8230;<\/p>\n<p><a href=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl330.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-156\" title=\"adxl330\" src=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl330.jpg\" alt=\"Platinchen mit Sensor\" width=\"400\" height=\"302\" srcset=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl330.jpg 400w, https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl330-300x226.jpg 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>In diesem Fall war der knuffige Chip zum Gl\u00fcck bereits &#8222;bastlertauglich&#8220; auf einer kleinen Platine verbaut, und so stand dem Vergn\u00fcgen nichts mehr im Wege, das  Schmuckst\u00fcck mit einem AVR-Mikrocontroller zu verbinden \ud83d\ude09&nbsp;&nbsp; Die  Anbindung und Auswertung gestaltete sich dann auch recht simpel &#8211; pro  Achse ein ADC-Eingang vom AVR, passende Referenzspannung, fertig.<\/p>\n<h6><span style=\"text-decoration: underline;\">Funktionsweise:<\/span> Der Sensor reagiert nicht nur auf  Beschleunigung, sondern hat auch je  nach Lage des Sensors in den  betreffenden Achsen (X\/Y\/Z) zum  Erdmittelpunkt eine Vorbelastung im  Messwert von 1G im Vektor. D.h. er  besitzt wenn Z beispielsweise nach  oben zeigt, eine Vorbelastung um -1G (<a href=\"http:\/\/de.wikipedia.org\/wiki\/Gravitationskonstante\" target=\"_blank\" rel=\"noopener noreferrer\">Gravitationskonstante<\/a>)   im Z-Wert. Die Messwerte werden vom Sensor in X bis Z als   Analogspannungen ausgegeben. Hier unter den 3,3V sind dies in Ruhe ca.   1,65V, und eine Belastung der Achse um 1G verschiebt den Wert um linear   ca. 330mV positiver bzw. negativer, je nach Beschleunigung und Lage auf   der Achse.<a href=\"http:\/\/wiesolator.gotdns.org\/index.php?area=Projekte&amp;topic=3D-AccMeter\">*<\/a><\/h6>\n<p>Das Projekt hab ich dann gleich etwas gr\u00f6\u00dfer ausgelegt und nebenbei  noch die ersten Versuche mit einem Grafikdisplay gestartet. Hier fiel  die Wahl auf ein 128 x 64 Pixel Display mit KS0108 Controller &#8211; gibt\u00b4s  als China-Import f\u00fcr knapp 10\u20ac auf Ebay und l\u00e4\u00dft sich mit passender Bascom-Library (glcdKS108.lib) auch sehr einfach ansprechen&#8230; Herz des Ganzen bildet schlie\u00dflich ein  ATMEGA16 Mikrocontroller, der genug I\/O-Ports und Speicher f\u00fcr mein  Vorhaben haben sollte.<\/p>\n<p>Und so sieht dann das erste Ergebnis aus:<\/p>\n<p style=\"text-align: center;\"><span class=\"youtube\"><iframe loading=\"lazy\" title=\"YouTube video player\" class=\"youtube-player\" type=\"text\/html\" width=\"425\" height=\"344\" src=\"\/\/www.youtube.com\/embed\/xvtG3_tpBsg?wmode=transparent&amp;fs=1&amp;hl=en&amp;modestbranding=1&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1&amp;theme=dark\" frameborder=\"0\" allowfullscreen><\/iframe><\/span><\/p>\n<p>Hier der vorl\u00e4ufige Schaltplan (Work in progress!):<\/p>\n<p><a href=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/avr-adxl-schaltplan.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-158\" title=\"avr-adxl-schaltplan\" src=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/avr-adxl-schaltplan.jpg\" alt=\"\" width=\"949\" height=\"838\" srcset=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/avr-adxl-schaltplan.jpg 949w, https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/avr-adxl-schaltplan-300x264.jpg 300w\" sizes=\"(max-width: 949px) 100vw, 949px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl-modul.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-147\" title=\"ADXL-Modul\" src=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl-modul.jpg\" alt=\"Schaltplan des ADXL330-Moduls\" width=\"631\" height=\"475\" srcset=\"https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl-modul.jpg 631w, https:\/\/www.byter.de\/wordpress\/wp-content\/uploads\/2011\/01\/adxl-modul-300x225.jpg 300w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/a><\/p>\n<p>Das Grundger\u00fcst steht also &#8211; was in den n\u00e4chsten Tagen folgt ist allerhand Programmierung \ud83d\ude09<\/p>\n<p><img decoding=\"async\" src=\"file:\/\/\/C:\/Users\/mvoege\/AppData\/Local\/Temp\/moz-screenshot.png\" alt=\"\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>K\u00fcrzlich ist mir bei einem bekannten Restposten-H\u00e4ndler ein analoger 3-Achs-Beschleunigungssensor ins Auge gefallen&#8230;&nbsp; Gelieb\u00e4ugelt hab ich mit so einem Sensor schon l\u00e4nger, schlie\u00dflich fallen einem da allerhand lustige Anwendungsm\u00f6glichkeiten f\u00fcr einen Cache ein ;-), allerdings scheiterte es bisher immer am &hellip; <a href=\"https:\/\/www.byter.de\/wordpress\/?page_id=149\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":802,"menu_order":29,"comment_status":"open","ping_status":"open","template":"","meta":{"ngg_post_thumbnail":0},"_links":{"self":[{"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/149"}],"collection":[{"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=149"}],"version-history":[{"count":14,"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/149\/revisions"}],"predecessor-version":[{"id":2503,"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/149\/revisions\/2503"}],"up":[{"embeddable":true,"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/802"}],"wp:attachment":[{"href":"https:\/\/www.byter.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}