-
        

Ergebnis 1 bis 6 von 6

Thema: Problem beim Mega8 + ADC

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    31
    Beiträge
    106

    Problem beim Mega8 + ADC

    Anzeige

    Hi habe an meinem Mega8 an Channel 5 des ADC einen Fotowiderstand der die helligkeit misst und damit die hintergrundbeleuchtung meines LCDs steuert, an chennel 4 + 3 wollte ich CNY 70 für die Linien verfolgung anbringen aber komischerweise verändert sich der wert von channel 4+3 wenn sich der wert an channel 5 verändert habe alle mit einem Pull Down versehen geht die werte bleiben trotzdem nicht auf null hoffe ihr könnt mir helfen

    -Maik

  2. #2
    Gast
    mit welcher sprache programmierst du denn?

    Martin

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Wäre schön, wenn du eine kleine Skizze machen könntest und den Quellcode posten könntest (ich hoffe Bascom )
    Generell sollte das eigentlich nicht passieren.

    MFG Moritz

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.10.2004
    Ort
    Hamburg
    Alter
    31
    Beiträge
    106
    Also mein Code in [flash width=100 height=100]Bascom [/flash]schaut so aus:



    Code:
    '$sim
    
    '----- Registrations Datei und Quartz -----
    
    $regfile = "m8def.dat"
    $crystal = 4000000
    'baud = 9600
    
    '----- -----
    
    Config Portd = Output
    Ddrb = &B0000011
    
    '----- Lcd Initialisieren -----
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.6 , Rs = Portd.7
    
    Declare Sub Lcds
    
    '----- ADC Initialisieren -----
    
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    'Enable Adc
    
    '----- Variablen -----
    
    Dim A As Word , Channel0 As Byte , Channel1 As Byte , B As Word , Channel2 As Byte , C As Word , Empfang As Byte
    
    'Enable Interrupts
    Cursor Off
    Channel0 = 5
    Channel1 = 4
    Channel2 = 3
    
    
    Do
       Start Adc
          A = Getadc(channel0)
          B = Getadc(channel1)
          C = Getadc(channel2)
       Stop Adc
    
       If A < 150 Then
          Portb.0 = 1
       Else
          Portb.0 = 0
       End If
    
       Call Lcds
    
    
    Loop
    
    
    End
    
    Sub Lcds
       Cls
       Locate 1 , 1
       Lcd "Helligkeit: " ; A
       Locate 2 , 1
       Lcd "LS L:" ; B ; " R:" ; C
       'Lcd "Empfangen: " ; Empfang
       Waitms 300
    End Sub
    und meine Schaltung so... es soll channel 5 sein an 4 und 3 hängen auch 100K direkt auf gnd soll später die linien verfolgung ran
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schlatung.jpg  

  5. #5
    Gast
    Das Ding in deiner Schaltung ist aber ein Fototransistor, kein Fotowiderstand.

    Ein Fototransistor lässt einen zur Lichtstärke passenden Strom passieren (wie ein Transistor, nur dass die Basis hier durch Licht aktiviert wird).
    Du solltest also den Strom messen, nicht die Spannung.

    Außerdem sind 100kOhm für einen Spannungsteiler (was du wohl beabsichtigt hattest) viel zu viel. Lies dir doch bitte das Kapitel über den ADC im Datenblatt des AVR durch, sonst kannst du auch gleich die Wünschelrute benutzen.
    Dann würdest du nämlich u.a. über die Aussage stolpern, dass die Impedanz der Analogspannung maximal 10k betragen sollte, um verlässliche Werte zu erhalten.

    Außerdem:
    Bei Analogspannungen brauchst du keine "Pulldowns". Du brauchst Spannungsteiler, evtl. Operationsverstärker (für Strommessung) und ähnliches. Pulldown-Widerstände gibts nur bei digitalen Signalen, um einen definierten Zustand zu erhalten.
    Der A/D-Wandler des AVR wandelt eine Spannung in einen digitalen Wert um. Ein Pulldown-Widerstand wäre da ziemlich störend.

  6. #6
    Gast
    Das Ding in deiner Schaltung ist aber ein Fototransistor, kein Fotowiderstand.
    ups. gilt natürlich nur falls du den Emitterpfeil vergessen hast (was ich annehme).

Berechtigungen

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