Forum: Mikrocontroller und Digitale Elektronik bascom spinnt


von engin (Gast)


Lesenswert?

Hallo,

Ich habe folgendes problem, wenn ich zb den portc.0 als ausgang 
konfiguriere und dann eine schleife mache die do aussieht:
Do
Portc.0=1
Loop

Musste die led an portc.0 doch leuchten oder versteh ich das falsch?
Die led leuchtet nicht, ich hab Sie do zum leuchten gekriegt:
Do
Portc.0=0
Loop

Erst wenn och es auf 0 setzte leuchtet es.
Mache ich was falsch?
Könnt ihr mir weiterhelfen

von Karl (Gast)


Lesenswert?

Hast Du den Ausgang so konfiguriert:

Config Portc.0 = Output

Hast Du die LED richtig angeschlossen?

von Daniel P. (dpolz)


Lesenswert?

Programmiere zwar kein Bascom, aber wann die LED leuchtet, ist natürlich 
abhängig davon, wie sie an den Controller angeschlossen ist. Wenn sie 
wie ein Pfeil vom Controller weg zeigt, dann sollte sie bei high 
leuchten. Wenn sie von VCC zum Controller zeigt, dann leuchtet sie nur 
bei low.

Hoffe, dass das hilft und ich deine Kenntnisse nicht unterschätzt habe.

von engin (Gast)


Angehängte Dateien:

Lesenswert?

Danke für eure schnellen antworten.
Ich habe es so wie du gesagt hast konfiguriert.
Angeschlossen ist es so (siehe bild)

von Karl (Gast)


Lesenswert?

Hm, ein Schaltplan wäre da hilfreicher.

Hast Du AVcc und GND (Pins 30 & 31 beim ATmega16) beschaltet?

von Daniel P. (dpolz)


Lesenswert?

engin schrieb:
> Angeschlossen ist es so (siehe bild)

Na also, wie schon erwähnt, da sieht man es doch ganz deutlich.

von engin (Gast)


Lesenswert?

Daniel Polz schrieb:
> engin schrieb:
>> Angeschlossen ist es so (siehe bild)
>
> Na also, wie schon erwähnt, da sieht man es doch ganz deutlich.

ich verstehe nicht wie du es meinst, wie kann ich es denn sonst 
anschließen?
Tut mir leid bin noch neu in diesem Bereich und kenn mich noch nicht 
viel aus.

von Karl (Gast)


Lesenswert?

Daniel Polz schrieb:
> Na also, wie schon erwähnt, da sieht man es doch ganz deutlich.

Wenn es so ist, wie man vermutet, dann schon.....

von Klaus (Gast)


Lesenswert?

engin schrieb:
> Daniel Polz schrieb:
>> engin schrieb:
>>> Angeschlossen ist es so (siehe bild)
>>
>> Na also, wie schon erwähnt, da sieht man es doch ganz deutlich.
>
> ich verstehe nicht wie du es meinst, wie kann ich es denn sonst
> anschließen?
> Tut mir leid bin noch neu in diesem Bereich und kenn mich noch nicht
> viel aus.

Du bist neu in dem Bereich des menschlichen Sehens? Oder wie sonst 
willst du erklären, dass man auf dem Bild (das übrigens eine schärfe wie 
gefärbter Griesbrei hat) nicht erkennt, welche verbindungen zwischen den 
Bauteilen besteht? Der Fachmann verwendet dazu einen Schaltplan...

von Karl (Gast)


Lesenswert?


von Daniel P. (dpolz)


Lesenswert?

engin schrieb:
>> Na also, wie schon erwähnt, da sieht man es doch ganz deutlich.
> ich verstehe nicht wie du es meinst, wie kann ich es denn sonst
> anschließen?
> Tut mir leid bin noch neu in diesem Bereich und kenn mich noch nicht
> viel aus.

Das war natürlich ironisch. Was soll man auf dem Bild erkennen? Total 
unscharf und die Leiter sind nicht zu sehen. Wir brauchen entweder einen 
Schaltplan oder ein wirklich aussagekräftiges Bild, das ruhig <2MB sein 
darf.

Alternativ kannst du auch einfach schauen, ob die LEDs nach Masse oder 
VCC angeschlossen sind.

von engin (Gast)


Lesenswert?

Hier die Schaltung.

von Daniel P. (dpolz)


Lesenswert?

wo?

von engin (Gast)


Lesenswert?

> Alternativ kannst du auch einfach schauen, ob die LEDs nach Masse oder
> VCC angeschlossen sind.

Nach vcc sind die LEDs angeschlossen.

von engin (Gast)


Angehängte Dateien:

Lesenswert?

Schaltung

von Daniel P. (dpolz)


Lesenswert?

Und wieviel Spannung liegt an der LED an, wenn sie auf der einen Seite 
an VCC angeschlossen ist, und auf der anderen Seite ein Mikrocontroller 
nach VCC schaltet? Das reicht auf jeden Fall nicht, um die LED zum 
Leuchten zu bringen. Schon eher, sobald der µC nach Masse zieht.

Passt doch alles...

EDIT: Ein Link hätte für den Schaltplan gereicht. Es muss doch nicht 
sein, dass man für 50KB satte 2MB verballert. Da ist man hier sehr 
empfindlich und weißt extra vor jedem Upload darauf hin.

Im Schaltplan sieht man, dass die LED nur leuchten kann, wenn der Port 
nach Masse zieht. Alles okay.

von engin (Gast)


Lesenswert?

> Im Schaltplan sieht man, dass die LED nur leuchten kann, wenn der Port
> nach Masse zieht. Alles okay.


Also ist das normal das er nur bei 0 leuchtet.

von Karl (Gast)


Lesenswert?

Ich zitiere aus dem Tutorial:

"Damit wir nun endlich sehen, ob sich bei unserer Schaltung auch was 
tut, schließen wir eine LED über einen 1K-Vorwiderstand an einen Port 
an. Da wir die Kathode an den Controllerpin und die Anode an Plus legen, 
leuchtet die LED immer dann, wenn dieser Pin auf Low geschaltet wird."

http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht

von Uwe (de0508)


Lesenswert?

Hallo,

man sollte noch überprüfen ob PortC JTAG aktiv ist.

Siehe Datenblatt www.atmel.com/atmel/acrobat/doc2503.pdf Seite 60f.

Ungünstig ist es auch, wenn Aref = +5V (Vcc) ist. Datenblatt Seite 201ff

von Klaus (Gast)


Lesenswert?

Was um allen in der Welt nimmst du zum Fotos machen? Das sieht echt aus 
wie Grießbrei! Und dann auch noch 2 MB Größe! Der Informationsinhalt des 
Bildes ist geschätzte 10 kb.

Mit was auch immer du die Bilder machst, bitte benutze es nicht mehr zu 
Fotografieren!

von pfff (Gast)


Lesenswert?

Klaus schrieb:
> Was um allen in der Welt nimmst du zum Fotos machen? Das sieht echt aus
> wie Grießbrei! Und dann auch noch 2 MB Größe! Der Informationsinhalt des
> Bildes ist geschätzte 10 kb.
oder kurz: Bildformate beachten!


> Mit was auch immer du die Bilder machst, bitte benutze es nicht mehr zu
> Fotografieren!
HTC Desire irgendwas, klingt wie ein Handy.

von Karl H. (kbuchegg)


Lesenswert?

Ich hab mal das Bild runtergerechnet. Jetzt sind wir bei 55k anstatt 
2.3MB

engin. Diese Bildgröße reicht locker. Größer muss es nicht sein. Viel 
wichtiger ist, dass man die wichtigen Dinge erkennen kann. Wurde ja 
schon gesagt. Und da man auf Bildern bei LED (die ja gerichtete Bauteile 
sind) meistens so schlecht erkennen kann, wie rum sie eingebaut sind, 
ist das Bild ziemlich nutzlos.

von Engin (Gast)


Lesenswert?

Uwe S. schrieb:
> Hallo,
>
> man sollte noch überprüfen ob PortC JTAG aktiv ist.
> Jtag hab ich deaktiviert

> Siehe Datenblatt www.atmel.com/atmel/acrobat/doc2503.pdf Seite 60f.
>
> Ungünstig ist es auch, wenn Aref = +5V (Vcc) ist. Datenblatt Seite 201ff

Aref müsste 2,8V sein.

von Engin (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Ich hab mal das Bild runtergerechnet. Jetzt sind wir bei 55k anstatt
> 2.3MB
>
> engin. Diese Bildgröße reicht locker. Größer muss es nicht sein. Viel
> wichtiger ist, dass man die wichtigen Dinge erkennen kann. Wurde ja
> schon gesagt. Und da man auf Bildern bei LED (die ja gerichtete Bauteile
> sind) meistens so schlecht erkennen kann, wie rum sie eingebaut sind,
> ist das Bild ziemlich nutzlos.

Ok Tut mir Leid, war grade mit dem Handy online und habe da die 
Bildgröße nicht beachtet.

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Uwe S. schrieb:
>> Hallo,
>>
>> man sollte noch überprüfen ob PortC JTAG aktiv ist.
>> Jtag hab ich deaktiviert
>
>> Siehe Datenblatt www.atmel.com/atmel/acrobat/doc2503.pdf Seite 60f.
>>
>> Ungünstig ist es auch, wenn Aref = +5V (Vcc) ist. Datenblatt Seite 201ff
>
> Aref müsste 2,8V sein.

Nö.
Aref müsste +5V sein. Sieh auf deinen SChaltplan - Aref ist direkt mit 
Vcc verbunden.
Und genau das ist Unsinn. Aref wird in >90% aller Fälle ganz einfach mit 
100nF gegen GND geschaltet.
ARef kann prozessorintern mit Vcc verbunden werden, dann hast du wieder 
genau denselben Zustand. Die µC interne Schaltung kann aber auch anders 
ausgeführt werden, wodurch du mehr Möglichkeiten hast. Ganz abgesehen 
davon, dass du einen 'Kurzschluss' baust, wenn du µC intern eine andere 
Referenzspannung auswählst und von aussen mit Vcc drüberbläst. Kurz und 
gut: Aref mit Vcc zu verbinden ist fehlerträchtig, kann dir im µC Dinge 
zerstören und ist vollkommen unnütz, weil du dasselbe auch per Programm 
erreichen kannst.

von Karl H. (kbuchegg)


Lesenswert?

Und wenn du schon dabei bist, häng noch einen 100nF Kondensator zwischen 
AVcc und dem danebenliegenden GND Pin.

von Engin (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Engin schrieb:
>> Uwe S. schrieb:
>>> Hallo,
>>>
>>> man sollte noch überprüfen ob PortC JTAG aktiv ist.
>>> Jtag hab ich deaktiviert
>>
>>> Siehe Datenblatt www.atmel.com/atmel/acrobat/doc2503.pdf Seite 60f.
>>>
>>> Ungünstig ist es auch, wenn Aref = +5V (Vcc) ist. Datenblatt Seite 201ff
>>
>> Aref müsste 2,8V sein.
>
> Nö.
> Aref müsste +5V sein. Sieh auf deinen SChaltplan - Aref ist direkt mit
> Vcc verbunden.

Sorry mein Fehler.
Aref ist auf +4,5 V

von Engin (Gast)


Lesenswert?

Aref wird in >90% aller Fälle ganz einfach mit

Also Soll ich jetzt Aref mit GND verbinden und ein 100nF Kondensator 
zwischen Avcc und GND setzen.

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Aref wird in >90% aller Fälle ganz einfach mit
>
> Also Soll ich jetzt Aref mit GND verbinden

Nein, du sollst ARef über 100nF auf GND führen


    Aref o------+
                |
               ---  100 nF
               ---
                |
                |
            ----+---- GND

Du WILLST an Aref keine bestimmte Spannung vorgeben! Der µC kann das 
µC-intern alles schalten und gibt auf ARef dann die Spannung aus, damit 
man sie mit einem Kondensator stabilisieren kann. Und genau das macht 
man hier.

> und ein 100nF Kondensator
> zwischen Avcc und GND setzen.

Ja

von Klaus (Gast)


Lesenswert?

Ach, und wo du schon dabei bist, kannst du auf roboternetz auch gleich 
mal bescheidsagen, dass die aufhören sollen, immer weiter Schaltungen 
mit dem gleichen Fehler zu veröffentlichen... ;)

von Engin (Gast)


Lesenswert?

> Du WILLST an Aref keine bestimmte Spannung vorgeben! Der µC kann das
> µC-intern alles schalten und gibt auf ARef dann die Spannung aus, damit
> man sie mit einem Kondensator stabilisieren kann. Und genau das macht
> man hier.

Aber die Verbindung zu VCC trenne ich oder?

von Uwe (de0508)


Lesenswert?

Ja, Karl Heinz Buchegger hat das oben in einem sehr schönen Bild 
dargestellt.

Liesst Du auch die Datenblätter und die AP Application Notes von Atmel?

Dort sind diese Fragen alle beantwortet !

von Engin (Gast)


Angehängte Dateien:

Lesenswert?

Soll es so sein?
(Skizze)

von Klaus (Gast)


Lesenswert?

Engin schrieb:
> Soll es so sein?

Jap, so soll es sein.

von Engin (Gast)


Lesenswert?

Klaus schrieb:
> Engin schrieb:
>> Soll es so sein?
>
> Jap, so soll es sein.

Danke euch allen super forum :))
Und danach klappt es mit bascom? das mit der schleife usw was mein 
problem war?

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Klaus schrieb:
>> Engin schrieb:
>>> Soll es so sein?
>>
>> Jap, so soll es sein.
>
> Danke euch allen super forum :))
> Und danach klappt es mit bascom? das mit der schleife usw was mein
> problem war?

Diese Änderung hat mit deinem Problem erst mal nichts zu tun. Nichts 
desto trotz gehört das geändert.

Also: Es ist bei deiner Beschaltung völlig normal, dass du den Pin auf 0 
setzen musst, damit die LED leuchtet. Das ergibt sich daraus, wie die 
LED angeschlossen ist.

von Karl (Gast)


Lesenswert?

Engin schrieb:
> Und danach klappt es mit bascom? das mit der schleife usw was mein
> problem war?

Engin,
es hat doch schon am Anfang so geklappt, wie es sollte. Nimm Dir doch 
bitte mal 5 - 10 Minuten und lies den Artikel im RoboterNETZ.

Die anderen angesprochenen Dinge sind problematisch, haben aber mit 
Deinem ursprünglich Problem nur am Rande etwas zu tun.

von Engin (Gast)


Lesenswert?

Karl schrieb:
> Engin schrieb:
>> Und danach klappt es mit bascom? das mit der schleife usw was mein
>> problem war?
>
> Engin,
> es hat doch schon am Anfang so geklappt, wie es sollte. Nimm Dir doch
> bitte mal 5 - 10 Minuten und lies den Artikel im RoboterNETZ.
>
> Die anderen angesprochenen Dinge sind problematisch, haben aber mit
> Deinem ursprünglich Problem nur am Rande etwas zu tun.

Würde es so klappen wenn ich die Anode auf GND legen würde dann müsste 
die LED bei einem High Singnal leuchten oder?

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Karl schrieb:
>> Engin schrieb:
>>> Und danach klappt es mit bascom? das mit der schleife usw was mein
>>> problem war?
>>
>> Engin,
>> es hat doch schon am Anfang so geklappt, wie es sollte. Nimm Dir doch
>> bitte mal 5 - 10 Minuten und lies den Artikel im RoboterNETZ.
>>
>> Die anderen angesprochenen Dinge sind problematisch, haben aber mit
>> Deinem ursprünglich Problem nur am Rande etwas zu tun.
>
> Würde es so klappen wenn ich die Anode auf GND legen würde dann müsste
> die LED bei einem High Singnal leuchten oder?

No. Der Strom durch eine LED rinnt immer von der Anode zur Kathode. Die 
Anode muss positiv sein, die Kathode negativ.
Also muss die ANode an den Pin und die Kathode an GND.

Im Schaltbild sieht das so aus, dass der Strom nur in Pfeilrichtung 
durch die LED kann und sie dann leuchtet.

von Engin (Gast)


Lesenswert?

Ok und wie wäre es dann möglich?
Weil so zu programmieren es etwas verwirrend.

Habe jetzt an Aref ca. 4,3 V

von Karl (Gast)


Lesenswert?

Karl Heinz Buchegger hat es gut erläutert.

Falls es zum Verständnis beiträgt: Du könntest auch das Ganze erst mal 
ohne den Mikrocontroller aufbauen. Also +5V, GND, Vorwiderstand, LED. Je 
nachdem, wie Du +5V oder GND anschließt, wird die LED leuchten oder 
nicht.

Im Schaltplan kommen (sehr einfach gesprochen) +5V aus der Leitung und 
GND aus dem Mikrocontroller. Die Bascom-Anweisung "Portc.0=0" wirkt wie 
ein Schalter, der geschlossen wird und die LED leuchten lässt. 
"Portc.0=1" öffnet den Schalter.

Wenn Du die Anschlüsse an der LED vertauschst, kommt GND aus der Leitung 
und +5V aus dem Mikrocontroller. Bei der LED muss der Strom in 
Durchlassrichtung fließen, deshalb müsstet Du die LED dann andersherum 
drehen. "Portc.0=1" wirkt dann wie ein Schalter, der geschlossen wird 
und die LED leuchten lässt. "Portc.0=0" öffnet den Schalter.

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Ok und wie wäre es dann möglich?

Jetzt lehnst du dich erst mal zurück und sinnierst, was du in der 
letzten Stunde alles gelesen hast. Dann zählst du 1+1 zusammen, stellst 
fest, dass die Antwort 2 in dem Thread schon ein paar mal genannt wurde 
und änderst deine Schaltung einfach entsprechend um.

> Weil so zu programmieren es etwas verwirrend.

Das scheint nur so. In Wirklichkeit ist es völlig wurscht ob du dir 
merkst 0 bedeutet LED an, oder ob du dir merkst 1 bedeutet Led an.

von Engin (Gast)


Angehängte Dateien:

Lesenswert?

Also so?

von Jens-Dieter (Gast)


Lesenswert?

Nicht raten, sondern verstehen!

von Engin (Gast)


Lesenswert?

Jens-Dieter schrieb:
> Nicht raten, sondern verstehen!

Ja so habe ich es verstanden.
Von dem Controller kommt jetzt die 5V(zur Anode) und GND ist am Kathode 
beinchen.

von Karl H. (kbuchegg)


Lesenswert?

Engin schrieb:
> Jens-Dieter schrieb:
>> Nicht raten, sondern verstehen!
>
> Ja so habe ich es verstanden.

Es geht nicht darum, was du aus unseren Äusserungen herausgelesen hast.

Es geht darum, ob du verstanden hast, WARUM das so sein muss. Das ist 
der alles entscheidende wichtige Punkt. Denn wenn du das verstanden 
hast, musst du nicht mehr fragen. Du WEISZT warum das so sein muss, 
damit es so funktioniert, wie du das haben willst. Und selber wissen ist 
allemal besser, als wie wenn dir das jemand vorbeten muss.

Eine LED leuchtet, wenn der Strom in Flussrichtung durchrinnt. Die 
Flussrichtung ist im Schaltplan durch das Dreieck im Symbol dargestellt. 
Und Strom läuft immer von der positiven Spannung zur negativeren 
Spannung (GND, oder Masse, ist nichts anderes als das negative 
Spannungspotential zu Vcc).

Aus diesen beiden Dingen (Flussrichtung und Strom rinnt von + nach -) 
folgt alles andere.

von Engin (Gast)


Lesenswert?

> Aus diesen beiden Dingen (Flussrichtung und Strom rinnt von + nach -)
> folgt alles andere.


Ja so habe ich es verstanden wie ich es in der Zeitung gezeichnet habe.
Die Spannung kommt vom Controller zur anode und - führt zur kathode.
So habe ich es in der zeichnung gezeichnet.
Ich werde es gleich mal so anlöten und testen.

von Hannes L. (hannes)


Lesenswert?

Engin schrieb:
> Die Spannung kommt vom Controller zur anode und - führt zur kathode.

Nein, der Strom rinnt, nicht die Spannung, die liegt nur an und treibt 
den Strom.

...

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.