-
        

Ergebnis 1 bis 8 von 8

Thema: Dringend: Spannungmessung mit ATmega16 und LEDs als Ausgabe

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2008
    Beiträge
    10

    Dringend: Spannungmessung mit ATmega16 und LEDs als Ausgabe

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen,

    bin neu in der ATmega Liga Habe bisher hauptsächlich 8051 Controller in Assembler programmiert. Aber nun zu meinem Problem:
    Ich möchte als kleine Zugabe für eine Präsentation am kommenden Dienstag noch eine kleine Auswerteschaltung für Kraftsensoren bauen und dies vorführen, anstelle der lahmen Multimeter.
    Die Voraussetzungen sind folgende:
    • Insgesamt müssen 3 Sensoren ausgewertet werden.
      Die Sensoren haben eine Betriebsspannung von 15Volt.
      Gemessen werden Spannungen im Bereich von -5V bis +5V.
      ATmega16 Controller sind vorhanden.


    Mein Ziel:
    • Eine Schaltung, die alle drei Sensoren durch drei "Ampeln" (also je 3 LEDs [grün,gelb,rot]) auswertet. Grob geschätzt sollte zwischen -1V und 1V grün leuchten, zwischen -2V bis -1V sowie zwischen 1V und 2V die gelbe LED leuchten und alles kleiner -2V und größer 2V soll rot leuchten.


    Meine Herangehensweise: (Wie gesagt habe ich noch nie mit ATmega16 hantiert.)
    • Mein erster Schritt wäre eine Spannungsteiler zu bauen, der die 15V DC vom Netzgerät in 5V Versorgungsspannung wandelt. Diese würde ich dann auf PIN10 (VCC) sowie PIN30(AVDC) legen.
      Masse lege ich auf PIN11 und PIN31, jeweils GND.


    Meine Fragen:
    • Kann ich alle 3 Signale in einen ATmega16 bringen? Sprich kann ich bei PORT A die PINs 33-40 einen eigenen analogen Eingang zuweisen?
      WIE WEISE ICH DAS ZU (ALS C-CODE)?
      Kann ich 9 Ausgangsignale machen, also eine konstante DC Spannung mit der ich LEDs betreiben kann? Welchen Wert hat die Spannung?
      WENN JA, WIE SIEHT DAS ALS C-CODE AUS?
      Wird der Controller zu heiss wenn 3 LEDs betrieben werden?



    Wie gesagt, ich bin schwer im Zeitdruck und würde mich freuen wenn ihr mir noch schnell helfen könntet!

    Danke schööööön!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Hi,

    die Kurzform: Nimm ein Multimeter.
    Langform: Das ganz ist sicher machbar (wenngleich es einige Probleme gibt, kein ATMega mag negative Eingangsspannungen etc.)
    Aber: Du hast keine Vorkenntnisse über die ATMegas und um sich da vernünftig einzuarbeiten reichen vier bis fünf Tage meiner Meinung nach nicht aus.
    Du brauchst Informationen über das Hardwaredesign (RN-Wiki, ATMega-Grundschaltung).
    Und du brauchst Wissen über den Funktionsumfang und die Funktionsweise der ATMegas (Datenblatt/RN-Wiki/mikrocontroller.net)

    Zu deiner Frage:
    Der ATMega16 hat im DIP40-Gehäuse acht ADC-Eingänge, also der komplette Port A (Pin 33 bis 40).
    Intern hat der ATMega16 genau einen ADC-Wandler. Um die Signale auszulesen, musst du dem internen Multiplexer "sagen", welchen Kanal er auswählen soll. Nach einer gewissen Stabilisierungszeit kannst du dann Werte auslesen.
    Wie das ganze genau geht? Datenblatt, Abschnitt ADC VOLLSTÄNDIG durchlesen, da gibt es noch andere (wichtige) Informationen.

    Zu den Ausgängen: Steht alles im Datenblatt, IO-Pin kennt vier Zustände: Eingang, Eingang+Pullup, Ausgang Low, Ausgang High.
    Low und High entsprechen GND und VCC, Details siehe Datenblatt, Abschnitt I/O-Ports.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2008
    Beiträge
    10
    Würde vielleicht ein Gleichrichter aus 4 Dioden weiterhelfen? Dann sollte die Spannung immer positiv sein. Das Vorzeichen spielt bei mir keine Rolle, sondern vielmehr der Betrag.

    Zum Ausgang:
    Ein Kollege meinte ich solle die LEDs über Optokoppler durch den Mikrocontroller ansteuern. Wenn ich ne logische 1 auf den PIN-Ausgang lege, würde VCC ausgegeben.

    Hab mal mit Eagle eine Schaltung gemacht. Weiss nicht welche Vorwiderstände die Optokoppler brauchen. Muss ich in Datenblättern nachschauen
    Angehängte Dateien Angehängte Dateien

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Insgesamt müssen 3 Sensoren ausgewertet werden.
    Die Sensoren haben eine Betriebsspannung von 15Volt.
    Gemessen werden Spannungen im Bereich von -5V bis +5V.
    Wie geht das denn ?
    Die Sensoren haben also eine Eingangsspannung von + 15 V ?
    Am Ausgang der Sensoren kommen dann aber +5V und -5V gegen Masse raus ?
    Dann ist also ein kleines Netzteil oder eine Ladungspumpe eingebaut
    Ich meine doch eher, das die Betriebsspannung durch 2 geteilt wird und somit im Ruhezustand 7,5V am Ausgang gegen Masse anliegen.
    Und dann die Spannung je nach Belastung Werte zwischen +2,5 V und +12,5V annehmen kann.
    Das lässt sich mit einem Spannungsteiler auf die gewünschten Werte bringen.
    Der ATMEGA 16 kann als Referenz mehrere Verschiedene Quellen haben, die man per Software auswählen kann.
    1. Die interne Referenz ( 2,56V soweit ich weiß )
    2. Die Versorgungsspannung des Controllers
    3. Eine extern angeschaltete Referenz

    In einem muß ich markusj aber recht geben, wenn Du noch nie mit diesen Controllern gearbeitet hast, kannst Du dein Projekt vermutlich nicht bis Dienstag realisieren.
    2 bis 3 "intensive" Wochen wären da realistischer.
    Das Datenblatt des ATMEGA hat mehr als 300 Seiten, von denen Du dir für deine Aufgabenstellung ca. 30% reinziehen musst.
    Dann ist aber noch keine Zeile geproggt.

    Wenns wirklich so eilig ist, würd ich das lieber in Hardware mit Operationverstärkern machen.
    Ein paar LM324 kosten nicht viel und einer pro Ampel sollte ausreichen.
    Noch dazu passt der Spannungsbereich deiner Sensoren besser zum Operationsverstärker. d.h kein zusätzliches Netzteil.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    06.08.2008
    Beiträge
    10
    also die betriebsspannung von 15V wird, wie du erkannt hast in einen messverstärker gegeben, der dann -5V bis +5V Werte ausgibt. Könnte über Potis, die intern in den Verstärkern sind, den Offset auf 5V legen, so dass ich dann 0V bis 10V am Ausgang hätte. Müsste dann halt wieder vor den Eingängen nen Spannungsteiler stellen, der die Spannung halbiert (gemessene darf nicht größer sein als VCC).

    Über die OPV müsste ich dann eine Verstärkerschaltung bauen? Aber wie sage ich der Schaltung dass das LED ab einem bestimmten Wert wieder ausgeht?

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Meine Herangehensweise: (Wie gesagt habe ich noch nie mit ATmega16 hantiert.)

    Mein erster Schritt wäre eine Spannungsteiler zu bauen, der die 15V DC vom Netzgerät in 5V Versorgungsspannung wandelt. Diese würde ich dann auf PIN10 (VCC) sowie PIN30(AVDC) legen.
    Masse lege ich auf PIN11 und PIN31, jeweils GND.
    Spannungsteiler funktioniert sicher nicht, für die Stromversorgung des µC brauchst du dazu einen Spannungsregler wie 7805.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Zitat Zitat von Blackham
    Über die OPV müsste ich dann eine Verstärkerschaltung bauen? Aber wie sage ich der Schaltung dass das LED ab einem bestimmten Wert wieder ausgeht?
    Du musst den OPV als Komparator betreiben und die Schwellspannung via Poti einstellen, wäre zumindest wäre das mein erster Ansatz.
    Ich muss allerdings gestehen, dass meine Kenntnisse der Analogtechnik eher ... weniger ausgeprägt sind.

    mfG
    Markus

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Wenn du das ganze sehr einfach halten willst, dann verwende einen, oder in deinem Fall drei, LM3914.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •