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
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
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
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).
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.
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
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
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
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
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
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
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.
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
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!