PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Traumtresor



markusneg
19.02.2011, 21:53
Ich lese schon ne ganze Weile in diesem Forum und dachte mir, ich könnte mal ein fertiges Projekt von mir hier vorstellen:


Am vorletzten Freitag hatte meine Freundin Geburtstag und ich wollte ihr was Tolles basteln...

Erst ist mir ein hochauflösendes, von polar zu kartesischen Koordinaten transformiertes Rotordisplay durch den Kopf gegangen, das an den USB Port kommt und auf dem ein hüpfender Smiley zu sehen ist O:). Da die Zeit aber sehr knapp wurde habe ich mich für was einfacheres entschieden: eine selbstschließende Schatulle, die sich erst nach einer bestimmten Zeit öffnet und ihren Inhalt preisgibt.

"das sollte doch in einem Nachmittag zu schaffen sein" dachte ich mir. Also am Donnerstag auf zu Conrad um einen kleinen Servo zu kaufen und in einen Bastellladen für eine kleine Holztruhe. Zuhause habe ich die AVR toolchain installiert und mit dem Programmieren angefangen. Ich dachte, das geht doch schnell! ... aber erst um 23:00 saß ich dort mit dem ersten beta-Programm. Die Realität hatte mich dann spätestens um 1:00 eingeholt, als der Parallelport für mein STK200-Verschnitt streikte 8-[

[...]

Gestern, also 9 Tage später habe ich das Geschenk dann überreicht: den Traumtresor! Ich habe mich ziemlich verschätzt, was den Arbeitsaufwand anging. Pro Tag saß ich ca. 3 Stunden an dem Apperat. Mich hat da ziemlich der Ehrgeiz gepackt.


Was kann es, was hat es

Mechanik
- eine ca. 130x130x50 mm Holztruhe, an den Wänden ca. 8 mm stark, Deckel ca. 5 mm und der Boden ca. 2 mm
- das eingestanzte Blechscharnier wurde durch ein selbstgeleimtes, solides Holzscharnier ersetzt, das was aushält
- ein Servo schiebt einen Holzbolzen vor und zurück, der den Deckel verschließt und wieder freigibt
- an der Vorderseite ist eine duo-LED angebracht, die rot und grün leuchten kann
- an der Vorderseite ist außerdem ein abgerundeter Holzbolzen, der innen auf einen herkömmlichen Taster drückt
- von innen und außen ist die Truhe mit Pastellkreiden angemalt und dann mit Fixationsspray fixiert. Die Kreiden ergeben sehr leuchtende Farben. Ich habe Grasgrün- und Brauntöne genommen

Elektronik:
- ATMega8 mit internem 1 MHz Schwingkreis betrieben
- 5 in Reihe geschaltete AAA Alkaline Primärzellen mit jeweils 1,5 V
- ein LP2950 - 5V - Spannungsregler (hat einen geringen Eigenverbrauch, was ich sehr stark gewichtet habe. Und low-drop, wodurch die Elektronik selbst bei 4 V Batteriepegel noch ca. 4 V bekommt)
- zwei BS170 N-MOSFETs zur Ansteuerung des Servos (einer für die Versorgungsspannung bzw. GND zwecks Stromsparen und einer für das Steuersignal. Ich wollte als Steuersignal denselben Pegel wie VCC (7,5 - 4 V von den Batterien), weswegen die Steuerleitung direkt von einem 7k Widerstand hochgezogen wird. Der MOSFET zieht die Leitung dann bei Bedarf herunter)
- um bei einem Programmfehler im Controller oder Batterieversagen die Truhe ohne Gewalt aufzubekommen, sind GND und RESET direkt nach außen geführt (in einer Einsparung unter der Truhe). VCC ist über eine Diode nach außen geführt, so dass nichts falsch gepolt werden und kein Kurzschluss entstehen kann.
- die Elektronik sitzt auf einer Einschubplatine

Software
Über Interrupts werden Ereignisse gesteuert und in der main-Schleife nur die Zustandswechsel. Wurde ein Ereignis abgearbeitet, wird sofort in den IDLE bzw. POWERDOWN (aus-Zustand) Modus gewechselt.


Zustände des Tresors:
- aus (controller ist in power down und wacht durch einen Tastendruck auf)
- bereit (led blinkt grün im Sekundentakt. Wenn man die Taste lang gedrückt hält (genau 1,2 s), geht es nach "schließend")
- schließend (servo schließt die Truhe, LED leuchtet derweil rot)
- geschlossen (die Zeit wird heruntergezählt. Es gibt: Wochen, Tage, Stunden, Minuten, Sekunden. Wenn die Zeit vorrüber ist, geht es nach "öffnend")
- öffnend (servo öffnet die Truhe, LED leuchtet grün. Danach: "offen")
- offen (LED leuchtet im 2-sekundentakt GRÜN und zeigt damit "schau mal, ich bin endlich auf!". Ein langer Tastendruck führt zu "aus")
- "Showtime": wenn bei "geschlossen" einmal kurz gedrückt wird, zeigt die Truhe die verbleibende Zeit: es werden Wochen, Tage, Stunden/2, Minuten/6 und Sekunden/6 durch die entsprechende Anzahl an Blinkern (ca 2 Hz) mitgeteilt mit jeweils einmal Pause dazwischen. Es wird immer die Anzahl + 1 gezeigt, damit "0" auch angezeigt werden kann
- Codeeingabe: wird bei "geschlossen" ein langer Tastendruck gemacht, geht es zur codeeingabe. Hier blinkt die LED rot mit ca. 3 Hz. Der erste Tastendruck danach startet die eigentliche Codeeingabe: bei jedem mal Blinken wird eine Eingabe entgegen genommen. Bei einem Tastendruck wird heraufgezählt, bei keinem Tastendruck wird die nächste Stelle genommen. Der Code ist insgesamt 6-stellig. Wenn der Code richtig war, geht es direkt zu "öffnend". Sonst gehts zurück nach "geschlossen"
- Zeiteingabe: bei "bereit" hat man die Gelegenheit, die Zeit einzustellen. Drückt man einmal kurz, leuchtet die LED einmal für 600 ms grün als Eingabeaufforderung. Ein kurzer Tastendruck zählt herauf, ein langer wählt die nächste Zeiteinheit. Man kann von Wochen herunter nach Minuten einstellen. O:)

Problem(e)
Theoretisch sollte der Energieverbrauch minimal sein. Das war mir besonders beim closed-Zustand wichtig, da nicht schon nach einer Woche der Strom leer sein soll.
Bei 1 MHz internal RC sollten laut Datenblatt im IDLE Betrieb nur 500 µA verbraucht werden. Leider sind es aber um die 5 mA (!). Man könnte jetzt vermuten, es ist die externe Peripherie aber im Powerdown Modus schafft die Schaltung ohne sonstige Veränderungen die 500 µA. Im closed-Zustand wacht der Controler nur einmal pro Sekunde auf und läuft dann eine Berechnung von maximal 1000 Zyklen ab (um die Zeit herunterzuzählen). Der lineare Spannungsregler sollte es eigentlich auch nicht sein, da er bei 0.5 mA nur einen zu vernachlässigenden Eigenverbrauch hat.
Tja, das ist mir ein Rätsel und deswegen musste ich auch die Zeit von 2 Wochen auf 3 Tage heruntersetzen :frown:

Aussicht
- bessere Energiespareigenschaften
- ein "nur-Verschlossen" - Modus, in dem der Controller in power-down weilt bis die Taste gedrückt und die Codeeingabe gestartet wird (längere Batterielebensdauer)
- eine Möglichkeit, den Code zu ändern und in den EEPROM schreiben zu lassen
- mechanische Verstärkung der Truhe, insbesondere des dünnen Bodens
- Batteriespannung messen und Batterielebensdauer vorraussagen. Womöglich Öffnung, wenn Batterieversagen bald ansteht

Reaktion der Freundin O:)
- Mustern der Truhe.... "da gucken Drähte unten raus!"
- Versuch, den Deckel so zu öffnen. "Es klemmt!"
- "Da ist ein Knopf!"
- "Es blinkt!" ...... "Ein Morsecode!!"
- Mitschreiben der Blinkanzahlen. Andauerndes Verzählen, weil die Blinkfrequenz zu hoch ist..
- am nächsten Tag und nach vielen erfolglosen Theorien, wie die Truhe aufgeht: "muss man da denn präzise herangehen?" .... "naja, also muss man da präzise arbeiten um den aufzubekommen?"


Bilder gibt es bislang nur vom kompletten Tresor. Wenn ich ihn mal wieder für eine Generalüberholing in die Hände bekommen sollte, stelle ich detailiertere Bilder rein.

PS:
Der Tresor heißt Traumtresor weil neben Elektronik+Mechanik eigentlich fast nur Träume reinpassen

Manf
19.02.2011, 23:03
Ich fürchte leider, dass die Funktion einen Anwender des Gerätes nicht wirklich mitreißt. Wenn man etwas hineintut und nicht davon ausgehen kann dass man es selbst wieder herausholen kann dann wird man nichts persönliches hineintun wollen.
Vielleicht wäre dann soetwas besser?
http://www.youtube.com/watch?v=Z86V_ICUCD4&feature=related
http://www.youtube.com/watch?v=UkgoSOSGrx4&feature=channel

markusneg
20.02.2011, 00:37
Ich fürchte leider, dass die Funktion einen Anwender des Gerätes nicht wirklich mitreißt. Wenn man etwas hineintut und nicht davon ausgehen kann dass man es selbst wieder herausholen kann dann wird man nichts persönliches hineintun wollen.
Vielleicht wäre dann soetwas besser?
http://www.youtube.com/watch?v=Z86V_ICUCD4&feature=related
http://www.youtube.com/watch?v=UkgoSOSGrx4&feature=channel

Man kann schon davon ausgehen, dass man es wiederbekommt denn man gibt ja die Zeit ein, nach der sich die Truhe wieder öffnet. Ist dasselbe Prinzip wie bei einer Festgeldanlage O:)
Oder man gibt eben den Code ein um es sofort zu öffnen. (Was allerdings die Zeitfunktion unnötig macht, weswegen ich den Code auch nicht gleich verraten habe)
Aber zugegeben, das Gerät ist nicht so funktionell wie z.B. ein Rasenmäher.

hardware.bas
20.02.2011, 08:59
Der Vergleich mit einer Festgeldanlage hinkt, markusneg, denn Du weisst,
dass Du das, was reingesteckt wurde, herausholen kannst.
Daher ist Dein Prinzip B E S S E R, da sich Dein Alternativvergleich mit
dem Lottospielen gleichsetzen lässt. VG Micha

jirweb
20.02.2011, 16:14
Hallo @ all...

Ich finde die Idee gut. Es ist ein Geschenk welches nicht schon tausendmal auf youtube vorgebetet wurde. Und sein Frauchen hat auch gleich noch eine Herausforderung.
Was vielleicht noch gut währe, ist eine Sicherung bei Spannungsverlust. Nicht das du das Teil zerhacken musst wen die Batterien alle sind.
Grüße
jirweb

Vitis
20.02.2011, 17:41
Im Prinzip find ich die Idee gut, aber Du hast da was übersehen:

http://de.wikipedia.org/wiki/Woman_acceptance_factor

markusneg
20.02.2011, 22:25
Hallo @ all...
Ich finde die Idee gut. Es ist ein Geschenk welches nicht schon tausendmal auf youtube vorgebetet wurde. Und sein Frauchen hat auch gleich noch eine Herausforderung.
jirweb
Danke für das Lob O:)
Leider nimmt sie das sehr ernst und hat bis heute (jetzt sind es zwei Tage) schon die verrücktesten Theorien aufgestellt wie man es aufkriegt.. :-k Am Dienstag wird es sich jedenfalls öffnen und u.a. eine Bedienungsanleitung preisgeben.


Was vielleicht noch gut währe, ist eine Sicherung bei Spannungsverlust. Nicht das du das Teil zerhacken musst wen die Batterien alle sind.
Grüße
Wie geschrieben, es sind GND, RESET und VCC (über Diode) auf der Unterseite der Box nach außen geführt.

@Vitis:

Die Zeit, die der Ehemann mit der neuen Anschaffung verbringt (im Vergleich zur Zeit, die mit der Partnerin verbracht wird)
Das zieht den woman acceptance factor bei mir wohl ganz weit runter :-b


Hat vielleicht jemand nen hilfreichen Tipp bzgl. des Energieverbrauch-Problems?

Gruß,
Markus

jirweb
21.02.2011, 10:05
*laut am lachen*

Am Dienstag wird es sich jedenfalls öffnen und u.a. eine Bedienungsanleitung preisgeben.
Das finde ich schon sehr Klasse. Die Bedienungsanleitung in der Kiste zu lassen. ^^
Grüße
jirweb

PICture
21.02.2011, 12:43
Hallo!

@ markusneg

Ich würde per µC gesteuerten Hauptschalter der Versorgung für übrige Hardware anwenden. Es sollte qusi Monoflop nur für bestimmte Zeit die übrige Hardware mit Spannung versorgen. Vorteil um sonst: Wenn die Codeeingabe zu lange gedauert wird, muss neu erfolgen. ;)

MfG

markusneg
21.02.2011, 17:16
Hallo!
Ich würde per µC gesteuerten Hauptschalter der Versorgung für übrige Hardware anwenden. Es sollte qusi Monoflop nur für bestimmte Zeit die übrige Hardware mit Spannung versorgen. Vorteil um sonst: Wenn die Codeeingabe zu lange gedauert wird, muss neu erfolgen. ;)
MfG
Eigentlich ist es fast genau so.
Am Controller angeschlossen sind nur:
- LED (2x wegen rot/grün, + Vorwiderstand)
- Button (zieht nen internen Pullup runter)
- 2 MOSFET Gates (BS 170)

Der Servo zieht bereits 4 mA, wenn er einfach so an die Versorgungsspannung angeschlossen wird. Deshalb wird GND erst durch einen MOSFET durchgeschaltet, wenn der entsprechende pin am µC auf high geht.

Ich habe mir sogar den RESET Pullup gespart wegen Stromverbrauch!

PICture
21.02.2011, 18:21
Algemein könnte man den Stromverbrauch eines µC's durch niedrigere Taktfrequenz senken (Uhrenquarz ?). ;)

MfG

markusneg
23.02.2011, 07:34
Algemein könnte man den Stromverbrauch eines µC's durch niedrigere Taktfrequenz senken (Uhrenquarz ?). ;)

MfG

Ja, das wäre die letzte Lösung.
Mir ist allerdings nicht begreiflich wieso meine Schaltung im Idle 5 mA verbraucht, wo nur 0,5 im Datenblatt angegeben sind.

MF6265
24.02.2011, 11:03
richtig tolle Idee für ein Geschenk muss ich sagen!
Schlicht aber Wirkungsvoll :D
Was hat sie denn gesagt, als der "Traumtresor" sich geöffnet hat? :P

markusneg
25.02.2011, 09:54
Was hat sie denn gesagt, als der "Traumtresor" sich geöffnet hat? :P

Ich war leider nicht dabei als es passiert ist. Aber nach ihrer Aussage hat sie das Innenleben bestaunt und das Statusdiagramm studiert O:)