Forum: Mikrocontroller und Digitale Elektronik ATmega8 --> ohne Oszillator


von Sven Scholz (Gast)


Lesenswert?

Ist es richtig, dass ich an einem ATmega8 überhaupt keinen Oszillator 
anschließen brauche? Kann ich den uC dann denn auch über ISP 
programmieren oder geht das schief?

Welche weiteren Nachteile hat das Weglassen eines externen Taktes?

Vielen DANK!

von A.K. (Gast)


Lesenswert?

Ist richtig, ISP geht natürlich. Zu beachten: Interner Takt ist bei 
vielen AVRs 8MHz mit Teiler 8 = 1MHz. Die ISP-Frequenz darf dann nicht 
über 250KHz liegen. Jedefalls solange, bis man den Teiler losgeworden 
ist.

Interner Takt ist ungenau, für UART nicht ausreichend.

von Marius Wensing (Gast)


Lesenswert?

Du kannst natürlich einen ATmega 8 auch ohne externen Oszillator oder 
Quarz betreiben. Ab Werk werden ja alle ATmegas mit internem Takt 
ausgeliefert. Programmieren klappt ohne Probleme damit.

Nachteile gibt es dann, wenn du einen ganz exakten Takt brauchst. Für 
die UART zum Beispiel. Der interne Takt ist nicht genau genug dafür.

MfG
Marius

von Netbird (Gast)


Lesenswert?

Die Megas haben intern eingebaute Taktgeneratoren, damit kannst Du alles 
machen! Allerdings sind sie nicht so frequenzstabil wie die 
quarzgesteuerten. Es hängt von Deiner Anwendung ab, ob Du mit 
Genauigkeit bzw. Geschwindigkeit der internen Taktgeber zufrieden bist.

Ich arbeite mit den Mega8 und Mega16 gerne "nur" mit dem 
voreingestellten 1MHz Takt, weil ich kaum zeitkrtische Anwendungen habe 
und weil's so schön schnell zusammenzustricken ist. Auch 
Datenübertragung klappt(e) immer mit 2400Baud. Du kannst aber in anderen 
Postings nachlesen, dass z.B. höhere Baud-Rate zu 
Synchronisationsproblemen führen kann.

Es ist so ähnlich wie bei Beton: Kommt drauf an, was Du damit machen 
willst ...  ;-))

von Sven Scholz (Gast)


Lesenswert?

Vielen DANK nochmal...

von Sven Scholz (Gast)


Lesenswert?

Eine kurze Frage ist mir noch gekommen:

Läuft denn der I2C-Bus ohne externen Takt?

DANKE...

von Johannes M. (johnny-m)


Lesenswert?

I²C ist synchron, deshalb kein Problem.

von Jürgen H. (juergen75)


Lesenswert?

Hallo,

ich hätte eine frage dazu ;-)

wie kann ich den oszillator des Atmega8 deaktivieren ? Hab (natürlich 
wie anscheinen viele andere) einfach die fuse-dingsbums verstellt und 
somit keinen zugriff mehr auf den Chip.

Möchtet nicht nochmal einen zerstören. Kann ich das in einem BASCOM code 
machen. In der Hilfe steht zwar was davon, aber von einem anderen Chip.

Vielen Dank im voraus !

M.f.G.
Jürgen

von Gast (Gast)


Lesenswert?

> wie kann ich den oszillator des Atmega8 deaktivieren ?
Deaktivieren? Du meinst wieder auf den internen umschalten?

> (...) einfach die fuse-dingsbums verstellt und
> somit keinen zugriff mehr auf den Chip.
Am einfachsten: externen Oszillator an den XTAL Pin (XTAL 1 ?) 
anschließen und auf internen Takt zurückstellen.

> Möchtet nicht nochmal einen zerstören. Kann ich das in einem BASCOM code
> machen. In der Hilfe steht zwar was davon, aber von einem anderen Chip.

Ja, ja, ....
Die Bascom-Menschen ;-)
Wenn du wirklich was mit µC lernen willst: nimmt Assembler oder C, aber 
wir über solche Themen gibts laaaaannge Diskussionen :)

von Lötnix (Gast)


Lesenswert?

I2CINIT , I2CRECEIVE , I2CSEND , I2CSTART,I2CSTOP,I2CRBYTE,I2CWBYTE

von Jürgen H. (juergen75)


Lesenswert?

Lötnix wrote:
> I2CINIT , I2CRECEIVE , I2CSEND , I2CSTART,I2CSTOP,I2CRBYTE,I2CWBYTE

bitte was ??? :-)

kann ich das mit einem zweiten AVR Board wieder reparieren ?

Ich hab mir jetzt nen neuen Atmega8 für 2,60.-€ bestellt, ist bestimmt 
billiger und einfacher als erst die anderen Bauteile zu kaufen.

Ich möchte dann einfach bei dem neuen Chip den internen Oszi 
ausschalten, aber wie ?

von Gast (Gast)


Lesenswert?

> Ich möchte dann einfach bei dem neuen Chip den internen Oszi
> ausschalten, aber wie ?

Wenn du KEINE externe Taktquelle hast (Oszillator, Quarz, Resonator, 
...) dann würde ich dir empfehlen den internen Oszilator NICHT 
abzudrehen!!

von Holger K. (krulli) Benutzerseite


Lesenswert?

Warum nutzt du hier nicht die Suchfunktion oder guckts ins Datenblatt. 
Mindestens zweimal die Woche ist das hier Thema.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Ich möchte dann einfach bei dem neuen Chip den internen Oszi
>ausschalten, aber wie ?

Genau so, wie es im Datenblatt steht. Wenn Du Dir zukünftigen Ärger 
ersparen willst, kannst Du Dir auch mal einen richtigen Programmer 
(STK500, AVR-Dragon oder AVR_ISP) gönnen und AVR-Studio benutzen. Da 
stehen die Fuses wunderschön beschrieben, mit all den Dingen, die sie 
bewirken. Und die Programmer sind ihr Geld wert.

von Hannes L. (hannes)


Lesenswert?

Jürgen H. wrote:
> Ich hab mir jetzt nen neuen Atmega8 für 2,60.-€ bestellt,

Warum kaufst Du so teuer? Ich habe dieser Tage 1,49 € pro Stück bezahlt, 
war aber Mengenrabatt für 15 Stück.

> ist bestimmt
> billiger und einfacher als erst die anderen Bauteile zu kaufen.

Das ist durchaus möglich.

>
> Ich möchte dann einfach bei dem neuen Chip den internen Oszi
> ausschalten, aber wie ?

Das geht mit den Fusedingsbums. Aber:
Ehe man sich daran vergreift, sollte man das Datenblatt zu Rate ziehen 
und ermitteln welche Möglichkeiten es gibt. Dann sollte man überlegen, 
welche der Möglichkeiten man nutzen möchte. Dann sucht man sich die 
(benötigten) Zustände aller Fusebits im Datenblatt zusammen (Stift und 
Papier ist dabei sehr hilfreich), liest mit dem ISP-Programm die Fuses 
des AVRs ein und vergleicht sie mit den im Datenblatt ermittelten. Dabei 
stellt man fest, dass die Bits invertiert dargestellt werden (oder auch 
nicht, je nach ISP-Programm). Wenn man nun den Durchblick hat, dann 
ändert man die zu ändernden Bits und schreibt die Fuses in den AVR 
zurück. Ist man sich nicht sicher, dann beginnt man von vorn. Klappt das 
auch nicht, sollte man über andere Hobbies nachdenken.

Wer allerdings einfach an den Fusedingsbums herumspielt, ohne zu wissen 
was er tut, mit dem habe ich nichtmal Mitleid.

...

von Flo (Gast)


Lesenswert?

Hi,

ich benutze bei meinem Atmega8 auch den internen Oszillator bei 8MHz und 
der uart läuft einwandfrei. Bei einem Atmega16 und bei einem 32er hat es 
auch ohne weiteres bis 57600baud über den internen Takt funktioniert, 
kann mir das mal einer erklären?

Gruß Flo

von Hannes L. (hannes)


Lesenswert?

Flo wrote:
> Hi,
>
> ich benutze bei meinem Atmega8 auch den internen Oszillator bei 8MHz und
> der uart läuft einwandfrei. Bei einem Atmega16 und bei einem 32er hat es
> auch ohne weiteres bis 57600baud über den internen Takt funktioniert,
> kann mir das mal einer erklären?
>
> Gruß Flo

Du hattes einfach Glück.

...

von Willi (Gast)


Lesenswert?

Ich hatte auch bisher keine Probleme mit Mega8, internem RC-Takt und 
UART bis 9600 Baud.
Ich betreibe die Mega8 i.d.R. mit internen 8MHZ und lade beim Start das 
Calibration-Byte in das OSCCAL Register. Dann ist der Takt ausreichend 
genau im "normalen" Temperatur- und Spannungsbereich.

MfG Willi

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.