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

Reaktives Licht mit Atmel AVR

KrasserMann

Geocacher
Zu dem neuen LDR Programm eine Anmerkung:

Ich habe die Schaltung getestet-

Sie ist auf jeden Fall sehr empfindlich, in einer hinsicht zu empfindlich:

Die Tag/Nacht umschaltung ist zu schnell, da wäre ein zeitraum der "blindheit gut" in meinen Tests hat auch ein kurzer Schatten auf der schaltung schon gereicht um "Nacht" zu erkennen, und das rückkehrende Licht lößte dann das Blinken aus.


Aber ansonsten schonmal eine TOP arbeit.

Danke
 

Windi

Geoguru
KrasserMann schrieb:
Die Tag/Nacht umschaltung ist zu schnell, da wäre ein zeitraum der "blindheit gut" in meinen Tests hat auch ein kurzer Schatten auf der schaltung schon gereicht um "Nacht" zu erkennen, und das rückkehrende Licht lößte dann das Blinken aus.
Das ist von mir durchaus so gewollt. Das Programm fragt ja ab ob zwischen 2 Meßzyklen (125 ms) die Helligkeit sprunghaft ansteigt. Das ist natürlich der Fall wenn man einen Schatten und dann wieder Licht auf den LDR gibt. In der freien Natur hat man ja normalerweise keine so schnellen Lichtwechsel.
Wenn es jemand anders haben will kann er natürlich den Schwellwert vergrößern (die Reichweite geht dabei natürlich runter) oder das Abfrageintervall verlängern (z.B. noch ein reset watchdog und powerdown in die hauptschleife einfügen).
 

greiol

Geoguru
windi, hast du dazu einen schalt-/stückplan und/oder bilder? an den lötkolben würde ich mich ja noch rantrauen, aber in dem fred nun die für diese version relevanten infos zu finden trau ich mir nicht so recht zu. dafür steckt zu viel info zu sachen drin von denen ich zu wenig weiss.
 

KrasserMann

Geocacher
@Windi

kann es sein das der Code einen fehler enthällt:

Code:
Blinken:                                                    'LED blinken lassen
For A = 0 To 10
  Portb.3 = 1
  Reset Watchdog
  Powerdown
  Portb.3 = 0
  Reset Watchdog
  Powerdown
Next B
Alt = 1023                                                  'Doppelauslösung verhindern
Return

Ich meine das "Next B" müsste es nicht Next A heißen?

Interessantrer weise funktioniert es dennoch.

Martin
 

El-man

Geocacher
@ Windi

wie müssen die Fuse Bits stehen?
ich habe die Schaltung mal nachgebaut, aber erhalte keine Reaktion.

Gruß

EL-Man
 

Windi

Geoguru
El-man schrieb:
Wie müssen die Fuse Bits stehen?
ich habe die Schaltung mal nachgebaut, aber erhalte keine Reaktion.
Fusebit-Einstellung genau wie beim alten Reaktivlicht. Taktfrequenz 128 kHz, Teilungsfaktor 8.
Die Schaltung muss aber auch mit jeder anderen Taktfrequenz laufen da die gesamten Zeitverzögerungen per Watchdog-Timer durchgeführt werden.

Dein Problem liegt sicherlich woanders. Welche Widerstandswerte hat der von Dir verwendete LDR wenn Licht darauf scheint und wenn er abgedunkelt ist?
 

El-man

Geocacher
Ich habe gerade mal nachgemessen,

angeleuchtet hat der LDR einen Widerstand von 120 Ohm,
mit der HAnd abgegedeckt 32 kOhm und völlig abgedunkelt > als 4 MOhm mehr kann ich nicht messen mit meinem Messgerät

Gruß

El-Man
 

Windi

Geoguru
Also wenn der LDR im Dunkeln > 4 MOhm und im Hellen im kOhm-Bereich liegt dann ist er geeignet. Dann liegt der Fehler sicher woanders.
Hast Du das aktuelle Programm und den aktuellen Schaltplan (LDR an +, nicht an Pin5) verwendet? LED richtig herum gepolt?
 

Windi

Geoguru
greiol schrieb:
windi, hast du dazu einen schalt-/stückplan und/oder bilder? an den lötkolben würde ich mich ja noch rantrauen, aber in dem fred nun die für diese version relevanten infos zu finden trau ich mir nicht so recht zu. dafür steckt zu viel info zu sachen drin von denen ich zu wenig weiss.

Einfach eine Seite zurückblättern. Dort ist der aktuelle Schaltplan zu finden.

Stückliste:

1 Atmel Tiny 13V (programmiert).
ggf. 1-IC-Fassung 8 polig
1 Widerstand 56 Ohm
1 Widerstand 4,7 MOhm
1 LDR (niederohmig bei hell, hochohmig bei dunkel)
1 LED
3 Volt Spannungsversorgung (z.B. 2 AA Batterien)
 

El-man

Geocacher
es war ein banaler Fehler:

Ich musste nur die Batterien meines Breadboards erneuern.
Wie peinlich :]

Gruß

EL-Man
 

Windi

Geoguru
Kann jedem mal passieren.
Die Schaltung ist so einfach da kann man (fast) keine Fehler beim Aufbauen machen.
 

El-man

Geocacher
@ Windi

Das Programm funktioniert ja tadellos aber ich weiß nicht warum?
Zuerst gibt es eine Unstimmigkeit zwischen der von dir erstellten Stückliste und dem Programmkomentar.
Im Programmkomentar steht bei

Dim Ldr as Integer '0 = Dunkel, 1023 Hell

bei einem LDR wie in deiner Stückliste beschrieben:
1 LDR (hochohmig bei hell, niederohmig bei dunkel),
müsste 1023 = Dunkel und 0= Hell sein, Oder?

Wie dem auch sei, ich verwende einen LDR der bei Helligkeit niederohmig wird. Eigentlich müsste die Schaltung jetzt beim wechsel von Hell auf Dunkel blinken, sie reagiert aber wie mit dem anderen LDR. Kann es sein das der AVR bei der Subtraktion die Vorzeichen nicht berücksichtigt?
Dann währe es nämlich egal welcher Typ von LDR eingebaut wird.

Gruß

El-Man
 

Windi

Geoguru
El-man schrieb:
@ Windi

Das Programm funktioniert ja tadellos aber ich weiß nicht warum?
Zuerst gibt es eine Unstimmigkeit zwischen der von dir erstellten Stückliste und dem Programmkomentar.
Im Programmkomentar steht bei

Dim Ldr as Integer '0 = Dunkel, 1023 Hell

bei einem LDR wie in deiner Stückliste beschrieben:
1 LDR (hochohmig bei hell, niederohmig bei dunkel),
müsste 1023 = Dunkel und 0= Hell sein, Oder?

Wie dem auch sei, ich verwende einen LDR der bei Helligkeit niederohmig wird. Eigentlich müsste die Schaltung jetzt beim wechsel von Hell auf Dunkel blinken, sie reagiert aber wie mit dem anderen LDR. Kann es sein das der AVR bei der Subtraktion die Vorzeichen nicht berücksichtigt?
Dann währe es nämlich egal welcher Typ von LDR eingebaut wird.

Gruß

El-Man

Du hast natürlich recht. Es muss natürlich "niederohmig bei hell und hochohmig bei dunkel" heissen. Irgendwann wird man da Betriebslblind und überliest soclche "unwichtigen" Fehler.

Damit dürfte auch klar sein warum Deine Schaltung funktioniert. Weil sie dafür ausgelegt ist.

Das Programm wertet übrigens das Vorzeichen schon aus sonst würde es sowohl bei Dunkel -> Hell als auch bei Hell -> Dunkel blinken.
 

stonewood

Geowizard
Hallo,

nun hab ich hier auch einige Atmels liegen. Programmieradapter nach Anleitung gebaut, Bascom-AVR installiert, ATiny erkannt, Fuse-Bits gesetzt - und tot. :( Kein Atiny mehr erkannt. :( Das hab ich jetzt mit 2 Atiny13V geschafft.

- Schaltung nachgemessen - sollte OK sein, die Pins haben auch den korrekten Widerstand
- beim zweiten Atiny dreimal hingesehen ob die fuse-Bits richtig standen - standen sie. Trotzdem tot.
- der dritte atiny tut noch mit default-Einstellung - ich mag jetzt aber irgendwie keine Fuse-Bits mehr setzen.

Hardware:
- Dell Latitude D600 Laptop
- Parallelport, sollte korrekt eingestellt sein (atiny wird ja erkannt?)
- 2 Widerstände, Parallelkabel
- 2xAA Batterie

Ideen? Ich brauch was zum Basteln, nicht zum zerlegen ... :oops:
 

stonewood

Geowizard
Huch? Hab jetzt testweise mal die Batterien abgeklemmt - und der ATiny meldet sich immer noch?!? Lebt der von Luft und Liebe? Oder zieht er sich den Rest einfach aus dem Parallelport?
 

Windi

Geoguru
stonewood schrieb:
Ideen? Ich brauch was zum Basteln, nicht zum zerlegen ... :oops:
Ein ähnliches Problem hatte ich auch mal. Bei mir lag es damals daran dass im Sourcecode des Programms auf einmal Steuerkommandos standen welche die Fusebits umprogrammiert haben. Schau mal in der ersten Zeile nach ob da was steht was dort nicht hingehört.

Hast Du die Fusebits genau so eingestellt wie angegeben? Also auf 128 kHz gestellt und Teilungsfaktor durch 8 deaktiviert? Und auf alle Fälle die Finger weglassen um den Reset-Pin umzuprogrammieren. Dann geht nämlich mit dem Sparadapter gar nichts mehr.

Wenn man den Prozessor nur auf 16kHz einstellt im Programm stehen aber für den Crystal-Wert noch die 128 kHz drin dann kriegt er keine Verbindung. Also auch mal den Crytal-Wert ändern, neu kompilieren und dann schauen ob Du Deine Fusebits wieder siehst.
 

stonewood

Geowizard
Windi schrieb:
Ein ähnliches Problem hatte ich auch mal. Bei mir lag es damals daran dass im Sourcecode des Programms auf einmal Steuerkommandos standen welche die Fusebits umprogrammiert haben. Schau mal in der ersten Zeile nach ob da was steht was dort nicht hingehört.

Genau das hab ich schon gelesen - interessanterweise hab ich noch gar kein Programm erstellt: Einfach 'open new edit window' (und das ist leer!), dann die Fuse-Bits gesetzt. Im Codefenster ist also nicht eine Anweisung.
BTW: Die Fuse-Bits, Stacksize etc. lassen sich bei mir nur ändern wenn ich tatsächlich eine Datei offen hab, nicht direkt nach Start des Programms. Bascom-AVR 1.11.8.3 (demo)

Windi schrieb:
Hast Du die Fusebits genau so eingestellt wie angegeben? Also auf 128 kHz gestellt und Teilungsfaktor durch 8 deaktiviert? Und auf alle Fälle die Finger weglassen um den Reset-Pin umzuprogrammieren. Dann geht nämlich mit dem Sparadapter gar nichts mehr.

Ja, 128khz, Teilung deaktiviert, sonst nichts geändert. Sieht dann exakt so aus wie im PDF-Kochbuch von Ralf.

Mal sehen ob ich das noch hinbekomme ...
 

micmar

Geocacher
stonewood schrieb:
...Ideen? Ich brauch was zum Basteln, nicht zum zerlegen ... :oops:

Ich hatte ein ähnliches Problem als ich den ATiny direkt im Steckbrett hatte, verloren seine zierlichen Beinchen den Kontakt und damit ließ er sich auch nicht mehr ansprechen. Als ich endlich nach unendlicher Zeit leicht mit einem Finger oben drauf drückte, klappte alles wieder.... :shock:

Da beim dritten MC bei dir alles funktionierte ist die Wahrscheinlichkeit dieser Kontaktschwäche jedoch wohl eher gering, aber vielleicht hilft es ja!?

micmar
 
Oben