Forum: Mikrocontroller und Digitale Elektronik AVR Attiny85 - unterschiedliche Ausgangsspannungen - Newby


von Stefan N. (steview_de)


Angehängte Dateien:

Lesenswert?

Moin!
Ich hab mal wieder meine µC Bastelkiste herausgeholt und auch ein paar 
Erfolge verbuchen können ;-)
Ich habe rudimentäre Grundkenntnisse, bin jetzt aber auf ein "Phänomen" 
gestoßen, welches ich mir erstmal nicht wirklich erklären kann.

Ich möchte mit dem Attiny85 "Stand-Alone" ein Relais mit Zeitsteuerung 
ansteuern. Bei Tasterdruck wird für 9sek. das Relais angesteuert.
Über zwei LEDs soll der "Status" angezeigt werden. Die LEDs sind nach 
"Charlie-Plexing" Manier an zwei PINs (0, 1) angeschlossen.

Der Code sieht so aus:
1
int LEDrot=1;
2
const int relaisIN1 = 4;
3
int taster=3;
4
int LEDweiss=0;
5
int tasterstatus=0;
6
7
void setup()
8
{
9
pinMode(LEDrot, OUTPUT);
10
pinMode(LEDweiss, OUTPUT);
11
pinMode(relaisIN1, OUTPUT);
12
pinMode(taster, INPUT);
13
digitalWrite(relaisIN1, HIGH);
14
digitalWrite(LEDrot, HIGH);
15
digitalWrite(LEDweiss, LOW);
16
}
17
18
void loop()
19
{
20
// digitalWrite(relaisIN1, HIGH);
21
tasterstatus=digitalRead(taster);
22
if (tasterstatus == HIGH)
23
  {
24
   digitalWrite(LEDrot, LOW);
25
   digitalWrite(LEDweiss, HIGH);
26
   digitalWrite(relaisIN1, LOW);
27
   delay (500);
28
   digitalWrite(LEDweiss, LOW);
29
   digitalWrite(relaisIN1, HIGH);
30
  }
31
else
32
  {
33
   digitalWrite(LEDrot, HIGH); 
34
   digitalWrite(LEDweiss, LOW);
35
   digitalWrite(relaisIN1, HIGH);
36
  }
37
}

Jetzt "passiert" folgendes:
Bei
1
digitalWrite(LEDrot, LOW);
2
digitalWrite(LEDweiss, HIGH);
Liegen 1,8V zwischen den Pins an.

Bei
1
digitalWrite(LEDrot, HIGH);
2
digitalWrite(LEDweiss, LOW);
Liegen -3,8V zwischen den Pins an.

Wenn ich
1
[c]int LEDrot=1;
2
int LEDweiss=0;
auf
1
int LEDrot=0;
2
int LEDweiss=1;

ändere, ist es anders herum.

Warum?

Danke und Gruß
der "Stevie"

von Einer K. (Gast)


Lesenswert?

Die Spannungen, scheinen der Flussspannung der Dioden zu entsprechen

Also, misst du nur an den Dioden, oder hast die Vorwiderstände 
grundsätzlich vergessen.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

abgesehen davon das man die Leds auch an je einen Pin klemmen kann, 
solltest du den µC mal weglassen, beide R+Led normal parallel an 5V 
klemmen und messen. Danach schauste in Datenblatt der Leds und guckst 
nach dem Wert der Flussspannungen. Die 100 Ohm für eine übliche rote Led 
ist zudem etwas wenig.

: Bearbeitet durch User
von Stefan N. (steview_de)


Lesenswert?

... danke.
Im Code stehen zwar LEDrot und LEDweiss, aber zum Testen sind zwei 
identische LEDs verbaut.
Ich habe auch die LEDs getauscht. Der Fehler bleibt immer am gleichen 
"Ausgang".
Die Spannung habe ich direkt an den Pins bei angeschlossenen Vowi und 
LEDs gemessen.

der "Stevie"

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

geht es noch konkreter? Aus dem Text kann ich nichts entnehmen. Welche 
Leds? Welche Pins? Was ist Vowi? Wie gesagt, ohne µC aufbauen, 5V vom 
Netzteil und messen. Schreibe die Werte in den Schaltplan und zeichne in 
den Schaltplan ein zwischen welchen Pins du was gemessen hast. Der 
Schaltplan sollte dann auch mit allen Angaben mit dem übereinstimmen was 
und wie aufgebaut ist.

von Einer K. (Gast)


Lesenswert?

Stefan N. schrieb:
> Im Code stehen zwar LEDrot und LEDweiss, aber zum Testen sind zwei
> identische LEDs verbaut.

Dann bin ich raus hier, denn Schattenboxen, darauf habe ich keine Lust.

von Sebastian W. (wangnick)


Lesenswert?

Stefan N. schrieb:
> Die Spannung habe ich direkt an den Pins bei angeschlossenen Vowi und
> LEDs gemessen.

Das ist seltsam. Misst du mit einem Multimeter? Und hast du zur Messung 
delay(500) erhöht? Miss mal jeden Pin einzeln gegen GND. Und miss auch 
die Versorgungsspannung mal in den zwei Zuständen.

LG, Sebastian

von Stefan N. (steview_de)


Angehängte Dateien:

Lesenswert?

Veit D. schrieb:
> Hallo,
>
> abgesehen davon das man die Leds auch an je einen Pin klemmen kann,
> solltest du den µC mal weglassen, beide R+Led normal parallel an 5V
> klemmen und messen. Danach schauste in Datenblatt der Leds und guckst
> nach dem Wert der Flussspannungen. Die 100 Ohm für eine übliche rote Led
> ist zudem etwas wenig.

... ja, danke.

Ja, man kann natürlich auch über zwei Ausgäge steuern, aber im finalen 
Anwendungsfall stehen mir nur zwei Leitungen zur Verfügung (Kfz 
Anzeige).

µC weg gelassen verhalten sich die LEDs wie erwünscht. Egal wie die 
Spannung (5V) anliegen, leuchten die LEDs gleich hell.

Für den Zustand am µC verhält es sich wie im Bild aufgeführt.

Ohne Last liegen je nach Zustand 1: Pin0: "HIGH", Pin2 "LOW" und Zust. 
2: Pin0:"LOW", Pin2 "HIGH", 4,55, bzw. -4,28V an PIN1 und PIN0.

Die 100Ohm sind ja zwei Mal vorhanden, also Gesamtwiderstand 200Ohm. Und 
nach meinen noch vorhandenen Schulkenntnissen ist es "egal" wo die 
Widerstände sitzen. Wenn ich da auf dem Holzweg bin, bitte Info ;-)

DAnke und Gruß
der "Stevie"

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Da sollte in beiden Polaritäten fast das Gleiche rauskommen. Wenn nicht, 
hat eine Ausgang einen Treffer. Nimm mal einen anderen Controller. Oder 
andere IOs

: Bearbeitet durch User
von Axel R. (axlr)


Lesenswert?

Du hast bei Schalter HIGH andere Zeitliche Bedingungen, als bei Schalter 
LOW.
Der Ausgang macht kurz an, danach aus. deshalb misst dein Multimeter nur 
die halbe spannung, kann das sein?
1
void loop()
2
{
3
// digitalWrite(relaisIN1, HIGH);
4
tasterstatus=digitalRead(taster);
5
if (tasterstatus == HIGH)
6
  {
7
   digitalWrite(LEDrot, LOW);
8
   digitalWrite(LEDweiss, HIGH);
9
   digitalWrite(relaisIN1, LOW);
10
   delay (500);
11
   digitalWrite(LEDweiss, LOW);
12
   digitalWrite(relaisIN1, HIGH);
13
  }
14
else
15
  {
16
   digitalWrite(LEDrot, HIGH); 
17
   digitalWrite(LEDweiss, LOW);
18
   digitalWrite(relaisIN1, HIGH);
19
  }
20
}

von Axel R. (axlr)


Lesenswert?

Oder Du hast den Reset-Pin erwischt? müsste ich erst nachsehen. Der kann 
nur n paar µA High Pegel liefern (weak-portpin)

von Sebastian W. (wangnick)


Lesenswert?

Stefan N. schrieb:
> Ohne Last liegen je nach Zustand 1: Pin0: "HIGH", Pin2 "LOW" und Zust.
> 2: Pin0:"LOW", Pin2 "HIGH", 4,55, bzw. -4,28V an PIN1 und PIN0.

Wie hast du I1 und I2 gemessen? Als Spannungsabfall über die 
100Ohm-Widerstände?

Welche Umgebung benutzt du zur Programmierung des Attiny85? Könnte wie 
auch immer PB0 als AREF fungieren?

LG, Sebastian

von Stefan N. (steview_de)


Lesenswert?

Falk B. schrieb:
> Da sollte in beiden Polaritäten fast das Gleiche rauskommen. Wenn nicht,
> hat eine Ausgang einen Treffer. Nimm mal einen anderen Controller. Oder
> andere IOs

... unfassbar, aber wahr.
Ich hatte drüber nachgedacht, aber verworfen, weil ich mir keinen Reim 
draus machen konnte.
Jupp. Der 8-Beiner ist im Halbleiterhimmel angekommen.
"Neuer" rein, alles läuft.

Danke für die nette Diskussion.

der "Stevie"

EDIT: Aber dass "nur" ein Ausgang die Grätsche macht ...

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

Stefan N. schrieb:
> EDIT: Aber dass "nur" ein Ausgang die Grätsche macht ...

Der kann ja schon vorher / unter anderen Bedingungen geschädigt worden 
sein. Die µCs sind inzwischen ja einigermaßen ESD-fest, aber mit 
genügend "Power" kann man das schon schaffen.

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.