• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Franzis ATtiny13-Board + Reaktivlicht (Com1:)

white_rabbit

Geocacher
Hallo.
Ich versuche mich auch gerade daran, ein Reaktivlicht zusammenzubauen. Natürlich habe ich den Mega-Thread (140 Seiten lang!) gesehen und einen erheblichen Teil davon gelesen -- trotzdem mache ich mit meiner Frage vorsichtshalber einen neuen Newbie-Beitrag auf.... aaalso, es ist so: Ich habe den ATtiny13-V zusammen mit dem Franzis Lernpaket Mikrocontroller zusammengebaut. Dort baut man eine kleine Schaltung zusammen, die z.B. über Com1: angesteuert wird und so aussieht:
http://www.elo-web.de/elo/mikrocont...g/avr-grundlagen/experimente-mit-dem-attiny13
Beiliegend hat man auch ein Tool (Lpmikro.exe), mit dem man den ATtiny programmieren kann und (beliebige) .hex-Files hochladen kann. Das klappt soweit alles schon mal ganz gut.

Nun wollte ich natürlich die Beispielprogramme von http://www.reaktivlicht.de/ benutzen, um den ATtiny entsprechend zu programmieren. "Leider" steht im Kochbuch ja, dass der "default-Weg" über den Parallelport läuft und es keine Erfahrungsberichte mit BascomAVR und Com1: gibt. Nicht weiter schlimm, dachte ich, denn ich kann ja mit dem Franzis-Board via Com1: programmieren... soweit die Vorüberlegungen. Und jetzt konkret:

Ich habe entsprechend der Grundschaltung einen 100nF Wima-Kondensator parallel zu VCC & GND, eine (vorerst normale, nicht super-helle) LED und einen 50 bzw 150 Ohm Widerstand an PB3 - PB4 auf einem BreadBoard zusammengesteckt. Wenn ich nun z.B. das Programm "Nachtaktiv" hochlade, verhält sich die LED seltsam: Sie blinkt gar nicht. Fasse ich allerdings das BreadBoard an (Erdung?), blinkt sie dauernd. Noch seltsamer finde ich, dass ich eigentlich noch nicht mal etwas berühren muss, sondern nur mit der Hand in die Nähe der LED kommen muss -- und schon blinkt sie ohne Pause. Auf eine Helligkeitsänderung via Lampe/LED-Taschenlampe reagiert die Schaltung leider nicht.

Hat jemand eine Idee, wonach ich schauen kann? Danke erstmal für Tipps,
White Rabbit
 

stonewood

Geowizard
white_rabbit schrieb:
Wenn ich nun z.B. das Programm "Nachtaktiv" hochlade, verhält sich die LED seltsam: Sie blinkt gar nicht. Fasse ich allerdings das BreadBoard an (Erdung?), blinkt sie dauernd. Noch seltsamer finde ich, dass ich eigentlich noch nicht mal etwas berühren muss, sondern nur mit der Hand in die Nähe der LED kommen muss -- und schon blinkt sie ohne Pause. Auf eine Helligkeitsänderung via Lampe/LED-Taschenlampe reagiert die Schaltung leider nicht.
Welche Schaltung und welches Programm genau verwendest Du da?

Die Reaktivlichter sind auf dem Wohnzimmertisch entweder zu hell angestrahlt (und gehen damit in den Tagmodus, reagieren also eine Weile, genauer 8 Sekunden, nicht mehr) oder höchst empfindlich gegen alles mögliche (Reflektionen an Wänden etc.). Das kann schon mal wild aussehen, vielleicht funktioniert ja Dein RL ohne Probleme, und ist nur viel zu empfindlich?

Andere Programmer tun übrigens ohne Probleme den Dienst, ob nun über Parallelport, Com, USB oder was auch immer das .hex geschrieben wird ist ziemlich egal. Der Parallelport-Programmer ist aber der einfachste um erst mal loslegen zu können, man muß sich also nicht erst mal für viel Geld einen 'richtigen' Programmer zulegen.
 
OP
W

white_rabbit

Geocacher
Welche Schaltung und welches Programm genau verwendest Du da?

Ich habe die Grundschaltung aus dem Kochbuch aufgebaut und auch das Grundprogramm geflasht (hatte auch bereits das Programm "Nachtaktiv" getestet - ebenfalls ohne Erfolg).
Über Reflexionen habe ich mich auch schon gewundert, aber alle Lichter incl Monitor aus bis auf die LED vom Computer sollte doch dunkel genug sein, oder??
Ich kann im Bascom-Code ja sonst mal die Empfindlichkeit etwas drücken, richtig?

Das einzige (?), was bei meinem Aufbau anders als im Kochbuch ist, ist die Tatsache, dass ich den ATtiny weiterhin auf dem Franzis-Board betreibe. Das heißt also auch, dass er seine 5V vom Com-Port bezieht, aber das dürfte für die Funktion des Programms ja keine Auswirkungen haben, oder?

Eine Anmerkung noch: Ich habe das BreadBoard vorhin mal richtig geerdet. Es ist nun so, dass die LED dauerhaft blinkt, wenn ich z.B. die Kathode berühre...
 

schnasemann

Geocacher
zwei Ansätze: 1. Breadboards funktionieren manchmal nur in der Theorie, es gab immer wieder mal Ärger damit. Messe mal mit einem Durchgangsprüfer nach, ob Du wirklich da Verbindungen hast, wo Du welche haben willst. Manchmal lassen die Kontakte stark zu wünschen übrig.

2. auf der Reaktivlicht-Seite sind die hex-files direkt zum Flashen. Stelle dabei sicher, dass die Fusebits richtig gesetzt sind (ich bin mir nicht sicher, ob Dein Flashprogramm die aus dem hexfile richtig setzt und weiß auch nicht, ob die im hexfile überhaupt codiert sind). Du brauchst einen 128kHz-Takt intern, Watchdog always off (sonst schlägt der Watchdog-Reset zu, den wir nicht brauchen) und Divide auf aus.

schnasemann

PS: Ich weiß, man will das sofort hinbekommen und dann nervt sowas, wenns nicht klappt. Aber gemeinsam bringen wir Dich schon zu Deinem Reaktivlicht. ;)
 
OP
W

white_rabbit

Geocacher
Jaaa, die Fuse-Bits könnten es sein. Im Kochbuch steht natürlich ausdrücklich drin, dass man die vorher setzen muss. Das habe ich wegen meiner Com1:-Schnittstelle leider so wie beschrieben natürlich nicht hinbekommen -- und bin dann wieder drüber hinweg gekommen :eek:ps: . Ich schaue mal, ob das Lpmikro-Programm auch die Fuse-Bits setzen kann. Wäre ja schick, wenn das schon alles wäre?

Was das Breadboard angeht: Mein Durchgangsprüfer sagt, dass der Kontakt da ist ... aber seltsam finde ich das Verhalten trotzdem. Verhält sich halt so, als würde die Schaltung auf eine zusätzliche menschliche Kapazität/Induktivität reagieren...
 

schnasemann

Geocacher
die Schaltung kann schon auf Brumm reagieren. Wenn Du längere Anschlüsse oder Beinchen hast und die evtl. offen da rumhängen ist das nichts anderes als ein Kondensator oder eine Antenne (je nach Art). Da kann man sich schon was einfangen. Aber ich tippe da eher auf extrem empfindlich (Deine Hand reflektiert) oder auf völliges Spinnen des uC, weil er nicht richtig eingestellt wurde per Fusebits.
Die Kainka Sachen sind meiner Ansicht nach sonst nicht schlecht, der Kerl kann toll erklären und bastelt witzige Sachen.
Versuche evtl. erst mal ein Demoprogramm z.B. Blinker richtig zum Laufen zu bringen, damit Du Dir sicher bist, dass das Flashen klappt, alles richtig angeschlossen ist und Dein uC in Ordnung ist.
HTH
schnasemann
 
OP
W

white_rabbit

Geocacher
Tja, doof ... ich kann mit dem Franzis-Tool leider nur den Takt ändern. Aus Sicherheitsgründen kann man da nicht die anderen Fuse-Bits setzen (als Begründung steht im Handbuch, dass man den ATtiny damit unbrauchbar machen kann -- soweit also in Ordnung). Nun wird da auf AVRStudio verwiesen, wo man angeblich mit dem STK500 im offline-Modus arbeiten kann, um die Fuse-Bits doch noch setzen zu können. Das klappt leider nicht. Daher bleibt die Frage, wie ich am schnellsten die Fuse-Bits per Com1: setzen/löschen kann? Oder komme ich um die parallele Schnittstelle doch nicht herum? Sooo viel Arbeit war das ja nun auch wieder nicht.
 

stonewood

Geowizard
white_rabbit schrieb:
Tja, doof ... ich kann mit dem Franzis-Tool leider nur den Takt ändern. Aus Sicherheitsgründen kann man da nicht die anderen Fuse-Bits setzen
Welche Fuses kannst Du setzen? Nur den CKDIV (1/8)? Oder auch die beiden für 9,6 Mhz, 4,8 MHz, 128 Khz und externen Takt?

Ach ja, Leuchtstoffröhren können gerade bei der LED-Variante auch stören, die 'blinken' ja mit 100 Hz.
 
OP
W

white_rabbit

Geocacher
Ja, ich kann mit dem dem Franzis-Board nur den Takt verändern (schon auf 128kHz umgestellt -- das Blinken ist jetzt wesentlich langsamer).
Es bleibt aber dabei: Die LED beginnt zu blinken, wenn ich das BreadBoard berühre oder aber die Kathode der LED. Wenn ich das ganze Zimmer verdunkele und mit einer LED-Taschenlampe die Schaltung beleuchte, reagiert sie hingegen weiterhin nicht.

Mittlerweile habe ich http://avr8-burn-o-mat.aaabbb.de/ entdeckt. Damit werde ich mal versuchen, die noch fehlenden Fuses richtig zu setzen. Hoffentlich klappt es dann. Die erweiterte Schaltung mit Fotowiderstand scheint mir irgendwie besser zu funktionieren -- liege ich da richtig? (Teile sind noch unterwegs, so dass ich sie noch nicht aufbauen konnte)
 
OP
W

white_rabbit

Geocacher
Ok, mit AVR8 Burn-O-Mat kann ich immerhin die Fusebits lesen (sogar unter Linux). Ich komme dennoch nicht weiter, denn im Kochbuch steht (für Bascom beschrieben), dass man diese Fuses setzen soll:
Fusebit DCBA auf "1011:Int. RC Osc. 128 kHz; start-up time: 14 CK + 64 ms\
Fusebit E auf "1:Divide cock by 8, OFF\
Nun heißen diese Fuses unter dem Burn-O-Mat seltsamerweise etwas anders. Wer hat hier den Überblick und kann mal die Online-Java-Version gegen prüfen. Dort kann man den ATtiny13 auswählen und sich die Fuses ansehen.
CKDIV8 dürfte klar sein und Fusebit E entsprechen aber was entspricht DCBA?

Quelle: http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_online.html
 

stonewood

Geowizard
Das sind die Bezeichnungen aus dem Bascom AVR-Programmer. 2 Bits sind für die Taktfrequenz zuständig (CKSEL0/1), 2 für die startup time (SUT0/1). CKDIV ist eventuell noch interessant, die anderen solltest Du nicht ändern. Die Tabelle habe ich gerade nicht greifbar, findet sich aber im Datenblatt.

Insbesondere SELFPRGEN macht ein weiteres Programmieren vielleicht nicht unmöglich, aber sagen wir mal problematisch. RSTDISBL ist die gleiche Kategorie. Zumindest geht das dann nicht mehr per SPI, da gibt's dann nur noch den sogenannten High Voltage programmiermodus.
 
OP
W

white_rabbit

Geocacher
Hi. Ich wollte hier mal kurz mein Reaktivlicht zeigen. Mit dem Kochbuch und Bascom hat es schließlich alles geklappt. Super!

Noch kleiner kann man das auf Lochraster scheinbar nicht bauen. Ich bin so jedenfalls zufrieden...
 

Anhänge

  • DSCF4525.JPG
    DSCF4525.JPG
    94,2 KB · Aufrufe: 309
Oben