Forum: Mikrocontroller und Digitale Elektronik Problem Atmega16 TWI Beschaltung


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

habe ein kleines Problem.

Aufgabenstellung:

Master der mit Hilfe von TWI mit Slaves kommuniziert. Die Slaves messen 
in gewissen Zeitabständen (innerer Timer) mit den ADC Eingängen die 
Spannungen von Batterien welche über Widerstände abfällt. Die Werte 
werden dann dem Master übergeben welcher diese über RS232 an den 
Computer sendet.

Problem:
Habe die "Anlage" mit 2 STK 500 simuliert. (Einer Master der andere 
Slave) Funktioniert einwandfrei. Nun wollte ich Master und Slave auf 
Platinen basteln. (Schaltungsaufbau im Anhang) Wenn ich nun das Slave 
STK mit der selbstgebastelten Platine ersetze wird er nicht erkannt.
Hab ich im Aufbau was falsch gemacht?

mfg Stefan

von spess53 (Gast)


Lesenswert?

Hi

Kein Controller-Takt?

MfG Spess

von Stefan (Gast)


Lesenswert?

was meinst du damit?
wird der nicht intern generiert?

mfg stefan

von gtf (Gast)


Lesenswert?

Hallo,
STK 500 hat einen Jumper OCSEL, dieser verbinden den AVR mit einem Quarz 
oder AVR- Studio Gedöns(3,686MHz). Während der Entwicklung verbindet man 
den
AVR mit einer dieser Quellen.
Im deinem Schaltplan ist die Taktversorgung nicht vorhanden.
Also gehen wir mal davon aus, das die Fuses auf Internal RC Oszillator
programmiert sind, oder?

von spess53 (Gast)


Lesenswert?

Hi

>was meinst du damit? wird der nicht intern generiert?

Nur wenn es auch eingeschaltet ist. Also mal Fuses überprüfen. Auf dem 
STK kann der Controller auch vom Board mit Takt versorgt werden.

MfG Spess

von Flo (Gast)


Lesenswert?

Sicher dass du 1kOhm Pullups verwenden willst?
Erscheint mir für TWI n bisschen klein, normal sind Werte um 2,7 kOhm.
Kabellängen halten sich ja denke ich in Grenzen?

von Stefan (Gast)


Lesenswert?

habe es mit dem internal RC Oscillator 1 MHz gemacht. gibt es eine 
möglichkeit das auch auf der platine so zu machen oder muss ich einen 
externen quarz anhängen. und vor allem wo?

mfg stefan

von gtf (Gast)


Lesenswert?

Hallo Stefan,
dir scheinen noch einpaar Grundlagen zu fehlen.
Wo der Quarz verbunden wird steht im Datenblatt(XTAL), wie steht ebenso 
im Datenblatt.
Wenn du mit UART arbeitest, dann solltest du bestenfalls einen 
Baudratenquarz nehmen.
Studiere mal die Tutorials und Datenblätter ein bisschen durch, hat mir 
auch ganz gut geholfen. Notfalls gibt’s eine Geheimwaffe die nur den 
Insidern vorbehalten ist(google) :- )
Für die Pullupwiderstände werden Widerstände mit 4,7K gerne genommen.

Viel Erfolg

von spess53 (Gast)


Lesenswert?

Hi

>habe es mit dem internal RC Oscillator 1 MHz gemacht. gibt es eine
>möglichkeit das auch auf der platine so zu machen ...

ja.

>oder muss ich einen externen quarz anhängen. und vor allem wo?

Nicht unbedingt. Aber wenn du es machen willst, an XTAL1 und 2. 
Kondensatoren nicht vergessen.
Was ich eigentlich meinte: Wenn du auf dem STK500 versehentlich den 
internen RC-Oszillator abschaltest kann es sein, das das nicht merkst 
weil das Board den Controller mit dem Takt versorgt. In einer anderen 
Schaltung läuft er aber nicht.
In deiner Schaltung solltest du noch einen 100nF-C zwischen AVCC und GND 
und einen von VREF nach GND machen.

MfG Spess

von Stefan (Gast)


Lesenswert?

Hallo,

habe jetzt einmal einiges gelesen. Verstehe ich das Richtig? Die 
Beschaltung passt aber ich muss die Fusses CKSEL = “0001” und SUT = “10” 
setzen?

mfg Stefan

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.