Forum: Mikrocontroller und Digitale Elektronik Problem bei Grundschaltung


von Mike .. (90peter90)


Lesenswert?

Hallo,

ich bin in der Anfänger der programmierung mit Atmels.

Hardware: STK500, Laptop, Atmega32-16
Software: AVR Studio

Ich habe mir als erstes nunmal ein Zähler in C gebaut und auf meinem STK 
getestet. Nun möchte ich das Programm gerne auf meinem "Steckbrett" 
laufen lassen. Ich diese Grundschaltung benutzt 
http://www.rn-wissen.de/images/a/a2/Avrtutorial_grundschaltung_mega32.gif
+ eine LED an PIN 21 mit 1k-Wiederstand an 5v

Ich habe einen FOKO 100nF, leider weiß ich nicht wie die Polung ist ?
Kein Bein ist länger oder kürzer und keine + oder - sind 
draufgezeichnet. :?

Mein Programm sieht wie folgt aus:
1
#include <avr/io.h>
2
#define F_CPU 1000000l
3
#include <util/delay.h>
4
5
int main (void)
6
{
7
  int i = 0;
8
  DDRB = 0xFF;
9
    while(1) {
10
      for(i = 255; i > 0; i--)
11
      {
12
        PORTB = i;
13
        _delay_loop_2(100000);
14
      }
15
      i=255;
16
    }
17
  return 1;


Gruß Mike

von Johannes F. (Gast)


Lesenswert?

Mike ... schrieb:
> Ich habe einen FOKO 100nF, leider weiß ich nicht wie die Polung ist ?

Ein Folienkondensator hat keine Polung.

Johannes

von Floh (Gast)


Lesenswert?

Und was ist jetzt dein Problem?
:-)

von Mike .. (90peter90)


Lesenswert?

ok, denn sollte es eigtl. laufen.. leider blinkt nix ;)

von Floh (Gast)


Lesenswert?

Also:
Du hast den Controller im STK500 programmiert?
Dort läuft es?
Dann ins Steckbrett gesteckt?
Den Rest verkabelt?
Dann würde ich gern ein Bild vom Aufbau sehen :-)

von Mike .. (90peter90)


Angehängte Dateien:

Lesenswert?

Floh schrieb:
> Und was ist jetzt dein Problem?
> :-)
Das meine Schaltung nich läuft


Floh schrieb:
> Also:
> Du hast den Controller im STK500 programmiert?
> Dort läuft es?
> Dann ins Steckbrett gesteckt?
> Den Rest verkabelt?
> Dann würde ich gern ein Bild vom Aufbau sehen :-)
Ja
Ja
Ja
Ja
OK! ;)

von Pascal K. (zerb)


Lesenswert?

Fehlt da nicht noch ein Quarz ? :)

von Karl H. (kbuchegg)


Lesenswert?

Deine LED hängt ja gar nicht am PB0 Pin.
PB0 ist Pin 1, deine LED hängt an Pin 22: PC0

von Mike .. (90peter90)


Lesenswert?

oh, dass habe ich gar nicht gesehn... aber leider läuft es trotzdem noch 
nicht

von Karl H. (kbuchegg)


Lesenswert?

Versuch beim nächsten Aufbau den Drahtverhau etwas einzudämmen. Es gibt 
wirklich keinen Grund da mit langen Kabeln ein derartiges Chaos 
anzuzetteln.

Du machst dir in den 2 Längsreihen jeweils 1 Reihe Vcc und 1 Reihe GND. 
Auf beiden Seiten vom Prozessor. Dazu verbindest du die jeweiligen 
Reihen abseits vom Prozessor. Achte drauf, dass du dich an Konventionen 
zur Kabelfarbe hältst. Auch das vereinfacht die Dinge: Rot ist immer +. 
Für GND wäre eigentlich schwarz ganz gut, grün ist auch ok. Aber wichtig 
ist, dass du immer dieselbe Farbe nimmst.

So kann das dann aussehen  (die senkrechten Linien sind die 
Verbindungen, die das Steckbrett von Haus aus schon bereitstellt)


     Vcc  GND                         Vcc GND
       |   |                           |   |
       |   |                           |   |
       |   o-------------------------------o
       o-------------------------------o   |
       |   |                           |   |
       |   |                           |   |
       |   |     ################      |   |
       |   |     #              #      |   |
       |   |     #    µC        #      |   |
       .                                   .
       .                                   .

(Diese Verbindungen kann man ruhig auch am oberen Rand des Steckbrettes 
machen)


Damit bist du schon mal einiges an Verkabelungen los. Die Versorgung des 
Prozessors machst du dann, in dem du mit kurzen(!) Brücken dir das 
jeweils benötigte Potential auf die waagrechte Schiene des Steckbretts 
holst, in der der µC Pin steckt. Kabelschlaufen braucht es dazu nicht, 
das Kabel kann und soll ruhig auf dem Steckbrett aufliegen und gerade so 
lang sein, wie es notwendig ist. So wie es deine blaue Brücke auf deinem 
Bild vormacht.


     Vcc  GND                         Vcc GND
       |   |                           |   |
       |   |                           |   |
       |   o-------------------------------o
       o-------------------------------o   |
       |   |                           |   |
       |   |                           |   |
       |   |     ################      |   |
       |   |     #              #      |   |
       |   |     #    µC        #      |   |
       .                                   .
       .                                   .
       |   |     #              #      |   |
       o-----o  +# 10        31 #+   o-----o
       |   |     #              #      |   |
       |   o-o  +# 11        30 #+   o-o   |
       |   |     #              #      |   |
       |   |    +#           29 #+     |   |
       |   |     #              #      |   |
       .                                   .
       .                                   .


Den Kondensator steckts du direkt am Prozessor so ein, dass er die 
beiden Bahnen im Steckbrett verbindet. Wenn er dazu etwas gedreht werden 
muss, so dass es sich mit dem Pinabstand ausgeht, dann macht das nix.

Den Reset Widerstand steckst du direkt vom µC aus auf deine Vcc Schiene. 
Also nicht lange mit zusätzlichen Kabeln. Je mehr Kabeln du hast, desto 
mehr potentielle Wackelkontakte und schlechte Steckkontakte hast du. 
Ganz abgesehen davon, dass es dann immer schwieriger wird zu verfolgen, 
welcher Pin jetzt wo angeschlossen ist. Am Steckbrett ist 
übersichtliches Aufbauen gefragt, keine Drahtverhaue!)

So kannst du den Drahtverhau auf ein Minimum reduzieren und hast den 
Platz frei um dann von Pins weggehend deine Aussenbeschaltung 
dranzupappen: Immer kurze Wege!
Für die Grundschaltung braucht es nicht mehr als 4 Kabel (+2 für die 
Schienenverbindung abseits vom µC)!

Wenn notwendig, hast du immer rechts und links vom Prozessor eine + und 
eine GND Schiene (damit du sie nicht verwechselst, kann man die auch mit 
Farbe markieren: Die senkrechte Vcc Schiene wird mit rotem Edding 
markiert, die GND Schiene mit schwarzem. Dann gibt es keine 
Verwechslungen mehr)

Und dann kontrollierst du auch noch mit einem Voltmeter, ob die jeweils 
richtigen Prozessorpins auch wirklich Versorungsspannung haben. Wenn du 
kein Voltemter hast, dann löte dir aus einer LED und einem 
Vorwiderstand( 220 Ohm) und ein paar Drähten ein Werkzeug zusammen:

   o------ 220 Ohm -------  LED ------------>

Links gehst du direkt an GND. Wenn du dann mit dem anderen Ende auf eine 
Leitung tippst, die eigentlich 5V haben müsste, dann muss die LED 
leuchten (an der Versorungsspannung ausprobieren)

von Mike .. (90peter90)


Lesenswert?

ich habe eben nochmal einen Test gemacht:
1
  DDRB = 0xFF;
2
    while(1) {
3
        PORTB = 0;
4
    }
irgendwie sind aber alle mein PORTB-Pins auf 5V :? hä

von Pascal K. (zerb)


Lesenswert?

Sorry vertan... Intern werkelt ja ein RC-Oszillator... Gehe glaub 
schlafen, gute nacht!

von Karl H. (kbuchegg)


Lesenswert?

Pascal K. schrieb:
> Sorry vertan... Intern werkelt ja ein RC-Oszillator... Gehe glaub
> schlafen, gute nacht!

Solange er ihn nicht weggefused hat, aber das kann nur er wissen.

Die LED könnte auch noch verkehrt rum drinn stecken. Aber auch das kann 
man schnell ausprobieren.

von Mike .. (90peter90)


Angehängte Dateien:

Lesenswert?

Die LED ist richtig gepolt und ja, dass mit der "Kabellage" ist echt ein 
Punkt.
Ich muss mir noch paar kurze Brücken besorgen.

Hm... ich habe ein altes Trafo, bei dem ich 5V einstelle und als VCC für 
den uC bereitstelle. Ob die jetzt ordentlich stabilisiert ist, hm weiß 
nicht hab kein Osziloskop.

Sonst wüsste ich nicht mehr! :(

von MPL (Gast)


Lesenswert?

hast du deinen widerstand auf PB0 und PB1 gesteckt?

sieht aus als ob der widerstand von PB1 auf PB0 und die Led geht....


zum nachprüfen der Spannung reicht dir ein 5€ Baumarkt Multimeter

von Karl H. (kbuchegg)


Lesenswert?

Mike ... schrieb:

> Hm... ich habe ein altes Trafo, bei dem ich 5V einstelle und als VCC für
> den uC bereitstelle. Ob die jetzt ordentlich stabilisiert ist,

Das solltest du aber feststellen.
Und auch, ob der 'Trafo' tatsächlich 5V liefert.

Ein einfacher Test läuft zb so:

Nimm deine LED samt Vorwiderstand und hänge sie an die '5V'.
Wenn sie leuchtet, dann dreh die LED um. Leuchtet sie immer noch, dann 
hast du Wechselstrom -> du musst gleichrichten und sieben.

Leuchtet sie nicht mehr, dann kommt aus deinem 'Netzteil' bereits 
Gleichstrom raus. Wenn der nicht gut genug gesiebt ist, dann häng noch 
einen 470µF Elko drann, dann ist das gut genug. Den Elko kannst du bei 
Gleichstrom auf jeden Fall drann hängen, in dem Fall schadet er dann auf 
keinen Fall.

Ein Trafo an sich liefert immer Wchselstrom. Erst durch gleichrichten 
mit einer Diode bzw. einem Gleichrichter wird daraus pulsierende 
Wechselspannung und die wiederrum wird durch 'sieben' mit einem Elko zu 
einer vernünftigen Gleichspannung.

Allerdings ist deren Höhe noch nicht stabilisiert. Daher schaltet man 
dann einen Spannugnsregler hinten nach, der aus einer größeren Spannung 
exakte 5V macht. Zb einen 7805.

Die Frage lautet daher: Was hast du wirklich?
Ist das ein Trafo, aus dem eine Wechselspannung rauskommt, die irgendwo 
bei 5V liegt?
Ist das ein Netzteil, weilches bereits eine Gleichspannung liefert, die 
irgendwo bei 5V liegt (Steckernetzteile sind meistens nicht sehr genau)
Oder kommen aus deinem Netzteil tatsächlich sauber gesiebte 5V heraus.

> Sonst wüsste ich nicht mehr! :(

Gleichspannung und Wechselspannung kannst du ganz leicht mit dem LED 
Test unterscheiden. Die Höhe der SPannung misst du mit einem Voltmeter. 
Ohne Voltmeter ist an ein vernünftiges Basteln sowieso nicht zu denken. 
Für den Anfang reicht ein einfaches Multimeter, dass du in jedem 
Baumarkt um 8 Euro fufzich kaufen kannst. Für deine Zwecke genau genug, 
auf ein paar Zehntel Volt kommt es nicht an.


PS: Jetzt ist die Schaltung vernünftig aufgebaut. Mit einem Blick kann 
man erkennen, was du da gesteckt hast, ohne dass man 20 Leitungen mühsam 
verfolgen muss. Und so wie MPL hab ich den Eindruck, dass dein 
Widerstand da nicht stimmt.

von Karl H. (kbuchegg)


Lesenswert?

Du hast doch ein STK500.
Kannst du nicht dort irgendwo die 5V abzwacken?

von Mike .. (90peter90)


Lesenswert?

Also ich habe ein ModellbauTrafo. Dies hat eine Gleich und 
Wechselspannungsanschluss. Ich nutze natürlich Wechselspannung.

Das mit dem Einstellen der 5V ist nicht so einfach :) Das Poti ist nicht 
sehr genau.

Hm, mein Wiederstand geht von PB0 auf einer Reihe höher. Das ist 
richticg gesteckt.


Ich werde jetzt mal die 5V vom STK abzapfen, danke ist eine gute Idee. 
melde mich gleich obs klappt :)

von Dirk (Gast)


Lesenswert?

>Also ich habe ein ModellbauTrafo. Dies hat eine Gleich und
>Wechselspannungsanschluss. Ich nutze natürlich Wechselspannung.

Die Schaltung mag aber nur Gleichspannung, ich sehe kein Gleichrichter + 
Siebelko etc.

von Mike .. (90peter90)


Lesenswert?

Dirk schrieb:
>>Also ich habe ein ModellbauTrafo. Dies hat eine Gleich und
>>Wechselspannungsanschluss. Ich nutze natürlich Wechselspannung.
>
> Die Schaltung mag aber nur Gleichspannung, ich sehe kein Gleichrichter +
> Siebelko etc.

Sorry, klar nutze ich Gleichspannung. War gerad in Gedanken noch bei 
AC... :D

von Mike .. (90peter90)


Lesenswert?

yeah it works. Komisch :D

ich habe nun die Spannung vom STK500 abgegriffen und nun gehts...
Wie kann ich mir denn eine Schaltung bauen, die mir mit dem 7805 immer 
eine 5V AC liefert?

von Sven Z. (treito)


Lesenswert?

1. Brauchst Du immer noch 5V DC und 2. stehen Beispielschaltungen im 
Datenblatt des 7805.

von Mike .. (90peter90)


Lesenswert?

Ja genau :)
Ok, ich schau mir das mal an.

Aber eine Frage noch: Wozu brauche ich in der Grundschaltung den 
Kondensator? Was das ist und was der macht ist mir klar!?

von Sven Z. (treito)


Lesenswert?

Welchen meinst Du denn jetzt?

Die meisten Kondensatoren dienen zum Glätten oder zur Beseitigung von 
Störungen!

von Mike .. (90peter90)


Lesenswert?

Sven Z. schrieb:
> Welchen meinst Du denn jetzt?
es gibt doch nur den einen in meine Schaltung(Grundschaltung für 
Atmega32)
> Die meisten Kondensatoren dienen zum Glätten oder zur Beseitigung von
> Störungen!
Ok, dass wird sicher auch dann in der Grundschaltung so sein. Hatte ich 
mir schon fast gedacht, also ist es ja kein "MUSS" diesen einzubauen.

von Dietrich (Gast)


Lesenswert?

Mike ... schrieb:
>> Die meisten Kondensatoren dienen zum Glätten oder zur Beseitigung von
>> Störungen!
> Ok, dass wird sicher auch dann in der Grundschaltung so sein. Hatte ich
> mir schon fast gedacht, also ist es ja kein "MUSS" diesen einzubauen.

Aber ein "de facto" Muss! Denn der Aufwand/Kosten, ihn einzubauen, steht 
in keinem Verhältnis zu den möglichen Problemen, wenn man ihn weg lässt.

Gruß Dietrich

von Sven Z. (treito)


Lesenswert?

Mike ... schrieb:
> Ok, dass wird sicher auch dann in der Grundschaltung so sein. Hatte ich
> mir schon fast gedacht, also ist es ja kein "MUSS" diesen einzubauen.

Naja, wenn Du mit Abstürzen und merkwürdigem Verhalten leben kannst!
Normalerweise gehören immer mind. 2-3 Kondensatoren rein!

von Mike .. (90peter90)


Lesenswert?

Ok, denn weiss ich bescheid.
Danke für eure Hilfe.
Gruß Mike

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.