Google Analytics

30 oktober 2021

Bouw: Een LED Nixie klok

Deze keer een klein bouwproject die al enige tijd op het schap stond: De LED-Nixie-M klok van de website diamex.de, tegenwoordig te verkrijgen op ledgenial.de

Het is een 6 cijferige klok waarbij plexiglas plaatjes met behulp van leds aan de onderkant worden belicht zodat de juiste cijfers oplichten en daarmee de tijd of datum vormen. Het doel hierbij is om het op een Nixie klok te laten lijken.

De Nixie klok

Bij een Nixie klok worden Nixie buisjes gebruikt. Dit zijn glazen buisjes gevuld met een Neon gasmengsel. In deze buisjes zitten van metaal gevormde cijfers 0 t/m 9. Als er een hoge spanning van ongeveer 170 volt op zo'n metalen cijfer wordt gezet dan licht het neon rond het metaal op en worden de cijfers zichtbaar.

Dit is een display techniek uit de jaren '70 vooral gebruikt in calculators en meetapparatuur. led en LCD waren nog niet gangbaar en op grote schaal aanwezig. Ze waren in allerlei formaten en uitvoeringen verkrijgbaar. In de jaren '80 is de productie van Nixie buisjes gestopt, ze zijn dus alleen nog tweedehands verkrijgbaar.

Een in 2016 gebouwde Nixie klok met 4x Z566M (filter verwijderd) en 2x Z5730M buisjes.

De LED Nixie

Niets kan natuurlijk aan een echte Nixie klok tippen maar gezien de hoge prijzen van de Nixie buisjes tegenwoordig, is de led oplossing van dit bouwpakket een leuke alternatieve benadering.

De LED-Nixie-M klok van Diamex bestaat uit 6 modules (printplaatjes) die op een blok zijn geschroefd. In dit blok zitten rechthoekige uitsparingen waar de plexiglas plaatjes ingestoken kunnen worden en die vanuit het printplaatje eronder worden belicht.

Links het blok met de printplaatjes aan de onderkant en rechts
de led controller met een draaiwiel die ook kan worden ingedrukt.

De Plexiglas plaatjes voor de cijfers 0 en 1

Elk cijfer bestaat uit 10 Plexiglas plaatjes die per cijfer worden belicht met twee meerkleuren leds per plaatje. In totaal zijn er dus 120 leds aanwezig.


De Cronios-ESP controller is in staat om maximaal 256 leds aan te sturen.

Elke led module heeft drie in- en uitgangen die aan de onderkant met elkaar worden doorverbonden. Ik gebruik hiervoor bewaarde restanten draadjes die zijn afgeknipt van weerstanden.


De +5V, Data en Massa (GND) worden doorverbonden.

Nu kunnen de 60 Plexiglas plaatjes in de juiste volgorde worden geplaatst, maar eerst moet aan beide zijden het beschermende folie (in totaal 120 stuks!) worden verwijderd. Dit gaat vrij lastig. Waarschuwing: dit kost minimaal 1 nagel...

Om vinger afdrukken op de plaatjes te voorkomen
wordt met handschoenen gewerkt

De controller wordt op de led Nixie aangesloten en via een mini USB kabel van 5V voorzien. Via het controller wiel kan de datum en tijd worden ingesteld evenals de helderheid, kleur, alarm, speciale functies, etc.


Al met al wel veel werk maar zeker niet moeilijk, dus heel geschikt voor de beginnende elektronicus.

22 oktober 2021

Toepassing: Een computer op een liniaal

Wie kent ze niet, de goedkope printplaatjes (PCB rulers) in de vorm van een liniaal, met opdruk van componenten afmetingen, elektronica symbolen en informatie.


Waarom eigenlijk geen echte elektronica op dit soort liniaaltjes? Dat moet Bradley Slattery van Bradsprojects hebben gedacht voorafgaand aan de ontwikkeling van de Digirule.

De Digirule1 en 1A

De eerste Digirule was een interactieve "binaire" liniaal bedoeld om vertrouwd te raken met de werking van digitale elektronica, zoals logische poorten, flipflops, tellers, etc.
Met behulp van een op de liniaal aanwezige CR2032 batterij en een PIC18F45K20 microcontroller kunnen met behulp van 9 drukknoppen en 32 leds de werking van 7 logische poorten, 4 typen Flipflops en een 4 bit Teller worden gedemonstreerd.

Let op de juiste manier van het plaatsen van de batterij (zie beschrijving) anders kan de batterijhouder worden beschadigd.



Een grappig detail is dat de cm en inch waarden op de liniaal als binaire waarden zijn opgedrukt. Op de achterkant staat informatie over de logische poorten, Flipflops en andere zaken.

Via een ingebouwde "verborgen functie" zitten er ook nog eens 8 extra functies in, zoals een Gray teller, schuifregister, dobbelsteen, spelletje, etc.

De verborgen functies zijn als volgt op te roepen:
  • Zet de Digirule uit door middel van de schakelaar. 
  • Houd Knop A ingedrukt terwijl de DigiRule wordt aangezet totdat led B begint te knipperen. 
  • Selecteer met de "Up" en "Down" knoppen van de 4bit Counter de gewenste functie uit de tabel hieronder en druk op knop B.
Een tweede manier (zonder de liniaal uit en aan te hoeven zetten) is de volgende:
  • Houd de knoppen A en B tegelijk ingedrukt totdat alle leds gaan knipperen (Reset)
  • Druk meteen daarna knop A in.
Keuze Functie Opmerking
0001 Normale modus Standaard functionaliteit.
0010 Gray teller Zie Wikipedia voor uitleg.
0011 Flitsende LED' De snelheid kan worden ingesteld met de up/down knoppen.
0100 7 bit schuifregister Ingang te besturen met de knoppen A en B.
0101 Led test Alle leds lichten op.
0110 Persistence of Vision display Beweeg de liniaal snel in horizontale beweging heen en weer, je ziet dan tekst, smiley, etc.
0111 Dobbelsteen Het willekeurige getal 1 - 6 verschijnt als binaire waarde op de "Counter" leds.
1000 Spelletje "Catch the XOR" Druk op knop B zodra de XOR led oplicht. Als het raak is wordt de score verhoogd op de "Counter" leds en wordt de snelheid verhoogd. 1x mis en de teller gaat weer naar 0.
1001 4 bit logica unit Selecteer een functie met de "Logic Gates" knoppen, voer een combinatie van 4x 1 en 0 in via de up/down knoppen, druk op de A knop om de 1e 4 bits te bewaren, herhaal dit met de 2e combinatie en bewaar deze met knop B. Het resultaat verschijnt nu op de Flipflop selectie leds.

De 1A versie is een licht verbeterde versie met een betere kwaliteit drukknopjes en verbeterde firmware. Helaas zijn deze linialen niet meer leverbaar. Voor meer details en instructie video zie Tindie.

De Digirule2, 2A en 2U

Een 8 bits programmeerbare computer op een liniaal ! Hier zijn inmiddels 3 versies van uitgebracht. De eerste versie 2 uitgebracht in 2018 is evenals de Digirule 1 uitgevoerd met een PIC18F45K20 microcontroller. Deze bevat 33 instructies die met behulp van 8 invoer knoppen en 8 leds kunnen worden ingevoerd / weergegeven. Per programma is er ruimte voor 256 bytes geheugen en er kunnen 8 programma's worden opgeslagen (8 bit data en adres) Ook het adres wordt weergegeven met 8 leds.

De in 2019 vernieuwde Digirule2A is uitgebreid met 2 extra instructies en de Run / Stop leds zijn onder de knop geplaatst in plaats van er boven. Voor de rest is deze identiek aan de Digirule2.


De Digirule 2A

In 2020 verscheen de Digirule2U met maar liefst 54 instructies, een USB C aansluiting en een ingebouwde seriële debug monitor en assembler. Deze liniaal is uitgerust met een PIC18F46K20 microcontroller. Deze beschikt ten opzichte van de vorige controller over een dubbele hoeveelheid Flash en RAM geheugen (64kB / 3kB).
De mogelijkheden van deze 24 Euro kostende liniaal zijn vergelijkbaar met computers uit de jaren '70 zoals de Kenbak-1 ($750 bij de introductie in 1971), de 
Altair 8800 ($650 in 1975) of de Imsai 8080 ($440 als bouwpakket, eind 1975).


De Digirule 2U

De Digirule2U is prima te combineren met de Video Terminal emulator uit mijn vorige BLOG via de Rx en Tx op de Expansion Port, maar aansluiten op een PC met een USB C kabel en een terminal emulator kan natuurlijk ook.

Alle software en handleidingen zijn te downloaden op github.com 
Momenteel (oktober 2021) is alleen nog de Digirule2U leverbaar via Tindie

De linialen in actie

14 oktober 2021

Bouw: ASCII video terminal

Een Arduino Uno is een kleine computer die heel geschikt is voor aansturing en uitlezing van allerlei elektronische componenten, bij voorbeeld LED's, schakelaars, sensoren, stappen motoren, etc. 

Wat er -in tegenstelling tot een Raspberry PI- niet standaard op zit, zijn aansluitingen voor een beeldscherm en een toetsenbord. In sommige projecten is daar wel eens behoefte aan en Geoff's Projects heeft daar een leuke oplossing voor bedacht in de vorm van een bouwpakketje. Dit pakket is o.a. te bestellen bij BudgeTronics.eu.

Het betreft een bouwpakket voor een ASCII video terminal. In de jaren 70 werden terminals gebruikt bestaande uit een toetsenbord en beeldscherm waarvan een aantal op een grote centrale computer (mainframe) werden aangesloten. Deze terminals beschikten over een seriële RS-232 poort voor de communicatie en bevatte de hardware en geheugen voor het weergeven van ASCII tekst (25 regels van 80 tekens) en het uitsturen van het toetsenbord. Zelf heb ik nog een tijd een ADM-3A terminal in bezit gehad.

 
ADM-3A terminal © Sudo Null

Al met al een hele grote bak met elektronica en zoals de foto hieronder laat zien kan dit tegenwoordig veel compacter. Het bouwpakket bevat een printplaat niet groter dan een credit card. 

Op bovenstaande foto zijn de vier connectoren inmiddels al gesoldeerd en volgt nu de rest van de onderdelen.

Alles is nu gesoldeerd en de flux is verwijderd met IPA.

Het hart wordt gevormd door de al voorgeprogrammeerde PIC32MX250F128B IC links in het midden. Dit IC doet eigenlijk alles, het genereren van het VGA signaal, inlezen van een PS/2 toetsenbord en de seriële communicatie (RS-232 op TTL niveau).

Van links naar rechts: de VGA connector, de video output connector en de PS/2 toetsenbord connector.

Aan de achterkant links de aansluitingen voor de 3.3V voeding (afkomstig van de Arduino) en  de seriële transmit (TX) en receive (RX) en rechts een USB B aansluiting voor een externe 5V voeding die eventueel gebruikt kan worden in plaats van de 3.3V.

We sluiten een scherm en toetsenbord aan op de ASCII video terminal en verbinden de 3.3V en GND met de corresponderende aansluitingen op de Arduino. De TX van de terminal wordt verbonden met de RX (Pin 0) op de Arduino en de RX van de terminal met de TX (Pin 1).

Voor de Arduino heb ik voor de gelegenheid een CLI (Command Line Interface) programma geschreven die fungeert als een computer met een heel beperkte set commando's.

Eenmaal aangesloten blijkt er geen beeld op de VGA monitor te zijn. Na bestudering van het schema blijkt dat ik op de bovenkant van de printplaat nog een keus had moet maken voor de tekst kleur door een soldeerbrug aan te brengen. Ik kies voor groen omdat dat op de terminals in de jaren 70 ook gebruikelijk was.


Het werkt: de tekst wordt weergegeven op het VGA scherm en de via het toetsenbord gegeven commando's worden door de Arduino verwerkt.
De ASCII video terminal ondersteund de VT52 en VT100 terminal "escape codes" waarmee speciale commando's kunnen worden gegeven.

Een leuk detail is dat er ook escape codes zijn ingebouwd voor het tekenen van rechthoeken, lijnen en cirkels, iets waar de VT52 en VT100 terminals uit de jaren 70 niet over beschikten.

12 oktober 2021

Toepassing: C64 / C128 Userport breakout

Een van de minst gebruikte aansluitingen op de C64 / C128 is de zogenaamde Userport. Dit komt voornamelijk doordat er in de jaren 80 maar weinig commerciële toepassingen voor de Userport beschikbaar waren.

Denkbare toepassingen zijn onder andere een Centronics parallelle interface, een RS-232 seriële interface (bij voorbeeld voor gebruik van een modem) of aansturing/uitlezen van externe apparatuur. Ook zijn er tegenwoordig moderne hardware toepassingen te vinden zoals een Wifi modem of een USB interface.

Op de 24 polige userport connector zijn 8 datalijnen beschikbaar die als ingang of uitgang kunnen worden geprogrammeerd alsmede 2 seriële poorten, 2 tellers en een aantal in/uitgangen ten behoeve van besturing zoals bijvoorbeeld handshake signalen.

1
2
3
4
5
6
7
8
9
10
11
12
Massa
+5V
Reset
Teller1
SP1
Teller2
SP2
PC2
Serieel ATN  
9V AC
9V AC
Massa
A
B
C
D
E
F
H
J
K
L
M
N
Massa
Flag2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PA2
Massa

Een 24 polige "edge connector" uit de 805 serie is nodig om deze aan te kunnen sluiten op de Commodore Userport. De onderlinge afstand tussen de contacten bij deze connector bedraagt 3.96 mm.

In deze Blog beschrijf ik een zogenaamde "breakout" printplaat van Syzygy Phobos te verkrijgen via tindie.com. Deze printplaat beschikt over de 805 connector en maakt een vertaling naar een (naar keuze) male of female header connector.

De header connector dient zelf gesoldeerd te worden.


De printplaat bevat tevens een reset knop, waarmee een soft reset op de Commodore kan worden uitgevoerd. Op de header connector kunnen Dupont jumper draden of Dupont connectoren worden aangesloten, bij voorbeeld naar een Breadboard om schakelingen uit te testen.


Als test heb ik 8 leds aangesloten op PB0 t/m PB7 met een 1 kOhm weerstand in serie.
De maximale stroom die de +5V aansluiting kan leveren is 100 mA. Wees voorzichtig met de aansluitingen want overbelasting en kortsluiting kan het 6526 IC in de Commodore beschadigen.

Hieronder volgt een BASIC programma, die de leds afwisselend laat oplichten, zoals bij de auto Kitt uit de televisie serie Knightrider.

10 POKE 56579,255
20 I=1
30 FOR J=1 TO 8
40 POKE 56577,I
50 I=I*2
60 FOR K=1 TO 30:NEXT
70 NEXT
80 I=64
90 FOR J=1 TO 7
100 POKE 56577,I
110 I=I/2
120 FOR K=1 TO 30:NEXT
130 NEXT
140 GOTO 20