Gleich vorneweg: Wer den
„Weihnachtspicaxe“ nachbauen will, muss dies auf eigene Gefahr bauen. Für
Anfänger ist es nicht geeignet, da beim Zusammenbau unbedingt die Manuale 1-3
der Firma Revolution (www.picaxe.com) heranzuziehen sind. Für die anderen
verwendeten Bauteile sind die Datenblätter zu prüfen. Es können Fehler bei der
Beschreibung und Beschaltung vorkommen, dafür kann keine Haftung übernommen
werden. Der Artikel sollte als Anregung für eigene Ideen dienen!
Vorwiderstände, RC-Glieder etc. sind durch eigene Rechnung zu prüfen, bevor man
die Schaltungen aktiviert. Ein schrittweises Vorgehen ist hilfreich, um Fehler
zu vermeiden! Achtung die weißen und blauen LED’s und die LED’s im Multi-LED-IC
können sehr hell sein! Es sollte darauf geachtet werden, dass keine Blendung
entsteht. Die vom PICAXE erzeugten Lieder sind zu prüfen wegen der Lizenzen (in
Deutschland
ist hier die GEMA zuständig!).
Es bot sich der „PICAXE“ (Firma (c) Revolution Education Ltd ) an. Ich wollte
minimal vorgehen, um nicht zuviel Schnickschnack dran zu haben.Man kann die
rein elektronische Hardware auch als Basis für andere Projekte sehen, losgelöst
von der Weihnachts-Anwendung, so dass man sich das Ganze auch im Sommer ansehen
kann.
Weiter zum Weihnachtsaufbau!
Damit Nikolaus und Rentiere nicht nur blinken, wurden Schlitten, Nikolaus und
Rentiere auf einer Blattform aufgebracht. Die Plattform ist auf einem
Holzkasten über Metallwinkel beweglich angebracht. Ein Motor, der über eine
Taste gestartet werden kann, wird von einem Gleichstrommotor mit Getriebe und
Rad angestoßen. Ein Ein/Ausschalter befindet sich seitlich und Motortaste und
zwei Potis oben links zur Bedienung.
Das linke Poti (470 Ω) regelt die Lautstärke eines Piezolautsprechers, das rechte Poti (4.7 KΩ) dient zur Auswahl von 4 Liedern. Steht das Poti ganz links, dann wird kein Lied gespielt. Etwas weiter rechts gedreht spielt das Lied „Rudolph the…“, weiter rechts „Jingle Bells“, dann „Stille Nacht (Silent Night)“ und der Geburtstagssong „Happy Birthday to You“.
Die Lieder sollten in der eigenen Stube bleiben, wie es mit den Lizenzen aussieht, ist eventuell zu prüfen (im Make: - Artikel von 2020 steht hierzu allerdings nichts). Die Motortaste rechts davon funktioniert nur, wenn die Songauswahl aus ist (Poti ganz links), die Taste ist gedrückt zu halten! Da der PICAXE 08M2 nur maximal 6 I/O – Pins hat, wurde für’s Blinken von Rentier „Comet“ (blaue LED) der CMOS Baustein „4060“ eingesetzt. Der Baustein ist ein 14 Bit-Zähler der 10 Ausgänge zur Verfügung stellt. Die Taktfrequenz wird über eine Widerstands/Kondensator-Schaltung erzeugt (die Frequenz und die LED’s können unabhängig vom PICAXE aufgebaut und geprüft werden).
Zur Kontrolle ist eine LED (Grün) an einem der unteren Ausgänge angeschaltet,
die fürs Auge dauerhaft leuchtet (z.B. Frequenz > 25 Hz). Damit der Nikolaus
beim Anflug etwas Licht hat, wurde ihm eine helle Taschenlampe spendiert (helle
weiße LED). Diese LED wird an einem der 4060 Ausgänge angebracht, für Funktion
sollte die Zeitdauer schon an einem Ausgang mit mindestens 5-30s sein. Die
Widerstände und der Kondensator können aus dem Datenblatt des CMOS 4060
bestimmt werden.
Am 4060 könnten natürlich noch weitere Ausgänge verwendet werden. Links auf dem Brett ist eine Schatztruhe angebracht. Ist die Truhe geöffnet oder nicht ganz geschlossen, wird durch Lichteffekte einer Multicolor-LED auf den Inhalt der Truhe aufmerksam gemacht.
Die LED’s der Truhe, von Nikolaus und „Comet“ sind unabhängig vom Mikrocontroller PICAXE. PICAXE, LED-Rudolph (Rot), „Comet-LED“ und Multicolor-LED sind über einen Batterieblock mit 3xAAA Mignonzellen (4.5V) angeschlossen. Ein zweiter Kreis geht über eine 9V Blockbatterie für das IC ULN 2003/2004, dass über den PICAXE den Gleichstrommotor ansteuert. Man kann den Motor natürlich auch über einen Transistor (z.B. BC337) und Vorwiderstand ansteuern. Dann braucht man auch eine Freilaufdiode zum Schutz des Transistors, was beim ULN nicht nötig ist, da der Baustein die Diode intern hat. Ein Anschlussbeispiel findet sich im PICAXE-Manual-3 unter „Output Device 6“.
Man könnte den Aufbau auch ohne PICAXE durchführen und die einzelnen Funktionen über den 4060 als Zeitgeber verwenden. Die Weihnachtslieder gibt es dann nicht, es sei denn,man findet ein Modul, dass man ansteuern kann.
Die Holzbox wurde aus Holz aus dem Baumarkt hergestellt. Es gibt aber auch fertige Holzkisten mit Deckel, etwas teurer, aber es geht schneller. Ich habe in meinem Ausbau auf einer Lochrasterplatine den PICAXE (mit Sockel) und den 4060 untergebracht. Für Programmänderungen habe ich auch den Klinkenstecker (siehe Manual 1 www.picaxe.com) eingebaut. Dies kann man aber auch weglassen. Ich empfehle Anfängern die Zeitschrift Make: (2020 Heise) zum Picaxe zu kaufen. Hier ist eine gute Anleitung in Heftform und die Programmierhardware mit einem PICAXE 08M2+ im Paket.
Beim „Weihnachtspicaxe“ ist der kleinste
PICAXE im Einsatz (08M2). Bei Projekterstellung habe ich auch den 14er auf
einem Breadboard getestet. Mit dem 14er kann man natürlich mehr Hardware
ansteuern, aber die Soundfunktion für Weihnachten ist am 08er vielleicht am
einfachsten.
Einige Funktionen beim „Weihnachtspicaxe“ sind extern gelöst. So ist das
Rentier „Comet“ und der Nikolaus nicht am PICAXE 08M2+ angeschlossen. Die
„Taschenlampe (weiße LED)“ und die Nase von „Comet“ (blaue LED) sind am CMOS IC
4060 (14 bit Ripple-Counter) angeschlossen. Der Takt für den „4060“ wird mit
einer externen RC-Beschaltung erzeugt (siehe Datenblatt. Application 4060). Der
Anwender sollte einen der sichtbar blinkenden Ausgänge für „Comet“ auswählen,
für die Taschenlampe vom Nikolaus ein Ausgang mit einer Zeitdauer von
vielleicht 5-30s. Dies soll den Effekt simulieren, dass, beim Flug/Fahrt der
Weg auch mal ausgeleuchtet werden muss.
Die Schatztruhe enthält eine Multi-LED mit IC, die am 4.5V Batterieblock
angeschlossen ist.
Der Motor wird über den Ausgang C.1 per PWM (Puls-Wide-Modulation) angesteuert. Der Ausgang wird über einen ULN 2003/4 entkoppelt. Der Motor wird über einen 9V Block und dem ULN angesteuert. Die ganze Hardware wird über einen Schalter Ein/Ausschalter geschaltet.
Der serielle Eingang ist nach Standard „PICAXE“ beschaltet. Der serielle Ausgang ist dual verwendet als serieller Ausgang (C.0) und zur Ansteuerung der roten Nase (rote LED) von „Rudolph“.
Anschlussbelegung und Nutzungsmöglichkeiten der PIN’s am PICAXE-08M2 der Fima (c) Revolution Education Ltd www.picaxe.com
Natürlich ist es auch möglich ohne Mikrocontroller den Weihnachtmann mit Rentieren aufzubauen. Dann gibt es halt keine Weihnachtslieder/Geburtstagslied. Man kann das alles an den 4060 hängen.
Aber es ergeben sich halt mehr Möglichkeiten mit dem PICAXE. Mit dem „Makerheft „von 2010 (Heise) gibt es halt auch eine bequeme Einstiegs- und Programmier-Möglichkeit.
Einen Überblick über die Beschaltung „Weihnachtspicaxe“ siehe unten. Am Ausgang für den Motor ist im Aufbau eine grüne LED zum testen des PWM ohne Motor angelötet (Vorwiderstand 330 Ohm). Die LED habe ich mit langer Litze unterhalb in der Nähe des Rades angebracht, dies soll für einen Lichteffekt an der Wippe sorgen (nur optional). Die Polung der LED’s oder des Motors muss eventuell korrigiert werden (oder im Programm angepasst werden).
Der Baustein ULN2003/4 enthält 7 Darlington-Transistoren. Beim „Weihnachtspicaxe“ dient ein DC-Getriebemotor mit Rad als Schwingungserzeuger für das Brett, auf dem der Weihnachtmann und die Rentiere befestigt sind. Am Brett ist zum Rad hin eine Schraube mit großem Kopf angebracht. Dies bewirkt beim Drehen des Motors, dass das Brett schwingt und der Weihnachtmann zu fliegen scheint. Die Pins 1,2-7 sind die Eingänge, die Pins 16 -10 die Ausgänge (s. Schema unten (Datenblatt!)).
Ich habe ja 2 Batterieblöcke im Einsatz, einmal mit 4.5V für den PICAXE, den 4060 und das Multicolor LED – IC. Der 9V Block für den Darlington-IC ULN2003 und den DC-Motor.
Natürlich kann man auch einen Batterieblock mit 4x1.5V verwenden, muss dann allerdings mindestens eine Diode für PICAXE und Multi-LED vorschalten (6V-0.7V = 5.3V), damit PICAXE und Multi-LED nicht zerstört werden. Das CMOS-IC 4060 kann mit 6V arbeiten (Datenblatt). Der Einschalter, schaltet beide Stromkreise ein.
Überblick über die zwei Stromkreise
Diese Beschreibung ist nicht dazu gedacht, alles genau zu beschreiben. Es gibt auch keine Stückliste. Wer es bauen will, muss sich natürlich Einiges auch selber zusammensuchen. Das Bild unten zeigt den fertigen Aufbau. Was wird gebraucht?
Eine Holzkiste (selber bauen oder fertig aus dem Baumarkt) für den Unterbau, eine kleine Schatztruhe, Nikolaus und 2 Rentiere (mehr ist natürlich auch möglich). Watte oder ähnlich für den Schnee. Einen Schlitten, Blech/Alu-Winkel aus dem Baumarkt, Gewindeschrauben, Muttern und Scheiben. Die „Nasen-LEDs“ müssen von unten oder oben in eine Bohrung in der Nase eingeführt werden. Die Vorwiderstände können dabei mit integriert werden. Flexibler Draht (Litze) ist sinnvoll. An der Wippe und am Deckel darunter müssen für die Anschaltung der LED’s Löcher gebohrt werden. Es ist darauf zu achten, dass die Wippe sich frei bewegen kann (Motortest). Mit der Watte (Schnee) können die Kabel versteckt werden.
Aufbau der Weihnachtsbox/Weihnachtspicaxe
Der Aufbau der Platine ist auf einer Lochrasterplatine verwirklicht. Der
Mikrocontroller, CD 4060, Kontroll-LED für CD 4060 (grün) sind auf der
Hauptplatine aufgebaut. Zur Programmierung ist die Stereoklinkenbuchse
aufgelötet. Dies ist nicht nötig, wenn man den PICAXE auch extern programmieren
kann oder will. Die IC’s sind alle gesockelt. Zum Zeitpunkt der Entwicklung
wurde erst der PICAXE und der IC - CD 4060 aufgebaut. Das IC ULN 2003 ist auf
einer kleinen Lochrasterplatine am Motor angebracht (kann also auch auf einer
Hauptplatine aufgebaut werden).
Das nächste Bild zeigt grob Teile des Aufbaus der Elektronik.
Am Schluss ist das Programm gelistet. Wie eine Ausgabe oder Eingabe zu Programmieren ist, können den Manuals 1-3 von (c) Revolution Education Ltd. entnommen werden.
Am besten geht man Schritt für Schritt vor. Man schließt z.B. an Ausgang C.0 (PICAXE 08M2, PIN 7) einen Widerstand mit 330 oder 470 an eine LED gegen Pluspol oder Masse (ausprobieren!) an (4.5V-5.5V (max.)). Programmiert ein Blinken, das man vorher im PICAXE Editor testet (Software über PICAXE.COM). Es ist zu beachten, das „C.0“ (Ausgang) zur Programmierung des PICAXE 08 benötigt wird. „C.5“ wird bei der Programmierung als serieller Eingang benötigt. Wird der PICAXE extern programmiert, sind keine besonderen Maßnahmen (Beschaltung) nötig. Im Manual 1 von PICAXE.COM findet man unter „download circuit“ und „PICAXE-08M2/08M/08 Pinout and Circuit“ die Beschaltung des Programmieradapters. Wer den Adapter des Make: Magazin’s (c’t Make: PICAXE SPECIAL 2020) hat, braucht die Schaltung nicht. Bei meinem Weihnachtspicaxe habe ich einen Adapter eingebaut. Zurzeit der Entwicklung in 2019 gab es den Adapter von Heise noch nicht (ich wollte den PICAXE auch nicht ständig herausnehmen).
Nun kann man den PICAXE programmieren und die LED müsste nun blinken.
Simulation im PICAXE-Editor/Simulator
;Weihnachtspicaxe neu 7.10.19 J.L
;Fertig Dezember 2019
;Revision Dezember 2023
; play Syntax für den 08M2 PICAXE
; PLAY tune, LED_option (8 pin devices only)
; - Tune is a variable/constant (0 - 3) which specifies which tune to play
; 0 - Happy Birthday
; 1 - Jingle Bells
; 2 - Silent Night
; 3 - Rudolph the Red Nosed Reindeer
#PICAXE 08M2
main:
low C.1 ;Ausgang C.1 für Motor auf 0 setzen
do ;Anfang do Schleife
test: ;Marke nur für Testzwecke
if pinC.3 = 0 then
pause 200
else
gosub pulsmotor
endif
;goto test ;goto zum Motortest ohne Sound
;Auswahl Lieder Poti auslesen
;Der PICAXE-08M hat 4 Lieder vorprogrammiert. Die Lieder werden
wie folgt
;programmiert:
;play 3,0 Happy Birthday
;play 3,1 Jingle Bells
;play 3,2 Silent night
;play 3,3 Rudolf the Red Nosed Reindeer
; Achtung GEMA beachten!
pause 500
readadc C.4, b0 ;Eingang C.4 Analogwert auslesen
;sertxd(#b0,cr,lf) ; „;“ vor sertxd entfernen um Analogwert
;seriell auslesen
pause 500
;Abhaengig von der Spannung am Poti das Lied auswaehlen
if b0 > 100 then
if b0 < 120 then
play 1,1 ; Jingle Bells
else
if b0 > 130 then
if b0 < 190 then
play 2,1 ;Silent Night
else
play 0,1 ;Happy Birthday
endif
endif
endif
else
if b0 > 25 then
play 3,1 ; Rudolf the Red Nosed Reindeer
endif
endif
loop ;Ende der loop – Schleife
pulsmotor:
;goto pulsend ;für Testzwecke Motorausgabe uerspringen
for b2 = 1 to 20
high C.1
pause 25
low C.1
pause 50
next b2
pulsend:
return
Anmerkungen
Die Ausgänge des IC 4060 haben unterschiedliche Teilerverhältnisse, unbedingt ins Datenblatt schauen! Beispiel: Q4 (PIN7) teilt die Systemfrequenz des 4060 durch 16. Q5 (PIN 5) durch 32. Q10 (PIN 15) durch 1024 und Q12 (PIN 1) durch 4096. Für ein zweites oder drittes Rentier sollte eine höhere Blinkfrequenz ausgewählt werden. Für die „Taschenlampe“ eine niedere Blinkfrequenz gewählt werden (10-30s zum Beispiel).