Forum: Mikrocontroller und Digitale Elektronik Problem mit Programm (BASCOM)!


von MB (Gast)


Angehängte Dateien:

Lesenswert?

Servus zusammen,

hab da nen Problem was mich irgendwie zur verzweiflung bring.
Also ich hab da ne Schaltung mit einem ATMEGA8 und nen ULN2003 und zwei 
Taster.

Hab jetzt nen Programm von Bascom auf den ATMEGA8 aufgespielt.

Wenn ich S1 abwechselnd drücke soll er mir die LEDs durchschalten.

PD0= 1 PD1 = 0 PD2 = 0 PD3 = 0
PD0= 0 PD1 = 1 PD2 = 0 PD3 = 0
PD0= 0 PD1 = 0 PD2 = 1 PD3 = 0
PD0= 0 PD1 = 0 PD2 = 0 PD3 = 1

und wieder von vorne.
Funktioniert auch wunderbar.

Mit S2 soll er mir meine angewählte LED dimmen.
Und genau da ist mein Problem.
Wenn ich den S2 betätige dann gehen auf einmal alle LEDs an.
Das soll aber nicht so sein, denn auf dem STK500 sieht es so aus wie 
wenn es funktionieren würde. Aber sobald ich den Mega8 auf meine 
Schaltung stecke geht es nicht mehr.

Kann man mir vieleicht weiterhelfen?
Wäre euch dankbar.

Mfg

von mue-c (Gast)


Lesenswert?

Hallo MB
wenn es auf dem STK500 geht, in deiner (selbstgemachten?) Schaltung aber 
nicht, denkst du nicht auch, es liegt dann weniger am Programm als an 
deiner Schaltung?
Wäre es dann nicht sinnvoll, deinen Schaltplan hier einzustellen, damit 
man sich ein Bild machen kann?

von ich da (Gast)


Lesenswert?

Wie geht es denn auf dem STK500 wenn es dort keinen ULN2003 gibt?

von MB (Gast)


Angehängte Dateien:

Lesenswert?

@ich da: Ist schon ok, ja das stk500 hat keinen uln, aber der wird hier 
ja auch nicht benötigt zum testen.

@mue-c: Laut schaltplan ist alles ok, hab auch schon ne soft-pwm auf der 
schaltung betrieben, aber hier noch der schaltplan.

von Karl H. (kbuchegg)


Lesenswert?

MB schrieb:

> Wenn ich den S2 betätige dann gehen auf einmal alle LEDs an.

Das klingt bei diesem Programm absolout plausibel.
Ich würde sagen: Genau so muss das bei dem Programm auch sein. Je 
nachdem, wie die LED angechlossen sind, sind die entweder alle ein oder 
alle aus.

> Das soll aber nicht so sein, denn auf dem STK500 sieht es so aus wie
> wenn es funktionieren würde.

Das kann ich mir ehrlich gesagt nicht vorstellen.

> Kann man mir vieleicht weiterhelfen?

Dein Programm ist Mist
Genauer: Die Interaktion zwischen 'Welche LED soll leuchten bei Druck 
auf S1' und dem Teil 'mach eine PWM auf alle LED'

was hilft es dir, wenn du vorher sorgsam die jeweils aktive LED 
ein/ausschaltest, wenn du danach mittels
1
Decr Pwm_counter
2
If Led_1_value <= Pwm_counter Then
3
   Led1 = 0
4
Else
5
   Led1 = 1
6
End If
7
If Led_2_value <= Pwm_counter Then
8
   Led2 = 0
9
Else
10
   Led2 = 1
11
   End If
12
If Led_3_value <= Pwm_counter Then
13
   Led3 = 0
14
Else
15
   Led3 = 1
16
   End If
17
If Led_4_value <= Pwm_counter Then
18
   Led4 = 0
19
Else
20
   Led4 = 1
21
   End If

über alle LED drüberbügelst um da dann alle LED nochmal abhängig von der 
PWM ein bzw. auszuschalten.

von Wolfgang (Gast)


Lesenswert?

MB schrieb:
> Laut schaltplan ist alles ok

Danach sieht es aber nicht aus. Mindestens die Verbindung von ARef nach 
VCC ist falsch. Das Datenblatt sagt: "Note that VREF is a high
impedant source, and only a capacitive load should be connected in a 
system."
Ich glaube kaum, dass der STK500 so beschaltet ist.

von Dietrich L. (dietrichl)


Lesenswert?

MB schrieb:
> ja das stk500 hat keinen uln, aber der wird hier
> ja auch nicht benötigt zum testen

Aber Du weißt, dass der ULN invertiert?

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.