Forum: Mikrocontroller und Digitale Elektronik Problem mit Analogmessung atmega8


von Volker K. (prefekt)


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:
1
void adcinit() {
2
  // Activate ADC with Prescaler 16 --> 1Mhz/16 = 62.5kHz
3
  //ADCSRA = _BV(ADEN) | _BV(ADPS2);
4
  ADCSRA = _BV(ADEN) | _BV(ADPS2) | _BV(ADPS1);
5
  ADMUX=  0;
6
}
7
8
int getadc(uint8_t channel) {
9
  // Select pin ADC0 using MUX
10
  ADMUX = channel | _BV(REFS0) | _BV(REFS1);
11
12
  //Start conversion
13
  ADCSRA |= _BV(ADSC);
14
15
  // wait until converstion completed
16
  while (ADCSRA & _BV(ADSC) ) {}
17
18
    // get converted value
19
  return(ADCW);
20
}

Regelung:
1
void control(int t_ist, int t_soll) {
2
  if (t_ist>t_soll) {
3
    PORTD = 0b00000000;  //off
4
  } else {
5
    PORTD = 0b11100000;  //on
6
  }
7
}

Es gibt sicherlich eingie die die Schaltung auch nachgebaut haben.

Viele Grüße
Volker

von X- R. (x-rocka)


Lesenswert?

Pull-ups ? interne / externe Referenz ?
=> Datenblatt

von Volker K. (prefekt)


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

von Timo D. (lorvorne)


Lesenswert?

Hi,

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

Gruß,
T.

von Volker K. (prefekt)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hoffe Thomas Pfeifer hat nix dagegen...

Hier ist die Schaltung

von Timo D. (lorvorne)


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.

von Volker K. (prefekt)


Lesenswert?

HI,

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

Danke und Gruß

von Volker K. (prefekt)


Angehängte Dateien:

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...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.