Uniadmin
Skip to content

STC15W408AS

Ich habe etwas mit Elek­tro­nik gebas­telt. Es ist lan­ge her, daß ich so etwas zuletzt getan habe, viel­leicht 1982, ich weiß es nicht genau. Danach hab ich nur noch hin und wie­der mal was repa­riert – einen DVD-Play­er/­Re­cor­der zum Bei­spiel oder mei­nen Dual-Plat­ten­spie­ler, den ich mal auf Klein­an­zei­gen defekt erwor­ben hat­te, dem ich drei Tran­sis­to­ren wech­seln muß­te, damit er nicht mehr lei­ert. Aber das ist etwas ande­res als etwas zu bau­en, ein elek­tro­ni­sches Gerät her­zu­stel­len, Bau­ele­men­te auf eine Lei­ter­plat­te zu löten, und danach ist etwas da, das voher nicht da war. So etwas habe ich etwa 1982 zuletzt gemacht. Viel­leicht war es der NF-Ver­stär­ker, den ich im FEZ in der Wuhl­hei­de im Rah­men eines Feri­en­kur­ses für Schü­ler zusam­men­ge­lö­tet hat­te. Der Ver­stär­ker hat­te eine Aus­gangs­leis­tung von 5 Watt. Zum Ein­satz kam der in der DDR pro­du­zier­te Leis­tungs­ope­ra­ti­ons­ver­stär­ker A210D, der mit sei­nem Kühl­kör­per zusam­men mit den Bein­chen wie eine Libel­le oder ein merk­wür­di­ges Insekt wirk­te. Viel­leicht war es aber auch der licht­ge­steu­er­te Schal­ter, den ich für den Vater mei­nes Kum­pels Dirk gebas­telt hat­te, der bei Son­nen­auf­gang einen Motor ansteu­er­te, damit die Tür des Tau­ben­schla­ges sich öff­ne­te und die Tür sich bei Son­nen­un­ter­gang wie­der ver­schloß. Das Ding hat­te irgend­wann den Geist auf­ge­ge­ben und die Tür nicht mehr geöff­net, wonach die Tau­ben völ­lig durch­ge­dreht sind, bis der Feh­ler bemerkt wur­de. Viel­leicht war es auch die Moped­hu­pe, die eine Melo­die spie­len konn­te, rea­li­siert mit 74LS-Bau­steie­nen, die in der DDR nicht 74LS…, son­dern D…irgendwas hie­ßen. Zum Bei­spiel das Schie­be­re­gis­ter 74LS195 hieß in der DDR ein­fach nur D195.
Und nun habe ich tat­säch­lich wie­der etwas gebas­telt, einen TTL-Takt­ge­ber, der sich von 0,1 Hertz bis 9990 Hertz regeln läßt und zudem über einen Sin­gle-Step-Modus ver­fügt. Sicher könn­te man das auch als App für ein Tele­fon pro­gram­mie­ren und man müß­te sich nur mit etwas Elek­tro­nik drum küm­mern, daß der Out­put vom Kopf­hö­rer in TTL-kon­for­me Pegel gewan­delt wird, und eigent­lich ist das, was ich hier gebas­telt habe, auch nur ein klei­ner Com­pu­ter, rea­li­siert durch einen 8‑Bit-Micro­con­trol­ler, im Prin­zip nichts ande­res als ein sehr leis­tungs­schwa­ches Smart­phone, das zur Aus­ga­be ein vier­stel­li­ges Sie­ben­seg­ment­dis­play und eine Leucht­di­ode hat, und als Ein­ga­be einen Dreh­ge­ber und einen Tas­ter. Was das Teil am Ende macht, wird durch die drauf­ge­spiel­te Soft­ware bestimmt.

Hier der Schaltplan:

Der Micro­con­trol­ler ist ein STC15W408AS, den es, soweit ich weiß, nur in Chi­na über Ali zu kau­fen gibt für etwa 90 Cent pro Stück. Der Con­trol­ler ist vom Befehls­satz kom­pa­ti­bel zum Intel 8051, hat 8 Kilo­byte Flash-Spei­cher für Prgramm­code, 256 Byte RAM und noch 512 Byte “exter­nen” RAM, der aber im Chip bereits inte­griert ist. Der RAM wird nur exter­ner RAM genannt, weil er wie exter­ner RAM ange­spro­chen wird, so wie beim ori­gi­nal 8051-Chip, an den man exter­nen RAM anschlie­ßen muß­te, um exter­nen RAM zu haben,
Eine Beson­der­heit des Micro­con­trol­lers STC15W408AS ist der inter­ne Takt­ge­ne­ra­tor, der ohne zusätz­li­chen Quarz betrie­ben wer­den kann. Er ist dann zwar nicht ganz so fre­quenz­sta­bil wie mit Quarz, aber das spielt bei vie­len Anwen­dun­gen in der Pra­xis kaum eine Rolle.
Außer­dem ist eine seri­el­le Schnitt­stel­le (mit TTL-Pegeln) im Chip inte­griert, über die sich der Con­trol­ler fla­shen läßt (ISP-Schnitt­stel­le).
Pro­gram­me las­sen sich mit SDCC erstel­len, und fla­shen läßt sich der Chip mit STC­GAL, einem Open-Source-Programm.
Vom Her­s­te­ler selbst gibt es noch eine pro­prie­tä­re Soft­ware zum Fla­shen, die aber nur unter Win­dows läuft. Das habe ich nicht ausprobiert.

So sieht mei­ne zusam­men­ge­lö­te­te Pla­ti­ne von vorn aus:


Die acht Wider­stän­de für das Sie­ben­seg­ment­dis­play sind in einem Wider­stands­ar­ray unter­ge­bracht (das schwar­ze Ding unter dem Display).

Das nächs­te Bild zeigt das Gehäu­se, in das ich die Aus­spa­rung für das Sie­ben­seg­ment­dis­play gefeilt und ein Loch für die Leucht­di­ode gebohrt habe. Dazu der Dreh­ge­ber und der Tas­ter für den Sin­gle-Step-Modus, die über Dräh­te bereits mit der Pla­ti­ne ver­bun­den sind.


Die vier Kleck­se Heiß­kle­ber die­nen dazu, die Schrau­ben zum Befes­ti­gen der Pla­ti­ne aufzunehmen.
So sieht das Gerät mit der ein­ge­setz­ten Pla­ti­ne aus, wo nun auch die Rück­sei­te mit dem STC15­W408AS-Chip sicht­bar ist:

Und hier nun das fer­ti­ge Stück:

Die Dräh­te, die links aus dem Gehäu­se kom­men, die­nen der Strom­ver­sor­gung mit 5 Volt (lila ist Plus, schwarz ist Minus) und zum Abgrei­fen des TTL-Tak­tes (wei­ßer Draht).
Wie man sieht, habe ich die Aus­spa­rung für das Sie­ben­seg­ment­dis­play recht unge­nau aus­ge­feilt, was ich aber leicht kaschie­ren könn­te, indem ich eine dun­kel­ro­te Folie über das Dis­play kle­be. Das hät­te dazu den Vor­teil, daß die nicht leuch­ten­den Zif­fern nicht mehr sicht­bar sind. Nur habe ich solch eine Folie nicht zur Hand, doch um zu demons­trie­ren, wie das aus­se­hen könn­te, hab ich hier mal ein Stück einer blau­en Müll­tü­te drü­ber gelegt:


Wenn das Gerät ein­ge­schal­tet ist, leuch­ten die Zif­fern durch die Müll­tü­te hindurch:

Viel schlim­mer als die unge­nau gefeil­te Aus­spa­rung für das Sie­ben­seg­ment­dis­play ist, daß der lin­ke Knopf zu weit links ist und der rech­te auch zu weit links, also daß das unsym­me­trisch aus­sieht. Den lin­ken Knopf habe ich 15 Mil­li­me­ter vom lin­ken Rand der Schach­tel ein­ge­baut und den rech­ten Knopf 15 Mil­li­me­ter vom rech­ten Rand. Weil ich fand, daß es nach dem Ein­bau unsym­me­trisch aus­sah, habe ich noch ein­mal nach­ge­mes­sen. Dabei kam her­aus, daß der lin­ke Knopf 14 Mil­li­me­ter vom lin­ken Rand ent­fernt ist und der rech­te Knopf 16 Mil­li­me­ter vom rech­ten Rand. Ich weiß nicht, wie das pas­sie­ren konnte.
Aber eigent­lich geht es ja nicht um das Aus­se­hen. Wich­tig ist die Funktionalität.
Wozu ist das Gerät denn nun gut?
Zunächst soll­te man sich der Leucht­di­ode erfreu­en, die mit der ein­ge­stell­ten Fre­quenz blinkt. Man kann zuschau­en und her­aus­fin­den, bis zu wel­cher Fre­quenz man noch in der Lage ist, das Blin­ken wahr­zu­neh­men. Ich selbst kom­me bis 50 Hertz, im Augen­win­kel seit­lich betrach­tet kann ich sogar noch bei knapp unter 60 Hertz ein Flim­mern wahrnehmen.
In fol­gen­dem Film­chen stel­len sich die Din­ge jedoch anders dar, denn der Film wur­de mit 30 Bil­dern pro Sekun­de auf­ge­nom­men, womit die Leucht­di­ode immer bei durch 30 teil­ba­rer Fre­quenz nicht zu blin­ken scheint. Bei ande­ren Fre­quen­zen zwi­schen 30 und 100 Hertz gibt es Inter­fe­ren­zen, die das Blin­ken mal schnel­ler oder lang­sa­mer erschei­nen las­sen. Ab etwa 100 Hertz ist auch im Film kein Blin­ken oder Flim­mern mehr aus­zu­ma­chen, denn dann geht die Leicht­di­ode pro Frame schon mehr als 3 mal an und aus.

Doch woher weiß ich, daß die Leucht­di­ode, die mir bei 1000 Hertz nur durch­gän­gig zu leuch­ten scheint, tat­säch­lich 1000 mal pro Sekun­de an und aus­geht? Wie kann ich her­aus­fin­den, ob das tat­säch­lich so ist?
Ich könn­te zum Bei­spiel einen Laut­spre­cher anschlie­ßen, dann müß­te ich einen Ton von einem Kilo­hertz hören. Ich könn­te aber auch mit einem Oszil­lo­skop nach­schau­en, ob der Strom 1000 mal pro Sekun­de an und aus­ge­schal­tet wird.
Ich habe mich für letz­te­res ent­schie­den und erhal­te bei einer Fre­quenz von 1250 Hertz das Bild eines wun­der­schö­nen, sau­be­ren Recht­eck­si­gnals mit einem Tast­ver­hält­nis von eins zu eins:

Bei 5000 Hertz aller­dings erhal­te ich ein Recht­eck­si­gnal mit einem Tast­ver­hält­nis von 2 zu 3, wobei sich die “Ein­pha­sen”, die hier die Län­ge 2 haben und die “Aus­pha­sen” mit der Län­ge 3 alle 5 Sekun­den abwech­seln und dann die “Ein­pha­sen” die Län­ge 3 und die “Aus­pha­sen” die Län­ge 2 haben.

Die Ursa­che dafür ist, daß die Leucht­di­ode in einer Inter­rupt­rou­ti­ne, die 25000 Mal pro Sekun­de auf­ge­ru­fen wird, gesteu­ert wird. Soll die Leucht­di­ode mit 5000 Hertz blin­ken, müß­te sie nach 2,5 Inter­rupts ein­ge­schal­tet und nach 2,5 Inter­rupts wie­der aus­ge­schal­tet wer­den, denn eine vol­le “Schwin­gung” ent­spricht 5 Inter­rupts (25000÷5000 = 5).
Da aber nicht nach 2,5 Inter­rupts umge­schal­tet wer­den kann, wird nach 3 Inter­rupts und dann nach 2 Inter­rupts gewechselt.
Der wesent­li­che Teil der Inter­rupt­rou­ti­ne sei hier kurz wie­der­ge­ge­ben. (Die Varia­ble hertz ent­hält die Fre­quenz mal 10, bei 5000 Hertz also 50000. Die Kon­stan­te IRQ­FREQ ist 25000)

void irqhandler() __interrupt 1
{
        ...
        clkctr-=hertz<<1;
        if (clkctr<0){
                clkctr+=IRQFREQ*10-1;
                FLASHLED_PIN=!FLASHLED_PIN; // switch LED
                TTLCLK_PIN=!TTLCLK_PIN;  // switch TTL pin      
        }
        ...
}

Und wozu ist das gan­ze denn nun wirk­lich gut?
Genau dazu, wie schon gesagt. Es ist ein TTL-Takt­ge­ber, der einen Takt mit einer Fre­quenz von 0,1 Hertz bis 9990 Hertz geben kann.
Wenn es mir nicht mehr gefällt, könnt ich das Gerät auch umpro­gram­mie­ren. Ich könn­te eine Stop­uhr dar­aus machen oder einen Besu­cher­zäh­ler oder ein Com­pu­ter­spiel, bei dem man ein­zel­ne Seg­men­te des Sie­ben­seg­ment­dis­plays jagen muß, was auch immer.
Jetzt ist das Gerät aber ein TTL-Takt­ge­ber für Fre­quen­zen von 0,1 Hertz bis 9990 Hertz, und so gefällt mir das Gerät sehr gut.

Tags: Elektronik, Bastelei, DIY, Microcontroller, 8-Bit, Löten, Leiterplatte, TTL, Taktgeber

2 Kommentare

  • Ahne

    27. Dezember 2024, 10:54

    Gefällt mir.

  • Tube

    28. Dezember 2024, 01:06

    Mir auch.

Schreib einen Kommentar