- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: AD wandler bei ATmega16

  1. #1

    AD wandler bei ATmega16

    Anzeige

    Powerstation Test
    erstmal hallo alle zusammen,

    also zunächsteinmal zu meiner person hab so die grundlagen von microcomputer einiger masen drauf hab auch schonmal was mit einem 8035 microcontroller was zu tun gehabt dennoch so finde ich bin ich noch ein anfänger in diesem gebiet.

    auf jeden fall hab ich jetzt ein problem undzwar hab ich jetzt ein ATmega 16
    controller vor mir liegen und würde gerne wissen wie ich den AD wandler nutzen kann der ja in diesem controller integriert ist.

    ich möchte einfach ein ganz normales analoges signal in ein digitales umwandeln. jetzt die große frage wie und was muss ich machen damit das hinhaut. Ich hab mich schon mit dem Datenblatt ausernander gesetzt ist leider in Englisch and my english is not so good...

    ich kenn die tools (AVR STUDIO 4.09,code vision AVR)

    aber weis nicht genau was ich da programmieren muss

    kann mir vieleicht einer helfen?????????


    vielen dank im vorraus

    gruss jonny

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Von der Beschaltung her musst du dem ATMega eine Referenzspannung geben und dann deine zu messende Spannung an einen der 8 AD-Pins von Port A anlegen.
    Die Referenzspannung darf maximal so gross wie die Eingangspannung sein, die zu messende Spannung darf maximal so gross wie die Referenzspannung sein.

    Die komplette Grundschaltung findest du z.B. hier:
    http://www.kreatives-chaos.com/index.php?seite=avrgrund
    Ist zwar ein ATMega8 aber die entsprechenden Pins aus dem Datenblatt des ATMega16 rauszusuchen sollte auch ohne englisch klappen


    Zur Programmierung in AVR Studio kann ich dir nichts sagen.
    Kannst es ja mal mit Bascom Basic versuchen. Ist wesentlich einfacher als Assembler und wie man einen AD-Eingang einliest ist in der Online-Hilfe anhand von Beispielcodes erklärt.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    atmega16:

    aref an 5volt /pin 32
    gnd masse /pin 31
    avcc an 5volt /pin 30

    dann an adc0 bis adc7 auslesen bis max 5volt

    mfg pebisoft

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Beiträge
    663
    Hi,

    ich möchte das ganze mit einem ATmega8 machen.
    Hab das noch nicht ganz verstanden mit Aref an 5Volt - Woran muss der dann?

    Bei der Gelegenheit, wie lese ich in Bascom sie Spannung aus?

    Grüße,
    Björn
    Nur tote Fische schwimmen mit dem Strom...

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    Probiers mal damit.
    NUR FÜR SPANNUNGEN BIS 5V!!!!
    Richtige Hardwarebeschaltung vorausgesetzt, ist ja schon beschrieben worden.
    An den Pin AREF müssen von Außen 5V angelegt werden.
    Der Prozessor teilt dann diese Spannung durch den Teiler den du einstellst oder Automatisch(Siehe mein Code.....Prescaler=AUTO)






    Code:
     
    dim Dauer as integer , Spannung as single
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    
    
     Start Adc
    
    
      Dauer = Getadc(0)                         ' Messung an Kanal 0
      Spannung = Dauer * 0.004883        ' Umrechnung 5V/1024* Dauer
      
    
      Stop Adc
    
    
       Print "Kanal " ; Cnt ; Spannung ; " V"

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.02.2005
    Beiträge
    663
    Jo geht danke!

    Björn
    Nur tote Fische schwimmen mit dem Strom...

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hat mit dauer nichts zu tun, ist der 1024zigste-teil mal dem wert der am adc als zahlenwert ausgegeben wird.
    mfg pebisoft

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    Ist nur ein Ausschnitt aus meinem Projekt.
    Ist schon klar

    mfg Vader

  9. #9

    zu der antwort von pebisoft

    atmega16:

    aref an 5volt /pin 32
    gnd masse /pin 31
    avcc an 5volt /pin 30

    dann an adc0 bis adc7 auslesen bis max 5volt

    mfg pebisoft

    hi und danke für die antwort schonmal im vorraus

    hab die anweisungen befolgt d.h die pins so beschaltet wie angegeben.

    wenn ich jetzt aber an dem adc0 bis adc7 die spannung gegen masse messe
    bekomme ich einen messwert von ca. 300 mV kann das sein oder mache ich was falsch.?????????

    programmiert hab ich zunächsteinmal garnichts nur den compiler mitgteilt
    das ich den ad wandler nutzen möchte.

    und in den ADCH und ADCL register schreibt er auch nichts rein.


  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    Was meinst du mit spannung gegen Masse messen?
    Leg einfach mal 2 V oder so an die adc-Eingänge.
    Stell mal deinen Code hier rein und ich kann dir helfen.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress