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
intLEDrot=1;
2
constintrelaisIN1=4;
3
inttaster=3;
4
intLEDweiss=0;
5
inttasterstatus=0;
6
7
voidsetup()
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
voidloop()
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]intLEDrot=1;
2
intLEDweiss=0;
auf
1
intLEDrot=0;
2
intLEDweiss=1;
ändere, ist es anders herum.
Warum?
Danke und Gruß
der "Stevie"
Die Spannungen, scheinen der Flussspannung der Dioden zu entsprechen
Also, misst du nur an den Dioden, oder hast die Vorwiderstände
grundsätzlich vergessen.
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.
... 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"
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.
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.
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
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"
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
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?
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
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 ...
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.