Forum: Mikrocontroller und Digitale Elektronik 555 Baustein als Taktgeber für µC


von T. G. (getle) Benutzerseite


Lesenswert?

Hallo,

ich wollte mal nachfragen ob man einen 555 Timerbaustein irgendwie an 
die XTAL Anschlüsse eines µC als externer Taktgeber anschließen kann ?

von Daniel P. (polzi)


Lesenswert?

Dann schau doch mal ins Datenblatt. Beim ATtiny11 gehts und das ist der 
kleinste, also sollte es eignetlich bei allen gehen. Die Taktquelle muss 
an XTAL1- XTAL2 ist NC, also nicht beschalten, aber vielleicht als IO 
benutzbar. Wie gesagt, schau ins Datenblatt.

von (prx) A. K. (prx)


Lesenswert?

Sollte allerdings die CMOS-Version vom 555 sein. Bei der bipolaren 
Version, also dem klassischen NE555, reichen die Pegel nicht.

von Matthias L. (Gast)


Lesenswert?

>ich wollte mal nachfragen ob man einen 555 Timerbaustein irgendwie an
>die XTAL Anschlüsse eines µC als externer Taktgeber anschließen kann ?

Was soll das bringen?

von (prx) A. K. (prx)


Lesenswert?

Evtl. will er einen verfuseten AVR retten.

von T. G. (getle) Benutzerseite


Lesenswert?

Ich wollte es nur mal in Erfahrung bringen ob es überhaupt möglich ist, 
ich hab keinen verfusten AVR, also das Bauelement kommt also an den 
XTAL1 dran. Die Sache warum es für mich interessant ist, ist einfach 
weil ich am 555 die Taktrate einstellen kann, deshalb wollte ich es mal 
wissen. Ich hab es übrigens gefunden, es steht unter External Clock im 
Datenblatt des 11er's wenn es das richtige ist. Danke für die schnellen 
Antworten.

von Peter D. (peda)


Lesenswert?

Der 555 ist ein NF-IC, d.h. 32kHz sind kein Problem, aber 8 oder 20MHz, 
wo sich ein AVR so richtig wohl fühlt, kannste knicken.

Nimm besser nen 2.AVR und setze die CLK-out Fuse.


Peter

von T. G. (getle) Benutzerseite


Lesenswert?

Ich bin kein AVR Profi, ich weiß zwar bissl wie man die Dinger 
programmiert und einsetzt, aber viele Sachen sind mir noch nicht 
geläufig (z.B ADC). Ich weiß das mit NF-Bereich der Bausteine, bloß ich 
brauch ne immer solche hohen Frequenzen, gerade wenn ich Verzögerungen 
programmiere die auch mal bissl länger sein können macht sich das mit 
niedrigeren Frequenzen besser (weniger Code). Gibt bei solchen niedrigen 
Frequenzen Probleme mit dem µC zwecks der Programmausführung ?

von (prx) A. K. (prx)


Lesenswert?

Nein, den AVR kannst du auch mit 50Hz betreiben. Nur darf die 
ISP-Frequenz dann nicht über 12,5Hz liegen. Das Flashen ist dann 
folglich eher was für sehr geduldige Gemüter.

Niedrige Takte kriegt man allerdings auch mit dem externen RC-Oszillator 
hin, nix anderes als was der 555 macht nur weniger genau und selten 
verwendet. Und neuere AVRs haben eine programmierbaren Prescaler, der 
den Takt erheblich reduzieren kann.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Tony G. wrote:
> ich Verzögerungen
> programmiere die auch mal bissl länger sein können macht sich das mit
> niedrigeren Frequenzen besser (weniger Code).

Ähm, wenn du der Meinung bist, dass Codegröße und Dauer von 
irgendwelchen Verzögerungen maßgeblich zusammenhängen, gibt es wohl noch 
fundamentalen Nachholbedarf bei den eingebauten Timern! Also nix gegen 
eine Taktrate des µC, die nicht unnötig über dem liegt, was benötigt 
wird, aber den Controller aus obigem Grund auszubremsen ist schon arg 
seltsam.

von T. G. (getle) Benutzerseite


Lesenswert?

Das heißt immer ein Viertel der Betriebsfrequenz ist die ISP Frequenz, 
ne programmiert wird ja mit dem Board bloß dort wo der dann zum Schluss 
eingebaut (Platine) wird könnte eine niedrigere Betriebsfrequenz sein. 
Ich selber hab ein Evaluationsboard von Pollin, ich weiß das das Ding ne 
grad gern gesehen ist, aber das STK500 is mir zu teuer und für meine 
Zwecke reicht das Board allemal zu.

von Peter D. (peda)


Lesenswert?

Tony G. wrote:
> gerade wenn ich Verzögerungen
> programmiere die auch mal bissl länger sein können macht sich das mit
> niedrigeren Frequenzen besser (weniger Code).

Lach,

der Faktor 256 kostet Dich genau ein Register mehr, also 2 Words Code 
(LDI+SBCI), diese Einsparung läuft unter "merkt absolut niemand".

Abgesehen davon macht man lange Delays (>256 Zyklen) besser mit nem 
Timer.


Peter

von T. G. (getle) Benutzerseite


Lesenswert?

Hä wie schreibt ihr sowas in Assembler, ich hab mir mal so ein 
Codegenerator runtergezogen, wo man die Zeit und Taktrate eingibt und 
dann spuckt das Ding den Code raus, um so länger die Dauer desto länger 
der Code, deshalb besorgt mich das, wenns anders auch geht, dann schreib 
mal ein Codebeispiel hin, wie gesagt Assembler is für mich Neuland. 
Übrigens die Delays sind manchmal länger als eine Sekunde, also viele 
Zyklen.

von Thilo M. (Gast)


Lesenswert?


von T. G. (getle) Benutzerseite


Lesenswert?

Da haperts wieder mit den Englischkenntnissen, aber Groben versteh ichs 
in etwa, trotzdem Danke erstmal an euch alle für die schnelle Hilfe. Ich 
müsste sowieso das Tutorial erstmal komplett beenden, ich denk mal das 
klären sich noch viele Fragen. Ein Frage hätte ich an euch noch, kann 
man ein ADC auch PC betreiben, weil ich mir eine Temperatursteuerung 
bauen will die aber ohne PC auskommen soll (Schalten eines Relais in 
einem Temeperaturbereich).

von Peter D. (peda)


Lesenswert?

T. G. wrote:
> Hä wie schreibt ihr sowas in Assembler, ich hab mir mal so ein
> Codegenerator runtergezogen, wo man die Zeit und Taktrate eingibt und
> dann spuckt das Ding den Code raus, um so länger die Dauer desto länger
> der Code

stimmt, 53 min bei 8MHz benötigen schon riesige 9 Words:
1
.equ    wait = 0xFFFFFFFF       ;wait 25769803770 Cycle (53min at 8MHz)
2
3
        ldi     r19, byte4(wait)
4
        ldi     r18, byte3(wait)
5
        ldi     r17, byte2(wait)
6
        ldi     r16, byte1(wait)
7
loop:
8
        subi    r16, 1   ; 1
9
        sbci    r17, 0   ; 1
10
        sbci    r18, 0   ; 1
11
        sbci    r19, 0   ; 1
12
        brne    loop     ; 2  = 6 cycle loop time

Da sind dann schon gewaltige 0,05% Flash beim ATmega32 weg.


Peter

von T. G. (getle) Benutzerseite


Lesenswert?

Alles klar, also is das Generierungsprogramm einfach nur Mist, was ich 
hab.

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.