www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Analogmessung atmega8


Autor: Volker Knobe (prefekt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich hab die Temperatursteuerung von Thomas Pfeifer (Reflow Ofen) 
nachgebaut und den atmega8 mit der Software gebrannt. Das Funktioniert 
auch so weit.
Nur bei der Temperaturmessung habe ich das Problem, das am Meßeingang 
eine Spannungsdifferenz von ca. 0,5V habe, je nachdem ob der die 
Ausgänge am PORTD 0 oder 1 haben.
Das bedeutet wenn PORTD = 0b00000000 habe ich am Meßeingang PC0 einen 
Spannungsunterschied von 0,5V als wenn PORTD = 0b11100000.

Ich hab keine Ahnung warum...

Hier mal ein kleiner Auszug aus dem Quellcode:
Messung:
void adcinit() {
  // Activate ADC with Prescaler 16 --> 1Mhz/16 = 62.5kHz
  //ADCSRA = _BV(ADEN) | _BV(ADPS2);
  ADCSRA = _BV(ADEN) | _BV(ADPS2) | _BV(ADPS1);
  ADMUX=  0;
}

int getadc(uint8_t channel) {
  // Select pin ADC0 using MUX
  ADMUX = channel | _BV(REFS0) | _BV(REFS1);

  //Start conversion
  ADCSRA |= _BV(ADSC);

  // wait until converstion completed
  while (ADCSRA & _BV(ADSC) ) {}

    // get converted value
  return(ADCW);
}

Regelung:
void control(int t_ist, int t_soll) {
  if (t_ist>t_soll) {
    PORTD = 0b00000000;  //off
  } else {
    PORTD = 0b11100000;  //on
  }
}

Es gibt sicherlich eingie die die Schaltung auch nachgebaut haben.

Viele Grüße
Volker

Autor: X- Rocka (x-rocka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pull-ups ? interne / externe Referenz ?
=> Datenblatt

Autor: Volker Knobe (prefekt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
am PC0 ist ein Pullup, 1K gegen +5V und ein Kondensator 100nF an GND. 
Die Diode hänge zwischen PC0 (Anode) und GND.
Es wird die Interne Spannungsreferenz verwendet.
Zwische AREF und GND ist auch ein 100nF.


Volker

Autor: Timo D. (lorvorne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ohne Schematic schwierig - kenne die Steuerung nicht.
Evtl. könntest Du mal die Schaltung hochladen?

Gruß,
T.

Autor: Volker Knobe (prefekt)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hoffe Thomas Pfeifer hat nix dagegen...

Hier ist die Schaltung

Autor: Timo D. (lorvorne)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, das Schematic sieht natürlich einwandfrei aus - soweit
ich das beurteilen kann.
Wenn Du die Schaltung selbst aufgebaut hast (Testplatine o.ä.)
würde ich auf ein Masseproblem des TempSensors tippen.
Miss mal diese Masse gegen die am Optokoppler.
Falls Du auch das PCB-Layout übernommen hast, muss ich leider passen.

Viel Erfolg,
T.

Autor: Volker Knobe (prefekt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI,

nee, Layout hab ich neu gemacht ... gute Idee, werde ich gleich mal 
heute Mittag ausprobieren.

Danke und Gruß

Autor: Volker Knobe (prefekt)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
so die Masseverbindungen sind überall vorhanden...

Wenn der ich PORTD auf 0b11100000 setzte messe ich am Eingang PC0 eine 
0,5V höhere Spannung?
Ich verstehe es echt nicht.

Hier ist nochmal mein Schaltplan von dem Modul...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.