Beschleunigungssensor von Pollin an Atmega8

  • Ich versuche gerade mit einem Atmega8 über V-USB einen HID-kompatiblen Joystick zu bauen. Als X und Y Achse möchte ich über die ADC-Ports den Beschleunigungssensor von Pollin nutzen http://www.pollin.de/shop/dt/N…unigungssensor_Modul.html


    Allerdings stehe ich nun gerade vor einem kleinen Problem und da sich hier eine Menge Elektronikexperten befinden frage ich einfach mal nach Hilfe ;)


    Der Atemga8 wird über die 5V des USB betrieben, somit ist AREF und AVCC auch 5V. Die USB-Datenleitungen ziehe ich auf 3,6V mit Z-Dioden.
    Der Sensor von Pollin hat nun einen Spannungsregler eingebaut um die Spannung auf 3V zu drücken, hier gehe ich mit 5V vom USB drauf. Ein kurzer Test bestätigt mir auch das dies ausreicht und ich stabile 3V hinter dem Spannungsregler habe. Mein Problem ist nun aber das dadurch dann nur Werte von 0-3V ausgegeben werden, der Atmel aber im Bereich 0-5V misst.


    Die Platine sollte nicht nur auf diesen einen Beschleunigungssensor festgelegt sein, es sollen für die Achsen Schraubklemmen auf die Platine um dort auch andere Sachen anschliessen zu können (z.B. um das ganze auch für einen analogen Joystick zu nutzen).
    Hat jemand einen Tip wie man damit am sinnvollsten umgeht? Am liebsten in Hardware.

  • Interne Referenz von 2,56Volt benutzen und die 0..3Volt auf 0..2,56Volt teilen.


    Quote

    Internal Voltage
    Reference
    ATmega8 features an internal bandgap reference. This reference is used for Brown-out Detec-tion, and it can be used as an input to the Analog Comparator or the ADC. The 2.56V reference
    to the ADC is generated from the internal bandgap reference

  • Genau so würde ich das auch machen. AREF mit 100nF auf Masse und somit die interne Referensspannung von 2,56V nehmen.
    Dann mit einem einfachen Wiederstandsteiler deinen Eingang von 3V auf 2,5V teilen und das sollte funktionieren.


    Grüße
    Martin

  • Mahlzeit


    Da das gut zum Thema passt :D


    Kennt jemand nen bezahlbaren 12Bit(oder mehr) ADC, den man über I2C(oder ähnlich Portsparsam) an den Atmega bekommt?
    Die 10Bit vom Atmel sind mir zu wenig, ich brauch 4x 12Bit (oder mehr) für Strommessungen über 3x ACS712 bzw. 1x LEM (100 A)

    Dirk

  • Hi,

    Kennt jemand nen bezahlbaren 12Bit(oder mehr) ADC, den man über I2C(oder ähnlich Portsparsam) an den Atmega bekommt?

    evtl sowas via SPI


    Um zwei am SPI zu betreiben musst du IHMO mit dem CS Pin des MCP3208 arbeiten


    Grüße Rudi

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

    Edited once, last by rudirabbit ().

  • Klingt gut, 2 brauch ich da dann auch nicht, da das nen 8 kanal ist :D


    schau ich mir auf alle fälle mal genauer an, dadurch hab ich auch den MCP3428 gesehen (leider TSSOP Bauform), der 4Kanal 16Bit mit I2C ist


    Danke

    Dirk

  • Hallo Dirk,
    Habe den MCP3428 nicht gesehen denke schon der hat Vorteile, auf I2C Basis braucht es weniger Ports.
    OK - ist TSSOP aber soviel Beine hat der Chip ja nicht ;D


    Was ist das für ein Projekt, wenn die Frage erlaubt ist ?
    Bin nur etwas neugierig.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Ich erinnere mich mit Schrecken an den Mod der 2.3er FF-Karte :angst
    Die 2 Chips haben mich viel Zeit gekostet!


    Das soll eine Solar-Steuerung/Überwachung werden.

    Dirk

    Edited once, last by Dirk ().

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!