Forum: Mikrocontroller und Digitale Elektronik External Clock ATTiny26


von Andi (Gast)


Lesenswert?

Hallo!

Habe mir einen ATTiny26 stillgelegt weil ich vor lauter Eifer an den
CKSEL3...0-Bits rumgespielt habe und am Ende auf logisch 0000 (external
Clock) eingestell und Ruhe wars.
Laut Handbuch braucht der Tiny26 jetzt einen externen Taktgeber an
XTAL1 (irgend ein Chip?).
Kann man mit einfachen Mitteln, Kondensator, Widerstand, Transistor,
einen Taktgeber, wenn auch nicht schnell, basteln um den internen
Oscilator im Tiny26 wieder zu aktivieren?
Kennt da jemand ne einfache Möglichkeit?

Vielen Dank im Voraus!

Gruß
Andi

von Peter D. (peda)


Lesenswert?

Irgendein Schmitt-Trigger-Inverter (z.B. 74HC14) ein R (4,7k) und ein C
(100pF).

R zwischen Eingang und Ausgang, C am Eingang gegen GND, Ausgang an
XTAL1 und fertig.


Peter

von Andi (Gast)


Lesenswert?

Habe ein NE555 zu Hause und irgend wo habe ich mal gelesen, man kann den
als Taktgeber konfigurieren.
Hat irgend jemand ne Idee?
Wollte eigentlich Teile hernehmen, die ich habe und nicht irgend was
kaufen.

Gruß
Andi

von Matthias (Gast)


Lesenswert?


von Malte Marwedel (Gast)


Lesenswert?

Eine andere recht einfache Möglichkeit einen Takt zu erzeugen ist einen
zweiten AVR zu nehmen und ihn so zu programmieren dass er einen Pin
möglichst schnell hin und her schaltet. Den Pin verbindest du dann mit
dem Takt Eingang des ATTiny26. Bei mir hat die Methode jedenfalls
funktioniert (AT90S4433 mit 8MHZ -> AT90S2343).

von Marcus M. (Gast)


Lesenswert?

Hallo Andi,

Du kannst beruhigt den NE555 nehmen.

Ich hab mir letztens einen Tiny26 verkonfiguriert und auf externe
Taktquelle gestellt. Leider wollte der Quarz nicht laufen, aber der
NE555 tuts dafür wirklich gut, vor allem um verschiedene Taktraten zu
testen.

von Andi (Gast)


Lesenswert?

Vielen Dank für eure Hinweise!
Habe mir gerade was mit dem NE555 aufgebaut mit + über R10K an Pin 7,
von Pin 7 einen R10K und eine Diode an Pin 2, von Pin 6 zu Pin 2 und
einen C4,7µF an Pin2/6.
Rechnerisch ergibt sich ein Takt von 15,3KHz.
Aber leider kann Pony Prog die Fuse-Bits nicht lesen.
Sind 15KHz für Programmer zu wenig?
Ich hatte statt dem C4,7µF schon einen mit 100nF drin, rechnerisch ca.
720KHz. aber mit dem gleichen Ergebnis.
Die Diode von Pin 2 nach Pin 6 habe ich dazugemacht weil dadurch ein
Tastverhältnis von 50% sein soll, also ein Zeitgleiches Laden und
Entladen des Kondensators an Pin 6/2.
Ansonsten nehme ich die Diode raus und probiers noch mal.

@Marcus: Mit welchen Teilen hattest Du Deinen NE555-Tacktgeber
aufgebaut?

Gruß
Andi

von Peter D. (peda)


Lesenswert?

555 ist ja auch ne Krücke, viel zu langsam.
Ich weiß nicht, ob man den Pony Prog soweit runter tackten kann.

Es sollten schon >1Mhz sein und das schafft der 555 nicht, deshalb ja
mein Tip mit dem 74HC14.

Außerdem schafft ein bipolar-555 noch nicht mal den nötigen
High-Pegel.


Ein 2.AVR bei >6Mhz ginge natürlich auch.


Peter

von Andi (Gast)


Lesenswert?

Mit dem nötigen High-Pegel muß ich Dir leider zustimmen, jetzt, wo Du´s
erwähnst.
Wo ich die NE555 als Timer eingesetzt hatte, hatte ich auch feststellen
müssen, das bei einer Betriebsspannung von 12V nur 10,5V beim Triggern
an Out anliegen.
Bei 5V sind´s dann wohl nur 4V an Out und 4,5V sind für den AVR nötig
als High-Pegel akzeptiert zu werden so weit ich das verstanden habe.
Ich kann ja mal versuchen, den Out über einen NPN auf 5V zu bringen
ob´s dann geht.
Ne Frage zu dem external Clock Signal des ATTiny26:
Muss das an XTAL1 ein Wechsel von 5V-0V oder 5V-GND sein?

Gruß
Andi

von Klaus Leidinger (Gast)


Lesenswert?

Hallo,

ich hatte das Problem auch gerade, und hab mir mit einem rumliegenden
Quarzoszillator geholfen (ca. 6 Mhz). 5V anschliessen und den Takt
abgreifen, fertig. Der Pegel muss nicht unbedingt genau TTL sein.
Einziger Nachteil: wer keinen ausgeschlachteten hat, die Dinger kosten
bei Reichelt 1,9 EUR (z.B. OSZI 4.000000 ) Dann ist die Lösung von
Peter günstiger.

@Andi: Der Takt muss gegen die Betriebsspannungs Masse gehen.

Ciao,
Klaus

http://www.mikrocontroller-projekte.de

von Andi (Gast)


Lesenswert?

HURRRRAAAA!
Läuft wieder!
Habe das mit meinem zweiten Tiny26 erledigt.
Hätt ich gleich so machen sollen.
War ein Zeitaufwand von 20 Minuten.
Da ich auf meinem Testboard von vornherein Sockelleisten neben den Pins
links und rechts daneben gelötet habe wars auch kein Problem hukepack ne
kleine Platine mit VCC, GND und PB4 (XTAL1) draufzustecken.

Hier das Miniprog zum Takt geben für den Takt-AVR:

.include "tn26def.inc"

main:
  ldi r16,0b00010000  ;PB4 als Ausgang
  out ddrb,r16
  ldi r16,0b11101111  ;Nur der Form halber die Pullups
  out portb,r16    ;an den Input-Pins aktivieren

  in r16,portb    ;PortB lesen
  ldi r17,0b00010000  ;XOR-Bit an PB4
Takt:
  eor r16,r17    ;PB4 umschalten von H auf L
  out portb,r16    ;oder L auf H
  rjmp Takt    ;Endlosschleife

Die Taktschleife ist für einen Wechsel von H auf L oder L auf H 4
Taktzyklen lang.
Ein Takt benötigt beide Pegeländerungen also 8 Takte.
Macht bei 1MHz ca. 125KHz.
Habe den Takt-AVR allerdings auf 8MHz eingestellt und dadurch eine
Frequenz an PB4 von 1MHz.

Vielen Dank noch mal an alle für eure Hilfe!

Gruß
Andi

von Lothar S. (magic33)


Lesenswert?

wie muss ich den tiny26 die fuse bits konfigurieren um von intern 1mhz 
auf extern 10mhz zu kommen

ich hab den seklbstgebauten prog siehe anhang
und das neue ponyprog mir gerade gezogen


ich wollte mit dem timer0 ein signal generieren werte von 50-200 sollen
ein signal der länge 1-2ms liefern
also 50 solte dann 1ms und 200 2ms sein

das heist dann doch 1/150=0,00666  0,000006ms je wert
frequenz 1/0,000006666=160kHz

mit 10Mhz takt und prescaler von 8 könnte ich da hinkommen

bitte um hilfe blutiger anfänfer im timer bereich

nutze zur zeit nur normale schaltungen mit µc

timer0 =8bit
timer1=8bit
deswegen timer0 in use


von Malte _. (malte) Benutzerseite


Lesenswert?

Lothar Sammel wrote:
> wie muss ich den tiny26 die fuse bits konfigurieren um von intern 1mhz
> auf extern 10mhz zu kommen
Das steht im Datenblatt. Ist aber zugegeben nicht ganz einfach alles zu 
finden.
Seite 27 Werte für CKSEL3..1 notieren
Seite 28 Werte für CKSEL0 und SUT1..0 notieren.
Nach meiner Überlegung müssten für dich alle Bits '1' sein. Wichtig: 
Manche Programmer scheinen die Bits inventiert darzustellen. Also vorher 
überprüfen.

> ich wollte mit dem timer0 ein signal generieren werte von 50-200 sollen
> ein signal der länge 1-2ms liefern
> also 50 solte dann 1ms und 200 2ms sein
Meine Glaskugel zeigt dass du versuchst einen Servo anzusteuern, liegt 
die da richtig? Wenn ja, dafür gibt es fertigen Code in der 
CodeSammlung.

> nutze zur zeit nur normale schaltungen mit µc
Bei 'normale schaltungen' versagt leider meine Glaskugel.

von Lothar S. (magic33)


Angehängte Dateien:

Lesenswert?

die glaskugel musst du mir mal leihen

vieleicht bekomm ich dann den durchblick

kann ich diese cksel  clock selektbits auch per PROGRAMM ändern
CKSEL=&b0100 '8Mhz mode

geht das



rigendwie fehlt da noch der durchblick im stk500 ging das alles per 
avrstudio 4.0

der chip tiny26 geht da nicht drauf

deswegen die dummen fragen

JA servo is toll aber es geht ja ums prinzip

ein servotester analog kostet 5euronen der µc das gleiche
einfach rumspielen mit timer und adc ist mein ziehl
messen steuern regeln

auf dem servo sitzt ein potenziometer der ein lm317 steuert welches
an einem adc hängt und auf ZURUF von ausen via port b mir dann feste 
spannungswerte 1.5-5V liefern  soll

verrückt aber ein gedanke und nun die tat
wozu brauch ich das für NIX echt war

von Sonic (Gast)


Lesenswert?

1. Für die Zukunft: falls dir das nochmal passiert und du ein Oszi 
zuhause hast (bei meinem geht's jedenfalls), den 
Tastkopf-Einstellausgang auf 100kHz stellen und an XTAL1 legen. 
ISP-Frequenz < 25kHz einstellen, fertig!
2. Pony-Prog hat wohl immer noch keinerlei hinweise darauf, dass die 
ISP-Frequenz max. 1/4 des Systemtaktes sein darf. Auch kann man die 
ISP-Frequenz nur schwer einstellen. Kann nur zum AVRISP raten, ist um 
Längen übersichtlicher und zuverlässiger!

von Malte _. (malte) Benutzerseite


Lesenswert?

> kann ich diese cksel  clock selektbits auch per PROGRAMM ändern
> CKSEL=&b0100 '8Mhz mode
> geht das
Nein, geht nur mit dem Programmer.

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.