Projekt "BlinkenLights" mit PIC-Mikrocontrollern - ein Projekt von Anja Leheis & Michael Krasselt history menue Letztmalig dran rumgefummelt: 24.01.12 07:40:16
Das nachfolgende Projekt übersteigt die Grundanforderung: "... die Controller-Projekte sollen anspruchsvoll sein, jedoch auch für jeden grundsätzlich lösbar bleiben." ein wenig! Hier nun werden nicht nur an den Schaltungsaufbau sowie die Software-Entwicklung extrem hohe Anforderungen gestellt (das können wir hier schon!!!), der Entwurf plus "Dimensionierung" einer entsprechenden Schaltung nach einer vorgegebenen Aufgabe kommen mit nicht unerheblichen Aufwand noch hinzu. Dann muss ein entsprechendes Modell gefertigt werden und die Schaltung mit dem Software-Konstrukt ein sinnvolles Ganzes ergeben.
Am Erstehungsdatum unten kann man ersehen, wie lange ein solches Projekt unter der koordinierten Mitarbeit vieler benötigt. Unmittelbar beteiligt waren: Anja, Mischa, Tony sowie indirekt  Anatolij - jedoch auch Herrn Pfeifer gilt unser besonderer Dank, hat er sich doch mit um die Materialbeschaffung für das Gestell gekümmert, als ich dies selbst nicht konnte.

1. Technische Parameter sowie wichtige Hinweise
2. Schaltungskonfiguration mit Adressrechnung
3. Technische Umsetzung
4. Softwarefragen
5. Praktischer Einsatz
6. Verwandte Themen

Projekte mit Mikrocontrollern - also "Embedding-Systems"

Blinken-Lights-Project - das Original

Projekt "BlinkenLights"

... ein Projekt von Michael Krasselt & Anja Leheis im Schuljahr 2010/2011

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Informatik-Profi-Wissen

Quellen:

1. Technische Parameter sowie wichtige Hinweise

Basis der Schaltung bilden hier eigentlich nicht der Controller selbst, sondern ein ganzes Netzwerk aus Zusatzelektronik, welche den Komponenten die erforderliche Intelligenz und vor allem die benötigte "Geschwindigkeit" einhaucht.

gearbeitet wird mit drei Komponenten:

  • Windows Rechner mit Windows XP sowie USB-Port
  • PIC-Microcontroller Experimentierbausatz K055 der Firma Vellemann aus Belgien
  • PIC-Schaltung mit 18 einzeln adressierbaren Fangregistern
  • Anzeige-Matrix aus 18 × 8 Power-Leuchtdioden (das ist der eigentliche Hammer, weil's hier auch noch richtig groß wird!!!

... so funktioniert's ungefähr

... und so etwas genauer (was dann allerdings immer weniger Mitbürger verstehen, wie's geht, obwol's natürlich ganz einfach ist, wenn man's verstanden hat ...

... so sieht das Zusammenwirken der vier "Teilstreitkräfte" aus - das hab' ich bei der NVA gelernt und dies war vor 30 Jahren sehr ernst gemeint ;-)

... und so funktioniert das ganze ;-)


2. Schaltungskonfiguration mit Adressrechnung

Für die Programmierung der PIC-Controller gibt es ganz offensichtlich verschiedene Möglichkeiten und Werkzeuge - sowohl hard- als auch softwareseitig. Und nicht zu vergessen ist die Tatsache, dass die fertigen geschriebenen und compilierten Programme HEX-konvertiert sowie in den Controller übertragen werden müssen. Als Programmiersprachen kommen Assembler für die jeweiligen Zielprozessoren oder aber auch Hochsprachen wie C- und BASIC-Derivate zum Einsatz

PIC Mikrocontroller Experiment Interface-Board K8055

Adresse HEX Decoder 74LS138 Decoder 74LS154 Decoder 74LS154

Decoder 74LS154

Decoder 74LS154

Decoder 74154 Decoder 74138
  Bit4 Bit3 Bit2

Bit1

Bit0

Bit Bit
0. 0 0 0 0 0 0 X
1. 0 0 0 0 1 1 X
2. 0 0 0 1 0 2 X
3. 0 0 0 1 1 3 X
4. 0 0 1 0 0 4 X
5. 0 0 1 0 1 5 X
6. 0 0 1 1 0 6 X
7. 0 0 1 1 1 7 X
8. 0 1 0 0 0 8 X
9. 0 1 0 0 1 9 X
10. 0 1 0 1 0 10 X
11. 0 1 0 1 1 11 X
12. 0 1 1 0 0 12 X
13. 0 1 1 0 1 13 X
14. 0 1 1 1 0 14 X
15. 0 1 1 1 1 15 X
16. 1 0 0 0 0 X 0
17. 1 0 0 0 1 X 1
da die beiden verwendeten Decoder  Tri-State Eigenschaften und somit Freigaben besitzen, war ihre stufenweise Einbindung in die Ausdecodierung der benötigten 18 Adresse kein Problem - auch wenn vom 74138 die weitaus meisten Möglichkeiten verschenkt werden.
zum Schalten der Taktlogiken des 74374 werden so wie so lediglich die Taktflanken H  L benötigt, wobei dann die Eingangssignale anliegen müssen


3. Technische Umsetzung

Begonnen hat die technische Realisierung bereits im Februar, da war klar: es könnte funktionieren! Wie immer, hat Mischa die besten Ideen eingebracht, welche zum damaligen Zeitpunkt (wie so oft bei unserem kleinen da Vinci) freilich außer dem Chef keiner verstanden hat (wie sollte er/sie auch - das ist eine durchaus bereits höhere Denkebene!!!). Recht zeitig hat er Anja mit ins Boot geholt, was für das Projekt sehr hilfreich war - sicherlich wären wir ohne ihren sprichwörtlichen Fleiß sowie ohne ihre Geduld mit uns sowie der Arbeit nie fertig geworden. Aber auch weitere Teile der 10a (sowie Schüler mit einem abgeschlossenem Abitur in der Tasche!!!) haben weiterhin mitgewirkt - Dank an alle - einschließlich Mischas Mutti, die hier auch neben regelmäßigen Materialtransporten sowie dem Sponsoring des Leitermaterials (welches hierfür in Größenordnungen benötigt wurde!!!) einen ganzen Nachmittag (von sehr früh bis sehr spät) geopfert hat.
... die wichtigsten Schaltkreise der Steuerplatine
1 aus 10-Decoder 74138 1 aus 16-Decoder 74154 8-Bit Fangregister 74374 ... der Chef der Platine

1 aus 8 Decoder 74138

1 aus 16 Decoder 74154

18 Bit Fangregister 74374

Allgemeines Portkonzept des PIC 16F877A

Logik des 1 aus 8 Decoder 74138

Logik des 1 aus 16 Decoder 74154

Logik des 8-Bit Fangregisters 74374

Logik des PI16F877A-Controllers4

wir verwenden für unsere Zwecke ein CMOS-Äquivalent 74HCT137 da es verfügbar war und sehr viel weniger Strom verbraucht, als die Standard-Reihe (der 74HCT137 ist ein Decoder) wir verwenden für unsere Zwecke ein CMOS-Äquivalent 74HCT154 da es verfügbar war und sehr viel weniger Strom verbraucht, als die Standard-Reihe wir verwenden für unsere Zwecke natürlich auch hier ein LS-Äquivalent 74HCT1374 da es billig verfügbar war und sehr viel weniger Strom verbraucht, als die Standard-Reihe  
  Zwischen Wahrheit sowie Irritation:

Hallo Herr Rost,
Im Anhang meine Notzen zu Fangregistern und Ansteuerung.
Ich habe Festgestellt, das wir die Negatoren doch brauchen, für Ansteuerung der Fangregiseter. Wir haben heute noch ein Paar Fehler in der Logik, und meiner Ansteuerung bemerkt, und behoben., die DeCoder schalten jetzt und die Fangregister werden angesteuert. Nur das die Negatoren noch nicht alle angeschlossen sind, und die Fangregister sind ja die Falschen. Ich habe jetzt für 74373 CMOS geplant, und gebaut. :-)
Auch habe ich noch einen Port des Microcontrollers für die An und Ausschlatung der beiden Decoder. Sie werden über die Strobe 2 und Enable 2 Eingäng Eingänge freigeggeben. Der Strobe 1 des Decoders(16) 1 wird über den Port A0 bediehnt, der den Enable 3 des Decoders 2 bediehnt und der nicht negiert ist (wechselseite an und abschaltung) und der Enable 1 ist auf dauerlow geschaltet, ebenso wie der A1 und A2 des Decoders 2.
Alles soweit klar ?

Michael

Signalspiel
b7 = takt, schaltet Decoder ein und aus
d0-d7 Signal für Fangregister
b0-b4 Bitmuster Multiplexer

1. 8 Bit-Muster d0-d7 
2. 5 Bit- Muster b0-b4
3. Takt aus - b7 (Da Strobe bei bei beiden 0 Sein muss)
4. Warten, Reaktionsgeschwindigkeit Schaltkreise
(4.1. Schreiben der Werte in Decoder, ausgabe des Low's 
negieren und Fangregister Speichern)
5. Takt an, (Deaktiviert Decoder, Schließt Schreibsitzung Fangregister)
(5.1 Entfernen der Muster)

-------------------
Nr Signal Zuordnung
1  00000  DCoder 1 <=> m1=0;m2=0;m3=0;m4=0;m5=0;
2  00001  DCoder 1
3  00010  DCoder 1
4  00011  DCoder 1
5  00100  DCoder 1
6  00101  DCoder 1
7  00110  DCoder 1
8  00111  DCoder 1
9  01000  DCoder 1
10 01001  DCoder 1
11 01010  DCoder 1
12 01011  DCoder 1
13 01100  DCoder 1
14 01101  DCoder 1
15 01110  DCoder 1
16 01111  DCoder 1
17 10000  DCoder 1 <=> m1=1;m2=0;m3=0;m4=0;m5=0;
18 10001  DCoder 1

Bez.	MC 	DC1	DC2
 m1	b0	A0S1	E3
 m2	b1	A1	-
 m3	b2	A2	-
 m4	b3	A3	-
 m5	b4	A4	A1
atakt	b7	S2	E2
----------------------	
b7=Takt an -> Decoder arbeiten, Fangregister werden aktiv und speichern
b7= takt aus -> Decoder aus, Fangregister machen nichts ...

Signal der Decoder muss negiert werden, wir brauchen für die Fangregister eine Freigabe 
1 und nicht 0.
... wie man so etwas gigantisches macht ...

Fotoseshion 2011

Funktionsprobe im Herbst 2011

 


4. Software-Fragen

Zwei Komponenten benötigen eine aufeinander abgestimmte Software. So übernimmt das K8055-Board die einfache Verbindung mit dem PC via USB-Schnittstelle sowie die Wandlung der Bildmatrix in einen Bitstrom, welcher dann schon in Spaltenorganisation zu jeweils 8 Bit auf der Parallelschnittstelle zum Controller-Board übertragen wird.
BlinkenLights-Software erstellt die Muster (das kann faktisch jeder!!!) Delphi-Programm zur  Datenwandlung und Parallelisierung JAL-Programm zum Testen der Arbeit der Fangregister

Blinken-Paint als startbare EXE-Datei

Blinken-Paint als ZIP-Archiv

die Ansteuerungssoftware für die Bitwandlung

die Steuersoftwar - in einen separaten Ordner auspacken - alle Dateien werden benötigt

die Ansteuerungssoftware für das Controller-Board


5. Praktischer Einsatz

Mit Sicherheit ist der PIC16F877 für die weitaus meisten Projekte völlig überdimensioniert und somit zu teuer und zu aufwendig (alte deutsche Rechtschreibung!). Für die Mehrzahl der kleinen "Elektronik-Anwendungen" und Aufgabenstellungen ist

 


6. Verwandte Themen history menue scroll up

Was ist alles mit dem Betriebssystem eines Microcomputers verwandt? Antwort: faktisch der gesamte Bereich der Digitalelektronik und sowieso die gesamte Technik der Software-Technologie der Vergangenheit, Gegenwart sowie zumindest der nächsten Zukunft.

Der LC-80 Simulator

POLYCOMPUTER

Z80-CPU

Mnemonic-Code-Notation

höhere Programmierwerkzeuge

... und so funktioniert ein Computer

 

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

Alphabetisch sortierte Dokumentation

FLAG Teile I

FLAG Teile 2

Allgemeine Funktionssymbolik

Aktuelles sowie weiterentwickeltes Betriebssystem

Blockschaltbild eines Einchiprechners

   

Projekt Assemblerprogrammierung

   


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 9. Februar 2011 um 6.22 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)