Forum: Mikrocontroller und Digitale Elektronik Tiny13 und 15 calibrieren


von FuturaOli (Gast)


Lesenswert?

Tach ich beschäftige mich seit kurzer Zeit mit den AVR Controller und 
habe folgendes Problem, mir stehen die Hex-Files von verschiedenen 
Programmen aus dem Modellbaubereich zur Verfügung die ich dann mit 
Ponyprog oder AVR prog schreibe was auch funktioniert aber das 
calibrieren versteh ich nicht und so laufen die Tinys immer mit einer 
undefinierten Geschwinddigkeit und funktionieren daher auch nicht 
richtig. ich kann mit ponyprog das Calibrationsbyt zwar auslesen dann 
steht da z.b x051 was muss ich denn damit nun genau machen? schreiben 
kann ich das nicht und in das Programm einfügen gehr ja nicht da ich den 
Source Code nicht habe. wenn das jemand weiss bitte genau beschreiben 
wie ich vorgenen muss. Der Tiny15 soll mit 1,6MHz laufen und ein 
Fahrtregler sein. best dank FuturaOli

von Peter D. (peda)


Lesenswert?

Der ATtiny13 calibriert sich selber.

Beim alten ATtiny15 muß das Calibrationsbyte in der Software gesetzt 
werden.
Dazu schreibt Atmel das Byte an das Ende des Flash und in den EEPROM.

Wichtig ist also, daß man vor dem Programmieren den ATtiny15 nicht 
löscht !!!


Peter

von FuturaOli (Gast)


Lesenswert?

das heisst also wenn ich nicht losche dann laufen die Tinys mit welcher 
Frequenz? oder so gefragt kann ich die HZ einfach beeinflussen bzw 
ändern so dass die hex datei dann funkeioniert mit dem Tiny 13 soll ein 
summer angsteuert werden und es soll dann ein tütata erklingen was sich 
aber eher nach einem bachlauf anhört also viel zu langsam! wie gesagt 
ich hab auch keinen source code sondern nur die Hex.

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


Lesenswert?

>Der ATtiny13 calibriert sich selber.

Das ist eine gewagte Aussage. Die Wirklichkeit sieht so aus: der Tiny13 
läd ein in der Fabrik geflashtes Byte beim Reset in OSCCAL. Damit hat 
man eine 10%ige Genauigkeit zur per Fuse eingestellten Grundfrequenz. 
Will man mehr, muß man die Software mit einem genauen, externen Takt an 
irgendeinem I/O-Pin kalibrieren lassen und dann einen Wert "X" in OSCCAL 
schreiben lassen.

von FuturaOli (Gast)


Lesenswert?

wie geht das denn genau einen wert dann in oscal schreiben mit ponyprog 
so könnte ich zumindest versuchen auf die 1,6MHz zu kommen

von FuturaOli (Gast)


Lesenswert?

wie stellt man denn per fuse die grundfrequenz ein

von Karl H. (kbuchegg)


Lesenswert?

FuturaOli wrote:
> wie geht das denn genau einen wert dann in oscal schreiben mit ponyprog
> so könnte ich zumindest versuchen auf die 1,6MHz zu kommen

So, gar nicht.
Das muss das Programm machen.
Dir wird also nichts anderes übrig bleiben, als dich mit dem
Autor des Programmes in Verbindung zu setzen und ihn zu fragen
wie er sich diesen Vorgang vorgestellt hat.

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


Lesenswert?

>wie stellt man denn per fuse die grundfrequenz ein

4.8 oder 9.2Mhz mit verschiedenen Anlaufzeiten, dazu einen /8 Vorteiler, 
mit den entsprechenden Fuses, laut Datenblatt. Außerdem kann der 
Vorteiler aus dem Programm heraus noch feiner eingestellt werden und 
eben OSCCAL kann aus dem Programm heraus manuell geladen werden.

von FuturaOli (Gast)


Lesenswert?

also sehe ich das richtig ohne Programm geht gar nichts

von Karl H. (kbuchegg)


Lesenswert?

FuturaOli wrote:
> also sehe ich das richtig ohne Programm geht gar nichts

Das siehst du richtig.
Welche Programme sind es denn?
Wenn sie nicht allzugroß sind, könnte man versuchen die mal
zu disassemblieren (geht mit dem AVR Studio) und man nachsehen
ob der Autor ev. da schon was eingebaut hat.
Einfacher ist es aber, wenn man den Autor einfach mal danach frägt.
So top secret wird das dann ja wohl auch wieder nicht sein.

von Hannes L. (hannes)


Lesenswert?

Karl heinz Buchegger wrote:
> ...

> Welche Programme sind es denn?

Das Tiny15-Programm ist dieses hier:
http://www.hanneslux.de/avr/mobau/fr_t15/fr_t15.html
Der Quelltext ist hier:
http://www.hanneslux.de/avr/mobau/fr_t15/T15frb01.asm
bzw. eine speziell für Oli geschriebene Variante mit langsamerer 
PWM-Frequenz.

Die Calibrationsroutine erwartet das Calibrationsbyte im Low-Byte der 
letzten Flash-Zelle. Es muss mit einem ISP-Programm aus dem 
Signature-Space des Tiny15 ausgelesen werden und in den Hexdump 
(Ponyprog) oder anderweitig in das L-Byte der letzten Zelle im Flash 
eingetragen werden, notfalls mit etwas zusätzlichem Quelltext am Ende 
des Programms:

.org flashend
.db 0x51,0x51

wobei 0x51 das exemplarabhängige Calibrationsbyte ist.


> Wenn sie nicht allzugroß sind, könnte man versuchen die mal
> zu disassemblieren (geht mit dem AVR Studio) und man nachsehen
> ob der Autor ev. da schon was eingebaut hat.

Das ist nicht nötig, denn Oli verfügt über den Quelltex. Ich habe ihm 
auch per Mail erklärt, wie das Calibrieren funktioniert. Da ich aber die 
von ihm benutzte ISP-Software weder nutze noch kenne, kann ich nicht 
jeden Mausklick genau erklären.

> Einfacher ist es aber, wenn man den Autor einfach mal danach frägt.

Hat er ja, ich habe auch geantwortet und das Programm für seinen Zweck 
modifiziert. Vermutlich fand ich nicht die richtigen Worte. Vielleicht 
kann es ja mal jemand anders formulieren, so, dass Oli es versteht.

> So top secret wird das dann ja wohl auch wieder nicht sein.

Ist es auch nicht, steht seit einigen Jahren als Quelltext frei 
zugänglich auf meiner HP.

Mit dem eventuellen Tiny13-Problem habe ich nichts zu schaffen.

...

von FuturaOli (Gast)


Lesenswert?

Hallo Hannes, die erklärung mit 0x51 wie du sie hier beschrieben hast 
reicht mir schon aus das versteh dann ich sogar, was das problem mit dem 
calibrieren betrifft, das ist  nicht das von dir geschrieben programm da 
habe ich ja wie du schon erwähnt hast das Programm es geht umd ein 
Programm von Harry Jakobsen der für den Tiny13 ein Tatütata programm 
geschrieben hat aber leider aus wie auf seiner Seite steht aus 
gesundheitlichen Gründen diese nicht mehr pflegt. DA ich mich 
hauptsächlich mit Modellbau beschäftige und mir der Umgang mit den Tinys 
mir nicht ganz einfach fällt bin ich für jede hilfe dankbar und ich muss 
halt öfter mal nachfragen denn bis es selbst ich verstanden habe. Hannes 
vielleicht kannst du mir auf meine Mail von gestern noch antworten das 
wär echt supernett
Oli

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.