-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Getadc

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19

    Getadc

    Anzeige

    Kann mir einer weiterhelfen!
    Leider kann ich seit kurzen mit diesem Programm nicht mehr auf den AD-Wandler von meinem ATMEGA8 zugreifen.
    $regfile = "m8def.dat"
    $crystal = 3686400
    $baud = 9600

    Config Adc = Single , Prescaler = Auto

    Dim W As Word , Kanal As Byte

    Kanal = 0

    Do

    W = Getadc(kanal)

    Print " Kanal " ; Kanal ; " Wert " ; W

    Loop

    End

    Mit einem anderen Beispiel aus dem Buch von Roland Walter klappt es jedoch.
    Vor einiger Zeit hat mein eigenes Programm noch funtioniert leider weiss ich nicht was ich verstellt habe.
    Es währe schön wenn jemand mir hierbei Helfen könnte!
    Danke
    Michael

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    wie wärs mal mit
    start adc
    bevor du mit dem messen anfängst?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Sorry hatte ich vergessen!!!
    Aber funktioniert trotzdem nicht zeigt nur max Wert von 1023 an. Kann nicht verändert werden durch andere Poti Stellung

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Klingt, als ob das Poti keine GND-Verbindung hätte.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Ich hatte schon ein Funtionierendes Programm mit mehreren AD-Eingängen das Funtioniert hat. Leider zeigen die alle auch nur noch max Werte an. Hatte kurzzeitig Update auf Bascom 1.11.7.8 gemacht wegen Programm-Größen Probleme. Habe dies wieder rückgängig gemacht aber trotzdem funktioniert es nicht mehr

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    ist dein kanal der richtige? und ist die hardware ok?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Wie gesagt die GRD-Verbindung ist Gut da ein anderes Programm von Roland Walter funtioniert. Leider mit anderen Befehlen ADMUX und ADCSR usw.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Es sind nur zwei verschiedene Arten den AD-Wandler abzufragen. Wobei beiden funktioniert haben, jetzt leider nur noch eine.
    Leider ist die Abfrage von mereren Kanälen bei Roland Walter nicht so gut erklärt. Deshalb habe ich es mit Getadc probiert.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Habe nochmal mein Original Programm was funktioniert hat beigefügt.
    Code:
    $regfile = "m8def.dat"                                      'ATmega8-Deklarationen
    $crystal = 3686400
    $baud = 9600
    
    Dim A As Word
    Dim B As Single
    Dim C As Single
    Dim D As Single
    Dim Channel As Byte
    
    
    
    
    Config Adc = Single , Prescaler = Auto
    Start Adc
    
    Do
     If Channel = 0 Then D = 9.775171
     If Channel = 1 Then D = 0.293255132
     If Channel = 2 Then D = 1.9550342
     If Channel = 3 Then D = 1.1730205
    
     A = Getadc(channel)
     B = A * D
     C = Round(b) / 100
     Print C;
     If Channel = 0 Then Print " Grad,";
     If Channel = 1 Then Print " Ampere(3A),";
     If Channel = 2 Then Print " Ampere(20A),";
     If Channel = 3 Then Print " Volt,";
     Incr Channel
     If Channel > 3 Then Channel = 0
     Waitms 200
    
    Loop
    müßte eigendlich so klappen!!

    Und jetzt nicht mehr?????? [-o<

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2005
    Beiträge
    19
    Ich habe es nun noch einige male Versucht aber es klappt einfach nicht mehr.

    Habe das Programm von Roland Walter für meine Zwecke leicht umgeschrieben

    Wenn ich nur ein Kanal Abfrage zeigt er mir den richtigen Wert an,
    sobalt ich das Programm auf zwei Kanäle erweitere Vertausch er mir die Ergebnisse?????

    Warum???
    Code:
    $regfile = "m8def.dat"                                      'ATmega8-Deklarationen
    $crystal = 3686400                                          'Quarz: 3,6864 MHz
    $baud = 9600                                                'Baudrate zum PC: 9600 Baud
    
    Dim A As Word
    Dim B As Byte
    
    
    Ddrc = &B00000000                                           'PC7...PC0=0: PortC-Pins auf Eingang
    Admux = &B01100000
    Adcsra = &B11100010
    
    Do
    
    B = 0
    Admux = &B01100000
    'Adcsra = &B11100010
    A = Adch
    Print "Kanal " ; B ; "= " ; A ; " - ";
    
    Waitms 1000
    
    B = 1
    Admux = &B01100001
    'Adcsra = &B11100010
    A = Adch
    Print "Kanal " ; B ; "= " ; A ; " - ";
    
    Waitms 1000
    
    Loop

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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