Beruflich Dokumente
Kultur Dokumente
de
lektorlabs
lektor
Elektor Flipper-Uhr
Sensor misst
die Luftqualität
CNC-Portalroboter Mikrocontroller-Kits für Dummies Lüftersteuerung Rückwärts-„Radar” fürs Rad Raspberry-Pi-Lineal
mit Laufzeitsensor Taupunkt-Messgerät mit ENS210 Störquellen im Automotive-Bereich I²C-Bus Datenleser Grundlagen:
Kanalfilterung Schrittmotor-Steuerung mit Antiresonanz-Technik Nachgemessen: Funkstörungen durch LED-Lampen
T U ND LAB OR
R K S TAT
! NIK FÜR WE
PROFESSION
EL
B EI T S P L AT ZLE TECH
W E R A M A R
V O L L E P O
Das Weller WE1010 Education Bundle
70 Watt Power für
professionelle Ansprüche!
Die stärkste Lötstation ihrer Klasse! Mit diesem Vorteils-
pack sind Sie für alle Aufgaben gerüstet. Neben der
WE1010 Lötstation beinhaltet dieses Set einen 170 mm
Weller Xcelite Seitenschneider, eine Rolle Weller WSW SCN
N1 Lötzinn sowie eine zusätzliche Lötspitze ETB 2,4 mm.
TECHNIK
00
TIPP 199,
(2 Kundenrezensionen) DSO für Einsteiger!
50 MHz, 2 Kanäle
Labornetzteil
USB-HOST
0 - 30 V, 0 - 10 A Vielseitiges Digital-Speicher-Oszilloskop,
ideal auch für den mobilen Einsatz. E
Dieses Schaltnetzgerät ist wegen seiner sehr UND -DEVIC
handlichen Bauform und des geringen Gewichtes beleuchtetes Full-Color TFT-Display
hervorragend für Anwendungen in der Entwicklung Abtastrate: 1 GS/s
und im Ausbildungsbereich geeignet. vielfältige Trigger-Arten
inkl. Edge, Video, Pulsbreite
Spannungs- und Stromvorwahl
mit Ultra Sigma Software
mit abschaltbarem Ausgang
Bestell-Nr.:
Modi für Konstantstrom und
RIGOL DS1052E
Konstantspannung bei
angeschlossener Last
automatische Abschaltung
299,99
bei Kurzschluss
fein einstellbare Ausgangs-
werte: 10 mV, 10 mA
Kompakt-Multimeter
mit 2.000 Counts
NG,
R AUSBILDU Spannungsmessung: 200 mV - 600 V AC/DC
QUALITÄT FÜ
SERVICE Strommessung: 200 μA bis 200 mA
LABOR UND Widerstandsmessung: 200 Ohm bis 20 MOhm
Bestell-Nr.: PEAKTECH 6226 Durchgangs- (Summer) und Diodenprüfungen
95, SELLER
www.reichelt.de
Es gelten die gesetzlichen Widerrufsregelungen. Alle angegebenen Preise in € inklusive der gesetzlichen MwSt.,
zzgl. Versandspesen für den gesamten Warenkorb. Es gelten ausschließlich unsere AGB (unter www.reichelt.de/agb,
im Katalog oder auf Anforderung). Abbildungen ähnlich. Druckfehler, Irrtümer und Preisänderungen vorbehalten.
reichelt elektronik GmbH & Co. KG, Elektronikring 1, 26452 Sande, Tel.:+49 (0)4422 955-333 BESTELLHOTLINE: +49 (0)4422 955-333
Impressum
Verlag
Elektor-Verlag GmbH
Kackertstraße 10
52072 Aachen
Tel. 02 41/955 09 190
Fax 02 41/955 09 013 Mit-Programmieren!
Technische Fragen bitten wir per E-Mail an
redaktion@elektor.de zu richten. Bereits im Septemberheft hatte ich die Serie angekündigt: Unserem langjährigen
Hauptsitz des Verlags Autor Martin Ossmann ist es gelungen, einen eigenen kleinen Softcore-Prozessor
Elektor International Media zu realisieren, der in einem FPGA „läuft“. Ein ebenfalls selbst gestrickter Compi-
Postbus 11, 6114 ZG Susteren
ler wandelt einfaches C in Maschinenbefehle um, die der 32-Bit-Prozessor versteht
Niederlande
(Seite 24). Professor Ossmann musste das Rad nicht völlig neu erfinden – sondern
konnte auf die Arbeit von Ron Cain aus den frühen Achtzigern zurückgreifen, der
Anzeigen:
ein einfaches, aber leistungsfähiges C-Subset für den Z80 entwickelt hatte. Beim
Margriet Debeij (verantwortlich)
Tel. 02 41/955 09 174 / Fax 02 41/955 09 013 „SCCC-Projekt“ kann man eine Menge über die Hardware-Beschreibungssprache
Mobil: +49 (170) 550 539 6 Verilog, die Architektur einer CPU und den Compilerbau lernen; doch es werden
E-Mail: margriet.debeij@eimworld.com auch handfeste Anwendungen folgen. Typisch für unsere Zeit ist, dass ein Low-
Tanja Pohlen Cost-Board und ein paar Bauteile genügen, um mitmachen zu können. Für rund
Tel. 02 41/955 09 186 30 Euro erhalten Sie in unserem Shop das kleine MAX1000-Board (Art.-Nr. 18816),
E-Mail: tanja.pohlen@eimworld.com
das einen gut ausgestatteten FPGA, je 8 MB RAM und Flash sowie User-LEDs und
Es gilt die Anzeigenpreisliste ab 01.01.2018.
Buttons integriert.
Noch weit günstiger sind die Boards, die die (ebenfalls gut bekannten) Elektor-
Distribution: Autoren Burkhard und Fabian Kainka ab Seite 6 vorstellen. Für eine Handvoll Euro
IPS Pressevertrieb GmbH
können jetzt alle Leser dabei sein, die sich bisher noch nicht getraut haben, erste
Postfach 12 11, 53334 Meckenheim
Tel. 0 22 25/88 01-0 Schritte in die spannende Welt der Controller-Programmierung zu unternehmen.
Fax 0 22 25/88 01-199 Und die einsteigerfreundliche Arduino-Entwicklungsumgebung sowie viele, viele Bei-
spielprogramme gibt es ja sowieso kostenlos.
Der Herausgeber ist nicht verpflichtet, unverlangt einge-
Machen Sie mit!
sandte Manuskripte oder Geräte zurückzusenden. Auch
wird für diese Gegenstände keine Haftung übernommen.
Nimmt der Herausgeber einen Beitrag zur Veröffentlichung Jens Nickel
an, so erwirbt er gleichzeitig das Nachdruckrecht für alle Chefredakteur Elektor
ausländischen Ausgaben inklusive Lizenzen. Die in dieser
Zeitschrift veröffentlichten Beiträge, insbesondere alle Auf-
sätze und Artikel sowie alle Entwürfe, Pläne, Zeichnungen
einschließlich Platinen sind urheberrechtlich geschützt. Ihre
auch teilweise Vervielfältigung und Verbreitung ist grund-
sätzlich nur mit vorheriger schriftlicher Zustimmung des
Herausgebers gestattet. Die veröffentlichten Schaltungen
können unter Patent- oder Gebrauchsmusterschutz stehen.
Herstellen, Feilhalten, Inverkehrbringen und gewerblicher Unser Team
Gebrauch der Beiträge sind nur mit Zustimmung des Ver-
lages und ggf. des Schutzrechtsinhabers zulässig. Nur der Chefredakteur: Jens Nickel (v.i.S.d.P.) (redaktion@elektor.de)
private Gebrauch ist frei. Bei den benutzten Warenbezeich-
nungen kann es sich um geschützte Warenzeichen handeln, Ständige Mitarbeiter: Dr. Thomas Scherer, Rolf Gerstendorf
die nur mit Zustimmung ihrer Inhaber warenzeichengemäß
Leserservice: Ralf Schmiedel
benutzt werden dürfen. Die geltenden gesetzlichen Bestim-
mungen hinsichtlich Bau, Erwerb und Betrieb von Sende- Korrekturen: Malte Fischer
und Empfangseinrichtungen und der elektrischen Sicherheit
sind unbedingt zu beachten. Eine Haftung des Herausgebers Internationale Redaktion: Thijs Beckers, Eric Bogers, Jan Buiting,
für die Richtigkeit und Brauchbarkeit der veröffentlichten Mariline Thiebaut-Brodier
Schaltungen und sonstigen Anordnungen sowie für die Rich-
tigkeit des technischen Inhalts der veröffentlichten Aufsätze Elektor-Labor: Mathias Claußen, Ton Giesberts, Hedwig Hennekens,
und sonstigen Beiträge ist ausgeschlossen.
Luc Lemmens, Jan Visser, Clemens Valens
© 2019 elektor international media b.v. Grafik & Layout: Giel Dols
Druck: Senefelder Misset, Doetinchem (NL)
ISSN 0932-5468
Rubriken
3 Impressum
47 Bemerkenswerte Bauteile
Nukleare Ereignisdetektoren
62 Homelab Helikopter
85 Projekt 2.0
Korrekturen, Updates und Leserbriefe
95 elektormagazine.de/labs
Das SCCC-Projekt (1)
Projekte in der Pipeline Softcore-Prozessor und C-Compiler
106 Retronik im Selbstbau
Schätze der Grafik-Abteilung
114 Hexadoku
Sudoku für Elektroniker
Hintergrund kaufen, was aber oft nicht ganz billig ist. In diesem Projekt wird eine
einfache CPU für FPGAs im Selbstbau vorgestellt; dank offenem Quellcode
lässt sie sich an eigene Bedürfnisse anpassen. Hierzu gehört ein DIY-C-
Compiler, der ebenfalls erweitert werden kann. In der Artikelserie zum
6 Mikrocontroller-Kits für Dummies
Projekt wird die Theorie wie üblich von vielen praktischen Beispielen ergänzt.
Aller Anfang ist leicht!
36 Q&A
Fertigung von Gehäusen
70 Grundlagen
Kanalfiltertechniken Projekte
80 PureBasic
Ein BASIC-Compiler, viele Plattformen
14
52 CNC-Portalroboter „Wolverine”
Multifunktionales Kraftpaket
66 Luftverschmutzungsmonitor
Ein Sensor misst die Luftqualität
96 I²C-Bus Datenleser
Luftverschmutzungsmonitor
Ein Sensor misst die Luftqualität
Die Qualität der Luft, die wir atmen, sollte uns allen ein großes Anliegen sein.
Vorschau
Nicht nur Staubpartikel, sondern auch eine
zu hohe Konzentration bestimmter Gase in
Das nächste Heft ist wie immer randvoll gefüllt mit
der Atemluft sind schädlich für unsere
Schaltungsprojekten, Grundlagen sowie Tipps und
Gesundheit. Dieses kleine Gerät misst
den Gehalt an luftverunreinigenden
Tricks für Elektroniker.
Gasen und löst einen Alarm Aus dem Inhalt:
aus, wenn deren • Feinstaubsensor für die Wetterstation
Konzentration
• Schlafzimmeruhr mit ESP32
einen
• USB-Strom-Messgerät
bestimmten Wert
überschreitet. • Versteckte Leitungen aufspüren
• Einfaches Audio-Spektrometer
• Mikrocontrollerkits für Fortgeschrittene
66
• Batterieüberwachung
• Das IOTA-Projekt und ein FPGA für den Raspberry Pi
Änderungen vorbehalten.
Elektor Mai/Junil 2019 erscheint am 18. April 2019.
(Zu) viele Elektroniker fürchten sich, in die Mikrocontroller-Pro- Der Anfang in dieser Ausgabe machen Vater Burkhard und Sohn
grammierung einzusteigen. Ein Grund ist sicherlich, dass es Fabian Kainka. Ersterer ist ein weithin bekannter Entwickler
schwerfällt, in dem unübersehbaren Dschungel von Mikrocon- einer Unzahl interessanter (Elektor-)Selbstbauschaltungen,
troller-Kits das richtige Kit zu finden, das nicht zu kompliziert Autor zahlreicher Bücher und Lernpakete und Betreiber einer
ist, vom Hersteller und von Drittanbietern mit Hard- und Soft- Hobbyelektronik-Webseite. Er hat sich mit einem Arduino-
ware gut unterstützt wird und mit dem sich eine Community Nano-Klon beschäftigt.
verbindet, bei der man auch als Anfänger Hilfe in höchster Sein Sohn Fabian ist in die Fußstapfen seines Vaters getreten
Not erhalten kann (sprich: sich nicht scheuen muss, dumme und hat sich auf Entwicklungen und Veröffentlichungen rund um
Fragen zu stellen). das Thema Internet of Things spezialisiert. Folgerichtig ist „sein“
Wir haben vier Controller-Boards/Kits ausgesucht, die sich für Mikrocontroller-Kit auch ein Entwicklungsboard, das besonders
Programmiereinsteiger eignen und sie vier Elektronikern über- auf diesen Bereich ausgerichtet ist: Das NodeMCU-Kit.
lassen, die sie auspacken und ausprobieren sollten. Sie werden In der nächsten Elektor-Ausgabe folgen unter anderem ein
sehen und lesen, dass der Einstieg in die Welt der Mikrocon- ESP32-WLAN/Bluetooth-Board mit integriertem OLED-Display.
troller gar nicht so kompliziert ist!
JOY-iT Nano V3
Von Burkhard Kainka
Der JOY-iT Nano V3 ist ein kompatibler Arduino Nano der Firma JOY-iT, der im Elektor-Shop zu einem Preis
von unter 12 Euro angeboten wird. Passend dazu gibt es das Arduino Supplement Kit mit zusätzlichen
Bauteilen, das einen einfachen und schnellen Start mit dem Mikrocontrollerboard ermöglicht.
Erste Versuche
Wer sich fragt, was denn der Unterschied zwischen dem origi-
nalen Arduino Nano und dem Nano-Clone von Joy-It (Bild 1) Bild 1. Der Nano V3.
ist, muss die Platine auf den Rücken legen. Auf der Unterseite Damit funktioniert alles wie gewünscht. Also, was könnte man
des Boards findet man den USB-Baustein, einen FT232R beim nun weiter anfangen? Mein Blick streift über das Material im
Original und einen CH340G beim Nachbau. Beide leisten das- Supplement-Kit. Da gibt es einen Buzzer, der getestet werden
selbe, sie setzen die serielle Schnittstelle des ATmega in eine will. Es handelt sich um einen aktiven Summer mit interner
USB-Schnittstelle um. Beim Anschluss an den PC wird dann eine Elektronik. Ein Test am 3,3-V-Ausgang des Nano ist erfolg-
virtuelle serielle Schnittstelle gebildet. Sie heißt beispielsweise reich, an 5 V ist das Summen lauter. Der Aufkleber wird wie
COM2, COM3 oder COM99, je nachdem wie viele andere Bau- empfohlen abgezogen und sogleich wieder angebracht, da das
steine mit serieller Schnittstelle der PC vorher schon gesehen Summen wirklich unangenehm laut ist. Könnte nicht auch ein
hat. Bei einem FT232R werden immer wieder neue COM-Num- Widerstand helfen? Getestet und verworfen, denn bei mehr als
mern gebildet. Beim CH340 ist das anders. Beim nächsten 100 Ω reicht der Strom nicht mehr für den Start des Summers.
Board erscheint wieder die gleiche COM, die man allerdings Aber an einem Port müsste es doch gehen! Der Summer wird
umbenennen kann, wenn man mehrere Platinen gleichzeitig an Pin 13 angeschlossen, dem Anschluss der gelben LED auf
einsetzen will. Falls es an einem Rechner Probleme mit dem dem Board. Nun ist wie zu erwarten ein Intervall-Summen zu
USB-Treiber gibt, muss man den Treiber im Netz [1] laden und hören; Summer und gelbe LED arbeiten im Gleichtakt.
manuell installieren. So langsam kommt mir ein Verdacht: Ist das vielleicht gar
Das Arduino-Supplement-Kit (Bild 2) enthält eine Steckplatine kein Piezo-Summer, wie ich zuerst vermutet hatte? Handelt
und sehr viele nützliche Bauteile vom Kabel bis zum Poti. Damit es sich gar um einen elektromagnetischen Summer? Ich halte
hat man mehr LEDs, Widerstände, Kondensatoren, Tastschalter von außen einen Magneten dran, der spürbar angezogen wird.
und sonstiges Material, als man in einer Woche verbasteln kann. Alles klar, solche Teile bestehen aus einer Magnetspule mit
Genug der Vorrede, jetzt wird der Nano getestet. Dazu habe
ich das Board auf die Steckplatine gesetzt (Bild 3), damit die
Versuche standfest, sicher und kurschlussfrei verlaufen. Zum
Anschluss an den PC wird ein USB-Mini-Kabel gebraucht. Die
grüne LED auf dem Board leuchtet und zeigt, dass die Platine
mit Spannung versorgt wird. Die gelbe LED blinkt mit kurzen
An-Phasen. Das ist bei einem Arduino der Hinweis darauf, dass
noch kein Programm geladen ist und dass der Bootloader auf
Arbeit wartet.
Dann muss die Arduino-IDE gestartet werden. Immer wenn ich
einen neuen Arduino teste, kommt als erstes das Beispielpro-
gramm Blink.ino zum Einsatz (Bild 4), das in der IDE enthalten
ist. Beim Arduino spricht man übrigens statt von Programm von
einem Sketch. Blink.ino lässt die gelbe LED langsam im Takt
von 2 s blinken. Bevor das Programm auf den Arduino gela-
den werden kann, muss ich natürlich erst das Board (Arduino
Nano) in der IDE wählen und die aktuelle Schnittstelle akti-
vieren (COM2). Dass es gerade COM2 geworden ist, hatte
ich erwartet, denn kürzlich habe ich einen anderen Controller
verwendet, der ebenfalls mit einem CH340 ausgestattet war,
den ich auf COM2 gesetzt hatte.
Also dann, hochladen und abwarten. Die Aktion endet erfolg-
reich, die LED blinkt langsam. Um ganz sicher zu gehen, ver-
längere ich die Delay-Zeiten auf 2000 ms und lade den Sketch
noch einmal hoch. Es blinkt langsamer. Bild 4. Einrichten und Laden des Nano in der IDE.
10k
330
15 16
D12 D13
Buzzer soll die Geschwindigkeit einstellen. Wie immer klappt irgend-
USB
was zuerst nicht, weil ich mich vertippt habe, und wie immer
muss ich irgendetwas erst nachlesen (weil ich sonst lieber mit
Bascom arbeite). Aber am Ende funktioniert alles wie geplant.
Zwar ist das Projekt einigermaßen sinnlos und im Endergebnis
10
eher nervig (dafür ja der Stopp-Taster S1), aber insgesamt
180604-001 eine schöne Fingerübung. Und man bekommt das gute Gefühl,
im elektor-shop
ªJOY-iT Nano V3
www.elektor.de/joy-it-nano-v3
ªArduino Nano
www.elektor.de/arduino-nano-3
ªSupplement-Kit
www.elektor.de/arduino-supplement-kit
Bücher:
ªMaik Schmidt, „Arduino”
www.elektor.de/arduino-dpunkt
ªBert van Dam, „Arduino entdecken”
www.elektor.de/arduino-entdecken
ªMichael Margolis, „Arduino Cookbook” (engl.)
www.elektor.de/arduino-cookbook
ªElektor Select, „Arduino Kompilation”
www.elektor.de/arduino-kompilation-pdf-de
Bild 7. Ausgabesignal und gefilterte Spannung.
NodeMCU
Von Fabian Kainka
NodeMCU ist ein auf dem 32-Bit-Mikrocontroller ESP8266 des Herstellers Espressif basierendes
Entwicklungsboard, das auf das Internet of Things spezialisiert ist.
Wenn man nur einen oder zwei Befehle testen möchte, ist das direkt im Aufruf definierte Funktion (Anonyme Funktion genannt)
manuelle Eingabefenster sehr praktisch, auch weil es den Verlauf übergeben, die er jede Sekunde ausführen soll. Die LED klas-
speichert und so das erneute Ausführen eines Befehls enorm sisch blinken zu lassen war also kein Problem und das Programm
erleichtert. Aber meist möchte man direkt eine ganze Abfolge von verständlich. Aber wir haben es hier ja mit einem IoT-Board zu
Befehlen ausprobieren. Ich wollte das klassische „Hello World“ tun, weswegen ich folgendes Snippet erstellte, um zunächst
implementieren und die LED blinken lassen. Das sind schon ein eine Verbindung zu meinem Router herzustellen:
paar Zeilen mehr, doch zum Glück hat man mit ESPlorer die
Möglichkeit, ganze Code-Schnipsel zu erstellen und sogar auf wifi.setmode(wifi.STATION)
dem PC zu speichern. Diese Befehlsabfolge-Schnipsel, hier Snip- station_cfg={}
pets genannt, können dann per Klick automatisch an das Board station_cfg.ssid="YourSSID"
gesendet werden. Ich habe folgendes Blinkprogramm in eines station_cfg.pwd="YourPassword"
von 15 editierbaren Snippets eingetragen und per Run gestartet:
station_cfg.save=true
station_cfg.auto=true
-- Variables
wifi.sta.config(station_cfg)
pin = 0 -- GPIO0
wifi.sta.connect()
status = gpio.LOW
duration = 1000 -- 1 sec
wifi.eventmon.register(wifi.eventmon.STA_CONNECTED,
-- Pin Initialization
function(T)
gpio.mode(pin, gpio.OUTPUT)
print("WiFi connected!")
gpio.write(pin, status)
end)
-- Timer Intervall
tmr.alarm(0, duration, 1, function () Nachdem die Verbindung erfolgreich hergestellt ist, gibt das
if status == gpio.LOW then Programm zudem die Meldung „WiFi connected!” aus. Dazu
status = gpio.HIGH musste ich erneut eine Anonyme Funktion erstellen, die beim
else WLAN-Verbunden-Ereignis ausgeführt wird. Diese Art von ereig-
status = gpio.LOW nisgesteuerter Programmierung ist typisch in Lua.
end Der Verbindungsaufbau funktionierte tadellos. Die hier verwen-
gpio.write(pin, status) dete Konfiguration sorgt außerdem dafür, dass die WLAN-Da-
end) ten gespeichert werden und auch nach einem Reset erhalten
bleiben. Zusätzlich sorgt station_cfg.auto=true dafür, dass
Interessant ist, dass Variablen nicht erst deklariert werden das Board immer selbständig versucht, eine Verbindung zum
müssen. Wer schon mal in JavaScript programmiert hat, kennt gespeicherten Netzwerk herzustellen. Ohne entsprechendes
dies wahrscheinlich. Ebenfalls interessant ist die Verwendung Programm erscheint aber keine Meldung „Wifi connected”, denn
des Timers. In diesem Fall wird dem Timer einfach eine ganze, dieser Teil bleibt nur bis zu einem Reset auf dem Board erhalten.
Da der Verbindungsaufbau so gut geklappt hat, wollte ich direkt Dieses Programm macht nun etwas, was in der Regel nur Skript-
das MQTT-Modul testen. In der Dokumentation gab es ein gutes sprachen können. Zunächst wartet es nur auf das erfolgreiche
Beispiel, das ich direkt in ein Snippet kopiert, leicht angepasst Herstellen einer WLAN-Verbindung. Aber dann lädt es zur Lauf-
und „mal eben“ live auf dem Board getestet habe [6]. Auch zeit ein Programm aus dem Internet herunter, welches unter
hier lief alles ungewöhnlich glatt, sodass ich mich an Größe- dem Namen run.lua gespeichert und anschließend ausgeführt
rem versuchen wollte. wird. In diesem Beispiel lädt es ein simples Blink-Programm
Der nächste Schritt war deshalb, ein Programm zu schreiben, von einer Pastebin-Seite nach. Aber natürlich können auch alle
das dauerhaft auf dem Board gespeichert bleibt und beim anderen Quellen genutzt werden. In dieser Firmware wurden
Boardstart automatisch ausgeführt wird. Dies hat sich ebenfalls sowohl das HTTP-Modul als auch die TLS/SSL-Option verwendet.
als sehr einfach herausgestellt, wenn man folgendes beachtet: Hier wird Lua als Interpreter-Sprache so richtig spannend. Ich
stelle mir vor, dass gleich eine ganze Reihe von Programmen
• Die Firmware stellt einen eigenes Virtuelles Dateisystem auf einem Webserver liegt, die dort ständig angepasst und ver-
zu Verfügung, in das Dateien hochgeladen werden können. bessert werden können. Per Webseite oder MQTT wählt man
Diese Dateien können Skript-Dateien sein, die dann mit dann sein Programm und lädt es auf das Board. Modularer und
dem Befehl dofile(dateiname) ausgeführt werden, oder einfacher geht es kaum.
auch Webseiten, Bilder oder sonstige Dateien, die man auf 180604-01
dem Board bereitstellen möchte.
• Beim Starten prüft das Board, ob die Datei init.lua im
Dateisystem existiert. Ist dies der Fall, wird diese automa-
tisch ausgeführt.
Konkret hieß das für mich, dass ich im ESPlorer einfach vom
Reiter Snippets auf Scripts gewechselt bin, in dem sich ein
Texteditor befindet. Dort schrieb ich folgende Zeilen, die ich
zunächst auf meinem PC als init.lua speicherte und anschlie-
ßend mit Upload auf den NodeMCU übertrug:
wifi.eventmon.register(wifi.eventmon.STA_CONNECTED,
function(T)
print("WiFi connected!")
http.get("https://pastebin.com/raw/k4ccGx3T",
nil, function(code, data)
if (code == 200) then
if file.open("run.lua","w+") then
file.write(data)
file.close()
end
im elektor-shop
else
print("HTTP request failed") ªNodeMCU-Mikrocontrollerboard
www.elektor.de/
end nodemcu-microcontroller-board-with-esp8266-and-lua
ªErik Bartmann: „Das ESP8266-Praxisbuch”
if file.exists("run.lua") then dofile('run. www.elektor.de/das-esp8266-praxisbuch
lua') else print("run.lua not found") end ªDogan und Ahmet Ibrahim: „ESP8266 and MicroPython”
end) www.elektor.de/esp8266-and-micropython
end)
Flipper-
Uhr
Flipper retro
ESP12-F
ESP8266
Einsteiger
Æ Fortgeschrittene
Experte
3,3-V-FTDI-Kabel
oder anderes
USB/UART-Interface
Vintage-Displays erregen mit Sicherheit Aufmerksamkeit, und das nicht nur, weil sie gut aussehen. Dieses
Projekt, das die 1960er Jahre mit SMDs, WLAN und Internet verbindet, ist auch dermaßen laut, dass der Lauf
der Zeit garantiert nicht unbemerkt bleibt...
In Elektor gab es in der Vergangenheit Wunsch im europäischen oder im Im wirklichen Leben sind die Dinge etwas
zahlreiche Projekte mit „Vintage“-Anzei- US-Format. komplizierter. Es gibt weitere Schalter
gen wie Nixie-Röhren, Numitrons, Deka- am Zählwerk, zum Beispiel einen Kon-
trons, VFD-Röhren, aber bisher nur ein Elektromechanik takt, der meldet, ob die Trommel ihren
einziges Thermometerprojekt mit elek- Die meisten Flipper, die von Mitte der Vorwärtsschritt beendet hat, einen, der
tromechanischen Flipperzählwerken [1], 1950er Jahre bis Mitte der 1970er Jahre sich in Position „9“ schließt (Übertrag in
gefolgt von einem Remake mit einem gebaut wurden, besitzen elektromecha- die höhere Dekade), und einige Trom-
Flipper-Kreditzählwerk zur Tempera- nische Zählwerke (auch bekannt als meln können sogar jede Ziffernposition
turanzeige [2]. Höchste Zeit für eine Score-Drums) zur Anzeige des Punktes- für Freispielpunkte und die sogenannte
neue Idee! Diesmal fabrizieren wir eine tands eines Spielers. Das Funktionsprin- Match-Funktion registrieren. All diese
Uhr mit „normalen“ Zählwerken. Das ist zip hat sich im Laufe dieser Jahre nicht Kontakte verwenden wir in unserem Pro-
zwar nicht gerade das originellste Recy- wesentlich verändert: Ein Impuls wird jekt nicht. Die Spule und der Nullschalter
cling dieser alten Displays, aber das Pro- an eine Spule gelegt, wodurch das Zähl- sind die einzigen elektrischen Teile, die
jekt weist einen hohen Spaßfaktor auf. werk einen Schritt hochzählt. Ein Schal- für unsere Uhr von Interesse sind.
Zu Ehren des ursprünglichen Ein- ter erkennt die Nullposition der Trommel Die Zähltrommeln haben sich im Laufe
satzzwecks der Zähltrommeln in Bars, und ermöglicht es dem Gerät, zu Beginn der Jahrzehnte geändert, vor allem in der
Kellern und Cafés verbirgt sich im Projekt eines neuen Spiels die Punktzahl auf Null Größe. Der Durchmesser wurde von 5“
ein einfacher Flipper, der auf Ihrem Com- zurückzusetzen. Anfang der 60er Jahre auf 4“ und spä-
puter oder einem mobilen Gerät gespielt
werden kann.
Es gibt eine Flut von Flipperuhren-Designs
im Internet (Stichwort: pinball clock),
aber soweit wir wissen, ist diese eine
der modernsten und zugleich anachronis-
tischsten aller Zeiten, mit einem ESP8266,
der die Uhr über WLAN mit dem Internet
verbindet, um Zeit und Datum zu syn-
chronisieren. Alle Einstellungen der Uhr
können über WLAN (Smartphone, Tablet
oder PC) abgerufen und geändert werden.
Zeit und Datum lassen sich aber auch
manuell einstellen. Ein batteriegepuffertes
Echtzeituhr-IC namens DS3231 sorgt für
die korrekte Uhrzeit mit einem maximalen
Fehler von 5 ppm, auch bei ausgeschal-
teter Stromversorgung.
Sie können ein tägliches (oder besser
gesagt nächtliches) Intervall einstellen,
in dem sich die Uhr ruhig verhält: Die
Zählwerke und die Glockenspiele sind
dann nicht aktiv. Alternativ können Sie
die Anzeige auch manuell ein- und aus-
schalten (oder Sie ziehen einfach den
Netzstecker).
Während des normalen Betriebs wird
die Zeit entweder im 12- oder 24-Stun-
den-Format angezeigt. Das Datum
erscheint alle 30 Minuten, ganz nach
CH1
CH2
CH3
RL1
RL2
RL3
RL4
V+
V+
Dokument geht es um die permanente
K2 K5
1 2 3 4 5 1 2 3 4 Versorgung von Wechselspannungsrelais
V+ V+
mit Gleichstrom; in unserem Projekt (und
D
T1
D
T2
D
T3
D
T4
D
T5
D
T6
D
T7
in Flippern natürlich auch) werden (die
LED2
G G G G G G G meisten) Magnete aber nur mit kurzen
R15 S R16 S R17 S R18 S R20 S R22 S R25 S
FAULT Impulsen versorgt, so dass eine Über-
1k 1k 1k 1k 1k 1k 1k
R3 R6 R10 R12 R19 R21 R24 R27 hitzung der Spulen unwahrscheinlich ist.
Schaden könnte eine Spule nur bei einem
1k
100
100
100
100
100
100
100
CH1
CH2
CH3
10H
1H
10k
10k
10k
10k
10k
VSS
SCLK
MISO
MOSI
CS0
VCC
bei Bally-EM-Geräten 50 VAC. Alle Sco-
C6
4k7
4k7
2 K6
VCC
4
3V3
re-Trommeln funktionieren auch mit
3 7 3
INT/SQW SDA
8 2
SDA etwa 35 VDC gut, für Gottlieb- und Wil-
IC2 SCL SCL
1
32KHZ BT1
1
GND
liams-Versionen reichen sogar noch nied-
4 6
RST VBAT rigere 20 VDC aus.
DS3231MZ+
GND CR2032
F1 2A 5 NTF3055L108 Werden wir elektronisch!
SOT-223
V+ 4 VCC DRAIN Das Schaltbild der Flipperuhr in Bild 1
D2 D4
K4 2 FEEDBACK
L1
ist nicht allzu kompliziert, aber lassen
1
IC1 2
4x S3J INPUT OUTPUT
MSS7341 R4 R7
Sie uns trotzdem alle Einzelteile näher
LM2576
1 GATE SOURCE
erläutern.
1k
2k7
D3 D1 HVS-ADJ DRAIN
C1 C8
GND ON/OFF
D5
C4 Die Stromversorgung der Uhr besteht aus
4700 100n 3 5
MBRS540 100
R5
LED1 einem 2×12-V-Ringkerntransformator,
50V 16V
1k6
160mAT (230V)
des Typs NTF3055 gesteuert. Sie weisen 24VAC
320mAT (115V)
AC POWER R28
1k2
eine ausreichend niedrige Vth-Spannung
1 MIN.
auf, um mit der niedrigen Gate-Span- D9
Anzeige
Profil - Gehäuse
Standard und Kühlkörper
www.hammondmfg.com/1455.htm
www.hammondmfg.com/1455NHD.htm
+ 44 1256 812812
sales@hammondmfg.eu
Manchmal benötigt man in einem Projekt gleichzeitig einen FPGA und eine klassische CPU, mit der sich
auch komplexe Programmflüsse einfach programmieren lassen. Eine Lösung ist ein Prozessor, der in einem
FPGA realisiert ist. Man kann sich solch einen „Softcore” kaufen, was aber oft nicht
ganz billig ist. In diesem Projekt wird eine einfache CPU für FPGAs im
Selbstbau vorgestellt; dank offenem Quellcode lässt sie sich
an eigene Bedürfnisse anpassen. Hierzu gehört
ein DIY-C-Compiler, der ebenfalls
erweitert werden kann.
In der Artikelserie
zum Projekt wird die
Theorie wie üblich
von vielen praktischen
Beispielen ergänzt.
Arbeitet man mit FPGAs und normalen CPUs, stellt man fest, dass realisiert werden soll, sind klassische CPUs klar im Vorteil.
FPGAs da vorteilhaft sind, wo man einen hohen Grad an Paral- In vielen Projekten findet man deshalb einen FPGA und einen
lelität braucht, wobei der Flow Of Control bei vielen FPGA-Pro- Mikrocontroller. Alternativ kann man eine CPU selbst im
jekten relativ einfach ist. Wenn ein komplizierter Programmfluss FPGA realisieren. Solche „Softcores” werden häufig von den
FPGA-Herstellern bereitgestellt. Dabei handelt es sich meistens
um eine proprietäre Software, die manchmal schon ziemlich
Das MAX1000-Board teuer sein kann.
• Intel MAX®10 10M08SAU169C8G FPGA Hier setzt das Small C Compiler CPU Project (SCCCP) an. Vor-
• Arrow USB Programmer2 gestellt wird eine einfache CPU, die man, da der Quellcode
• 64 MBit SDRAM (16-Bit-Datenbus) offenliegt, selbst an eigene Anforderungen anpassen kann.
• 64 MBit Flash Als Nächstes braucht man eine Sprache, um die CPU zu pro-
• 12-MHz-MEMS-Oszillator grammieren. Hier ist ein Compiler entstanden, der eine Unter-
• Optionaler MEMS-Oszillator menge der Sprache C (genannt smallC) übersetzen kann, die
• 8 rote User-LEDs auf Integer-Variablen basiert. Auch der Compiler lässt sich
• 2 Indikator-LEDs noch erweitern.
• 2 User-Buttons
• 3-Achsen-Beschleunigungssensor Hardware
• 12-Pin-PMOD-Steckverbinder einlötbar Als Hardware kommt in diesem Projekt das MAX1000-Board
• Arduino-MKR-Steckverbinder einlötbar von Arrow (unter 30 Euro [1]) zum Einsatz. Es ist mit einem
• JTAG-Steckverbinder einlötbar MAX10-FPGA von Intel/Altera, einem USB-Programmierinter-
• 3-Pin-I/O-Steckverbinder einlötbar face, zwei User-Buttons, acht User-LEDS und verschiedenen
Erweiterungssteckverbindern ausgestattet (siehe Kasten).
Geschichtliches
Eine CPU zu designen und (dazu noch einen passenden Com- CPU
piler) ist natürlich kein Projekt, das an einem Nachmittag Memory
SFRs
erledigt ist. Da ist es gut, wenn man von Anfang an ein ver-
nünftiges Design wählt. Die Inspiration zum SCCCP stammt FPGA
vom „small C”-Projekt von Ron Cain (Ron Cain, „A Small
C Compiler for the 8080’s”, Dr. Dobb’s Journal, April–May
1980, pp. 5–19).
Er hat ein einfaches aber doch recht leistungsfähiges C-Subset Bild 1. Der C-Compiler setzt das C-Programm in Maschinensprache um
entwickelt; es wird dabei Code für den 8080 bzw. Z80 erzeugt. und erstellt das File „codemem.txt”. Der Zahlencode wird in das RAM des
Dabei werden nur relativ wenige verschiedene 8080-Befehle FPGAs geladen, wo er von der synthetisierten CPU abgearbeitet wird.
Bild 2. Die kleine Entwicklungsumgebung mit Compiler und Simulator ist in Java geschrieben.
Wie man sieht, wird für jeden einzelnen Befehl der Inhalt aller if( sCstate==sCstateFetch ) begin
Register angezeigt, sowie auch der Mnemonic des jeweiligen sCinstruction <= sCcodeMem[sCregPC] ;
Befehls. Man erhält also detaillierte Informationen. Allerdings sCregPC <= sCregPC + 1'b1 ;
ist man nun teilweise von dem Wust an Informationen erschla- sCstate <= sCstateDecode1 ;
gen. Da muss man kreativ werden, um sich nur die Information end
anzeigen zu lassen, die man braucht. Manchmal ist allerdings
so viel Information nötig, um einen Fehler einzugrenzen. Ein Im Zustand sCstateDecode wird der Befehl dekodiert; dann
Problem ist dabei oft, dass die Simulation nicht alle Aspekte wird mit der eigentlichen Ausführung begonnen. Eine Reihe
eines Programmlaufes widerspiegeln kann, weil es einfach zu Befehle werden auch bereits vollständig bearbeitet. Für die
aufwändig ist, alle Aspekte des realen Designs abzubilden. Man Befehle NOP und LDI sieht der Verilog-Code wie in Listing 5
stelle sich z.B. vor, dass man im echten Design Funksignale aus (als nächster Zustand wird wieder sCstateFetch gesetzt,
analysiert. Man müsste dann die Funksignale mit korrektem was den nächsten Befehl beginnt).
Timing simulieren, was aber oft zu aufwändig ist. Es gibt natürlich auch komplexere Instruktionen. Die Instruktion
LDPUSH aa bringt den Wert, der auf Adresse aa steht, auf den
Will man aber z.B. Fehler in der CPU-Simulation finden, ist Stapel und nach R0. Im Zustand sCstateDecode1 wird der Wert
der Icarus-Verilog-Simulator wirklich wertvoll. Mit ihm wurden von aa in den Zwischenspeicher readAddress gebracht. Darauf
diverse Fehler in der CPU erkannt und anschließend beseitigt. folgt der Zustand sCstateReadMemAt3. Da wird im Datenspeicher
gelesen und der gelesene Wert wird ins R0-Register gebracht.
Programmierung der CPU in Verilog Gleichzeitig wird der Schreibvorgang im Stapel vorbereitet,
Nun soll anhand einiger ausgewählter Befehle erklärt werden, indem die Variable writeAddress den Wert des Stapelzeigers
wie die SCCCP-CPU in Verilog realisiert wird. Die Befehle werden sCregSP-1 erhält; dieser Wert wird auch als neuer Wert von
in einem endlichen Automaten (finite state machine) abgear- sCregSP gesetzt. Als zu schreibender Wert writeValue wird der
beitet; Bild 3 zeigt das von Quartus generierte Zustandsdia- gelesene Wert verwendet. Das Schreiben könnte man nun in
gramm. Die erste Phase heisst sCstateFetch; in ihr wird nur einem 4. Zustand erledigen. Da unsere CPU aber eine modi-
der Befehl geladen und der Programmcounter (sCregPC) um fizierte Hardwarearchitektur aufweist, können wir gleichzeitig
1 erhöht. Als nächster Zustand wird sCstateDecode1 gesetzt. auf den Datenspeicher und den Codespeicher zugreifen. Der
In Verilog sieht das dann wie folgt aus: noch ausstehende schreibende Zugriff auf den Datenspeicher
Weblinks
[1] MAX1000 Board: https://shop.trenz-electronic.de/de/Produkte/Trenz-Electronic/MAX1000-Intel-MAX10/
[2] MAX1000-Board Manual mit Quartus Installationsanleitung: www.trenz-electronic.de/fileadmin/docs/Trenz_Electronic/Mo-
dules_and_Module_Carriers/2.5x6.15/TEI0001/User_Guide/MAX1000%20User%20Guide.pdf
[3] „Verilog Basics”, Elektor 1-2/2019: www.elektormagazine.de/180562-01
[4] Projektseite mit Softwaredownload: www.elektormagazine.de/180394-01
[5] Simulator Icarus Verilog: http://iverilog.icarus.com
[6] Installationsanleitung zu Icarus: http://iverilog.wikia.com/wiki/Installation_Guide
if( sCstate==sCstateDecode1 )
readAddress <= sCoperand1 ;
sCstate<=sCstateReadMemAt3 ;
instruction=ram[regPC] ;
opcode=(instruction>>32) & 0xFF ; // 8 Bit opcode
operand1=instruction & 0xFFFFFFFF ; // 32 Bit immediate operand1
switch(opcode){
case(ccNOP) : { return ;}
case(ccLDI) : { regR0=operand1 ; return ;}
case(.ccLDPUSH) : { regR0=readDataMemX(operand1) ;
regSP-- ;
writeDataMemX(regSP,regR0) ;
return ;}
im elektor-shop
ªMAX1000 FPGA-Entwicklungsboard
www.elektor.de/max1000
ªE-Book: „Microprocessor Design Using Verilog HDL”
www.elektor.de/
microprocessor-design-using-verilog-hdl-e-book
Lüftersteuerung
Analog oder Arduino?
Es liegt in der Natur der Sache, dass Elektronik Wärme produ- Analog
ziert. Wenn die abzuführende Wärmemenge gering ist, genügt In der Schaltung, die Bild 1 zeigt, dient Transistor T1 als
meistens eine passive Kühlung mit einem nicht allzu ausge- Temperatursensor. Die Spannung am Basis-Emitter-Übergang
dehnten Kühlkörper. Höhere umzusetzende Verlustleistungen von T1 ändert sich mit einem Faktor von etwa –2,2 mV/K.
erfordern voluminösere Kühlkörper, doch dem sind in der Praxis Die Basisspannung von T1 wird über den Spannungsteiler R4/
Grenzen gesetzt. Dann kann eine aktive Kühlung mit einem R5 angehoben. Komparator U1.A, ein LM358, vergleicht diese
elektrisch betriebenen Lüfter die bessere Lösung sein. Dieser Spannung mit der am Abgriff des Trimmpotis R1 liegenden
Beitrag zeigt, wie sich ein elektrischer Lüfter abhängig von der Spannung. Durch Einstellen des Potis R1 lässt sich das Ver-
Wärmeentwicklung steuern lässt. halten der Lüftersteuerung ändern. An R1 (zusammen mit LED
D1, blau oder grün) liegt die Spannung der Zenerdiode D2.
Prinzip Die Spannung wird zunächst auf 7,5 V begrenzt. Die Schaltung
Die analoge Steuerung ist mit diskreten Bauelementen besitzt folgende Eigenschaften:
aufgebaut, während die digitale Version ein Mikrocontrol-
ler-Board Arduino Pro Mini mit einem dafür geschriebenen • Die Zenerdiode hat einen Wert, bei dem der Temperatur-
Programm (Sketch) verwendet. Bei beiden Varianten steu- koeffizient minimal ist, und die LED hat einen negativen
ert ein pulsbreitenmoduliertes Rechtecksignal (PWM) über Temperaturkoeffizienten. Die Spannung an Trimmpoti R1
einen Leistungstreiber den Lüftermotor. Durch Hinzufügen folgt dem positiven Temperaturkoeffizienten des Wider-
einer Induktivität, einer Diode und eines Kondensators erhält stands R2, der den LED-Strom begrenzt. Mit R2 wird die
die Treiberstufe ähnliche Eigenschaften wie eine schaltende Umgebungstemperatur des Lüfters berücksichtigt.
Stromversorgung. • T1 hat einen negativen Temperaturkoeffizienten, er ist für
10k
M
R8
7V5 D4 2 2
16V 12V
330k
1N4001 L1
R1 R11
5k 100k
3
D3 R9
1 5 T2
R6 U1.A 3k3 R13
2 7
1k 1N4148 U1.B 3k3
R4 6
R7
BDxxx
2k2
100k R12
T1 100k
R5 R10
U1 = LM358 C1
2k2
10k
BDxxx
47n
+12V D7 D5
7812
U2 D5...D8 = 1N4001
8 C3 C5 C4 C7 C6
U1 D8 D6
4 10 50 100n 100n 250
16V 16V 25V
170201-008
Bild 1. Die analoge Version arbeitet mit einem LM358 als astabilem Multivibrator.
die Temperatur des zu kühlenden Objekts zuständig. In den Eingang niedriger, muss die Ausgangsspannung für eine
der Bilanz hängt die Differenzspannung sowohl von der bestimmte Zeit hoch sein, damit der Opamp kippt. Auf diese
Temperatur des zu kühlenden Objekts als auch von der Weise kann der Duty-Cycle verändert werden. Eine niedrige
Umgebungstemperatur ab, so dass die steuernde Span- Eingangsspannung hat einen hohen Duty-Cycle zur Folge, und
nung mit höheren Umgebungstemperaturen ansteigt und umgekehrt.
der Lüfter schneller läuft.
• Die LED signalisiert, dass die Lüftersteuerung in Betrieb ist. Der Simulator TINA von Texas Instruments [2] kann das Ver-
halten der Opamp-Kippstufe perfekt simulieren. In Bild 2 ist
Die vom Temperatursensor T1 kommende Spannung wird von die Schaltung dargestellt, mit der die Simulation durchgeführt
Opamp U1.A um den Faktor 100 verstärkt. Die hohe Verstär-
kung hat zur Folge, dass schon geringe Temperaturschwan-
kungen spürbare Auswirkungen auf die Lüfterdrehzahl haben.
Falls dies nicht notwendig oder nicht erwünscht ist, kann die
Verstärkung mit den Widerständen R6 und R7 herabgesetzt
werden. Mit niedrigeren Werten für R7 sinkt die Verstärkung.
Wenn R7 durch ein Trimmpoti ersetzt wird, ist die Verstärkung
variabel. Mit einem Trimmpoti 100 kΩ lässt sie sich ungefähr
im Bereich 1...100 einstellen.
Opamp U1.B, der zweite Opamp des LM358, ist als astabile
Kippstufe geschaltet, auch astabiler Multivibrator genannt. Der
nicht invertierende Eingang liegt über R9 und D3 am Ausgang
von U1.A, er ist außerdem mit dem Spannungsteiler R8/R10
verbunden. Erläuterungen zur Arbeitsweise eines Opamps als
astabile Kippstufe geben diverse Webseiten im Internet, bei-
spielsweise [1].
Der Duty-Cycle der astabilen Kippstufe hängt von der Spannung
ab, die am nicht invertierenden Opamp-Eingang liegt. Wenn
die Spannung gleich der halben Betriebsspannung ist, beträgt Bild 2. In TINA-TI von Texas Instruments lässt sich die analoge Steuerung
der Duty-Cycle 50 %. Ist die Spannung am nicht invertieren- simulieren.
C1 D2 D3
100n R1 R2
RX1
GND
GRN
BLK
TX0
VCC
M1
3k3
3k3
C4
RAW TX0 M
GND RX1 D4 47
U1 16V 12V
RST RST
A3 GND 1N4001 L1
A5
A2 D2
A4
A1 D3
J1 A0 D4
R5 D13 D5
D1 A7
3k3 D12 D6
A6
D11 D7
1N4148 D10 D8 T2
R13
VCC D9 3k3
C2
Arduino Pro Mini BD135
100n
+12V D7 D5
7812
U2 4x 1N4001
C6 C5 C7 C8
D8 D6
10 100n 100n 250
16V 25V
170201-009
Bild 4. Hier wird das pulsbreitenmodulierte Signal von einem Arduino Pro Mini erzeugt, die Treiberstufe ist mit der analogen Version nahezu identisch.
schlossen werden können. Außerdem sind noch einige Kon- Gegebenenfalls ist ein spannungsfesterer Transistor mit
densatoren für den Betrieb des 7812 erforderlich. Die Strom- Kühlung erforderlich. Auch die Spannungsfestigkeit von C4
versorgung soll eine Leistung haben, die den Nennstrom des muss ausreichend bemessen sein.
Lüfters um etwa 100 mA übersteigt.
Der Arduino Pro mini wird ebenfalls vom 7812 mit der Span- Zum Schluss
nung 12 V versorgt. Er hat einen Spannungsregler an Bord, Die Bilder der Schaltungen wurden mit Ulticap 5.72 erstellt,
der die Spannung für den Mikrocontroller auf 5 V reduziert. Die die Platinen wurden mit Sprint 5 entworfen. Der Autor hat
Spannung +5 V ist auch am VCC-Anschluss des Board verfüg- die Software als Arduino-Sketch zur Verfügung gestellt. Der
bar. Davon wird Gebrauch gemacht, um den Temperatursensor Arduino kann mit der kostenlosen Arduino-IDE [5] program-
mit Spannung zu versorgen. miert werden. Die Ulticap-Zeichnungen, die Sprint-Layouts
und der Arduino-Sketch warten auf der Projektseite [4] auf
Platinen den Download.
Der Autor hat für die Lüftersteuerung zwei Platinen entworfen, 170201-03
die Layouts können von der Projektseite [4] heruntergeladen
werden. Die Platine der digitalen Version wurde gegenüber der
analogen Version um einige Eigenschaften erweitert:
Antworten von Ilse Joostens Trotz seiner Festigkeit lässt es sich gut schiedenen Holzarten. Es ist fester als
mechanisch bearbeiten, mit weniger MDF, dünne Platten neigen jedoch dazu,
Bruchgefahr als bei PMMA. sich zu verbiegen, wenn die Luftfeuch-
A
Die Auswahl an Materialien, die gut als Schutzfenster für Displays, es ist stärke begrenzt ist, sind auch Laser-
sich für den Gehäusebau eignen, kratzfester als PMMA. schneiden und Lasergravieren möglich.
ist vielfältig. An dieser Stelle beschrän- • Polyvinylchlorid (PVC, Vikupor) Starke Multiplex-Platten (>10 mm) kön-
ken wir uns auf die gebräuchlichsten, gut PVC-Platten sind als Hart-PVC-Platten nen nur mit Lasersystemen hoher Leis-
verfügbaren und leicht bearbeitbaren und Schaumplatten in verschiedenen tung sauber geschnitten werden, da
Materialien. Stärken und Farben erhältlich. Die Hart- sonst die Schneidkanten verkohlen. Für
• PMMA, Polymethylmethacrylat PVC-Platten sind sehr formstabil und wei- das Laserschneiden und Gravieren wird
(Acrylat, Plexiglas, Perspex) sen eine hohe chemische Beständigkeit insbesondere Sperrholz aus „leichten“
PMMA ist in einer Vielzahl von Farben und auf. Lasergravur und Laserschneiden Hölzern wie Birke oder Pappel empfoh-
Stärken erhältlich, sowohl transparent sind für dieses Material ein absolutes len (Bild 1). Sperrholz aus tropischem
als auch halbtransparent oder undurch- No-Go, da dabei Chlorwasserstoff frei- Hartholz führt eher zu enttäuschenden
sichtig. Wichtig ist, dass PMMA in zwei gesetzt wird. Das ist ein stark reizendes Ergebnissen.
Varianten erhältlich ist: Gegossen (GS) und giftiges Gas, das in Kontakt mit Was- • MDF (Medium-Density Fibreboard)
und extrudiert (XT). Was sich am bes- ser Salzsäure bildet und die Laserschnei- MDF ist mechanisch sehr leicht zu bear-
ten eignet, hängt von der Anwendung demaschine angreift. Die mechanische beiten und mechanisch stabil, es verzieht
und der vorgesehenen Verarbeitung ab. Bearbeitung ist problemlos möglich. sich nicht. Laserschneiden ist bei dünnem
Im Gegensatz zu extrudiertem PMMA, das Da PVC flammwidrig und selbstverlöschend Material möglich, doch die Schneidkan-
zwischen Rollen auf Dicke gewalzt wird, ist, eignet es sich als Material für Produkte, ten sehen dunkelbraun bis schwarz aus
treten bei gegossenem PMMA erhebliche die dem Bereich Leistungs- und Netzspan- (siehe Bild 2).
Toleranzen bis etwa ±15 % auf. Wenn nungselektronik zuzuordnen sind. • Aluminium
die mechanischen Abmessungen und • Sperrholz, Multiplex Aluminium lässt sich nur mecha-
die Passgenauigkeit für eine Konstruk- Sperrholz ist eine Sammelbezeichnung nisch bearbeiten. Laserbearbeitungen
tion wichtig sind, muss dieser Eigenschaft für laminiertes Plattenmaterial aus ver- beschränken sich auf das Markieren von
Rechnung getragen werden. Dann ist das
extrudierte PMMA vorzuziehen.
Gegossenes PMMA lässt sich leichter
mechanisch bearbeiten (Bohren, Sägen,
Fräsen, ...) und liefert bessere Ergebnisse
bei der Lasergravur (Frost-Look). Für das
Laserschneiden ist nach unserer Erfah-
rung extrudiertes PMMA wegen des nied-
rigeren Schmelzpunkts besser geeignet.
Die Schneidkanten können einen flamm-
polierten Effekt haben, gegossenes PMMA
hat oft raue Schneidkanten [1].
• Polycarbonat (Lexan)
Polycarbonat ist wie PMMA in verschiede-
nen Stärken erhältlich, jedoch mit einer
geringeren Farbauswahl. Es ist robust, Bild 1. Dünne Multiplex-Platten (Sperrholz) Bild 2. Beim Schneiden von Holz oder MDF
schlagfest und 250 Mal stärker als Glas. eignen sich gut zum Laserschneiden. entstehen braune Schneidkanten.
A
Früher standen nur die klassischen
mechanischen Verfahren wie
CO2-Lasersysteme: Im Gegensatz zu
den 3D-Druckern und CNC-Fräsmaschi- Q Welche Software kann ich
verwenden?
Sägen, Bohren oder Feilen zur Wahl, es
sei denn, die Kosten waren nebensäch-
nen sind die Preise für Laserschneide-
maschinen weiterhin auf recht hohem A Für den 3D-Druck sind eine Reihe
freier Programme verfügbar, die
lich. Inzwischen wurden fortgeschrittene Niveau. Neben professionellen Produk- Auswahl an Open-Source-Software ist
Techniken auch für das kleine Budget tionsmaschinen mit Metall-HF-Laserrohr groß. Beispiele sind Blender, SketchUp,
zugänglich. Hier eine Übersicht: sind auch Low-Cost-Lasersysteme mit SolidWorks, Fusion 360, Inventor oder
• 3D-Druck Glaslaserrohr für den semiprofessionel- TinkerCAD. Einige Programme eignen
3D-Drucker sind seit vielen Jahren len Einsatz auf dem Markt. Wer von den sich auch für das 3D-CNC-Fräsen, natür-
beliebt und oft erste Wahl, wenn ein Preisen abgeschreckt wird, aber kein lich muss auch die CNC-Maschine für die-
Gehäuse nach Maß gefertigt werden Risiko scheut, kann eine Laserschneide- sen Zweck geeignet sein. Viele kosten-
muss. Der 3D-Druck ist erschwinglich maschine in China ordern. Es ist auch günstige CNC-Fräsmaschinen unterstüt-
geworden, auf dem Markt werden viele möglich, das Laserschneiden auszula- zen anstelle von echtem 3D nur 2.5D.
preisgünstige 3D-Drucker-Modelle ange- gern, indem ein spezialisiertes Unter- Das bedeutet dass eine 3D-Struktur aus
boten, und die Auswahl an kostenlo- nehmen beauftragt wird, die eigenen 2D-Ebenen aufgebaut wird.
ser Open-Source-Software ist umfang- Entwicklungen zu produzieren. Wenn Volle 3D-Funktionalität ist nicht immer
reich. Ein Schwachpunkt ist allerdings, es um CNC-Fräsen oder 3D-Druck geht, sofort erforderlich, oft genügt zunächst
dass diese Technik zum Herstellen einer ist dies natürlich ebenfalls möglich. Auch ein 2D-CAD-Programm oder ein (vek-
größeren Anzahl identischer Produkte der Besuch eines FabLab- oder Hacker- torielles) Zeichenprogramm wie Draft-
(Serien) zu langsam ist und die Materi- space-Portals kann zum Erfolg verhelfen. Sight, AutoCAD LT, InkScape, CorelDraw
alkosten ein hohes Niveau haben. Dem Ein Tipp am Rand: Die Rastergravur mit oder Adobe Illustrator. Produzieren in 3D
steht gegenüber, dass auch das Anfer- einer Laserschneidemaschine braucht viel kostet auf einer CNC-Maschine ebenso
tigen hochkomplex gestalteter Produkte Zeit. Wenn es auf Schnelligkeit ankommt, wie der 3D-Druck viel Zeit. Der Aufbau
möglich ist. sollte möglichst viel vektoriell (mit Linien) eines dreidimensionalen Gehäuses aus
• CNC graviert werden. einfacheren 2D-Teilen ist schneller, er
Wie bei den 3D-Druckern steigt auch • Thermoformen lässt sich auch auf Kleinserien anwen-
das Angebot preisgünstiger CNC-Fräs- Thermoplastische Kunststoffe können den. Durch Aufbringen von Materialien
maschinen, auch sie werden als Bau- durch lokales Erhitzen erweicht und in in Schichten können auch komplexe
sätze angeboten. Die Entwicklung ver- die gewünschten Formen gebracht wer- Gehäuse mit professionellem Aussehen
läuft im Vergleich zu den 3D-Druckern den. Zum Erweichen können Heißluft, entstehen.
noch steiler. Die CNC-Maschinen der Heizöfen oder auch Laserschneider die-
gehobenen Klassen können zahlreiche
unterschiedliche Materialien verarbeiten.
nen. Mit dem Laserschneider wird das
Material vom Laserstrahl, der sich unfo- Q Wie kann ich die
Komponenten eines
Für den semiprofessionellen Bedarf sind kussiert schnell bewegt, in der Fläche Gehäuses verbinden?
auch kostengünstige, manuell zu bedie-
nende Fräsmaschinen auf dem Markt.
erhitzt. Anschließend kann die Schwer-
kraft wirksam werden (Laser-Origami). A Die gebräuchlichsten Verbindungen
sind Befestigungselemente, Klam-
Ihre Stärke ist zum Beispiel das gele- Das mag etwas umständlich sein, führt mern, Klicksysteme und Klebstoffe.
gentliche Fräsen von Durchbrüchen in aber zum Ziel. • Befestigungselemente
Frontplatten. Beim Vakuumformen wird eine Folie aus Zu den Befestigungselementen zählen
A
Verbinder. Diese Methode generiert zwar dungen spontan lösen. Living hinges sind flexible Schar-
zusätzliche Kosten für die Befestigungs- • Klicksysteme niere, die zwei starre Teile verbin-
materialien, sie hat jedoch den Vorteil, Hier werden gezahnte Laschen verwen- den und aus dem gleichen Material wie
dass das Gehäuse später bei Bedarf leicht det, die beweglich sind, weil sich das die starren Teile bestehen. Ein Beispiel
demontiert werden kann. Die einfachste Material verbiegen kann. Die Lasche wird ist das Scharnier des Deckels einer Tic-
Methode besteht darin, das Gehäuse mit gebogen und durch ein Loch gedrückt, so Tac-Box. Durch Laserschneiden oder -frä-
einer Kombination aus Laschen, Distanz- dass der gezahnte Teil einrastet, nach- sen können Kunststoffplatten mit einem
stücken und Bolzen zusammenzuhalten dem er das Loch passiert hat [6]. Dies Kerbenmuster versehen werden, so dass
(Bild 4). Für rechtwinklige Verbindun- ist ein anfälliges Verfahren, insbesondere ein Teil oder die gesamte Platte biegsam
gen kann ein „T-Schlitz“ (Bild 5, [3][4]) wenn empfindliche Materialien wie PMMA und flexibel wird (Bild 7). Das ist mög-
vorgesehen werden, auf den eine zweite verwendet werden und das Material nicht lich, weil auch starre Materialien noch
Platte im Winkel von 90° aufgesetzt wird. für mehrfache Montage und Demontage eine gewisse Flexibilität besitzen. Die
Dabei ist wichtig, die Schraube nicht zu geeignet ist. Anwendungen dieser Technik sind
fest anzuziehen. • Kleben äußerst vielfältig, neben Scharnieren und
• Klemmen Klebeverbindungen können sehr fest sein, flexiblen Verbindungen gehören auch
Klemmverbindungen [5] können mit sogar so fest wie das geklebte Material. Teile mit runden Formen dazu. Bei Bedarf
Laschen und Aussparungen oder mit Oft werden spezielle Produkte benötigt, können die Kerben auch als zierende
Zahnverbindungen hergestellt werden. und manchmal müssen spezielle Tech- Muster gestaltet werden. Das Laser-
Die Lasche oder ein Teil davon wird mini- niken beherrscht werden. Verbindungen schweißen oder Fräsen von Living hinges
mal größer als das Gegenstück bemes- dieser Art sind normalerweise endgültig, kann einige Zeit in Anspruch nehmen,
sen, in das sie passen muss, damit die und es gibt nur einmal die Chance, ein und Living hinges sind manchmal zer-
Verbindung hält. Bei Zahnverbindungen Teil korrekt zu befestigen. Beim Laser- brechlich [7][8].
sorgt eine geringe Differenz in der Größe schneiden von PMMA entstehen Span- 180685-D-03
zwischen Zähnen und Nuten für den fes- nungen im Material, die beim Kleben zu
ten Halt. Oft sitzen Klemmverbindungen Rissen führen können (Bild 6). Um dies
extrem fest. Das Lösen solcher Verbin- zu verhindern, muss PMMA vor dem Kle-
dungen, ohne Schäden zu hinterlassen, ben durch Hitze entspannt werden.
Weblinks
[1] Kurzanleitung Acrylglas: https://makezine.com/2015/10/29/skill-builder-acrylic/
[2] Video zum Thermoverformen: https://www.youtube.com/watch?v=P8a2KrEOzxU
[3] Acrylglas-Verbindungen: http://www.ponoko.com/blog/how-to-make/how-to-make-snug-joints-in-acrylic/
[4] Schraubverbindungen: https://www.instructables.com/id/How-to-Make-Anything-Using-Acrylic-and-Machine-Sc/
[5] Klemmverbindingen: https://www.ponoko.com/blog/how-to-make/how-to-create-better-nodes/
[6] Klicksysteme: https://www.defproc.co.uk/blog/2013/so-whats-a-practical-laser-cut-clip-size/
[7] Living hinge auf Wikipedia: https://en.wikipedia.org/wiki/Living_hinge
[8] Mehr über Living hinges: https://www.rs-online.com/designspark/laser-cut-living-hinges-for-neater-designs
Schrittmotor-Steuerung
mit Antiresonanz-Technik
Höherer Wirkungsgrad und weniger Vibrationen
bei Schrittmotoren
Von René Merz (Magnetron.ch)
Schrittmotoren sind aus der modernen Elektromechanik nicht mehr wegzudenken. Man findet sie überall,
vom 3D-Drucker über Festplatten bis hin zu einer Vielzahl an Maschinen. Schrittmotoren haben aber auch
nichtideale Seiten, darunter Resonanzphänomene und einen durchaus optimierbaren Wirkungsgrad. Dieser
Beitrag zeigt, wie man dem begegnen kann.
Schrittmotoren gibt es von klein bis groß, mit unterschiedlichs- dabei jenseits optimaler Bedingungen, also bei hohen Frequen-
ten Schrittweiten, Frequenzbereichen und Bauarten – passend zen und geringen Lasten betrieben, wo störende Phänomene
zur jeweiligen Anwendung. Gerade Hybrid-Schrittmotoren und wie mechanische Resonanzen besonders gerne auftreten. Für
Klauenpol-Varianten werden zunehmend bei 3D-Druckern in einen optimierten Schrittmotorbetrieb sollte daher schon in
den Linearantrieben mit Spindeln eingesetzt. Häufig werden sie der Ansteuerung diesen Phänomenen Rechnung getragen und
ihnen möglichst schon begegnet werden. Im Folgenden geht
es daher um die Demonstration einer solchen Ansteuerung auf
Basis eines Raspberry Pi plus passendem HAT.
Resonanzen
Bei Schrittmotoren unterscheidet man zwischen den Eigenre-
sonanzen und einem sogenannten parametrischen Instabili-
tätsbereich. Eigenresonanzen bei Steuerfrequenzen im Bereich
von 1...300 Hz kann man durch mechanische Gegenmaßnah-
men (Getriebewahl, Dämpfung etc.) eindämmen. In diesem
Bereich erreicht ein Schrittmotor typischerweise einen Wir-
kungsgrad von < 10 %.
Oberhalb von 300 Hz (bzw. Schritte/s) treten in bestimmten
Frequenzbändern die sogenannten parametrischen Resonan-
zen auf. Hier ergeben sich in bestimmten Frequenzbereichen
Oszillationen des Rotors um seine jeweilige Schrittposition
(siehe Bild 1). Diese Rotorschwingungen können aufgrund
von Resonanz große Amplituden erreichen und so dafür sor-
gen, dass der Rotor nicht mehr synchron zur Steuerfrequenz ist
und Schritte verliert und letztlich sogar stillsteht. Ohne geeig-
nete Gegenmaßnahmen kann man daher den maximalen Leis-
tungsbereich nicht voll nutzen (siehe Bild 2). Die gestrichelte
Linie in Bild 3 zeigt, dass ohne Gegenmaßnahmen sowohl das
Drehmoment als auch die mögliche Steuerfrequenz deutlich
unter dem Möglichen bleibt.
Bild 1. Typische Rotoroszillationen bei kleinen Schrittmotoren über der
Frequenz gemessen an einem Shunt. X = 500 ms/Teilstrich und Y =
200 mV/Teilstrich. Ohne Antiresonanz-Maßnahmen ergibt sich eine Eine Lösung
Oszillationsfrequenz des Rotors von 34 Hz. Nach dem Aufschaukeln Zur Messung der Phänomene bei Resonanz kann man mit den
blockiert der Motor. Oszillationen korrespondierende Signale via Shunt (Spannungs-
Antiresonanz-Schaltung
Als praktische Demonstration des Prinzips hat der Autor die
Schaltung von Bild 6 entwickelt. Es handelt sich dabei um ein
Erweiterungsmodul (HAT) zum direkten Aufstecken auf ein
Raspberry-Pi-Board des Formats „A+“. Das steuernde Taktsi-
gnal eines externen Mikrocontrollers liegt an CLK-IN bzw. an
Pol 3 der Schraubklemmleiste X2. Nach Signalformung mit dem
Inverter von IC7 gelangt das Signal an das Monoflop IC3A,
welches auf dessen negative Flanken triggert. Am Ausgang Q
liegen dann Impulse mit der konstanten Länge von etwa 30 µs
an. Diese Impulse entladen über MOSFET T2 den Kondensator
C2 des Rechteck/Sägezahn-Wandlers um IC1A und T1...T3. Die
gesteuerte Stromquelle mit T1 bewirkt, dass C2 nach Entladung
mit T2 durch T1 mit einem linearen Strom auf seinen Maxi-
malwert geladen werden wird. Resultat ist ein recht sauberes
Bild 5. Prinzip der Antiresonanz-Schaltung. Das Signal eines Shunts wird Sägezahnsignal am positiven Eingang (Pin 3) des Komparators
zur Phasenverschiebung der Steuerimpulse genutzt. IC2A. Zusammen mit dem Modulationssignal U' am negativen
22k
1 8 IC4B IC5D
10 5 12 IC5B
2 9 & 4 11 5
6 & 13 & 4
Control-I/O
2k2
10k
4
4k7
8 RC CX
5 12 10
9 & +T Q
6 IC4A 10
T6
1 IC3B
7 3 11 9
CLK/IN 2 & -T Q
2 1 IC5A
R2 IC4D 1 R
RC CX 12 3
D12
4 6 11 2 & 13
1k
+T Q 13 &
T5 IC7 C1 BCR142
IC3A
BCR142 2 4 5 7
1 -T Q
3n3 +5V
C8 R
74LVC1G06 IC3 = 4538
3
BAV99 2n2 IC4, IC5 = 4011D
+5V
T4...T8 = BCR142 (with integrated resistors)
CLK-PM
U-SHUNT
+5V
+5V
R9 R4 R3
C18 5 6
1k
10k
56k
T3
IC7 7
100n 3
IC2B
3 5
+5V D1
1
BC848 R7 R8 IC1A
D 2 T1
16 C6 14 C7 14 10k 100k MCL4148
T2
IC3 IC4 IC5 R11
G
8 100n 7 100n 7 PULSE_30 s 100k
BC807 Test Sawtooth
BSS123 S
R6 R5 -40
SJ4 C1 C2 SJ1 IC2 = LM393D
IC1 = LM358D
4k7
R10
680
330n 10k 33n
+5V
R20
D2
1k
X4-8
+5V 3
+5V-RPI +5V MCL4148
D3 1
2
IC2A
1
MCL4148 SJ2
3
IC1 IC2
6
390
100n 4 4 100n
8
390
1k
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
R12 C4 100k
6
100k R17
GPIO22 7
GPIO23 T4 330n IC1B 1k
5
100k
R13 R15
C3 SJ3
BCR142 R19 Test: U' = f(l)
100
470n 1M
+5V
2k2
10k
3k3
22k
2 2
2 2
680p C12
R30 D4...D11 = RGL 1J
1k6
+24V
D8 D10
+24V +5V
7805DT
IC6
R35 D9 D11
C9 C10 1 2 3 4 5 6 7 8 9 10 11 12
X1
GND
GND
VBB2
DIR
OUT2B
OUT2A
REF
RC2
SENSE2
SLEEP
MS1
STEP
100
IC8 A3967SLB 2A 4
R36
1B 3
ENABLE
SENSE1
OUT1B
OUT1A
RESET
+24V
VBB1
GND
+5V
GND
100
VCC
1A 2
MS2
PFD
RC1
1
24 23 22 21 20 19 18 17 16 15 14 13
T7 D4 D6
DIR (CW/CCW)
GPIO12 +24V
BCR142
D5 D7
T8
ENABLE R31 R26 R27 R33
SJ5 C14 C13 C16
GPIO16
22k
22k
2 2
2 2
BCR142 470
Motor 680p 1
run
Ich lebe seit langem in Asien (Shenzhen in China und jetzt Hongkong) und fahre regelmäßig mit dem Fahrrad
zur Arbeit oder zum Triathlon-Training. Ich habe diese kleine Mikrocontroller-Schaltung entwickelt, damit ich
in Zukunft nicht mehr von steifen Nackenmuskeln geplagt werde. Die bekomme ich nämlich, weil ich beim
Radfahren ständig den Kopf drehen muss, um die vielen Fahrzeuge um mich herum zu beobachten.
Als ich vor (sehr) langer Zeit zur Schule fuhr und dabei die ist sogar möglich, einen dritten Sensor hinzuzufügen. Der hier
Stadt durchquerte, hatte ich kleine Spiegel rechts und links vorgestellte Prototyp (Bild 1) ist noch nicht damit ausgestat-
an meinem Fahrrad, um die vorbeifahrenden Autos zu beob- tet, aber die Software zum Download [1] kann drei Sensoren
achten. Dabei überblickte ich jedoch nur einen Teil des mich verwalten. Die genaue Ausrichtung der Sensoren ist abhängig
umgebenden Verkehrs. Deshalb habe ich mir ein Warnsystem von der Fahrtrichtung (links oder rechts), das heißt, vom jewei-
ausgedacht, mit dem ich mich voll auf die Straße vor mir kon- ligen Land. Diese müssen insgesamt nämlich, je nachdem, ob
zentrieren kann. In China und Hongkong fahren Autos und Rechts- oder Linksverkehr herrscht, ein bisschen mehr nach
Busse oft ohne Vorwarnung in alle Richtungen. Die Straßen links oder ein bisschen mehr nach rechts gedreht werden. Der
sind dazu noch sehr schmal, so dass Sie ständig auf vorbei- Grund: Als die beiden Sensoren genau symmetrisch im Winkel
fahrende Busse, Taxis und Kleinbusse achten müssen. Vorsicht von 45° rechts und links zur Fahrradachse eingestellt waren,
ist daher oberstes Gebot. stellte ich fest, dass am Straßenrand geparkte Autos falschen
Das hier vorgeschlagene System ist eine Art Radar, das aus zwei Alarm auslösen.
um 90 ° versetzten Ultraschallsensoren besteht. Sie messen Wie kann man einen Radfahrer durch einen Alarm warnen?
regelmäßig den Abstand zwischen dem Fahrradsitz und den Der Blick darf schließlich nicht von der Fahrbahn abweichen!
Fahrzeugen, die sich von hinten rechts oder links nähern. Es Ich entschied mich für zwei kleine Vibratoren, die unter dem
TRIG2 TRIG1
DIST2 DIST1
Y401 Y401
VDD
U1B1 U1B2
12F1572
7 1
GP0/AN0/CIN+/ICSPDAT/ULPWU VDD
6
GP1/AN1/CIN–/VREF/ICSPCLK
BS170 5
GP2/AN2/T0CKI/INT/COUNT/CCP1
4
GP3/MCLR/VPP
3
GP4/AN3/T1G/OSC2/CLKOUT
2 8
GP5/T1CKI/OSC1/CLKIN VSS
BS170
4k7
VUSB
VDD USB
10k
1
5 4 2
BAT DC
3
MAX1555
3 1 4
POK USB
5
GND
2
170501-006
Bild 1. Prototyp des Autors, mit einem Sensor auf der rechten und einem Bild 2. Der Schaltplan des „Radars”: Einfach und effizient.
auf der Rückseite.
von jeder Lithium-Batterie mit Strom versorgt werden. Mit • Die US-Einheit wird unter dem Sattel platziert. Ich habe
dem Chip MAX1555 kann die Schaltung auch über eine USB- alles mit Schnellspannern befestigt. Der Erfassungsbereich
Buchse geladen werden. muss horizontal ausgerichtet sein, damit der Ultraschall
nicht auf den Asphalt gerichtet ist.
Die Software • Wie bereits erwähnt, muss die US-Einheit je nach landes-
Auch die Software ist nicht allzu kompliziert. Alle zwei Sekunden typischem Rechts- oder Linksfahrgebot präzise ausgerich-
aktiviert sie den linken Sensor, misst den Abstand, aktiviert tet sein.
den linken Vibrator entsprechend des erfassten Hindernisses • Auch die Vibratoren lassen sich am besten unter dem Sat-
und führt dann den gleichen Vorgang mit dem rechten Sensor tel montieren.
durch. Wenn ein dritter Sensor für die Mitte (GP5-Ausgang) • Die Vibratoren sind von einem Schrumpfschlauch umge-
angeschlossen ist und sich ein Hindernis von hinten nähert, ben und mit einer Klemme an den beiden Metallstangen
wird die Software den Alarm an beiden Vibratoren gleichzeitig des Sattelrahmens befestigt. Mehrere Tests haben gezeigt,
auslösen. Die Alarmabstände sind in der Software vordefiniert. dass es an dieser Stelle die wenigsten Bewegungen gibt.
Die Software wurde mit der neuesten Version von MikroC ent- Auf der Vorderseite des Sattels würden Sie die Vibrationen
wickelt, der einzigen Version, die den µC 12F1512 berücksich- aufgrund der Beinbewegung nicht spüren. Wenn Sie kein
tigt. Die kostenlose Version ist, gemessen am Umfang des Problem damit haben, die Kabel bis zum Lenker zu verle-
Programms, ausreichend. Zur Programmierung habe ich das gen, wäre dies die effektivste Lösung. Die kleine Schaltung
PICkit3 verwendet. zur Sicherheit beim Radfahren kann natürlich noch weiter
verbessert werden. Vielleicht haben Sie ja selber noch ein
Montage am Fahrrad paar Ideen dazu (Sensoren, Stromversorgung usw.).
Bei der nicht ganz einfachen Montage müssen die US-Einheit 170501-02
und die Vibratoren installiert werden.
Weblink
[1] Projektseite zu diesem Beitrag:
www.elektormagazine.de/170501-02
im elektor-shop
ªBuch: „PIC Microcontroller Programming”
www.elektor.de/pic-microcontroller-programming
Das Raspberry-Pi-Lineal
Spaß mit einem Laufzeitsensor
Konzipiert haben wir dieses Lineal als Werbegeschenk für Messen und ähnliche Veranstaltungen. Mit Hilfe
eines Time-of-Flight-Sensors kann es Entfernungen von bis zu zwei Metern elektronisch messen!
GPIO27 13 14 GND
GPIO10 R6
470
LED6
Æ Einsteiger
GPIO11 R7 LED7
470
GPIO22 15 16 GPIO23
GPIO12 R8 LED8 Fortgeschrittene
+3V3 17 18 GPIO24 470
GPIO10 19 20 GND
GPIO13 R9
470
LED9 Experte
GPIO14 R10 LED10
GPIO9 21 22 GPIO25 470
GPIO15 R11 LED11
GPIO11 23 24 GPIO8 470
GPIO16 R12 LED12
GND 25 26 GPIO7 470
ID_SD* 27 28 ID_SC*
GPIO17 R13
470
LED13 rund 1 Stunde
GPIO18 R14 LED14
GPIO5 29 30 GND 470
GPIO19 R15 LED15
GPIO6 31 32 GPIO12 470
GPIO20 R16 LED16
GPIO13 33 34 GND 470
GPIO19 35 36 GPIO16
GPIO21 R17
470
LED17 (SMD-)Lötstation,
GPIO22 R18 LED18
GPIO26 37 38 GPIO20 470 Raspberry Pi,
GPIO23 R19 LED19
GND 39 40 GPIO21 470
GPIO24 R20 LED20 Internet
470
GPIO25 R21 LED21
470
GPIO26 R22 LED22
470
180483-003 etwa 25 €
Bild 1. Der Schaltplan des RPi-Lineals besteht aus 22 LEDs mit Strombegrenzungswiderständen und
zwei Steckverbindern.
Praktische Break-Out-Platine Installation der Software auf gehen Sie in das Home-Directory und
Der interessante Sensor wurde von (chi- dem RPi geben dort in der Konsole ein:
nesischen?) Breakout-Board-Anbietern Der VL53L0X-Treiber wurde in C++
schnell auf ein praktisches Platinchen geschrieben, weshalb die Software für cd VL53L0X_rasp
gelötet, das im Internet leicht zu finden dieses Projekt auch in C++ gehalten ist. make API_DIR=~/VL53L0X_1.0.2/
ist (Bild 2). Der Hersteller hat zudem Python-Bibliotheken für den Sensor sind make examples API_DIR=~/
einiges an Aufwand in die Entwicklung ebenfalls vorhanden, wenn Sie also lieber VL53L0X_1.0.2/
von mehreren Open-Source-Treiber- mit Python fortfahren möchten, bitte...
bibliotheken für Arduino und Raspberry Nur um es klarzustellen: Die folgenden Es sollte keine Warnungen oder Fehler
Pi gesteckt. Schritte werden auf dem Raspberry Pi geben. Um das RPi-Linealprogramm aus-
und nicht auf einem Windows/Linux/ zuführen, geben Sie Folgendes ein:
Ein elektronisches RPi-Lineal macOS-Computer durchgeführt!
In diesem Projekt wird die Entfernung ./bin/rpi_ruler
durch die LEDs auf dem RPi-Lineal ange- • Laden Sie wiringPi [1] herunter und
zeigt. Da jede LED für einen Zentime- installieren Sie diese Bibliothek, um
ter steht und sich nur 22 LEDs auf dem auf die GPIO-Pins des Pi in C++
Lineal befinden, ist der Messbereich auf zugreifen zu können. Mit wiringPi
22 cm begrenzt. Es können durch Mul- lassen sich die LEDs steuern.
tiplexen der LEDs aber auch aufwändi- • Laden Sie den VL53L0X-Treiber
gere Anzeigen programmiert werden. Der STSW-IMG005 aus dem „Get Soft-
gemessene Abstand wird (in Millimetern) ware“-Abschnitt von [2] herunter
auch auf ein am HDMI-Port des RPi ange- und entpacken Sie ihn.
schlossenes Display ausgegeben. So kann • Laden und entpacken Sie den Rasp-
dieses Projekt auch ganz ohne das Lineal berry-Pi-Adapter VL53L0X_rasp [3]
durchgeführt werden, wenn man die SPAD von Cassou (Mathieu Cassard).
mit dem I2C-Port des RPi verbindet. • Laden Sie das Makefile von [4] her-
unter und kopieren Sie es in den
Die Software wurde für einen Raspberry Ordner VL53L0X_rasp (überschrei-
Pi 3 Modell B V1.2 geschrieben, sollte ben Sie die vorhandene Datei).
aber auch auf anderen Pis mit einem • Laden Sie die Datei rpi_ruler.c von
40-poligen Erweiterungsanschluss funk- [4] herunter und legen Sie sie im
tionieren. Stecken Sie das Lineal immer Ordner VL53L0X_rasp/examples ab.
erst auf den RPi, bevor Sie die Betriebs- Bild 2. Eine besonders populäre Breakout-
spannung einschalten. Wenn Sie dies erfolgreich erledigt haben, Platine für den Time-of-Flight-Sensor VL53L0X.
im elektor-shop
STÜCKLISTE ª180483-1, RPi-Lineal
www.elektor.de/elektor-raspberry-pi-ruler
ª180483-71, Teilesatz
www.elektor.de/rpi-kit-180483-71
ªTime-of-Flight-Sensor VL53L0X
www.elektor.de/tof-distance-sensor
Weblinks
[1] wiringPi: http://wiringpi.com/
[2] Offizieller VL53L0X-Treiber:
www.st.com/en/embedded-software/stsw-img005.html
[3] VL53L0X-Treiber für RPi: https://github.com/cassou/VL53L0X_rasp
[4] Makefile und Hauptprogramm: www.elektormagazine.com/labs/rpi-ruler
Das Ziel des NXP Cups ist es, autonome Autos mit professionel-
lem Anspruch zu bauen und zu fahren, ohne aber viel Geld aus-
zugeben. Hierzu bedarf es gut konstruierter und hochoptimierter
Hard- und Software, was eindeutig keine leichte Aufgabe ist.
Der NXP Cup 2019 hat überarbeitete Regeln, die mehr Frei-
heit ermöglichen:
• Unbegrenzte Anzahl von Sensoren.
• Freie Wahl und unbegrenzte Anzahl von NXP-Prozessoren.
• Weitere Herausforderungen, mit denen man zusätzliche
Punkte sammeln kann: Zeitfahren, Achter-Schleife,
Ausweichen vor Hindernissen und
Geschwindigkeitsbeschränkungen.
Neben optimierten Regeln und zusätzlichen Herausforderun-
gen wurde auch die Strecke selbst verbessert: Sie bietet jetzt
besseren Grip und ermöglicht höhere Geschwindigkeiten.
180692-02
Weblink
Der NXP Cup ist eine großartige Möglichkeit für Studenten [1] NXP Cup EMEA:
der Ingenieurwissenschaften, beruflich relevante Fähigkeiten https://community.nxp.com/groups/tfc-emea
zu erlernen. Lars Reger, CTO von NXP Automotive, drückte
das so aus: „Die Technologie, der universitäre Support und
das unglaubliche Partner-Ökosystem bieten den Studenten die
Möglichkeit, wichtige Fähigkeiten in der kollaborativen Team-
arbeit zu erlernen und sich mit Kerntechnologien beim Bau
autonomer Roboter vertraut zu machen.“
CNC-Portalroboter
„Wolverine”
Multifunktionales Kraftpaket
Teil 1:
Mechanischer Aufbau
Nicht wenige Elektronik-Fans, Tüftler und Maker stehen mit der mechanischen Seite ihrer Projekte auf Kriegsfuß.
Das Entwerfen und Anfertigen von Platinen ist für den geübten Elektroniker in der Regel kein Problem, aber
sobald das Projekt in ein vorzeigbares Gehäuse eingebaut werden soll, kühlt die Begeisterung ab. Das Anfertigen
vergleichsweise einfacher mechanischer Teile wie Abdeckplatten oder Zugstangen kann zur unüberwindlichen
Hürde werden. Mit dem Erscheinen von 3D-Druckern, erschwinglichen CNC-Maschinen und Online-Dienstleistern
hat der mechanische Teil eines Projekts weitgehend seine Schrecken verloren. Der hier vorgestellte CNC-
Portalroboter will hierzu beitragen und Ihnen helfen, die Welt der Mechanik stressfrei zu erschließen.
Wenn Sie schon einmal überlegt haben, muss bei einem 3D-Drucker in Stunden auffällige Erscheinung. Obwohl Por-
mechanische Teile in eigener Regie zu gerechnet werden. Wir haben natürlich talfräsmaschinen normalerweise an einer
fertigen, haben Sie wahrscheinlich an nicht die Absicht, 3D-Drucker schlecht zu festen Arbeitsfläche angebaut werden,
einen 3D-Drucker gedacht. 3D-Drucker reden. Für komplizierte 3D-Formen oder haben wir uns für einen stabilen Alumini-
gibt es schon eine Weile, doch erst seit Prototyping ist der 3D-Drucker immer umrahmen entschieden. Die 40 ∙ 40 mm
der Entwicklung erschwinglicher Modelle noch eine gute Wahl. starken Aluminiumprofile tragen nicht nur
ist diese Technik in kurzer Zeit beliebt Die Beliebtheit von 3D-Druckern hat zur Gesamtstabilität der Maschine bei, sie
geworden. Die meisten 3D-Drucker wen- für unser Projekt einen kaum zu über- erhöhen auch die Einsatzmöglichkeiten
den die FDM-Technik an (Fused Deposi- schätzenden Vorteil: Mechanische Teile und erlauben mehr Optionen bei späte-
tion Modeling), bei der ein Kunststofffaden wie Führungen, Lager, Zahnriemen und ren Erweiterungen.
geschmolzen und in Schichten extrudiert Kupplungen sind jetzt deutlich leichter Der Werktisch unseres Prototyps besteht
wird. Auch Maschinen, die auf der Stereo- zu beschaffen als noch vor zehn Jah- aus 20 mm starkem Sperrholz, er ist
lithographie (Fotopolymerisation) basie- ren. Unser CNC-Portalroboter ist mit gut dank der Rahmenkonstruktion leicht
ren, sind in Entwicklungslabors vertreten. erhältlichen Komponenten aufgebaut, die herausnehmbar. Die Arbeitsfläche kann
natürlich auch online erworben werden nicht nur abhängig von der Anwendung
Schwachpunkte der 3D-Drucker können (eBay, ...). gewählt werden, sie lässt sich auch in
Trotz der hohen Beliebtheit haben 3D-Dru- In diesem ersten Teil des Beitrags steht geeigneter Höhe montieren. Es ist sogar
cker zwei gravierende Nachteile: Die der mechanische Aufbau im Mittelpunkt. möglich, die Maschine ohne Arbeitsfläche
verwendeten Materialien (Filamente, auf einem Werkstück zu positionieren,
UV-Kunstharz, ...) sind relativ kostspie- Rahmen und Grundaufbau beispielsweise um ein größeres Objekt
lig, und das Drucken ist ein hochgradig Verglichen mit Standard-CNC-Portalfräs- zu gravieren. Eine mögliche zukünftige
langsamer Prozess. Zum schnellen Her- maschinen ist unser Portalroboter eine Erweiterung könnte ein höhenverstellba-
stellen größerer Stückzahlen ist dieses
Verfahren nicht geeignet. Außerdem hin-
terlassen insbesondere FDM-3D-Drucker
eine recht raue Oberfläche, so dass gele-
gentlich eine Nachbearbeitung notwendig
ist. Dringend abzuraten ist vom 3D-Druck
solcher Gegenstände, die mit Lebensmit-
teln in Kontakt kommen, denn sie können
wegen der rauen Oberfläche nach dem
Gebrauch nicht gründlich gereinigt werden.
Verglichen mit 3D-Druckern und ihrer
ausgefeilten Technik sehen einfache
CNC-Maschinen eher unkompliziert aus.
Sie sind jedoch in der Lage, mechanische
Teile wesentlich schneller als 3D-Dru-
cker zu produzieren. Die Verarbeitung
hat ein höheres Qualitätsniveau, und die
Materialauswahl ist reichhaltiger. Wo ein
durchschnittlicher Kleinauftrag auf einer
CNC-Maschine etwa fünf Minuten dauert, Bild 1. Die Elektronik hat ihren Platz auf der Rückseite der Maschine.
Bild 9. Mit dem Notstopp-Schalter kann verhindert werden, dass eine Bild 10. Eine mehrpolige Steckverbindung hilft, die Z-Achse schnell gegen
Fehlfunktion die Fräse beschädigt. andere Erweiterungen auszutauschen.
optional, sie müssen für den Betrieb der flüssig erscheinen, doch die Kosten haben Schrittmotor-Treiber und die Software
Maschine nicht unbedingt montiert wer- sich spätestens gelohnt, wenn damit das betrachtet. Auch G-Code, CAM-Software
den. Eine Richtlinie, die den Betrieb von Brechen einer Fräse verhindert werden und der Workflow von der CAD-Zeich-
Maschinen regelt, schreibt diese Schal- kann. nung zum fertigen Produkt gehören zu
ter nicht vor, da die ausgeübten Kräfte Die Z-Achse ist über einen mehrpoligen den Themen.
relativ gering bleiben. Stecker mit der übrigen Maschine ver- (180246-03)
Für die Z-Achse ist nur ein End- und bunden (siehe Bild 10). Auf diese Weise
Referenzschalter für die höchste Posi- kann die Z-Achse leicht demontiert wer-
tion (Zmax) vorhanden. Ein Endschalter den, um sie gegen eine andere Erwei-
für die unterste Position ist nicht sinnvoll. terung (beispielsweise einen Laserkopf)
Vor dem Auslösen wäre der Fräser bereits auszutauschen.
durch das Material hindurch gedrungen.
Alle Referenzschalter sind in Längsrich- Elektronische Steuerung und
tung zu den Achsen montiert. Da die Software: Teil 2
Schalter keinen mechanischen Wider- Im nächsten Teil des Beitrags zu unserer
stand leisten, können die Ausgangspo- CNC-Maschine werden die Steuerung, die
sitionen schneller angefahren werden.
Nachdem ein Referenzschalter aktiviert
ist, bleibt noch Spielraum, die Achse
abzubremsen, ohne dass eine Kollision im elektor-shop
mit dem Schalter droht.
Neben dem Anschluss für einen Z-Sen- ªBuch: „3D Printing and CNC Fabrication with SketchUp”
sor befindet sich ebenfalls ein Not- www.elektor.de/3d-printing-and-cnc-fabrication-with-sketchup
stopp-Schalter (Bild 9). Dies mag über-
Für viele Anwendungen ist es entscheidend, dass die Eingänge eines Opamps extrem hochohmig sind.
Dies ist bei bipolaren Standardtypen nicht der Fall, so dass man auf Opamps mit Feldeffekt-Eingängen
zurückgreifen muss.
In die Eingänge eines Standard-Opamps vom Typ LM358 flie- Zenerdioden als Schutz eingebaut. Man erreicht Eingangsströme
ßen Ströme von etwa 30 nA. An einem Eingangswiderstand von nur 2 pA. Die Ausgangsstufe des CA3140 ist konventionell
von 1 MΩ ergibt sich dadurch schon ein Spannungsabfall von mit bipolaren Transistoren aufgebaut. Die Hersteller nennen
30 mV, was für viele Anwendungen nicht akzeptabel ist. Fast diese Technologie daher auch BiMOS-Verstärker. Neben der
ohne Eingangsstrom arbeitet dagegen ein Opamp mit Feldef- einfachen Version gibt es auch den zweifachen Opamp CA3240.
fekttransistoren in den Eingangsstufen. Eine weitere Verbesserung bringt der CA3160 mit seiner kom-
Mit J-FET-Eingängen erreicht man Eingangsströme, die um plementären MOS-Ausgangsstufe (CMOS). Man erreicht damit,
den Faktor 1000 unter denen bipolarer Eingänge liegen. Typi- dass die Ausgangsspannung bis auf 10 mV an die negative
sche Vertreter der J-FET-Opamps sind der TL071 (einfach), der und an die positive Betriebsspannung ausgesteuert werden
TL072 (zweifach) und der TL074 (vierfach). Diese Verstärker kann (Rail-to-Rail).
verwenden J-FETs in den Eingangsstufen und bipolare Tran-
sistoren im Rest ihrer inneren Schaltung, wie es Bild 1 zeigt. Spannungsrampen
Eine noch bessere Isolation der Eingänge erreicht man mit Ein Opamp mit FET-Eingang lässt sich gut einsetzen, um lang-
MOSFETs in den Eingangsstufen. Ein typischer Vertreter die- same Kurvenformen wie Spannungsrampen zu erzeugen. Bild 3
ser Technologie ist der CA3140 (Bild 2). Der Opamp arbeitet zeigt einen typischen Rampengenerator, wie er zur automati-
mit doppelter oder einfacher Stromversorgung ab 4 V. Die schen Aufnahme von Kennlinien verwendet werden kann. Der
Eingangsspannung darf um bis zu 0,5 V unter der negativen Opamp ist als Integrator geschaltet. Die Steilheit der Rampe
Betriebsspannung liegen. Da die Eingänge von MOSFETs sehr wird durch den geringen Ladestrom in den invertierenden Ein-
empfindlich gegen Überspannungen sind, wurden zusätzliche gang bestimmt. Dank der hochohmigen Eingänge des Opamps
Bild 1. Innenschaltung des TL071 (Quelle: Texas Instruments). Bild 2. Innenschaltung des CA3140 (Quelle: Renesas).
20k
100mV...10V
exponential
CA3160
4M7
–1V 10
10M 10mV/s
10k
CA3160
10k
180036-B-03
100
1
180036-B-04
Vo
10k 95k
+Vi 10k
180036-B-08
Die Schaltung besteht aus einem einstellbaren Differenzver- geraten. Am Oszilloskop sieht man dann oft, dass ein Sinus-
stärker und zwei vorgeschalteten Impedanzwandlern für einen zu einem Dreiecksignal verformt wird. Intern führt die Über-
extrem hohen Eingangswiderstand. Der Differenzverstärker steuerung zu Rechtecksignalen, die in der Ausgangsstufe
muss abgeglichen werden, um ihn auf beste Gleichtaktunter- mit ihrer endlichen Anstiegsgeschwindigkeit zu Dreiecken
drückung und Stabilität einzustellen. integriert werden.
Im Elektor SDR-Shield [1] arbeitet ein Vierfach-Opamp TS914
Breitband-Anwendungen mit einem Verstärkungs-Bandbreite-Produkt von 0,8 MHz
Obwohl ein Opamp eigentlich als Gleichspannungsverstärker (Bild 10). Im Interesse einer großen Bandbreite wird die
konzipiert ist, eignet er sich doch auch zur Verstärkung von 100-fache Verstärkung auf zwei Stufen mit jeweils 10-facher
Wechselspannungen, also zum Beispiel als Mikrofonverstärker Verstärkung aufgeteilt. Damit beträgt die Bandbreite 80 kHz,
(Bild 9). Bei einfacher Versorgungsspannung legt man meist was für diese Aufgabe ausreicht. Die Signale gelangen an den
eine künstliche Mittenspannung fest, beispielsweise die halbe Stereo-Eingang einer Soundkarte und werden von der SDR-Soft-
Betriebsspannung. Die Schaltung verhält sich dann so, als ware weiter verarbeitet. Je nach Soundkarte kann dabei eine
hätte sie eine positive und eine negative Versorgungsspannung. Bandbreite von 24 kHz oder 48 kHz genutzt werden, woraus
Eine solche Verstärkerschaltung kann zwar in einem weiten wegen der Verarbeitung über zwei Kanäle eine effektive Emp-
Frequenzbereich arbeiten, aber manchmal wird man dennoch fangsbandbreite von 48 kHz oder 96 kHz wird.
überrascht, wie schnell ein Opamp an seine Grenzen stößt. Ein Für eine Standalone-Anwendung des Empfängers müsste die
Verstärker wird vielleicht für 100-fache Verstärkung dimensio- Signalverarbeitung am PC durch eine rein elektronische Lösung
niert und soll bis zu 20 kHz arbeiten. Das Verstärkungs-Band- ersetzt werden. Dazu eignet sich ein IQ-CW-Filter mit 750 Hz
breite-Produkt müsste dann 100 x 20 kHz = 2 MHz betra- (Bild 11). Am Eingang befindet sich ein Addierer für das I- und
gen. Viele Typen erreichen aber nur etwa 1 MHz. Bei 20 kHz das Q-Signal, wobei zwischen beiden eine Phasendrehung von
gibt es also keine ausreichende Verstärkung mehr, sodass 90 Grad bei 750 Hz eingefügt wird. Es folgt ein zweistufiges
die Gegenkopplung nicht wie gewünscht funktioniert. Dabei Bandpassfilter für etwa 750 Hz. Es wurden Doppel-Opamps
entstehen Verzerrungen, weil interne Stufen in die Sättigung des Typs LM358 verwendet.
C3 R9 R10
10 C8
10k 100k
+9V 8
3 IC3B
100n IC4C
9
C4 100n
5
2n2 R12
100k
4 100k C
C6
R11
K1
6
10k
100n
1 IC3A 7
C5 R13 IC4B
LM358 13 5 C7
4k7
330n 2n2
2 100n
100k
330n
IC4 = TS914
IC3 = 74HC4066 C9 R14 R15
3
10k 100k C14
1
8 IC3C 100n IC4A
2
100k
4k7
C10 100n
6
2n2 R17
9 100k D
C12 R16
13
10k
10 100n
10 IC3D 14
C11 R18 IC4D
12 12 C13
4k7
180036-B-09 2n2
11 100n
180036-B-10
Bild 9. Ein Mikrofonverstärker mit Opamp. Bild 10. Der TS914 im Elektor SDR-Shield.
270k
I 10k 10k 22n
470n 47k 22n
100k
4k7
Q 100 22n 4k7 NF
22n 22n
100n
100k
1k
1k
4 7
180036-B-11
Anzeige
2019
www.amper.cz Veranstalter:
* Es gibt eine Webseite namens Mix (früher StumbleUpon), die sich genau mit solchen Dingen beschäftigt.
Auf drei Arten kann das Signal zu den bösen Krankheitserre- DNA sendet. Auf der Website Spooky2, die eine
gern geführt werden: direkter Kontakt mit Handelektroden, kostengünstige Rife-Maschine beschreibt, heißt es:
drahtlos mit Plasmaantennen und ferngesteuert, wobei hier „Da die DNA aus zwei schraubenförmig umeinander
der Nichtlokale Raum, die Quantenphysik und die Antennen- gewickelten Strängen besteht, arbeitet sie als Antenne,
eigenschaften der DNA eine Rolle spielen. die in der Lage ist, in Energiesignalen kodierte Informationen
Bei einer Plasmaantenne ersetzt hochionisiertes, gut lei-
tendes Plasma herkömmliche Übertragungsleitungsele-
mente oder Antennenoberflächen. Da ein Plasma keine
physikalische Länge kennt, kann eine Plasmaantenne
leicht abgestimmt werden. Bereits 1919 wurde einem
gewissen J. Hettinger ein Patent auf diese Technologie
erteilt. In neuerer Zeit (1999) erhielt James E. Bare
das US-Patent #5,908,441 für sein Resonanzfrequenz-
therapiegerät auf Basis einer Plasmaantenne.
Der Hauptvorteil der Remote-Quanten-DNA-Me-
thode gegenüber den anderen besteht darin, dass
verschränkte Maschinen über Entfernungen von Tau-
senden von Kilometern und mehr arbeiten. Um den
Generator auf den Patienten abzustimmen, muss nur
zum Beispiel ein abgeknipster Fingernagel in einer
Art Klemmbehälter (Scalar DNA Transmitter) mit
dem Generator verbunden werden, der die Tonfre-
quenzenergie an die im Nagelabschnitt enthaltene
k tr o fa h r z e u g e z u le is e ?
Sind Ele ge für das Allheilmittel halt
en, gibt es
Obwohl viele Elektrofahrzeu mit denen
Beispiel die Lautlosigkeit,
doch erhebliche Mängel, zum or durch die
n lauten Verbrennungsmot
Elektrofahrzeuge ohne eine nicht, was zu
und Fußgänger hören EVs
Gegend huschen. Radfahrer d das Problem
en kann. Wie schwerwiegen
gefährlichen Situationen führ ierungen
erkennen, dass besorgte Reg
ist, kann man schon daran tstärkepegel für
prüfen, die einen Mindestlau
weltweit Rechtsvorschriften
z: Mehr Lärm muss her!
Elektrofahrzeuge prüfen. Kur Problem zu Leibe
e Technologien, die diesem
Glücklicherweise gibt es viel angehängten
Dauerhupens bis zu einer
rücken: im indischen Stil des Problem.
hen war halt noch nie ein
ame rika nisc hen Hoc hze iten her kennt. Lärm zu mac zum
man sie von 1552 von Analog Devices
Konservendosenkette, wie sie die Application Note AN-
gen wir jedo ch elektronische Ansätze, wie t eine Reihe von Geräusche
n, die so
chreibt. Ein EVWSS „erzeug
Bei Elektor bev orzu
tem (EV WS S) bes War ntöne
sollen. Der Fahrer kann
ning Sou nd Sys
Thema Electric Vehicle War nhe it eine s EVs aufmerksam machen
auf die Anw ese ch
beschaffen sind, dass sie Fuß
gänger chwindigkeiten jedo
lich), die bei niedrigen Ges
h wie bei eine r Fah rzeu ghupe, aber weniger aufdring hin zu realistischen Geräusche
n, die
auslösen (äh nlic bis
. Die se Ger äus che vari ieren von künstlichen Tönen Räd er
müssen schwebende Fahrzeuge ohn e
automatisch aktiviert werden r Kies bewegen“. Hatten die Autoren
und Reif en, die sich übe iker „Die Ritt er
Motorgeräusche nachahmen der Monty-Python-Filmklass
n man dies e AN lies t, kommt einem unweigerlich lapp ert, um
im Sinn, als sie das schrieb
en? Wen ussschalen zusammenk
ai Patsy zwei halbe Kokosn
“ von 197 5 in den Sinn , in dem König Arthurs Lak eine, die für den Motorsound
in
der Kokosn uss en vor,
iglic hes Ros s reit et. AD stellt zwei EVWSS-Lösung ersy stem e
anzudeuten, wie der König
sein kön -DSP ADSP-BF706. Einsteig
eine n exte rne n Lärm erze uger auf Basis des BlackFin
ist und
der Fahrerkabine zuständig
h den Sigm aDS P ADAU1450 verwenden.
können auc
180567-B-02
Möchten Sie mitmachen? Bitte senden Sie Ihre Kommentare, Anwendungen, Tipps und Tricks an labs@elektor.com!
Luftverschmutzungsmonitor
Ein Sensor misst die Luftqualität
Von Bera Somnath (Indien) und Roy Aarts (Elektor Labs)
Die Qualität der Luft, die wir atmen, sollte uns allen ein großes Anliegen sein. Nicht nur Staubpartikel,
sondern auch eine zu hohe Konzentration bestimmter Gase in der Atemluft sind schädlich für unsere
Gesundheit. Dieses kleine Gerät misst den Gehalt an luftverunreinigenden Gasen und löst einen Alarm aus,
wenn deren Konzentration einen bestimmten Wert überschreitet.
Eigenschaften
• Figaro TGS2600 Luftqualitätssensor
• Erkennt Gase wie Methan, Kohlenmonoxid, Isobutan,
Ethanol, Wasserstoff usw.
• WLAN (ESP32-basiert)
• Externes Netzteil 5 VDC, 0,5 A
1k
20 20
richtig funktioniert, wenn der Sauerstoff- FCS FSD1
19 19
FSD0 FSD3
gehalt zu niedrig ist. Da der TGS2600 auf 18 18
FSD2 FCLK
Veränderungen der Luftqualität reagiert, 17
SVP IO21
17 D
T1
16 16
kann er auch beispielsweise Zigaretten- SVN IO22 R4
G
15 15
IO25 IO19 1k
rauch erkennen. 14 14
IO26 IO23 S BS170
Obwohl der TGS2600 viele Arten von 13
IO32 IO18
13
12 12 S1
Gasen erkennt, gibt es einiges, was er 11
IO33 IO5
11
IO27 IO10
nicht erschnüffeln kann. Silikondämpfe 10 10
IO14 IO9 +5V
und hochkorrosive Umgebungen sind zu 9
IO12 RX0
9
+3V3 8 8
vermeiden, ebenso (Salz-)Wasser. Das R1 7
IO13 TX0
7
+3V3 3 4
IO15 IO35
vollständige Datenblatt des Sensors fin- D1
10k
6 6
IO2 IO34
den Sie im Projektdownload [1]. 5 5 IC1
IO4 IO38
4 4 BAT85
IO0 IO37 GAS TGS2600
3 3
+3V3 2 1
Über den Sensor 2
+3V3 EN
2
GND GND
R2
Der TGS2600 ist in einem kleinen Metall- +5V
1
+5V +3V3
1
C1
USB
10k
220
220
1 2 3 4 5 6
einige Sekunden, bis er aufgeheizt und
K5 STA AP ALARM
damit betriebsbereit ist. Nur wenn der OLED
170182-018
Sensor zum ersten oder einige Wochen
nach dem letzten Mal in Betrieb genom-
men wird, muss man mit einer Startzeit Bild 2. Da die ganze harte Arbeit wirklich vom TGS2600 geleistet wird, fällt der Schaltplan des
von 15...20 Minuten rechnen. Luftqualitätsdetektors sehr einfach aus.
Weblinks
ThingSpeak
[1] Projektdownload: http://www.elektormagazine.com/170182-03
Luftqualitätsmessungen sind prädesti-
[2] U8g2lib Grafik-Library: https://github.com/olikraus/u8g2 niert, um auf die offene IoT-Plattform
[3] ESP32 Arduino-Core: https://github.com/espressif/arduino-esp32 ThingSpeak hochgeladen zu werden.
[4] SPIFFS Upload Tool: https://github.com/me-no-dev/arduino-esp32fs-plugin Man legt zunächst einen Channel mit
einem Datenfeld an und erhält einen
Write-API-Schlüssel, der auf der Kon-
figurationswebseite des ESP32 ein-
gegeben werden muss. Bei richtiger
Einstellung werden die Messungen
jeweils nach Ablauf des Messintervalls
STÜCKLISTE hochgeladen. Der gesendete Wert ist
der über das Intervall berechnete
Durchschnittswert.
Um die Daten an ThingSpeak zu sen-
den, wird zunächst ein HTTP-Re-
quest mit dem Sensorwert an die
Website gesendet. ThingSpeak ant-
wortet mit der Anzahl der Einträge
des Kanals oder mit Null (0), wenn
die Anforderung fehlgeschlagen ist.
Einer der Gründe dafür kann sein,
dass der API-Schlüssel falsch einge-
geben oder die Requests in zu schnel-
ler Abfolge gesendet wurden (Thing-
Speak begrenzt das Upload-Intervall
beim kostenlosen Zugang auf 15 s).
Das minimale Upload-Intervall unseres
Luftverschmutzungsmessers beträgt
deshalb eine Minute.
Dieser Artikel ist eine Einführung in das umfangreiche Thema der Kanalfilterung. Es geht darum, ein binäres
Signal zwischen Empfänger und Sender zu filtern, um die belegte Bandbreite deutlich zu reduzieren, ohne die
Fehlerrate zu erhöhen. Im Folgenden finden Sie dazu verschiedene, mehr oder weniger effektive Filtertechniken.
Im vorherigen Artikel [1] habe ich Ihnen stellung der 1 (zum Beispiel 5 V), und für die Kommunikation zwischen zwei
die wichtigsten Techniken zur „Online-Co- eine andere Spannung für die 0 (zum Bei- Chips auf einer Leiterplatte. Im wirkli-
dierung” vorgestellt. Zur Erinnerung: Es spiel 0 V) verwendet. Das ist genau das, chen Leben müssen Sie die benötigte
ging um die optimale Methode, Nullen was auch der UART Ihres Lieblings-Mi- Bandbreite jedoch oft so weit wie möglich
und Einsen in eine analoge Spannung krocontrollers macht (Bild 1a). Diese reduzieren. Dafür gibt es viele Gründe:
(Basisbandsignal) zu verwandeln, um die Methode funktioniert sehr gut, wie die Zum Beispiel wegen minderwertiger
verfügbare Bandbreite optimal zu nutzen Vielzahl der Projekte mit UARTs zeigen, Kabel, aus Gründen der elektromagne-
und dem Empfänger die Arbeit zu erleich- die in dieser Zeitschrift bereits veröffent- tischen Verträglichkeit, wegen der durch
tern. Diese Spannung kann dann direkt licht wurden. Normen vorgegebenen Bandbreite der
über zwei Drähte oder, bei drahtlosen Funkkanäle, oder um den Durchsatz im
Verbindungen, durch Modulation eines Warum filtern? betreffenden Kanal so weit wie möglich
Hochfrequenzträgers an einen entfernten Wenn alles gut funktioniert, warum dann zu erhöhen.
Empfänger gesendet werden. noch diesen Artikel lesen, in welchem
Um es einfacher zu machen, hatte ich auf ich Ihnen erklären werde, dass es rat- Daher versuchen wir oft, nur die unbe-
das Beispiel einer gewöhnlichen, draht- sam ist, ein Filter in den Signalweg ein- dingt notwendige Bandbreite zu nut-
gebundenen Kommunikation zurückge- zufügen? Das Ganze ist eine Frage der zen. Dazu wird ein Filter zwischen der
griffen. Bleiben wir also beim gleichen spektralen Effizienz. Mit anderen Worten: Datenquelle (z. B. UART) und dem Sen-
Beispiel und stellen uns vor, dass Sie Ohne Filter würden Sie eine viel zu große der eingesetzt (Bild 1b). Der Zweck die-
eine Million Bits pro Sekunde (1 MBit/s) Bandbreite für Ihre 1-MBit/s-Übertragung ses Filters besteht darin, die vom Signal
zwischen zwei entfernten Geräten über- benötigen (weiter unten erfahren Sie, belegte Bandbreite zu reduzieren, indem
tragen müssen. Nehmen wir der Einfach- warum das so ist). Doch warum darf ein man die hohen Frequenzen abschneidet.
heit halber weiterhin an, Sie entscheiden Übertragungskanal nicht zu viel Überka- Die Herausforderung besteht darin, die
sich für die simpelste Kanalcodierungs- pazität aufweisen? Wenn Sie ein Ether- Eigenschaften des Systems in Bezug auf
methode namens NRZ. Zur Erinnerung: net-Kabel der Kategorie 6 (angegeben für Bitrate und Fehlerraten dabei nicht zu
NRZ (Non Return to Zero) bedeutet, dass 1 GBit/s) verwenden, um die Rate von 1 beeinträchtigen. Wie funktioniert solch
die Bits so gesendet werden, wie sie sind: MBit/s über einige Meter zu übertragen, ein Filter? Ich werde versuchen, es zu
Eine bestimmte Spannung wird zur Dar- ist eine Filterung unnötig. Dasselbe gilt erklären.
Bild 4a. Das Spektrum eines Zufallssignals ohne Filterung und sein Augendiagramm rechts. Bild 4b. Mit einem Butterworth-Filter von 310 kHz ist das
Signal stark verzerrt und das Augendiagramm fast geschlossen. Bild 4c. Mit einer höheren Grenzfrequenz (410 kHz) sind die Inter-Symbol-Interferenzen
tolerierbar und das Spektrum zeigt Komponenten bis zu 2 MHz.
Bild 5a. Ein Beispiel für ein ziemlich breites Gaußfilter mit einem perfekten Signal. Bild 5b. Hier ist das Gaußfilter viel enger, aber der ISI-Wert bleibt
Null. Bild 5c. Bei einem zu engen Filter erscheinen die Inter-Symbol-Interferenzen wieder.
Bild 6. Ein Nyquist-Filter hat eine optimale Leistung. Hier werden drei Bits als positive oder negative Impulse kodiert (erste Spalte). Das Filter erzeugt
drei zeitversetzte sin(x)/x-Funktionen (zentrale Spalte). Die Summe dieser drei Signale weist keine Inter-Symbol-Interferenzen mehr auf (rechts).
Bild 7. Ein Nyquist-Filter hat keine Inter-Symbol-Interferenzen, wenn seine Grenzfrequenz genau 500 kHz bei 1 MBit/s beträgt (Bild 7b, in der Mitte).
Etwas niedrigere (obere) oder höhere (untere) Grenzfrequenzen verschlechtern das Verhalten erheblich.
eine Kopie des Eingangssignals (in grün) nicht? Warum nicht ein Filter, das immer Wird er erhöht, ist das Filterprofil etwas
hinzugefügt. Wie erwartet, ist das gefil- eine Grenzfrequenz von R/2 besitzt, mit entspannter und sein Spektrum breiter.
terte Signal genau gleich dem Eingangs- einer etwas weniger geraden Steigung Erhöhte Cosinusfilter haben zwei Vorteile.
signal in den Entscheidungsmomenten. und trotzdem frei von Inter-Symbol-In- Zunächst ist das Spektrum des gefilter-
terferenzen?“ Diese Lösung wird als ten Signals begrenzt: Wenn Sie w = 0,8
Das Raised-Cosine-Filter Raised-Cosine-Filter oder Wurzel-Co- wählen, sind im gefilterten Signal theo-
Klingt fast nach Zauberei! Ein solches sinus-Filter bezeichnet. Seine genaue retisch keine Frequenzen, die größer sind
Nyquist-Filter bietet eine optimale Band- Definition findet man in der Literatur – als das 0,8-fache der Nyquist-Frequenz.
breiteneffizienz ohne ISI. Großartig, aber insbesondere in dem großartigen Buch Dies ist ein großer Vorteil gegenüber her-
leider kann niemand solch ein perfekt von Bernard Sklar [4]. Zusammenfas- kömmlichen Tiefpassfiltern, die bei hohen
steiles Filter in der Praxis aufbauen. Diese send lässt sich sagen, dass dieses Filter Frequenzen immer einen kleinen Sig-
Lösung ist rein theoretisch zwar optimal, zu einer Familie von Filtern gehört, in nal-Anteil durchlassen. Zweitens ist der
aber oft nicht realisierbar. Doch helfen denen der Wert w eine wichtige Rolle ISI-Wert immer strikt Null, unabhängig
uns mal wieder die Mathematiker wei- spielt. Wenn w nahe bei 0,5 liegt, arbeitet von dem für w gewählten Wert. Ich habe
ter: „Ihr wollt unser perfekt steiles Filter das Filter ähnlich wie ein Nyquist-Filter. einmal eine Simulation mit verschiede-
Weblinks
[1] „Digitale Modulation: Codierung der Daten”, Elektor 09-10/2018: www.elektormagazine.de/magazine/elektor-69/42270
[2] Scilab Simulationssoftware: www.scilab.org
[3] Artikelseite (Scilab-Skripte zum Herunterladen): www.elektormagazine.de/180509-02
[4] „Digital communications – Fundamentals and Applications “, 2nd edition, Bernard Sklar, Prentice Hall,
ISBN 0-13-084788-7:
[5] „Pulse shaping“, Wikipedia: http://en.wikipedia.org/wiki/Pulse_shaping
[6] „Inter Symbol Interference (ISI) and Root-raised Cosine (RRC) filtering “, Charan Langton:
http://complextoreal.com/wp-content/uploads/2013/01/isi.pdf
[7] High Performance Narrow Band ISM ADF7021 Transceiver-Chip, Analog Devices Inc.:
www.analog.com/en/rfif-components/rfif-transceivers/adf7021/products/product.html
nen Werten von w durchgeführt (Bild 8). ausgelegt sein, dass Inter-Symbol-Inter- Im nächsten Artikel werde ich den
Noch einmal, die Scilab-Quelldateien für ferenzen minimiert werden. Die ideale Bereich der Funkelektronik etwas näher
all diese Simulationen befinden sich auf Lösung, das Nyquist-Filter, begrenzt das unter die Lupe nehmen, indem ich über
der Elektor-Website – also einfach mal Spektrum auf die Hälfte der übertrage- Mischer spreche.
herunterladen und ausprobieren. nen Bitrate (500 kHz für 1 MBit/s), aber 180509-02
dieses Filter ist nur ein Traum von Mathe- Dieser Artikel wurde in der Zeitschrift Circuit
Zum Schluss matikern. Raised-Cosine und Gaußsche Cellar (Nr. 285, April 2014) veröffentlicht.
Ein so kurzer Artikel kann natürlich nur Filter sind zwei Klassen von realisierbaren
als Einführung in das umfangreiche Filtern, die ein mehr als interessantes
Thema Kanalfilterung aufgefasst werden. Komplexitäts-/Leistungsverhältnis bieten.
Ich hoffe, Sie haben die Idee verstanden: Alles, was ich hier vorgestellt habe, gilt
Die Übertragung eines digitalen Rohsig- unabhängig vom Kommunikationska-
nals, ganz gleich, mit welchem Medium, nal, ganz gleich, ob es sich nun um zwei
ist eine Verschwendung von Bandbreite. Drähte, eine drahtlose Verbindung mit
Ein Filter kann das belegte Band deutlich Amplituden-, Frequenz- bzw. Phasenmo-
reduzieren, ohne die Fehlerrate deutlich dulation, um Trägermodems oder gar um
zu erhöhen. Dieses Filter muss jedoch so optische Verbindungen handelt.
Taupunkt-Messgerät
mit ENS210 als BoB
Mit Beispiel-Implementierung für Arduino Uno
Die physikalische Größe „Taupunkt“ erlaubt nicht nur die Beurteilung des Risikos von Schimmelpilzbefall,
sondern auch der Korrosion von Gegenständen aus Stahl und Werkzeugen. Lüftung und Heizung ermöglichen
die Beeinflussung des Taupunkts. Für eine solche Beeinflussung muss aber zuvor der Taupunkt bestimmt
werden. Genau das macht dieses intelligente Messgerät.
Einsteiger
Æ Fortgeschrittene
Experte
Bild 1. Klein, kleiner, ENS210. Dieser Taupunkt- Bild 2. Eine improvisierte aber durchaus funkti-
Sensor von a m s ist wirklich winzig (Foto des onierende Methode zur Montage eines ENS210
rund 0,5 Stunden Autors). auf einer Lochrasterplatine (Foto des Autors).
Arduino Uno,
Arduino-IDE, BoB, R1, R2: NOT mounted
Lötkolben R1 R2
C1
ENS210
2k2
2k2
Bottom View
100n
GND VDD
etwa 15 € K1
+3V3
SCL
SDA SCL
SDA
GND
GND
4k7
Anschluss des Sensors über ein Kabel
3k9
3k9
100
1
hat. MOD1
Sensor 3V3 MOD2
5 5
Bild 4 zeigt den schematischen Aufbau +5V ARDUINO UNO
SCL
4 4
SCL
ENS210
SDA SDA
des resultierenden Taupunktmessgerätes AREF
3 3
GND
2 2
des Autors, das dank seiner selbst entwi- GND
100k
RESERVED 1 1
13
ckelten Software über einige Feinheiten IOREF
12
10n
RESET
verfügt. Diese Software, genauer: der +3V3 3.3V
11
10
„Sketch“ in Arduino-Sprache, kann kos- +5V 5V
9
GND
POWER
tenlos von [2] heruntergeladen werden. 8
GND
DIGITAL (PWM )
Beachten Sie, dass weder die Schaltung VIN 7
ANALOG IN
Serial Plot/Monitor
S1 A1 4
RESET
MISO
A3 2
Kategorie Homelab Project einsortiert.
SCK
A4 TX 1
Der Sensor ENS210 verfügt über eine A5 RX 0
MOSI
GND
5V
kaum zusätzliche Hardware benötigt
wird. Alle Messergebnisse werden nicht +5V
68
68
E
RS
23
PSB
weder für den Monitor oder den Plotter 24 1
VOUT A1
LCD1
umschaltbar. 25
VIN A2
20
40 LCD- DISPLAY
Vorgesehen ist ein nettes dreizeiliges 37
RES
2
R/W EA DOGM 163W-A C1
LC-Display mit weißer Hintergrund- 38
CSB C2
19
D1, D2 = 1N4148
beleuchtung von Electronic Assembly. VSS CAP1N CAP1P
27 21 22
Selbstverständlich können Sie auch ein C1
Ein eher wenig bekanntes Programm zur Cross-Plattform-Entwicklung ist PureBasic, ein Compiler für die
Jahrzehnte alte Programmiersprache BASIC. Die von PureBasic kompilierten Programme sind klein, schnell
und können auch ohne Installation von einem USB-Stick gestartet werden. Es lohnt sich also, einen näheren
Blick auf diesen Compiler zu werfen.
For i=1 to 10
• Kommentare werden im Programm-
If i=5
code mit einem vorangestellten
Semikolon (;) gekennzeichnet. Break
• Die Elemente von Fenstern der EndIf
Bild 2. Autovervollständigen und Syntax-
Benutzeroberfläche (Textfelder, But- Next
Highlighting.
Kompilieren
• Extrahieren Sie die Dateien aus
dem ZIP-Archiv in ein beliebiges
Verzeichnis.
• Starten Sie PureBasic und laden Sie
die Datei „COMTest.pb“.
• Wählen Sie im Menü „Compiler –>
Create Executable“. Bild 9. COMTest erscheint als Eintrag im Tools-Menü.
terung vom Tools-Menü aus gestartet einfacher Syntax, der sehr schnellen und
werden. Es lässt sich auch unter ver- kompakten Code erzeugt. Die kompilier-
Deutsche Erstausgabe
schiedenen Bedingungen wählen, bei ten Programme benötigen keine zusätz-
denen unser Tool automatisch gestartet lichen Laufzeitbibliotheken – ein BASIC
wird, zum Beispiel beim Start des Editors. ohne Ballast!
PureBasic
Eine Einführung in die Computer Programmierung
neues Fenster erscheint.
• Dort unter „Commandline“ das Tool
wählen.
Wer sich vorab informieren möchte, kann
sich das 1679 Seiten starke PureBasic
Referenzhandbuch herunterladen [4]
Beta Version • Das Tool muss einen Namen („COM- oder das 258 Seiten umfassende Buch
Aktuelle Informationen zum Projekt unter:
http://www.purebasic.fr/german/viewtopic.php?f=1&t=23627 Test“) erhalten. „PureBasic – Eine Einführung in die Com-
Stand: 01.06.2011, 22:19 Uhr
• Nach Schließen beider Fenster mit puter Programmierung“ von Gary Wil-
Gary Willoughby
„OK“ wurde das Tools-Menü um das loughby [5] (Bild 10).
neue Tool erweitert (Bild 9).
Eine fleißige Fangemeinde hilft in den
Fazit Foren [6] bei kleineren und auch größe-
Bild 10. Dick und deutlich: Die Einführung von Das Programmieren von GUIs mag etwas ren Problemen (aber lassen Sie sich nicht
Gary Willoughby. umständlich sein. Doch ist PureBasic ein als russischer Hacker entlarven ;).
sehr umfangreicher BASIC-Compiler mit (150839 | 180422)
Weblinks
[1] PureBasic-Homepage in deutscher, französischer und englischer Sprache: im elektor-shop
www.purebasic.com
ªBuch-PDF
[2] PureBasic FormDesigner Tutorial: „Visual Basic für
www.youtube.com/watch?v=_Zb8gFIwzpg (Teil 1), Elektroniksteuerungen
www.youtube.com/watch?v=ucN0TYlJxcw (Teil 2) und Entwicklung“
[3] COMTest auf der Projektseite: www.elektormagazine.de/180422-01 [17031]
[4] Referenzhandbuch: www.purebasic.com/documentation/PureBasic.pdf
www.elektor.de/
[5] Einführung: www.purearea.net/pb/download/PureBasicBuch.pdf visual-basic-fur-
[6] PureBasic Supportseite in deutscher und englischer Sprache: elektroniksteuerungen-
und-entwicklung-pdf
www.purearea.net
Temperaturgesteuerte DIY-Lötstation
Heft 01-02/2019, S. 14 (180348)
Bei der deutschen Übersetzung ist uns leider ein grober Fehler unterlaufen: Die Stückliste und die Schaltungsbeschreibung
im Heft beziehen sich noch auf eine alte Version des Projekts. Davon unabhängig enthält der Schaltplan folgende Fehler:
• T4 muss ein PNP-Typ sein, dessen Emitter mit dem Emitter von T2 verbunden ist.
• R22 (560 k) am Ausgang von IC3, nach 0 V, fehlt im Schaltplan.
• D4 als Freilaufdiode über IC1 fehlt im Schaltplan.
• R7 und R9 bilden einen Spannungsteiler zur Messung von VIN mittels Analogeingang A2 des Controllers (in der Soft-
ware nicht genutzt), die beiden Widerstände fehlen im Schaltplan.
Die Platine ist korrekt.
Wir haben ein neues PDF des Artikels erstellt, bei dem alle Fehler beseitigt wurden. Dieses ist für alle Leser kostenlos
downloadbar unter dem Weblink: www.elektormagazine.de/180348-02
+5V
+5V
LCD1
R1 R5
C14 C20 C1 C2
10k
10k
MOSI 100n 10u 10V 10n 10n
L1 ENC1
IO8 OLED_0.96
C16 MH2029-300Y C22
+5V
GND
SDA
VCC
RST
SCL
D/C
R16 D6 IO9
D1 100n 1u
10k
K4 14 34 2 24 44 1 2 3 4 5 6
1 MISO 2
VCC VCC1 UVCC AVCC AVCC1
3 SCK 4 8
D3/SCL
PB0(PCINT0/SS)
MISO
MOSI
SCK
5 RESET 6 13
RESET
IC4 PB1(SCLK/PCINT1)
9 SCK
10 MOSI +5V
ICSP PB2(MOSI/PCINT2/PDI)
CD1206-S01575 1 11 MISO
PE6(AIN0/INT6) PB3(MISO/PCINT3/PDO)
+5V 33 28 IO8 C10
PE2(HWB) PB4(PCINT4/ADC11)
29 IO9 +5V
D3 PB5(PCINT5/OC1A/OC4B/ADC12)
30 100n
BAT54 PB6(PCINT6/OC1B/OC4B/ADC13)
R11
PB7(PCINT7/OC0A/OC1C/RTS) 12 R10
K3
18k
1M
R8
C11 C8 3
10k
D5 31 18 D3/SCL
PC6(OC3A/OC4A) PD0(INT0/SCL/OC0B)
solder tip
R12
32 19 3 2
22u 10V 100n PC7(ICP3/CLK0/OC4A) PD1(INT1/SDA) R13 5k6
20 A0 1
PD2(INT2/RXD1) 5k6 IC2.A 1
F1 21 4
K2 MF-MSMF050-2 PD3(INT3/TXD1)
7 25
VBUS PD4(ICP1/ADC8) R15 R14
22 C13 C12
PTC Resettable Fuse PD5(CTS/XCK1)
10M
100R
1 500mA 26
VBUS R4 PD6(T1/OC4D/ADC9)
2 3 27 D6 10n 10n
D– 22R D– PD7(T0/OC4D/ADC10)
3 4
D+ 22R D+ ATMEGA32U4-AU
4 R6 41
ID PF0(ADC0) VIN
5 42 40
GND AREF PF1(ADC1)
R2 R3 6 39
UCAP PF4(ADC4/TCK)
5 38 A2
UGND PF5(ADC5/TMS)
37 A1 T1
micro USB_B PF6(ADC6/TDO) R17 BC847C IRF9540
EXP PAD 36 A0
PF7(ADC7/TDI) R20 NSPBF
4k7
2x
CG0603MLC-05E GND GND XTAL1 XTAL2 GND GND R18
100R
15 23 17 16 35 43 T2 0R020
KX-7
X1 16MHz
C23 C24 T3 T4 3 4
R19 +5V
D5
10k
100n 1u
D4 C19 C17
BC847C BC857C 5
100n 10u
5 10V
MBRS540 R21 1
T3G C3 C4 C5 C6 C9 8 C7 A2 A1 7
1 R9
100k IC2.B 2
IC2 6
10u 47u 10u C15
100n 100n 100n 4
2k7
560k
Leuchtturmfeuer 2.0
Heft 01-02/2019, S. 24 (180334)
In einem ausgiebigen Dauertest fiel auf, dass es nach unbestimmter Zeit zu Softwareabstürzen kommen kann. Die
genauere Untersuchung zeigte, dass die Erfassung der Potentiometerwerte innerhalb der DO-LOOP-Schleife das Problem
ist. Eine Verlegung der DO-LOOP-Scheife in einer neuen Softwareversion [siehe www.elektormagazine.de/180334-03]
bewirkt nun, dass die Potentiometerwerte nur noch einmal zum Start des Programms abgefragt werden. Die Schaltung
ist gegebenenfalls um einen Reset zu ergänzen.
Das Einstellen läuft nun wie folgt ab:
Zunächst stellt man alle drei Potis auf den kleinsten Wert.
Nun folgt mit P1 die gewünschte Blitzlänge. Als nächstes R1
C1 +5V
empfiehlt es sich, mit P3 die Anzahl der Blitze/Blinks fest-
10k
8
zulegen. Da auch die Wiederkehr noch auf Minimum steht, P3 VCC 100n
1 6
legt das Programm die Wiederkehrperiode automatisch auf PB5/RST PB1/MISO
P2 10k
einen Wert fest, der 2 Sekunden länger dauert, als alle Blitze/ 2 IC1
PB3
P1 10k ATTINY45
Blinks und die dazugehörigen Unterbrechungen benötigen. 3
PB4 R2
Liegt die Anzahl der Blitze/Blinks fest, so stellt man mit 10k
PB0/MOSI
5
220
7
PB2/SCL
P2 die Dauer der Wiederkehr auf den gewünschten Wert. GND D1
Damit sind die Parameter des Leuchtturms eingestellt. Um 4
die jeweilige Einstellung zu übernehmen, drückt man den
Reset-Taster, damit das Programm neu startet. Oder man
schaltet die Versorgungsspannung aus und wieder ein.
Friedrich Lischeck (Autor)
Platino-Transistortester
Heft 03/2015, S. 60 (130544)
Der Platino-Transistortester aus Elektor 03/2015 ist zwar schon ein etwas älteres Projekt, aber meines Erach-
tens spricht nichts gegen Vorschläge, ältere Projekte zu verbessern. Jedenfalls wird die Platine immer noch
im Elektor-Shop angeboten und so erwarb ich sie vor knapp zwei Jahren. Der Aufbau machte keine größeren
Schwierigkeiten, nur mit der Software schien irgend etwas nicht in Ordnung zu sein. Wenn ein Transistor angeschlos-
sen war, wurde er ohne Probleme ausgemessen. Wenn allerdings die Anschlussklemmen ohne DUT waren, gab es keine
Rückmeldung. Zwar schien irgendetwas nach Drücken des Buttons in der ersten Zeile des Displays zu passieren, aber
erst ein dauerhafter Druck auf den Button brachte ein blasses „No transistor“ zum Vorschein.
Die Verbesserung war mit meiner BASCOM-Vollversion schnell eingebaut: Nach der Zeile 320 Lcd "No transistor" die
Zeile Waitms 1000 eingefügt und schon blieb die Anzeige „No transistor“ lesbar. Allerdings wurden danach wieder die
Werte angezeigt, die aus der vorigen Messung mit angeschlossenem Transistor stammten. Also mussten nach der neu
eingefügten Zeile noch die entsprechenden Variablen gelöscht werden:
Anmerkung der Redaktion: Die Softwareversion von Hans Schneider (V3.1) ist downloadbar unter:
www.elektormagazine.com/labs/130544-1-platino-transistor-tester (siehe Kommentare)
IM ELEKTOR-SHOP
ªMultimeter Mastech MS8238H
https://bit.ly/2H2G8v4
IM ELEKTOR-SHOP IM ELEKTOR-SHOP
ªStromPi 3 – Stromversorgung für den RPi ªAnycubic Photon 3D-Drucker
www.elektor.de/strompi-3-power-solution-for-raspberry-pi www.elektor.de/anycubic-photon-uv-resin-dlp-3d-printer
Im letzten Teil der Serie haben wir eine Digitaluhr im Binärformat gebaut. Dieses Mal werden wir die Uhr mit
einer Anzeige ausstatten, und zwar mit einer Matrix aus 64 WS2812-RGB-LEDs. Das Protokoll, mit dem die
WS2812-LEDs angesteuert werden, ist glücklicherweise ein recht simples asynchrones Protokoll. Für unseren
Hardware-Treiber in VHDL setzen wir unter anderem einen Zustandsautomaten ein.
Eine Matrix aus 64 WS2812-RGB-LEDs gibt es bei verschieden Wie bei den vorangegangenen Teilen der Serie kann auch dies-
Online-Händlern schon ab 5 €. Eine WS2812-LED ist mehr als mal die Software von der Webseite zu diesem Artikel herunter-
nur eine RGB-LED. In einem kleinen Gehäuse befinden sich geladen werden [7]. Die Organisation des Sourcecodes und die
neben den drei LEDs auch deren Treiber (die Stromquellen) verwendete Hardware-Plattform haben wir bereits im ersten
und ein kleiner Controller. Diesem Controller kann man über ein Teil [4] beschrieben.
serielles Eindraht-Protokoll mitteilen, wie hell die drei internen
LEDs jeweils leuchten sollen. Im Netz sind viele Mikrocontrol- WS2812-Protokoll
ler-Projekte (und Software-Bibliotheken) zu finden, bei denen Für einen Hardware-Treiber in VHDL, der mit einem externen
WS2812-LEDs angesteuert werden [1][2]. Wir steigen eine digitalen Chip kommunizieren soll, muss man sich mit den
Ebene tiefer ein und „programmieren“ einen Hardware-Trei- internen Details des anzusteuernden Bausteins auseinander-
ber in VHDL, der mit den Controllern kommuniziert, die in die setzen und benötigt detailliertes Wissen über das verwendete
LEDs eingebaut sind. Protokoll. Bei einer WS2812-LED ist das glücklicherweise ein
recht simples asynchrones Protokoll. Dabei lassen sich LEDs
verketten: Jede LED empfängt 24 Bit an Daten über den seri-
Tabelle 1. Data-Transfer-Zeiten.
ellen DIN-Port und reicht die weiteren Bits am DOUT-Ausgang
an die nächste LED weiter [3].
Dauer (TH+TL =
Name Beschreibung Für jede der drei Farben wird ein 8-Bit-Wert zwischen 0 und
1,25 µs ± 150 ns)
255 verwendet; der Wert steuert die Stromstärke des jeweili-
T0H 0 code , high voltage time 0,35 µs
gen eingebauten LED-Treibers. Nach dem Empfang der ersten
T1H 1 code , high voltage time 0,9 µs 24 Bits, die intern zwischengespeichert werden, werden alle
T0L 0 code , low voltage time 0,9 µs weiteren empfangenen Bits am DOUT-Ausgang frisch verstärkt
T1L 1 code , low voltage time 0,35 µs ausgegeben. Durch die Wiederaufbereitung des Signals am
RES Reset-Code, low voltage time > 50 µs Ausgang ist die Datenübertragung sehr robust und es können
theoretisch beliebig viele LEDs in Reihe geschaltet werden. Die
Limitierung liegt dann im Stromverbrauch und der zu errei-
chenden Frame-Update-Rate.
Sequence chart: Die Übernahme der empfangenen Werte erfolgt erst, wenn
0 code T0L ein Reset-Code auf der Leitung erkannt wird, hierfür wird die
T0H Leitung für mehr als 50 µs auf low getrieben. Die Encodierung
der Datenbits erfolgt durch unterschiedlich lange High- und
1 code T1L Low-Pulse (siehe Tabelle 1 und Bild 1). Das Zeitraster für
T1H ein Bit beträgt 1,25 µs. Wenn während dieser Zeit ein 0,35 µs
langer High-Puls und ein 0,9 µs langer Low-Puls gesendet wird,
RET code Treset dann wird dieses Bit als 0 erkannt. Für eine zu übertragende
1 muss die Dauer des High-Pulses 0,9 µs betragen; die restli-
chen 0,35 µs muss die Leitung auf low sein. Die empfangenen
Daten werden in der Reihenfolge Grün, Rot, Blau interpretiert
Bild 1. WS2812-Datenformat [3].
und die Bitreihenfolge geht von MSB nach LSB.
frame_cntrl_sm:frame_sm
counter:rst_cnt
clk
clk cnt_state data
clk
clk ena tc reset_done reset
rst_n rst_n
counter:led_cnt ws2812_pixel_driver:pixels
clock_to_pixel:to_pix
clk c_r[5..0] clk
ena tc
cnt_state clk enable done
rst_n rst_n data_cycle load_val[23..0] sdat_o sdat_o
watch:watch sdat_o
hrs_r[4..0] load_val[23..0] load
clk hrs_r[4..0] hrs_r[4..0] led_idx[5..0] load rst_n
Bei einer Taktfrequenz von 50 MHz beträgt die Zeitauflö- kann (hier gibt es also einigen Raum für eigene Experimente).
sung, die wir mit dem CPLD erreichen können, 20 ns. Beim Die Funktion des Pixel-Treibers kann man so beschreiben: Zu
WS2812-Protokoll wird gefordert, dass die Pulsdauern nicht Beginn eines Pixels wird ein 24-Bit-Schieberegister (do_reg)
mehr als +/- 150 ns von den Sollwerten abweichen. Das sollte mit den Helligkeitswerten der LEDs geladen. Dazu muss das
bei unserer reinen VHDL-Implementierung also einzuhalten sein. Signal load für einen Takt auf 1 gehen, dann wird der Wert vom
Die Erfahrung mit den WS2812-LEDs zeigt ohnehin, dass die Eingangssignal load_val in das Schieberegister kopiert. Dieser
LEDs sehr tolerant gegenüber Timing-Verletzungen im seriellen Inhalt muss nun seriell hinausgetaktet werden (Listing 1).
Protokoll sind. Allerdings dürfen die Low-Pulse nicht zu lang Das Protokoll erfordert allerdings Pulse anstatt direkte 1- und
ausfallen. Auch Pulse, die deutlich kürzer als 50 µs sind, wer- 0-Werte auf der Datenleitung. Dies wird mit zwei Prozessen
den von LED-Controllern mitunter schon als Reset interpretiert. gelöst. Im Prozess code_proc werden kontinuierlich die „Codes“
für eine 0 oder eine 1 erzeugt (Listing 2). Welcher Code dann
Pixel-Treiber auf die Ausgangsleitung getrieben wird, wird durch das höchst-
Der hier vorgestellte WS2812-Treiber zum Anzeigen der Uhr-
zeit im Binärformat ist hierarchisch aufgebaut und besteht aus
mehreren Modulen (Bild 2). Das Top-Level-Modul instanziiert
die Uhr aus dem letzten Artikel [8] und zusätzlich eine Instanz Listing 2. Zero One Code Process.
des Moduls ws2812_matrix_driver. Dieses Modul besitzt als
code_proc: process (rst_n, clk)
Eingangssignale die Daten der Uhr-Register (hrs, sec, min),
begin
die auf dem 8x8-Display angezeigt werden sollen. Innerhalb
if (rst_n = '0') then
des Matrix-Treiber-Moduls gibt es weitere Komponenten, die
jeweils unterschiedliche Aufgaben erfüllen. zero_one_count <= 0;
Die ws2812_pixel_driver-Komponente ist so konzipiert, dass sie one_code <= '1';
auch für LED-Stripes oder größere Matrizen verwendet werden zero_code <= '1';
elsif rising_edge(clk) then
if (enable = '1') then
if (bit_done)then
Listing 1. Schieberegister.
zero_one_count <= 0;
shift_proc: process (rst_n, clk) one_code <= '1';
begin zero_code <= '1';
if (rst_n = '0') then else
do_reg <= (others => '0'); zero_one_count <= zero_one_count + 1;
elsif rising_edge(clk) then if (zero_one_count >= c_CLKS_T0_H_T1_L)
if(enable= '1') then then
if (load = '1') then zero_code <= '0';
do_reg <= load_val; end if;
else if (zero_one_count >= c_CLKS_T1_H_T0_L)
if (bit_done) then then
do_reg <= do_reg(22 downto 0) & '0'; one_code <= '0';
end if; end if;
end if; end if;
end if; end if;
end if; end if;
end process; end process;
Anzeige
boolescher Algebra ineinander überführbar. In der Praxis spielt
(nach Meinung des Autors) die Unterscheidung der Automa-
ten keine Rolle, da die Lösung eines konkreten Problems im
Vordergrund steht. Erfahrungsgemäß hat eine Moore-Automa-
ten-Implementierung mehr Zustände (= mo(o)re), ist aber in
der Regel einfacher zu verstehen.
Um eine State-Machine in VHDL zu beschreiben gibt es mehrere
Ansätze. Der erste ist der lehrbuchhafte zwei Prozess-Ansatz.
Dabei wird die State-Machine in zwei getrennten Prozessen
beschrieben. Ein Prozess ist nur für das Speichern des neu
berechneten Zustandsvektors zuständig; er ist die Beschrei-
bung des sequentiellen Teils des Automaten. Der zweite Pro-
zess ist die kombinatorische Logik, die zur Berechnung des
Folge-Zustands notwendig ist.
Daneben gibt es den Ansatz, die sequentiellen und kombina-
torischen Teile, die für die Zustands-Berechnung und Speiche-
rung nötig sind, innerhalb eines Prozesses zu beschreiben und
die restliche Logik für die Ausgänge (falls nötig) in einem wei-
teren Prozess. Dieser Ansatz hat den Vorteil, dass er weniger
Schreibaufwand bedeutet, somit kompakter und auch einfa-
cher zu verstehen ist.
Listing 4 zeigt den Sourcecode der State-Machine, die im Trei-
ber die Ablaufsteuerung eines Frames überwacht. Die State-
Machine hat nur zwei Zustände, die anzeigen, ob gerade ein
Pixel ausgegeben wird oder ob der Reset-Code anliegt. Die
Zustände eines Automaten werden in der Regel über Zustands-
diagramme dokumentiert. Für die einzelnen Zustände kann
in VHDL mit dem Schlüsselwort type ein User-defined-Type
erzeugt werden. Die Zeile
reset_cyc
mouser.de/ecad
Bild 3. State Machine zur Ablaufsteuerung eines Frames.
Ausblick
In diesem Teil der Serie haben wir zum ersten Mal
eine etwas größere digitale Schaltung betrachtet.
Ein Blick auf die „Fitter Resource Usage Sum-
mary“ im Quartus-Compilation-Report-Fenster
zeigt, dass damit das CPLD zu 36 % gefüllt ist.
Es ist also noch ein wenig Platz für Erweite-
rungen. Im nächsten Teil werden wir kurz die
Timing Constraints behandeln, die für eine
funktionsfähige Schaltung notwendig sind.
Darüber hinaus wollen wir ein kleines Spiel
in Hardware programmieren.
Bild 4. Uhr mit 8x8-Anzeige.
180285-C-01
Weblinks
[1] WS2812-Ansteuerung: www.mikrocontroller.net/articles/WS2812_Ansteuerung
[2] „ESP8266-Webserver für NeoPixel-LED-Streifen“, Elektor 09-10/2018: www.elektormagazine.de/180355-04
[3] WS2812-Datenblatt: https://cdn-shop.adafruit.com/datasheets/WS2812.pdf
[4] „Hardware-Design mit (V)HDL (1)“, Elektor 09-10/2018: www.elektormagazine.de/180285-01
[5] VHDL-Typkonvertierung: www.nandland.com/vhdl/tips/tip-convert-numeric-std-logic-vector-to-integer.html
[6] VHDL Vektor-Arithmetik: www.doulos.com/knowhow/vhdl_designers_guide/numeric_std/
[7] Webseite zum Artikel: www.elektormagazine.de/180285-C-01
[8] „Hardware-Design mit (V)HDL (2)“, Elektor 11-12/2018: www.elektormagazine.de/180285-B-01
(180571-B-03)
@ Elektor Labs: www.elektor-labs.com/1299
I²C-Bus Datenleser
Über USB auf den PC-Bildschirm
Von Willem den Hollander
Der I²C-Bus (Inter-Integrated Circuit Bus) wurde als Bussystem für die Kommunikation zwischen integrierten
Schaltkreisen entwickelt. Oft ist es nützlich zu wissen, welche Daten über einen I²C-Bus laufen. Hier stellen
wir einen Datenleser vor, der die Daten auf dem Bus liest und sie über USB an einen PC weitergibt. Der
PC stellt die Daten hexadezimal auf dem Bildschirm dar. Die Daten können gefiltert werden, um aktuell
interessierende Daten zu finden.
Der I2C-Bus arbeitet mit zwei Signalleitungen: Taktleitung SCL Datenpakete über USB, die 64 Bytes lang sind. Zum Lesen
und Datenleitung SDA. Die Daten werden seriell übertragen. von Daten auf dem I2C-Bus im Standard Mode reicht dies aus,
Jede Nachricht besteht aus zwei oder mehr Bytes, daran schließt jedoch nicht im schnellen Fast Mode. Der I2C-Bus Datenleser
sich jeweils ein Bit zur Bestätigung an (Acknowledge). Eine kann zum Lesen von Daten im Fast Mode nur eingesetzt wer-
Startsequenz gibt den Beginn einer Nachricht an, eine Stopp- den, wenn nur gelegentlich Daten auf dem I2C-Bus übertragen
sequenz schließt sie ab. Um die I2C-Daten vollständig zum PC werden. Das kommt jedoch in der Praxis häufig vor.
zu übertragen, muss über USB die doppelte Anzahl an Bytes
transportiert werden. Im Standard Mode beträgt die I2C-Takt- Die Hardware
frequenz 100 kHz, was eine Datengeschwindigkeit von 20 kB Die Schaltung des I2C-Bus Datenlesers (Bild 1) besteht im
pro Sekunde ergibt. Im Fast Mode sind dies 80 kB pro Sekunde. Wesentlichen aus zwei Mikrocontrollern. Der PIC16F1455
Der hier vorgestellte I2C-Bus Datenleser sendet pro Millisekunde (rechts) liest die I2C-Daten und sendet sie über USB an den
+VCC
R1
C1 C2
10k
1 J2
1
IC2
7 R/W 5 13 2
J1 RA0/ICSPDAT RC5 RA0/D+/ICSPDAT1
USB mini
SDA IN 6 6 12 3
RA1/ICSPCLK RC4 RA1/D-/ICSPCLK1
5 NACK 7 4
IC1 RA2 RC3
SCL IN 4 8 4 5
RA3/MCLR/VPP RC2 RA3/MCLR/VPP
3 SDA 9 3
PIC16F15313 RA4 ICSPDAT/RC1 RA4
2 SCL 10 2
RA5/MCLR ICSPDAT/RC0 RA5
PIC16F1455
8 VUSB_3V3
14 11
C3
470n
180601-002
Bild 1. Die Hardware arbeitet mit zwei Mikrocontrollern aus der PIC-Familie.
PC. Das I2C-Modul dieses Controllers ist als Slave-Empfänger Da der Strombedarf niedrig ist, kann die Hardware aus dem
konfiguriert, um die Daten unter beliebigen Adressen erfas- USB-Port des PC versorgt werden.
sen zu können. Das kann jedoch nur geschehen, wenn das Der Autor hat die Hardware mit SMD-Bauteilen auf einer dop-
Schreib-Bit der ankommenden Daten gesetzt ist. Wenn das pelseitigen Platine aufgebaut, die Abmessungen betragen
Lese-Bit gesetzt ist, werden die Daten ignoriert. Außerdem 14 ∙ 33 mm (siehe Bild 3).
können die Bestätigungsinformationen nicht gelesen werden,
weil das I2C-Modul sie selbst generiert.
Aus diesem Grund ist ein Präprozessor vorgeschaltet, ein
PIC16F15313 (links), der jedes Lese-Bit in ein Schreib-Bit
umwandelt. Die Lese-Bits und die Empfangsbestätigung wer-
den aus dem Datenstrom gefiltert und dem PIC16F1455 sepa-
rat übergeben. Er fügt diese Informationen den empfangenen
I2C-Daten zu und sendet sie über USB an den PC.
Der PIC16F15313 ist ein Mikrocontroller, der mit vier konfigu-
rierbaren logischen Zellen (CLCs) ausgestattet ist. In Bild 2
ist dargestellt, wie sie konfiguriert werden müssen.
Im Mikrocontroller PIC16F1455 ist eine vollwertige USB-Schnitt-
stelle integriert. Der interne Taktoszillator ist genügend genau,
ein externer Quarz ist entbehrlich. Der Mikrocontroller legt die
empfangenen Bytes an den zugehörigen Speicherplätzen ab. Wenn
genügend viele Daten empfangen wurden, sendet er sie an den PC.
Die Firmware beider Mikrocontroller wurde in Assembler
geschrieben, so dass kritisches Timing kontrollierbar ist.
Auch die Konfiguration des USB-Moduls wurde in Assembler
geschrieben. Dieser Teil der Firmware stammt ursprünglich
von Microchip, er ist nach einigen Anpassungen und Fehler-
beseitigungen seit etwa zwölf Jahren beim Autor im Einsatz. Bild 3. Ober- und Unterseite der vom Autor aufgebauten Platine.
Firmware und Software Dauer eines Bits zum Ausgang. Die gelesenen Informationen
Timer 0 des PIC16F15313 generiert ein Fenster, das 1 Bit breit sind am Ausgang von CLC3 verfügbar (siehe Bild 2 links unten),
ist und das Lese-Bit entfernt, siehe auch Bild 4. Aus Listing 1 sie werden zum Ausgang RA0 weitergeleitet.
geht hervor, wie CLC2 das Lese-Bit auf 0 setzt. Das modifi- Da das SDA-Signal durch die CLCs verzögert wird, muss das
zierte SDA-Signal am Ausgang von CLC2 (siehe rechts oben in SCL-Signal ebenfalls verzögert werden, damit das Timing korrekt
Bild 2), ist mit dem Ausgang RA4 verbunden. RA4 ist ein Open- bleibt. Das geschieht hier mit CLC4. Ein kurzes Programmseg-
Drain-Ausgang mit externem Pullup-Widerstand. Der Wider- ment steuert den Timer und liest das Bestätigungsbit von RA2.
stand ist notwendig, weil der PIC16F1455 nach dem Empfang Bild 5 zeigt die grafische Benutzeroberfläche (GUI) der zuge-
eines Bytes vom PIC16F15313 immer ein Bestätigungssignal hörigen PC-Software. Die Statuszeile unten gibt an, ob der
(ACK) zurückgibt. Der Eingang des PIC16F1455 wird für die I2C-Bus-Datenleser angeschlossen ist und erkannt wurde. Über
Listing 1.
Anzeige
1.920
× 105.000 ≥ 15
1.536 Hz mK
Detektor 1,3 µm Trigger
Wer der Welt der klassischen Prozessrechner entstammt und irgendwann eine Schaltung für ein Fahrzeug
entwerfen soll, kann leicht in die automotive Falle geraten. Was dabei alles schief gehen kann und welche
Risiken auf den Entwickler und seine Hardware warten, soll dieser Artikel andeuten.
Bevor es ans Eingemachte geht, noch ein Wort vorab: Der anderem - daran, dass man sich ein automotives System unge-
Autor kennt eine Vielzahl von Kleinserien, die teils seit Jahren fähr wie das in Bild 1 gezeigte Netzwerk aus e^-t-Gliedern
im praktischen Einsatz sind und nur wenige oder gar keine der vorstellen muss. Einige Schaltungen sind „näher am Feuer“ und
hier genannten Schutzmaßnahmen aufweisen. Das liegt - unter bekommen den Großteil der Störungen ab, während andere
relativ unbehelligt bleiben. Die zur korrekten Absicherung eines
Designs notwendigen Maßnahmen kosten aber meist nicht die
Welt und sind auf jeden Fall ökonomisch sinnvoll.
Generator brutal
source of
interference Beginnen wir gleich mit der bösartigsten aller Störungen, die in
der Industrie als Lastabwurf (englisch: load shed) bezeichnet
wird. Hierzu müssen wir uns einen Quad oder ein ähnliches
Fahrzeug vorstellen, das mit Karacho über eine Schotterstraße
heizt. Leider ist es mit der Stabilität der Verbindung zwischen
Generator und Batterie nicht besonders gut bestellt. Der Her-
steller hat gespart, der Mechaniker hat geschlafen oder der
e-t e-t e-t Rost ist in die Verbindungselemente der Autobatterie hinein-
gefahren. Wie auch immer, beim Überfahren eines besonders
kernigen Steins kommt, was kommen muss - die Verbindung
zwischen Batterie und Generator geht kurzfristig verloren. Der
Generator will, nein muss aber seine überschüssige Energie
circuit circuit circuit irgendwohin abladen. Zugegeben, das Phänomen tritt erfreu-
licherweise nur sehr selten auf.
An dieser Stelle zeigt sich das erste Mal ein Hindernis, dem
Bild 1. Die Schaltungen sind der Störquelle unterschiedlich stark man im automotiven Bereich häufiger begegnet: Die konkur-
ausgesetzt. rierenden Hersteller spezifizieren mehr oder weniger belie-
100k
2V7 100n
180345-009
Bild 5. Nicht originell, aber simpel: ein Spannungsbegrenzer mit Z-Diode. Bild 6. Cold Cranking kann ganz schön unangenehm werden (Quelle: TI).
Dem Autor ist mehr als ein System bekannt, das dank eines weiteres Ärgernis sind Spannungsabfälle, die aus diversen
gealterten MOVs eine oder mehrere Spannungsschienen kurz- Gründen auftreten können. Neben dem plötzlichen Einschal-
geschlossen hat. ten eines „schweren“ Verbrauchers ist es auch das Starten
In der Praxis findet man zudem immer wieder Pärchen aus des Verbrennungsmotors bei kalter Außentemperatur. Dieser
einem MOV und einer TVS-Diode mit etwas höherer Durch- im englischen als Cold Crank bezeichnete Zustand ist ziemlich
bruchsspannung. Der Hintergedanke ist eine Kombination aus gefürchtet, da es aufgrund des durch die Kälte degradierten
der schnellen Schaltcharakteristik der TVS-Diode mit der höhe- Verhaltens der Hauptbatterie zum in Bild 6 gezeigten Verlauf
ren thermischen Kapazität des MOVs. Beachten Sie, dass die der Bordnetzspannung führen kann.
Norm IEC 60950-1 die Nutzung von MOVs als Überspannungs- Auf den ersten Blick ist man als Entwickler geneigt, das Cold
schutz vorschreibt und die von Transilen nicht erlaubt! Cranking zu ignorieren. Der Spannungsregler (wie der oben
genannte LM2576) ist ja auch zum Betrieb bei Spannungen von
Böse Spannungen rund 8 V geeignet. Die ISO spezifiziert je nach Kritikalitätsgrad
Neben der Absicherung der Haupt-Spannungsquelle sollten Sie des Systems aber Spannungen von bis zu 3 V.
auch darauf achten, empfindliche Bauteile beziehungsweise Ein- Zur Bekämpfung dieses Problems gibt es mehrere Methoden.
gänge zusätzlich mit Spannungsbegrenzern ausgiebig abzusi- Als erstes fällt einem natürlich das Vorschalten eines möglichst
chern. Ein Klassiker ist die wenig elegante, aber durchaus ihre großen Kondensators ein, der übrigens auch bei schnell stei-
Aufgabe erfüllende Zenerdioden-Schaltung in Bild 5. Bei dieser gender Spannung die Anstiegskurve abschwächt. Die zweite
Absicherung gegen Überspannungen reicht es ironischerweise Möglichkeit besteht darin, das eigene System darauf auszu-
aus, darauf zu achten, dass der Widerstand und die Zenerdi- legen, dass es im Fall eines Cold Cranks „abstürzt“ und bei
ode ausreichend Leistung absorbieren können, um eventuell ausreichender Spannung einfach weiterarbeitet. Diese Vorge-
anfallende Spannungsspitzen im wahrsten Sinne des Wortes hensweise ist allerdings nicht sehr empfehlenswert, denn ins-
zu verheizen. Der Widerstand muss den Zenerstrom auf ein besondere im Fall von komplexen unix-artigen Prozessrechnern
sicheres Maß begrenzen, darf dabei aber nicht verbrennen. führt die lange Startzeit zu massiven Problemen.
Rein theoretisch sollte man in einem 12-V-System mit maximal Eine andere, nicht minder interessante Lösung ist die Nutzung
14 V, vielleicht auch mal mit 15 V rechnen müssen. Leider ist der Buck-Boost-Technologie. Es handelt sich dabei um Schalt-
das in der Praxis nicht so, und wie so oft liegt es an der „Wet- regler, die sowohl steigernd als auch senkend arbeiten können.
ware“, dem Anwender. Ein Klassiker ist es, wenn Personen Texas Instruments gibt dazu in der Application Note 728 [7]
die Batterie ihres Fahrzeugs - sei es aus Nachlässigkeit oder weitere Hinweise. Und wenn der Regler auch wirklich mit 3 V
Dummheit - leerlaufen lassen und dann von einem anderen Eingangsspannung arbeiten kann, muss man sich um das Cold
Fahrzeug Starthilfe in Anspruch nehmen. Überraschenderweise Cranking keine Gedanken mehr machen.
kommt es oft vor, dass ein LKW (mit einer Bordspannung von
24 V) dem PKW mit seinen 12 V Starthilfe gibt. Im angelsäch- Kampf den negativen Pulsen
sischen Raum ist es auch sehr beliebt, zur Starthilfe die zwei Auch wenn man als Entwickler – theoretisch - darüber lachen
Batterien in Serie zu schalten. Wie dem auch sei, achten Sie bei kann, wenn ein Benutzer oder ein Mechaniker die Batterie ver-
der Entwicklung lediglich darauf, dass ihre Schutz-Schaltkreise sehentlich falsch herum anschließt, lachen Sie nicht, es kommt
die 24-V-Bordnetzspannung nicht als einen „zu clampenden“ vor! Erfreulicherweise ist das Absichern gegen Dummheit nicht
Impuls betrachten und versuchen, sie kurzzuschließen. Für besonders schwierig, man muss kein Genie sein, um sein Sys-
einen Schaltregler sollte das kurzfristige Anlegen von 24 V tem wie in Bild 7 mit einer Diode abzusichern. In der Praxis
kein allzu gravierendes Problem darstellen, wenn die Schal- muss allerdings beachtet werden, dass die Ansprüche an diese
tung einigermaßen intelligent ausgelegt ist. „Schutzdiode“ alles andere als gering sind. Ein Fahrzeug ist
nämlich nicht nur eine Serienschaltung diverser e^-t-Glieder,
Misstraue der Spannung! sondern auch eine Ansammlung von verschiedenen induktiven
Das „Außer-Gefecht-setzen“ von Überspannungen ist nur die Verbrauchern, die beim Ein- und Ausschalten diverse Spikes
halbe Miete. Es sind nicht nur Störimpulse, die stören. Ein ausspeien.
6A3
System G
2V7
270 R8
V33MLA1206H 33V
35V
4k7
180345-010
180345-006
Bild 7. Das Lösen von Problemen kann ja so einfach sein! Bild 8. An diese Art, einen MOSFET einzusetzen, denkt nicht jeder!
Neben den positiven Spikes, für die TVS-Dioden eingesetzt wer- ISO-Normen sind mit Sicherheit die klassischen Quellen, las-
den, gibt es auch Spikes, die eine Spannung von bis zu -200 V sen sich aber nur recht schwer beschaffen. In Österreich kann
(!) an den Eingang der Elektronik legen. Aus diesem Grund man einige davon im Normeninstitut einsehen, muss dazu aber
muss man bei der Auswahl der Diode extrem vorsichtig sein. die lange und beschwerliche Reise in die Hauptstadt antreten.
Der Autor hat für die Hauptversorgung mit der S5BC-13-F von In Deutschland gibt es eine Vielzahl von Normen-Infopoints,
Diodes Incorporated gute Erfahrungen gemacht, während sich meist in Hochschulen, aber auch in Ämtern und Instituten. Eine
die BAS20 zum Absichern von Attenuatoren (Spannungsab- Übersicht dieser Normenquellen gibt es unter [8].
schwächern) und ähnlichen Schaltungen sehr nützlich machte. Eine nette Alternative zu den Normschriften wird vom amerika-
Klassische Dioden haben aber schon lange kein Monopol mehr nischen Autohersteller Ford unter [9] bereitgestellt. Es handelt
auf dieses Anwendungsszenario. Wegen ihrer vergleichsweise sich dabei um ein Spezifikationsdokument, das eigentlich für
doch hohen Schwellspannung ist es wünschenswert, bei hohen Lieferanten vorgesehen ist, die Komponenten für die Amerika-
Strömen auf effizientere Komponenten zu setzen. Hier haben ner produzieren wollen. Es ist aber auch für andere Entwickler
Entwickler von Transistorschaltungen ein neues Betätigungs- insofern interessant, als dass das Dokument fast komplett
feld sowohl für P- als auch für N-Kanal-Feldeffekttransistoren „alleinstehend“ ist und so das Lesen der einen oder anderen
gefunden. Bild 8 zeigt schematisch, wie man derartige Schal- Norm überflüssig macht.
tungen aufbauen kann.
Wie in der Einleitung gesagt: Es gibt Tausende von Systemen,
Was noch zu sagen wäre die einige oder sogar alle der hier besprochenen Regeln aufs
Dieser Artikel beschränkt sich auf 12-V- und 24-V-Systeme. Gröbste missachten und trotzdem problemlos funktionieren.
Aufgrund der immer komplexer werdenden Fahrzeugelektronik Wer mit einer TVS-Diode und einigen anderen Bauteilen seine
fahren mittlerweile auch Fahrzeuge mit einem 48-V-Bordnetz Entwicklung schützt, darf sich seiner Situation aber im Großen
durch die Gegend. Die Spezifikationen stehen noch nicht voll- und Ganzen sicher sein.
ständig fest – wenden Sie sich im Zweifelsfall an den Herstel- 180345-01
ler des Fahrzeugs.
Automotive ist wahrlich kein Nischenmarkt: Es dürfte niemanden
überraschen, dass es eine Unmenge von Literatur zum Thema
Elektronik in Fahrzeugen gibt. Die in der Einleitung genannten
Weblinks
[1] ISO 7637-2: www.smd.ru/upload/medialibrary/a3d/iso_7637_2.pdf
[2] Load dump protection: www.vishay.com/docs/49748/49748.pdf
[3] Load Dump and Cranking Protection: www.ti.com/lit/an/snva681a/snva681a.pdf
[4] Littelfuse Automotive TVS Diodes: www.littelfuse.com/~/media/electronics/application_notes/littelfuse_tvs_diode_auto-
motive_circuit_protection_using_automotive_tvs_diodes_application_note.pdf.pdf
[5] Automotive Protection Devices:
www.st.com/content/st_com/en/products/protection-devices/automotive-protection-devices.html
[6] Transient Suppressors, a Competitive Look: www.vishay.com/docs/88444/tvscomp.pdf
[7] Output Voltage Regulation During Automotive Cold-Crank: www.ti.com/lit/an/snva728/snva728.pdf
[8] Normen einsehen: www.beuth.de/de/regelwerke/auslegestellen#/
[9] Electromagnetic Compatibility Specification: www.fordemc.com/docs/download/FMC1278.pdf
Zuerst einige Worte zur EMC-Richtlinie und den Standards: Die Verschlimmernd kommt hinzu, dass moderne Störquellen nicht
EMC-Richtlinie ist im (niederländischen) Telekommunikations- nur kurzzeitig aktiv sind, wie beispielsweise der Staubsauger
gesetz enthalten (die Standards gehören jedoch nicht dazu). In oder die Kaffeemühle. Heute bleiben viele Störquellen stän-
Anlage I wird dort der Begriff „Emission“ wie folgt beschrieben: dig eingeschaltet, sie sind rund um die Uhr im Dauerbetrieb.
Die erzeugten elektromagnetischen Störungen dürfen ein Niveau
nicht übersteigen, bei dem Funk- und Telekommunikationsge- Wurde etwas unternommen?
räte nicht mehr bestimmungsgemäß funktionieren können. Die zuständigen Gremien haben nicht vorausgesehen, dass
Wie ist dies zu verstehen? Wenn ein Rundfunkempfänger nicht die Funkkommunikation so schnell in massive Mitleidenschaft
mehr bestimmungsgemäß im Sinn der Richtlinie funktioniert, gezogen wird, wie dies geschehen ist. Die Entwicklung verlief
also kein Empfang von Rundfunksendern möglich ist, wird das im Hintergrund, ohne dass dies besonders auffiel. An vorders-
Gerät definitiv gestört. Doch setzt das voraus, dass zwischen ter Front haben die Funkamateure vor einer „Verschmutzung“
Störquelle und Empfänger ein Mindestabstand eingehalten wird? des elektromagnetischen Spektrums gewarnt. Funkamateure
Die Grenzwerte und Messaufbauten wurden in den 1970er Jah- operieren häufig am Rand des Rauschpegels, sie bemerken
ren mit den damals bekannten Störquellen wie Kollektormotor Veränderungen im elektromagnetischen Spektrum zuerst.
(Staubsauger und Kaffeemühle) und Zündung des Ottomotors Die EMV-Bestimmungen gehen davon aus, dass nur ein ein-
(Kraftfahrzug) festgelegt. Zu jener Zeit gab es noch keine Com- zelnes Produkt die Standards erfüllen muss. Tatsächlich sind
puter, Mobiltelefone, Schaltnetzteile, LED-Beleuchtungen oder oft viele störende Geräte gleichzeitig an benachbarten Orten
Solarsysteme. Die Väter der Richtlinie gingen davon aus, dass in Betrieb. Wie in einem gut besuchten Café, in dem sich viele
die Störquellen außerhalb des Einflussbereichs des Einzelnen Menschen gleichzeitig unterhalten, steigt der Störgeräusch-
zu lokalisieren sind, beispielsweise beim Wohnungsnachbar. pegel beträchtlich an.
Deshalb wurde ein Messabstand von 10 m zwischen einem Vielleicht ist es an der Zeit, die Standards zu überarbeiten. Zum
potentiell gestörten Gerät und einer Störquelle gewählt. Beispiel könnten die Grenzwerte der Produkte abhängig von der
Art des einzelnen Produkts um einige dB herabgesetzt werden.
Gibt es wachsende Einsicht?
Nicht wirklich. Die Welt hat sich geändert, aber de facto wurden Der Test: Warum EMC-Konformität?
die Standards in den 1970er Jahren eingefroren. Die Anzahl der Für Geräteentwickler ist es von Vorteil (vor allem finanziell),
Störquellen ist enorm gestiegen, so dass Funkamateure auch mit im Entwicklungsstadium zunächst einen Pre-Compliance-Test
leistungsstarken Außenantennen kaum noch „in die Luft“ gehen durchführen zu lassen. Eine vollständige Konformitätsprü-
können. Die hausgemachten Störquellen verursachen ungefähr fung oder ein formgemäßer Test ist kostspielig, dies schlägt
70 % der örtlichen Störungen. Der Funkamateur kann sie in eige- mit 1.000 € bis 4.000 € zu Buche. Aus diesem Grund lassen
ner Regie beseitigen, die Störquellen bei den Nachbarn aber nicht! die Hersteller in der Entwicklungsphase zunächst Pre-Com-
Heute sind so gut wie alle Grafiken, Illustrationen und Texte digitalen Ursprungs – egal ob wir sie auf Papier
oder auf dem Bildschirm betrachten. Sie entstehen zwar nicht ohne menschliches Zutun, aber „irgendwie“ mit
Hilfe eines Computers. Dank CAD ist das „Handwerk“ der Erstellung von Schaltplänen, Platinen-Layouts und
Zeichnungen mit Hilfe von Zeichentisch, Abdeckband, Radiergummi und Stiften – also echt von Hand – praktisch
ausgestorben. Aus nicht nur nostalgischen Gründen fand ich für diese eher grafisch dominierte Retronik-Ausgabe
einige der frühen Elektor-Kunstwerke interessant genug, um sie zu zeigen und zu beschreiben. Viel Spaß damit!
Nach einer „Umverteilung“ von Mitar- Mitte der 1960er Jahre wuchs das Per- dass er mit Hilfe der Fertig-Symbole
beitern, Funktionen und Büroräumen bei sonal in der Zeichenabteilung stetig und eine Schaltungsskizze aus dem Labor
Elektor im vergangenen Jahr und dem erreichte um 1980 einen Höchststand in einen Schaltplan im originalen Elek-
damit verbundenen „Ausmisten“ von von etwa zehn Mitarbeitern, von denen tor-Stil für den Druck der Zeitschrift(en)
Schränken zeigte mir Kollege Patrick aus räumlichen Gründen nicht jeder das verwandelte. Die druckreifen Schaltpläne
Wielders drei fette und schwere Ordner Glück hatte, einen eigenen Schreibtisch wurden gänzlich durch Abreiben von
aus der ehemaligen Elektor-Zeichenabtei- zu haben, geschweige denn einen Zei- Bauteile-Symbolen und Leitungen aus
lung. Diese Ordner hatten in den letzten chentisch. Ich muss jedoch hinzufügen, Letraset-Blättern erstellt. Neue Bauteile
25 Jahren auf wundersame Weise alle dass diese Zehn auch für das Seitenlay- wurden im Handumdrehen gezeichnet
Umzüge, Reorganisationen und allgemei- out zuständig waren. Darunter befanden und von Hand eingeklebt. In der Regel
nen Optimierungen der Elektor-Grafik- sich auch ein „Titelseitenkünstler“ und wurden die Arbeiten bei einer Vergröße-
abteilung überlebt und waren sogar der mehrere Zeichner, die Illustrationen wie rung von 200 % durchgeführt.
bewussten Entsorgung des kompletten Explosionszeichnungen und zugegebe- Während der Produktion jedes Zeitschrif-
Papierarchivs der Grafikabteilung im Jahr nermaßen auch witzigere Dinge anfer- tenartikels mussten Labor-Ingenieure
2005 entgangen. tigten. Um ihr Vermächtnis soll es hier und zuständige Redakteure das direkt
gehen. neben den Lötkolben gemalte Gekrit-
Historisches Der Stil der Elektor-Schaltpläne reifte zel mit den von Grafikern produzierten
Kurz nach seiner Gründung im Jahr zunächst recht organisch, wurde aber Kunstwerken auf Übereinstimmung und
1961 begann Elektuur (später Elektor) um 1970 zu einem gewissen Grad for- Lesbarkeit prüfen. Anschließend wurde
als damals noch rein holländischer Ver- malisiert, als die heute berühmten Bau- die geprüfte Grafik auf 100 % reduziert.
lag damit, engagierte Mitarbeiter für die teile-Symbole und sogar Leiterbahn- und Dabei wurden Fehler entdeckt (oder
Erstellung von „technischen Grafiken“ Pad-Formen erstellt und auf Abreibefo- übersehen) und es folgten (manchmal
wie Schalt- und Verdrahtungsplänen lien für den internen Gebrauch gedruckt mehrere) Korrekturrunden. Der gesamte
einzustellen. Diese jongens (und gele- wurden. Damit war der Stil nicht nur in Prozess basierte auf einer hauseigenen
gentlich auch meisjes) waren Ingeni- Stein gemeißelt, sondern auch etwas lithografischen Reproduktion und Kle-
eure mit Elektronik-Hintergrund, intern Besonderes. Er wurde (und wird bis betechniken mit heißem Bienenwachs,
geschult und angewiesen, besonders auf heute) selbst von unseren damaligen um Papierstücke auf Trägerblättern zu
die Lesbarkeit der Schaltpläne zu achten. Konkurrenten bewundert. Von jedem sichern.
Von bescheidenen zwei, drei „Grafikern“ technischen Zeichner wurde erwartet, Während einer Firmenreorganisation um
1985 schloss sich ein Großteil der Mit-
arbeiter der Elektor-Grafikabteilung zu
Retronik ist eine Rubrik, die antiker Elektronik und
einer Art Spin-off zusammen, um unter
legendären Elektor-Schaltungen ihre Reverenz erweist.
dem neuen Namen GBS (Grafisch Bureau
Beiträge, Vorschläge und Anfragen telegrafieren Sie bitte
www.elektor.tv Sinke) eigenständig, aber mit Elektor als
an Jan Buiting (editor@elektor.com).
Hauptkunden, zu firmieren. Einige Zeich-
Bauteile
sofortigem
Elektor seine Leser vor
Hin und wieder wollte auf gru nd hoher
hm lich kei ten
Tod und anderen Unanne nge n warnen.
öffentlichten Schaltu
Spannungen bei den ver
verblüfften viele
Ts der BF9xx-Serie
Die Dual-Gate-MOSFE ge “ in einem Loch. Noch
rsenkte Monta
Leser durch ihre „ve schreibung eines
tstand durch die Be
mehr Verwirrung en ondensators
tlosen Entkopplungsk
keramischen, kontak r Pla tin e neben dem
einem Schlitz de
im Sarg-Stil, der in ation ersparte den
Das war wohl der Beginn so mancher
Elektroniker-
war. Hilfe! Die Illustr
Source-Pin platziert t – und konnte
Karriere: Die Versorgung eines 6-V-G
lühbirnchens mit einer
ens 100 Worte an Tex
Redakteuren mindest 4,5-V-Flachbatterie. Schön sind auch
die Krokodilklemmen
eugen.
dennoch nicht überz und die Fassung! Dieses Juwel stam
mt aus Kapitel 1 der
beliebten Buchserie Elektronik 1-2-
3 der 1970er und 80er
Jahre. Heute stellt sich die Frage, ob
alle CEOs und CFOs der
Elektronikindustrie dieses „Experim
ent“ durchführen könnten.
Viele „praktische“ Löt-Tipps von Elektor. Ob das alles state of the art war?
Musik-Szene
Lauflicht!
AAN ist niederländisch für ein,
UIT für aus.
MonoDAQ-U-X –
Multifunktionales USB-Datenerfassungssystem
Mit seinem galvanisch getrennten USB-C-Anschluss und
seinem robusten Aluminiumgehäuse ist der MonoDAQ-
U-X ein robustes und vielseitiges Datenerfassungsgerät.
MonoDAQ-U-X verfügt über 8 Ports, die individuell als
analoger oder digitaler Ein- oder Ausgang konfiguriert 2. Mikrocontroller-Technik
werden können. Analogeingänge können auch gruppiert www.elektor.de/
mikrocontroller-technik
werden, um Differenzeingänge zu erzeugen. Neben diesen
8 konfigurierbaren Ports steht ein bidirektionaler Digital-Port zur Verfügung, der das 3. Mastech MS8911
1-Wire-Protokoll unterstützt. Auch ein Analogausgang zur Ansteuerung von Sensoren Smart SMD-Tester
www.elektor.de/mastech-ms8911
oder zur Versorgung eines Subsystems (bis 24 V,
max. 1 W) wurde nicht vergessen. Darüber 4. Raspberry Pi 3A+
hinaus sind im MonoDAQ-U-X ein www.elektor.de/rpi-3a-plus
Temperatur- und Feuchtesensor 5. PoE HAT für Raspberry Pi 3B+
und eine sechsachsige IMU www.elektor.de/poe-hat-rpi-3-plus
integriert. 6. Bakeey UM25C USB-Tester
www.elektor.de/bakeey-um25c
Clemens Valens
7. Raspberry Pi 3B+
(Elektor Labs)
www.elektor.de/rpi-3-plus
8. Das ESP32-Praxisbuch
www.elektor.de/monodaq www.elektor.de/das-esp32-praxisbuch
Dieses Buch gibt eine umfassende Einführung in die Welt Dieses Buch beschäftigt sich ausschließlich mit 8-Bit- Der JoyPi ist ein Experimentierkoffer basierend auf dem
der Controller-Technik mit all ihren Facetten, von der Mikrocontrollern – und zwar mit Mikrocontrollern der 8-Bit- Raspberry Pi und eignet sich hervorragend für den Einstieg
einfachen Steuerung über die Sensor-Technik bis hin zur PIC- und der 8-Bit-AVR-Mikrocontroller-Linien. Bei der PIC- in die Elektrotechnik und Programmierung. Das durchdachte
Datenübertragung in das Internet. Als Basis dafür dient das Familie handelt es sich dabei um PIC10, PIC12, PIC16 und Koffersystem bietet hierbei eine perfekte All-in-One-
von Elektor entwickelte AVR-Playground-Board. Das Board PIC18; bei der AVR-Familie um ATtiny, ATmega und ATxmega. Umgebung und macht Schluss mit vielen fummeligen
kann mit Controllern der ATmega-Familie bestückt werden und Die vorgestellten 8-Bit-Chips sind für sehr viele Anwendungen Kleinteillösungen und Kabelchaos auf dem Arbeitstisch.
ist mit dem bekannten Arduino-System kompatibel. vollkommen ausreichend und preislich auch attraktiv.
NEU
Das SDR-Praxisbuch
Das Elektor SDR-Shield ist ein vielseitiger Kurzwellenempfänger bis
30 MHz. Zusammen mit einem Arduino-Board und der passenden
Software lassen sich nicht nur Rundfunkstationen empfangen,
sondern auch Morsesignale, SSB-Stationen und digitale Signale.
Der Erfolgsautor und begeisterter Amateurfunker Burkhard Kainka
beschreibt in diesem Buch die moderne Praxis des Software
Defined Radios mithilfe des Elektor SDR-Shields. Dabei vermittelt
er nicht nur den theoretischen Background, sondern erklärt auch
zahlreiche Software-Werkzeuge aus dem Open-Source-Bereich,
die heute die Kurzwellentechnik zu einem absolut spannenden und
hochmodernen Hobby machen.
Dieses Netzteil zeichnet sich durch seine hervorragende Dieses Buch beschäftigt sich mit DC-Elektromotoren und Der NixieCron-M4 bietet einen hochpräzisen Uhrenchip, der
Präzision und Genauigkeit aus und kombiniert analoge und deren Einsatz in Arduino und RPi Zero W-Projekten. Das Buch mit einer Abweichung von nur wenigen Sekunden pro Monat
digitale Technologien in einem fortschrittlichen Design. Der enthält zahlreiche Motorsteuerungsprojekte, wobei jedes temperaturkompensiert ist. Es wird mit einem Soundmodul
verstellbare Ausgang reicht bis 50 V bzw. 5 A und lässt sich in Projekt denselben Aufbau besitzt: • Projekttitel • Beschreibung geliefert, das den Stundengong spielt und die aktuelle
10 mV bzw. 1 mA Schritten präzise konfigurieren. des Projekts • Blockschaltbild • Schaltplan • Zusammenbau Uhrzeit auf Knopfdruck anzeigt. Siekönnen ihn auch mit
• Vollständiges Programmlisting • Umfassende Erläuterung dem Temperatursensor DS18B20 verbinden und über einen
des Programms. Drehknopf konfigurieren.
Die Regeln dieses Rätsels sind ganz einfach zu verstehen: und in jedem Fach mit 4 x 4 Kästchen (markiert durch die
Bei einem Hexadoku werden die Hexadezimalzahlen 0 bis dickeren schwarzen Linien) genau einmal vorkommen.
F verwendet, was für Elektroniker und Programmierer ja Einige Zahlen sind bereits eingetragen, was die Ausgangs-
durchaus passend ist. Füllen Sie das Diagramm mit seinen situation des Rätsels bestimmt. Wer das Rätsel löst – sprich
16 x 16 Kästchen so aus, dass alle Hexadezimalzahlen von die Zahlen in den grauen Kästchen herausfindet – kann
0 bis F (also 0 bis 9 und A bis F) in jeder Reihe, jeder Spalte einen von fünf Gutscheinen im Wert von 50 Euro gewinnen!
Der Rechtsweg ist ausgeschlossen. Mitarbeiter der in der Unternehmensgruppe Elektor International Media B.V. zusammengeschlossenen Verlage und deren Angehörige sind von der Teilnahme ausgeschlossen.
Microchip ist ein führender Anbieter mit einem umfassenden Portfolio an Power-
Management- und Energieüberwachungs-ICs, das Ihnen die Möglichkeit,
Flexibilität und das Vertrauen bietet, die richtige Stromversorgungslösung für
Ihr Design auszuwählen.
Der Name Microchip und das Microchip-Logo sind eingetragene Warenzeichen der Microchip Technology Incorporated in den USA und in anderen Ländern.
Alle anderen Marken sind im Besitz der jeweiligen Eigentümer.
© 2019 Microchip Technology Inc. Alle Rechte vorbehalten. DS20006065A. MEC2230Ger01/19
E T E T O P
C O M P TA R T U
O U R S
N C H Y
LA U
@
PRODUCTRONICA 2019