Sie sind auf Seite 1von 84

September 2015 | Nr.

537
www.elektormagazine.de

LEARN DESIGN SHARE

Android I/O-Board
Eigene Elektronik steuern mit
Android-Smartphones und -Tablets

VFD-Shield
fr Arduino

AC/DC-
Leistungsmesser
In dieser Au
sga
4 Labor-Proje be:
2 Programm kte
ierkurse
ARM-Controller fr Einsteiger (7): Funktionen
AR 1 CAD-Kurs
1 Review
fr Fortgeschrittene Scripting mit EAGLE und noch vie
l
Assembler Crashkurs: Elektronischer mehr!
W
Wrfel Bluetooth Low Energy Modul:
Event
Events
ts Prototyping mit Bricks und Bricklets Web-
Rech
Recherche:
e SMD-Codierungen LED-Treiber mit groem
Batterie-Ersatz
Ba
attterie-Ersatz
erie Ersatz Ausgangsspannungsbereich Bemerkenswerte
mit USB Bauteile: Koaxialverbinder Gerber-Dateien aus
dem Elektor-Labor

(D) 7,90 | CHF 14,80 | (A, B, L) 8,90


Impressum

46. Jahrgang, Nr. 537 September 2015


Erscheinungsweise: 10 x jhrlich
(inkl. Doppelhefte Januar/Februar und Juli/August)

Verlag
Elektor-Verlag GmbH
Ssterfeldstrae 25 Neulich
52072 Aachen
Tel. 02 41/88 909-0
auf dem Open Air
Fax 02 41/88 909-77 Kln ist nicht umsonst eine meiner Lieb-
Technische Fragen bitten wir per E-Mail an lingsstdte: Hier gibt es Veranstaltungen,
redaktion@elektor.de zu richten. auf denen man gleichzeitig gute Elektroni-
sche Musik hren und interessante Leute
Hauptsitz des Verlags
treen kann, deren Schulabschluss schon
Elektor International Media
einige Jhrchen zurck liegt. Klar, dass
Allee 1, NL-6141 AV Limbricht
mitunter auch die Frage fllt: Und womit
verdienst du so dein Geld?. Ganz stolz
Anzeigen:
darf ich dann berichten, dass ich als Zeit-
Margriet Debeij (verantwortlich)
schriften-Redakteur mit Sicherheit einen der schnsten Berufe der Welt ausbe.
Tel. 02 41/88 909-13 / Fax 02 41/88 909-77
Ja und bei welcher Zeitschrift bist du?
Mobil: +31 6 510 530 39
E-Mail: margriet.debeij@eimworld.com Natrlich freue ich mich dann, wenn nicht gerade zurckgefragt wird: h, Electro?.
Und gerade auf Partys, wo sich viele Musik- und Medien-Schaende herumtreiben, habe
Julia Grotenrath
ich oft Glck. Denn einige dieser Kreativen haben zumindest in ihren Jugendjahren so
Tel. 02 41/88 909-16 / Fax 02 41/88 909-77
manchen Elektor-Bausatz zusammengeltet. Und mein Gegenber freut sich dann, dass
E-Mail: julia.grotenrath@eimworld.com
es uns tatschlich noch gibt. Neugierig lasse ich mir dann auch dessen Produkte zei-
Es gilt die Anzeigenpreisliste Nr. 45 ab
gen. Zum Beispiel dieses hier: www.fantastic5.tv. Wirklich schn gemacht, schauen Sie
01.01.2015
mal rein (gern habe ich hiermit etwas Werbung fr euch gemacht, Gunther ;-) ).
Natrlich ist da auch ein kleiner Wermutstropfen dabei: Mit den stndig wachsenden
Distribution: Mglichkeiten, die uns die Computertechnik bietet, haben eben viele unserer ehemaligen
IPS Pressevertrieb GmbH Leser das Hobby gewechselt und mitunter zum Beruf gemacht. Umso schner ist es jetzt
Postfach 12 11, 53334 Meckenheim zu sehen, dass viele junge Programmier-Nerds zur Elektronik zurckkehren und sich
Tel. 0 22 25/88 01-0 pltzlich fr LEDs, Sensorschaltungen und das Lten interessieren. Alle frischgebackenen
Fax 0 22 25/88 01-199 Maker heien wir herzlich willkommen auf allen Kanlen. Denn neben interessanten
E-Mail: elektor@ips-pressevertrieb.de
Zeitschriftenartikeln wollen wir in Zukunft auch viel mehr lehrreiche Webseiten und
Der Herausgeber ist nicht verpichtet, unverlangt einge- natrlich Videos produzieren, in denen wir zeigen, wie Elektronik funktioniert.
sandte Manuskripte oder Gerte zurckzusenden. Auch Bleiben Sie dran!
wird fr diese Gegenstnde keine Haftung bernommen.
Nimmt der Herausgeber einen Beitrag zur Verentlichung
an, so erwirbt er gleichzeitig das Nachdruckrecht fr alle Jens Nickel
auslndischen Ausgaben inklusive Lizenzen. Die in dieser Chefredakteur Elektor
Zeitschrift verentlichten Beitrge, insbesondere alle Auf-
stze und Artikel sowie alle Entwrfe, Plne, Zeichnungen
einschlielich Platinen sind urheberrechtlich geschtzt. Ihre
auch teilweise Vervielfltigung und Verbreitung ist grund-
stzlich nur mit vorheriger schriftlicher Zustimmung des
Herausgebers gestattet. Die verentlichten Schaltungen
knnen unter Patent- oder Gebrauchsmusterschutz stehen.
Herstellen, Feilhalten, Inverkehrbringen und gewerblicher Unser Team
Gebrauch der Beitrge sind nur mit Zustimmung des Ver-
lages und ggf. des Schutzrechtsinhabers zulssig. 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 geschtzte Warenzeichen handeln, Stndige Mitarbeiter: Dr. Thomas Scherer, Rolf Gerstendorf
die nur mit Zustimmung ihrer Inhaber warenzeichengem
benutzt werden drfen. Die geltenden gesetzlichen Bestim-
Leserservice: Ralf Schmiedel
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: Harry Baggen, Jan Buiting,
fr die Richtigkeit und Brauchbarkeit der verentlichten
Jaime Gonzlez-Arintero, Denis Meyer
Schaltungen und sonstigen Anordnungen sowie fr die Rich-
tigkeit des technischen Inhalts der verentlichten Aufstze Elektor-Labor: Thijs Beckers, Ton Giesberts, Luc Lemmens,
und sonstigen Beitrge ist ausgeschlossen.
Jan Visser, Clemens Valens
2015 elektor international media b.v. Grak & Layout: Giel Dols
Druck: Senefelder Misset, Doetinchem (NL)
ISSN 0932-5468

www.elektormagazine.de September 2015 3


Inhalt
46. Jahrgang Nr. 537 September 2015
VFD-SHIELD
FR ARDUINO
3 Impressum MIT INSTRUKTIVEN PROGRAMMBEISPIELEN
6 Das Elektor-Netzwerk VFD bedeutet Vakuum-Fluoreszenz-Display: Hier sind es vier
VFD-Siebensegment-Ziernrhren aus russischer Fertigung, die
24 News von einem Arduino Uno gesteuert werden. Fr eine stilgeme
LED-Beleuchtung ist ebenfalls gesorgt. Zum Repertoire der
26 Business Report
Programmbeispiele gehren eine Demo, eine Digitaluhr, ein
LED-Treiber mit groem
Voltmeter und ein Thermometer.
Ausgangsspannungsbereich

74 Elektor World News

82 Hexadoku
Sudoku fr Elektroniker

LEARN DESIGN SHARE


8 Willkommen bei LEARN

9 Bemerkenswerte Bauteile
Koaxialverbinder

10 Von 8 auf 32 bit:


ARM-Controller fr Einsteiger (7)
Funktionen fr Fortgeschrittene

16 EAGLE Tipps & Tricks (1)


EAGLE mit ULPs individualisieren

18 Assembler Crashkurs (2)


Mini-Dev-Board und elektronischer Wrfel

LEARN DESIGN SHARE


29 Willkommen bei DESIGN

32 Android I/O-Board (1) AC/DC-


42
Eigene Elektronik mit Android-Smartphones
und Tablets steuern
LEISTUNGSMESSER
40 Batterie-Ersatz mit USB HOHE GENAUIGKEIT,
Ersetzt die AAA-Zelle
WEITER MESSBEREICH
42 AC/DC-Leistungsmesser Wenn Messungen an Gerten durchgefhrt werden, die mit dem
Hohe Genauigkeit, weiter Messbereich Stromnetz in Verbindung stehen, ist die galvanische Trennung des
Messsystems ein Gebot der Sicherheit. Dieser Leistungsmesser, der auch
50 e-BoB BL600 (6)
Spannungen und Strme misst, erfllt die Vorgaben der Schutzklasse II.
Low Energy, Events fr Timer,
Ein Arduino Uno und das bekannte Extension-Shield von Elektor sind fr
Datenbertragung und Verbindung
die Ausgabe der Messergebnisse auf einem LC-Display zustndig. Auch
56 VFD-Shield fr Arduino ein Multimeter oder ein Oszilloskop sind anschliebar.
Mit verschiedenen Programmbeispielen

4 September 2015 www.elektormagazine.de


56 magazine

LEARN
LEA DESIGN SHARE
61 W
Willkommen bei SHARE

Elektronische Baukltze
62 El
Rapid
Ra (e-)Prototyping mit Bricks und Bricklets
von
vo TinkerForge

66 Pr
Projekt 2.0
Korrekturen, Updates, Erweiterungen

68 Elektor-Labs.com

ANDROID I/O-BOARD 70 Aus dem Labor


Gerber-Dateien aus dem Elektor-Labor
EIGENE ELEKTRONIK MIT ANDROID-SMARTPHONES
72 Web-Recherche
UND TABLETS STEUERN SMD-Codierungen

32 Vorschau
Audio-Messbox MEASSY
Ein kompaktes Gert fr Messungen an Lautsprechern, das
mit einem hochwertigen Mikrofonverstrker mit Phantom-
speisung und einer kleinen Audio-Endstufe ausgestattet ist.

Software Dened Radio mit Red Pitaya


Hier zeigt sich die Vielseitigkeit des signalverarbeitenden Red
Pitaya Boards: Mit einer zustzlichen kleinen Vorstufe und
der passenden Software lassen sich UKW-Sendungen in Ste-
reo empfangen. Sogar RDS wird decodiert!

Kompakter 60-W-Audioverstrker
Die diskret aufgebaute Audio-Endstufe vereint gleich meh-
rere Vorteile. Sie ist kompakt, enthlt ausschlielich gngige
Bauteile, ist einfach nachzubauen und bietet dennoch einen
hervorragenden Klang.

nderungen vorbehalten.
Elektor Oktober 2015 erscheint am 23. September 2015.
Verkaufsstellen ndet man unter www.pressekaufen.de.

www.elektormagazine.de September 2015 5


Das Elektor
Elektor durchbricht die
Schranken einer Zeitschrift und
wird zur Community aktiver
E-Ingenieure - vom Anfnger
bis zum Pro begierig,
57 246817 10
berraschende Elektronik zu
lernen, zu entwickeln, zu teilen.

Lnder Mitglieder Experten &

Elektor.POST
Die wchentliche E-Inspiration
Niemals monostabil, bietet der wchentliche
Newsletter Elektor.POST das Triggersignal fr
Elektor
ein Wochenende voller Tech-Klatsch und Tech-Talk. Und das Magazin
jede zweite Woche ein Extra-Projekt.
Fast 1024 Seiten ber-
www.elektor.de/newsletter raschende Elektronik im Jahr
Wenn Sie lieber Elektronik beherrschen als sich von ihr
beherrschen lassen, lesen Sie Elektors Flaggschi, die vom
internationalen Redaktionsteam zusammengestellte Zeit-
schrift. Ob online oder auf Papier, jede Ausgabe ist vollgepackt
mit Elektronik!

Elektor TV www.elektor-magazine.de

Auch auf der Mattscheibe


Unsere Filmkulissen sind noch nicht
kinotauglich - aber Sie knnen sich auf
einen Kameraschwenk verlassen, wenn
irgendetwas zu summen, zu booten, zu blinken oder
zu qualmen beginnt im Labor oder irgendeiner Ver-
Elektor-
anstaltung, die unsere Moderatoren fr video-kom- Platinenservice
patibel halten. Schauen Sie ab jetzt Elektor TV!
Boards fr Sie...
www.youtube.com/ElektorIM Vergessen Sie Chemikalien und bestellen Sie eine fer-
tige Leiterplatte, um darauf Ihr Projekt zu verwirklichen.
Schnelle Lieferzeiten, hervorragende Qualitt, weltweiter Versand.
www.elektorpcbservice.com

Das Elektor-Labor
Lernen, entwickeln, teilen!
Das Technik-Kreativzentrum von Elektor (hier Elektor Academy
geht es von der Schaltungs-skizze bis zum
Platinenlayout) steht Ihnen weit oen und ist ber Reiten Sie auf der Lernkurve!
eine eigene Webseite erreichbar. Elektor-Labs.com ist dort, Webinare, Seminare, Kurse, Prsentationen,
wo Projekte, gro, klein, analog, digital, new- oder old-school Workshops, Vortrge, innerbetriebliche
skizziert, gebaut, diskutiert, getestet und fr den Nachbau und Schulungen, DVDs und Demos sind nur einige
Ihre Anwendung optimiert werden. der Methoden von Elektor, um das Wort der Elektronik im
www.elektor-labs.com Hobby- und im Pro-Bereich zu verbreiten.
www.elektor.de/events

6 September 2015 www.elektormagazine.de


-Netzwerk

29 477 233521 10:33


04. AUGUST 2015

& Autoren Literatur Monatliche Besucher Drucktermin

Elektor-
Community
Werden Sie GREEN oder
GOLD-Mitglied! Elektor E-Shop
Die Mitgliedschaft in der Elektor-Community Fllen Sie Ihren Warenkorb!
ist der sicherste Weg, klassische Elektronik sowie die Welt Produkte und Dienstleistungen aus dem
der Mikrocontroller zu genieen, ob Sie nun Anfnger Elektor-Labor, der Zeitschrift und ausgewhlten
oder Pro sind. Mit direktem Zugang zu Elektor-Labs. Geschftspartnern von Elektor nden Sie hier. Der
com, Foren, Rabatten, dem wchentlichen Newsletter, hell erleuchtete Online-Shop steht Ihnen durchgehend
Online-Projekten im 14-Tage-Rhythmus, Artikel-Archi- 24/7/365 oen und bietet Bestell- und Zahlungsmglich-
ven, Suchmaschinen und Hintergrundberichten. Mit der keiten fr Kunden auf der ganzen Welt: Ali Babas Hhle der
GREEN- und GOLD-Mitgliedschaft sitzen Sie stets in der Elektronik!
ersten Reihe. Werden Sie GREEN-Mitglied, wenn Sie die
Zeitschrift von vorne bis hinten nur online erhalten mch-
www.elektor.de
ten oder GOLD-Mitglied, wenn Sie zustzlich noch in der
gedruckten Ausgabe der Zeitschrift blttern wollen.
www.elektor.de/mitgliedschaft

Treten Sie dem weltweit grten


Elekt
Elektroniker-Netzwerk
kttroniker Netzwerk bei!

GREEN
Elektor- GOLD 92,50 /Jahr GRATIS
Bcher 127,50 /Jahr
Empfehlung
& DVDs
Powerpacks mit  10x Elektor jhrlich (Print)  10x Elektor jhrlich (Print)  10x Elektor jhrlich (Print)
E-Informationen  10x Elektor jhrlich (Digital)  10x Elektor jhrlich (Digital)  10x Elektor jhrlich (Digital)
Es ist schwer, einen Bereich der
Elektronik zu nden, der nicht
 Zugang zum Elektor-Archiv  Zugang zum Elektor-Archiv  Zugang zum Elektor-Archiv
durch unsere Bcher und DVDs  10% Rabatt auf Shop-Produkte  10% Rabatt auf Shop-Produkte  10% Rabatt auf Shop-Produkte
kompetent behandelt wird.
Vom Nachschlagewerk zum  Zugang zu Elektor-Labs  Zugang zu Elektor-Labs  Zugang zu Elektor-Labs
Programmierkurs, von 8 bit  Elektor-Jahrgangs-DVD  Elektor-Jahrgangs-DVD  Elektor-Jahrgangs-DVD
zu ARM, von der Antenne zur
Zenerdiode; es ist alles da.  Exklusive Top-Angebote  Exklusive Top-Angebote  Exklusive Top-Angebote
www.elektor.de  26 neue Projekte jhrlich  26 neue Projekte jhrlich  26 neue Projekte jhrlich

www.elektor.de/gold-mitglied www.elektor.de/green-mitglied www.elektor.de/newsletter

www.elektormagazine.de September 2015 7


Willkommen bei LEARN
Jens Nickel
SHARE Von

Auf der Maker Faire


Wenn Sie diese Zei- Luftdruck, Temperatur, Luftfeuchte und Lichtein-
len lesen, liegt die strahlung. Inzwischen gibt es zwei Versionen des
Maker Faire in Han- Kits, eine fr den Ausbildungsbereich und eine
nover schon einige fr DIYer.
Zeit zurck. Hier an
dieser Stelle aber
noch ein Danke-
schn an die Kolle-
gen von der Make:
Es war wirklich ein
tolles Event, sogar
s c h n e s We t t e r
hattet ihr organi-
siert! Besonders
die Begeisterung der (ganz) jungen Elektroniker
machte Laune. Die acht Ltstationen unseres Work-
shops (Foto) wurden erst dann kalt, als auch der
letzte Elektronische Wrfel bestckt war.
DESIGN

Interessante neue Boards und Projekte gab es


ebenfalls zu sehen. Aufgefallen sind mir zum Bei-
spiel die Hardware-Module von Brick R Knowledge
(www.brickrknowledge.de), die sich besonders gut
(aber nicht nur) fr die Ausbildung eignen. Ein
spannendes Projekt ist auch die SenseBox. Zu
diesem (IoT-)Sensorkit gehrt eine Internetplatt-
form zum Austausch von gesammelten Daten wie

Programmieren lernen (2)


Wie schon zum (Hoch-)Schulboard haben mich Launchpad von TI (wirklich gnstig!) zu verwen-
auch zum Editorial Programmieren lernen etliche den. Ein weiterer Leser sucht (wie ich) ein Board,
Mails erreicht, vielen Dank dafr! Unter anderem das mit C# programmierbar ist, um fr den PC und
machte mich ein Leser auf das Project Oberon den Embedded-Bereich nur noch eine Program-
von Niklaus Wirth aufmerksam. Von der FPGA-ba- miersprache verwenden zu mssen. Vielleicht kann
sierten Hardware hatte ich bis dahin wirklich noch uns beiden ja demnchst mit einem Raspberry Pi 2
nie etwas gehrt (siehe zum Beispiel www.xilinx. geholfen werden, auf dem Windows luft. Ich bin
com/publications/archives/xcell/Xcell91.pdf, ab schon gespannt.
Seite 30). Eine andere Empfehlung lautete, ein
LEARN

Da war doch was


Und noch eine weitere Folge aus der Serie, fr die verlief fehlerfrei, doch was war das? Die Power-LED
mir das Material nicht ausgehen will: Doofe Fehler, auf dem MIDI-Modul blieb dunkel, als ich es an das
die einem beim Entwickeln aufhalten. Endlich wollte Xmega-Board anschloss. Ich suchte nach einem
ich die MIDI-Checker-Anwendung aus dem letz- zweiten Board, hier funktionierte es. Ein Blick in
ten Heft vom Arduino Uno auf unser Xmega-Web- den Schaltplan oenbarte, warum: Auf dem ersten
server-Board portieren. Meinen EFL-Kongurator Board fehlte ein Jumper, den ich in der Zwischenzeit
hatte ich dazu noch aufgebohrt, so dass er mir auf einfach nicht mehr auf dem Schirm hatte. Gelernt
Knopfdruck ein schnes Xmega-Projekt mit allen habe ich diesmal, dass man immer noch mal in die
bentigten Files anlegte, und auch der hardware-un- Doku gucken sollte, bevor man Hardware erneut
abhngige Quellcode des MIDI-Checkers war dann in Gang setzt. Auch wenn man meint, ein Board
schon drin. Jetzt msste ich nur noch die Nummer schon aus dem Ee zu kennen.
der UART-Schnittstelle im Code ndern, an die das
(150319)
MIDI-Modul angeschlossen wurde. Das Kompilieren

8 September 2015 www.elektormagazine.de


KURS Q & A TIPPS & TRICKS SOFTWARE

Koaxialverbinder
Bemerkenswerte Bauteile
Von Neil Gruending (Kanada) an Laborgerten wie Signalgeneratoren
und Oszilloskopen.
Nicht zufllig sind Koax- oder koaxiale Es gibt auch eine Gewindeversion der
Steckverbinder ideal fr HF-Anwendun- BNC-Verbinder, die TNC (Threaded
gen: Der heie Anschluss in der Mitte, Neill-Concelman) genannt wird. Durch
drum herum der Masseanschluss und alles das Gewinde werden die Verriegelungs-
so bemessen, dass der Verbinder genau schlitze vermieden, die den Frequenzbe-
die richtige Impedanz fr das HF-Signal reich der BNC-Verbinder einengen. TNC
hat. Im Laufe der Jahre hat sich eine Viel- kommt so auf eine obere Grenzfrequenz
zahl von Steckertypen etabliert; lassen von etwa 11 GHz. TNC wird allgemein als 1
Sie uns einen Blick auf einige klassische HF-Antennenanschluss verwendet. BNC-
Typen und ihre Verwendung werfen. und TNC-Steckverbinder gibt es mit Impe-
Unerwarteterweise ist der hugste und danzen von 50 und 75 . Es ist wichtig,
uns vertrauteste Koax-Verbinder der- den richtigen Stecker fr Ihre Anwendung
jenige, der seit vielen Jahrzehnten fr zu verwenden, da sie leicht unterschied-
audio-visuelle (A/V) Anwendungen ver- liche Anschlussmae aufweisen. Norma-
wendet wird: der RCA- oder Cinch-Ste- lerweise kann man sie auseinanderhalten,
cker (Bild 1) mit einer Bandbreite von da 75--Steckverbinder weniger Dielekt-
etwa 10 MHz. Das ist mehr als genug, rikum besitzen als die 50--Modelle, aber
um analoge Audio- und Videosignale in verlassen sollte man sich nicht darauf.
2
Heimkinos zu bertragen. Eine weitere huge Variante von Gewin-
F-Stecker und F-Buchsen werden fr de-BNC ist der N-Verbinder (Bild 4), der
Kabel- oder Satelliten-TV und Internet 1940 von Paul Neill bei den Bell Labs ent-
eingesetzt (Bild 2). Die Bandbreite ist viel wickelt wurde. Ein N-Stecker ist wesent-
hher, bis zu 1 GHz in manchen Fllen, lich grer als BNC, aber auch fr viel
und so perfekt fr die hheren Frequen- hhere Leistungen geeignet. Auch diese
zen, wie sie zum Beispiel ein LNB liefert. Verbinder gibt es in 50-- und 75--Ver-
Aber es gibt mehr koaxiale Steckverbin- sionen, aber sie sind nicht kompatibel.
der als die in Ihrem Heimkino. Ein 50--Stecker in einer 75--Buchse
Einer der ersten Koaxialverbinder wurde wrde die Buchse beschdigen.
in den 1930er Jahren entwickelt und wird Dann gibt es noch den bekannten 3
normalerweise als UHF- oder (Amphe- SMA-Verbinder (Bild 5), die in den
nol) SO-239-Typ bezeichnet. Diese Ver- 1960er Jahren erfunden wurde. Er ist
binder sind sehr robust und auch fr rela- viel kleiner als ein BNC und besitzt daher
tiv hohe Leistungen geeignet, wie sie im einen weiteren Frequenzbereich bis etwa
Amateur- und CB-Funk auftreten, ideal 18 GHz. Er ist nicht fr signikante Leis-
fr Antennenanschlsse. Die obere Fre- tungen oder sehr viele Steckzyklen aus-
quenzgrenze fr die UHF-Steckverbinder gelegt, aber fr feste Installationen mehr
liegt bei etwa 200 MHz, bei hheren Fre- als ausreichend.
quenzen ist die Impedanz allerdings nicht Dies ist nur eine kleine Auswahl aus der
linear. Das U in der Typenbezeichnung Unzahl verschiedener Koaxial-Steckver-
ist allerdings falsch, da UHF eigentlich binder, die man heutzutage kaufen kann. 4
erst bei 300 MHz beginnt. Die klassischen, hier beschriebenen Koa-
Fr hhere Frequenzen gibt es BNC-Steck- xialverbinder sind seit vielen Jahren und
verbinder (Bayonet Neill-Concelman) Jahrzehnten auf dem Markt, was fr ihr
(Bild 3), die ber zwei Bajonette verf- gelungenes Design und ihre Zuverlssig-
gen und mit einer Vierteldrehung verrie- keit spricht.
gelt werden. Ursprnglich wurden sie fr (150341)
das Militr entwickelt, doch heute sind
BNC-Anschlsse weit verbreitet und in
vielen Anwendungen mit einer Bandbreite Steuern Sie weitere Bemerkens-
von bis zu 2 GHz zu nden. Eine Anwen- werte Bauteile hinzu: Mailen Sie
5
dung, die wir alle kennen, ist ihr Einsatz an neil@gruending.net.

www.elektormagazine.de September 2015 9


LEARN DESIGN SHARE

Funktionen
fr Fortgeschrittene
Von 8 auf 32 bit:
ARM-Controller fr Einsteiger (7)
Aktivieren des Brown-out-Detektors
Wie Sie es von den 8-bit-Mikrocontrollern her kennen, sorgt nuous Mode die Spannung berwachen oder aber im Sample
auch bei ARM-Controllern der sogenannte Brown Out Detec- Mode bei jeder festgelegten Takt-Flanke eine Einzelmessung
tor (kurz BOD) dafr, dass bei einer Unterschreitung einer durchfhren und danach in den Schlaf fallen. Der Takt wird
vom Entwickler festgelegten Spannungsgrenze entweder ein vom internen Prescaler von der internen 1-kHz-Quelle je nach
Interrupt oder ein Reset der MCU ausgelst wird. Da diese Einstellung durch bis zu 65536 geteilt. Auch eine Hysterese,
Spannungsschwelle meist unter der empfohlenen Versor- die meist zwischen 35 mV und 170 mV liegt, ist einstellbar.
gungsspannung des Mikrocontrollers liegt, stellt der BOD Nun aber zum dazugehrigen Programm Test of the BOD-mo-
eine Schutzfunktion dar, die bei einem Einbruch der Versor- dule, das den BOD33 richtig konguriert und einstellt. In
gungsspannung zum Beispiel den Mikrocontroller frh genug Listing 1 sehen Sie, dass nach dem blichen Muster erst
herunterfhrt, bevor es deswegen zu unerwnschten Eekten eine Kongurations-Struktur (config_bod) erzeugt und mit
wie Datenverlust kommt. Voreinstellungen gefllt wird. Ausgewhlte Einstellungen wer-
Beim SAM D20 als typischen ARM-Cortex-M0+-Vertreter ist den in den Struktur-Variablen gendert, die Struktur an den
es nicht anders. Er besitzt gleich zwei BODs, da der Mikrocon- BOD33 bergeben sowie der Brown Out Detector letztend-
troller intern ja mit verschiedenen Versorgungsspannungen lich aktiviert. Die Funktion ist hier so eingestellt: Continuous
arbeitet. Es gibt einen BOD12, der schon ab Werk kongu- Mode, die Reaktion beim Erreichen der Schwellspannung ist
riert ist. Er arbeitet immer, wenn die MCU in Betrieb ist und Reset, die Schwellspannung ist 0x27 und die Hysterese mit
berwacht die 1,2-V-Versorgungsspannung der CPU, die vom den beiden Schwellspannungen VBOD+ und VBOD ist eingeschaltet
internen Spannungsregler bereitgestellt wird. Fr uns inter- (Tabelle 1). Wenn Sie die Hysterese-Funktion nicht nutzen,
essanter ist der BOD33 fr die 3,3-V-Versorgungsspannung gelten die Werte VBOD im zweiten Teil der Tabelle (Bild 1).
an VDDANA. Dieser BOD kann entweder stndig im Conti- In der Spalte BOD33-Level sehen Sie mgliche Kongurati-

Listing 1.
Die einfache Kongurations-Funktion des BOD33 VCC
void configure_bod(void) VBOD
{
struct bod_config config_bod;
RESET
bod_get_config_defaults(&config_bod);

config_bod.mode = BOD_MODE_CONTINUOUS;
//config_bod.mode = BOD_ACTION_NONE;
VCC
config_bod.action = BOD_ACTION_RESET; VBOD+
config_bod.level = 0x27;
VBOD
config_bod.hysteresis = true;
RESET
bod_set_config(BOD_BOD33, &config_bod);
bod_enable(BOD_BOD33); Bild 1. So funktioniert der BOD oben ohne und unten mit Hysterese
} (Blockschaltbilder und Screenshots: Atmel).

10 September 2015 www.elektormagazine.de


TRAINING Q &A TIPS & TRICKS SOFTWARE

Von Viacheslav Gromov (D)

In den bereits erschienenen Folgen haben wir alle wichtigen Peripherieelemente und
die dazugehrigen ASF-Bibliotheken behandelt. In dieser Folge geht es um Funktionen
fr Fortgeschrittene. Die Projekte sind mehr oder weniger voneinander unabhngig,
sodass Sie sich aussuchen knnen, was Sie lesen und ausprobieren mchten und was
nicht. Auerdem werden in dieser vorletzten Folge Tipps und Tricks verraten. Ein
Extra-Projekt zum Event-System nden Sie auf www.elektormagazine.de/articles.

onswerte fr die Spannungsschwellen. Wir nutzen hier 0x27


(dezimal 39), was wiederum einer VBOD+ von typisch 2,84 V
und einer VBOD- von typisch 2,77 V entspricht. Durch das Vern-
dern dieses Wertes im Programm knnen Sie also die Schwell-
spannungen ndern.
In der Main-Funktion wird lediglich nach der system_init-
Funktion die gerade besprochene BOD-Kongurations-Funk-
tion aufgerufen. Die Endlosschleife ist leer. Hier knnen Sie
nun Ihren Code einfgen, der BOD33 ist nun aktiv und fhrt
einen Reset durch, wenn die Versorgungsspannung die ein-
gestellte Schwelle unterschreitet.
Sie knnen die BOD-Kongurationen je nach Projekt ndern.
Bild 2. Nur die BOD-Bibliothek wurde im ASF-Wizard eingebunden.
Wenn Sie zum Beispiel statt

config_bod.action = BOD_ACTION_RESET;
bod_clear_detected(BOD_BOD33) zurcksetzen.
den (im Code auskommentierten) Befehl Nun knnen Sie das Projekt auf das Board bertragen. Aller-
dings werden Sie davon gar nichts zu sehen bekommen, denn
config_bod.action = BOD_ACTION_NONE; erst, wenn die Spannungsschwelle unterschritten wird und
Sie die Endlosschleife mit Code gefllt haben, knnen Sie den
in der Kongurations-Funktion verwenden, knnen Sie in Ihrem BOD in Aktion sehen.
Programm mit dem Befehl bod_is_detected(BOD_BOD33), der Im ASF Wizard wurde fr dieses Programm nur die BOD-Bi-
true ausgibt, wenn der BOD33 bis zu diesem Zeitpunkt ein bliothek eingebunden (Bild 2).
Unterschreiten der Spannungsschwelle registriert hat, manu-
ell den BOD pollen und die gewnschten Manahmen bei einer Nhere Informationen zum BOD33 nden Sie im Datenblatt
Spannungs-Unterschreitung durchfhren. Diesen Detect-Flag des SAM D20 ab Seite 143 und unter http://goo.gl/yVtRvK.
mssen Sie dann bis zum nchsten Aufrufen des Befehls mit

Tabelle 1. Die Spannungsschwellen des BOD33 mit und ohne Hysterese (Quelle: Atmel).
Symbol BOD33-Level Bedingung Min. Typ. Max.
6 -- 1,715 V 1,745 V
7 -- 1,75 V 1,779 V
VBOD+ Hysterese ON
39 -- 2,84 V 2,92 V
48 -- 3,2 V 3,3 V
6 1,62 V 1,64 V 1,67 V
VBOD Hysterese ON
7 1,64 V 1,675 V 1,71 V
oder oder
39 2,72 V 2,77 V 2,81 V
VBOD Hysterese OFF
48 3,0 V 3,07 V 3,2 V

www.elektormagazine.de September 2015 11


LEARN DESIGN SHARE

Schlaf- und Reset-Funktionen des SAM D20


In der in jedem neuen Projekt vorhandenen System-Dri- IDLE0). Welche Peripherieelemente in den einzelnen Schlaf-
ver-Bibliothek benden sich auch Befehle fr die Schlaf- und modi weiterhin arbeiten und welche nicht, ist in Tabelle 1
Reset-Funktionen des SAM D20. Aus dieser Bibliothek ken- zusammengefasst.
nen Sie zum Beispiel schon den Befehl system_init() zur Die Funktion system_voltage_reference_enable() ben-
Initialisierung der ganzen MCU. Weitere wichtige Befehle tigt als Parameter nur die symbolische Konstante fr die
sind meist zustndig fr die Schlaf- und Reset-Funktionen Referenz-Spannungsquelle (zum Beispiel SYSTEM_VOLTAGE_
des SAM D20: REFERENCE_TEMPSENSE fr die Spannungs-Referenz des inter-
Die Funktion system_reset() setzt beim Aufruf die ganze nen Temperatur-Sensors), die mit diesem Befehl aktiviert
MCU zurck. Nur die Peripherieelemente, die nicht zurck- wird. Zum Deaktivieren einer Spannungs-Referenz gibt es
gesetzt werden knnen/sollen (wie die RTC) sind davon nicht den Befehl system_voltage_reference_disable(), mit dem
betroen. gleichen Parameter.
Die Funktion system_get_reset_cause() gibt beim Aufruf Der Befehl system_get_device_id() gibt einen 32-bit-In-
eine symbolische Konstante (einen Wert) zurck, der angibt, teger-Wert zurck. Dieser Wert stellt die einzigartige ID
durch was der letzte Reset ausgelst wurde (zum Beispiel der MCU dar, die MCUs gleichen Typs unterscheidet. Die
Software-Reset oder BOD-Reset). Device-ID ist bei den meisten MCUs der ARM-Cortex-M0+-Fa-
System_set_sleepmode() legt den Schlafmodus fr den nchs- milie vorhanden.
ten Aufruf des Befehls system_sleep() fest, was je nach
Modus mehr oder weniger Strom spart. Der einzige Parame- Nhere Informationen dazu nden Sie unter www.atmel.
ter fr diesen Befehl ist die symbolische Konstante fr den com/Images/Atmel-42120-SAM-D20-System-Driver-SYS-
gewnschten Schlafmodus (beispielsweise SYSTEM_SLEEPMODE_ TEM_Application-Note_AT03260.pdf.

Tabelle 1. bersicht der in den verschiedenen Sleep-Modi (de)aktivierten Peripherie- und System-Elemente
(Quelle: Atmel).
CPU AHB APB Clock System
Sleepmode 32KHz Regulator mode RAM mode
clock clock clocks sources clock
IDLE 0 Stop Run Run Run Run Run Normal Normal
IDLE 1 Stop Stop Run Run Run Run Normal Normal
IDLE 2 Stop Stop Stop Run Run Run Normal Normal
STANDBY Stop Stop Stop Stop Stop Stop Low Power Source / Drain biasing

Tipps und Tricks rund um den SAM D20


Stromverbrauch der Peripherie RTOS), also ein Betriebssystem laufen, natrlich ohne jegli-
Falls Sie lngere Zeit nicht mehr in das Datenblatt geschaut che graphische Oberche. Weit verbreitet in der M-Familie
haben, sollten Sie es jetzt tun! In Januar 2015 wurde nm- ist FreeRTOS, das auch im ASF eingebunden ist. Es gibt vier
lich das groe Datenblatt erneuert, wodurch manche Infor- Beispielprogramme dafr, die Sie sich bei Interesse auch
mationen besser verstndlich oder gar neue Informationen anschauen sollten. FreeRTOS ist ein unabhngiges und platt-
(etwa in Form von Tabellen) vorhanden sind. Allerdings sind formbergreifendes System, das vom Hersteller lediglich an
jetzt die Seiten etwas anders nummeriert. den jeweiligen Mikrocontroller und seine Peripherie angepasst
Unabhngig davon ist es (da Sie nun alle Peripherieelemente werden muss. Der Vorteil dieser Betriebssysteme ist der Auf-
kennen) vorteilhaft, das Kapitel 32 auf Seite 571 (frher bau und der hohe Abstraktionslevel. Sie knnen damit schnell
Seite 570) mit den elektrischen Charakteristika der MCU und und ezient groe Projekte umsetzen, ohne sich mit jedem
einzelner Elemente kurz durchzusehen. Dort nden Sie unter Bit und Byte in den Registern auseinandersetzen zu ms-
anderem die zulssigen Versorgungsspannungen und Strme. sen. Der Einstieg fllt wegen der (Task-)Struktur aber erst
Unbedingt anschauen sollten Sie sich Tabelle 32-8, mit dem einmal nicht so leicht. Mehr Informationen zu FreeRTOS und
Stromverbrauch der MCU in verschiedenen Schlafmodi, und einen Quick-Start-Guide nden Sie unter www.freertos.org.
die Tabelle 32-10 mit dem Strombedarf der einzelnen Peri-
pherieelemente. In Low-Power-Projekten sind diese Infor- Weitere interessante Programme
mationen eine groe Hilfe und Sie knnen genau bestimmen, Manche Bibliotheken wurden in diesem Kurs absichtlich nicht
welche Peripherieelementen Sie wirklich brauchen und wann behandelt, da sie auf Erweiterungs-Boards basieren. Trotz-
Sie den Mikrocontroller schlafen legen knnen. dem lohnt sich ein Blick auf ihren Aufbau.
Schauen Sie sich einmal die Beispielprogramme fr SD-Karten
FreeRTOS mit verschiedenen Datei-Systemen, fr die Flash-Bausteine
Auch auf dem vergleichsweise kleinen ARM Cortex-M0+-Con- von Atmel und fr die Kalibrierung der 8-MHz-Taktquelle an.
troller SAM D20 kann ein Real Time Operating System (kurz Sie mssen nicht alles verstehen, nur die Grundzge und

12 September 2015 www.elektormagazine.de


TRAINING Q &A TIPS & TRICKS SOFTWARE

eingebundenen Bibliotheken nachvollziehen knnen. Schauen meist gar nicht bentigt. Diese Gutmtigkeit des Compilers
Sie auch in die dazugehrige API-Erklrung. im Studio macht dem Entwickler das Leben leichter.
Noch ein Tipp: Falls beim Kompilieren pltzlich und unerwar-
Hilfe und Tipps bei der Programmierung tet ein Fehler des Make-Files angezeigt wird, kompilieren Sie
Im Forum wurden verschiedene Fehler bei der Kommunika- das Programm einfach erneut - das klappt meist.
tion zwischen dem SAM D20-Board und Atmel Studio gemel-
det. Wenn Sie auch irgendwelche Probleme beim Erkennen
des Boards oder dem Updaten der Firmware haben, lohnt
sich ein Blick auf die Support-Seite von Atmel (Bild 1) unter
www.atmel.com/design-support. Dort knnen Sie nach Ihrem
Problem und einer Lsung suchen; falls Sie nichts nden,
knnen Sie die Atmel-Experten zu Rate ziehen.
Wenn wir gerade beim Atmel Studio 6 sind: Der darin integ-
rierte Compiler fr die SAM-Familie ist ausgesprochen gutm-
tig und intelligent. Wenn Sie zum Beispiel in einem Application
Manual lesen, dass der Parameter eines bestimmten Befehls
ein Pointer auf die Struktur sein muss und Sie lediglich die
Struktur selbst als Parameter eintippen, erkennt dies das
Studio und akzeptiert die Eingabe, weist Sie aber auch unter
Warnings nach dem Kompilieren darauf hin. Deswegen
sind manchmal sogar in den Beispielprogrammen von Atmel
Strukturen statt Pointer auf Strukturen zu nden. Das gleiche Bild 1. So sieht der Design Support auf der Atmel-Seite aus.
gilt zum Beispiel auch fr Funktionsprototypen, diese werden

Der Peripheral Access Controller


Dieser Cortex-M-typische Controller kann den Schreibzugri blockiert. Dieser enthlt nur die ID des jeweiligen Periphe-
auf bestimmte Register ausgewhlter Peripherieelemente blo- rieelementes und die mit ~ invertierte ID. Diese invertierte
ckieren. Dies ist von Peripherieelement zu Peripherieelement ID stellt einfach eine Schutzfunktion dar, damit es nicht so
sehr unterschiedlich, meist jedoch betrit es Control-Register. einfach ist, mit dem Befehl etwas versehentlich zu blockieren.
Durch diese Blockierung des Peripheral Access Controllers Die Endlosschleife lsst die LED0 auf dem Board blinken. Vor
(PAC) kann die CPU keine Werte in diesen Registern ndern. dem ndern des Bits im Port-Register (durch den uns schon
So werden ungewollte Zugrie und dadurch Fehler vermie- bekannten Toggle-Befehl) wird die Blockierung aufgehoben
den. Die ASF-Bibliothek dazu ist sehr einfach. Das Projekt und danach wieder aktiviert. Damit whrend dieser Zeit kein
PAC Test1 demonstriert den typischen Ablauf einer Blo- Interrupt auftritt, der unter Umstnden den Port manipuliert,
ckierung und deren Aufhebung. Wie im Listing 1 zu sehen, werden alle Interrupts vor dem Aufheben der Blockierung mit
besteht das Programm lediglich aus der Main-Funktion. Darin system_interrupt_enter_critical_section();
werden nach den Initialisierungs-Befehlen die Register des deaktiviert und mit
Ports durch den PAC mit dem Befehl system_interrupt_leave_critical_section();
nach dem Blockieren wieder aktiviert.
system_peripheral_lock(SYSTEM_PERIPHERAL_ID(PORT),
~SYSTEM_PERIPHERAL_ID(PORT)); Der Befehl zum Aufheben der Blockierung system_peripheral_

Listing 1. Ein Teil der Main-Datei mit dem Code zum Toggeln der LED.

system_peripheral_lock(SYSTEM_PERIPHERAL_ID(PORT), ~SYSTEM_PERIPHERAL_ID(PORT));
while(true){
system_interrupt_enter_critical_section();
system_peripheral_unlock(SYSTEM_PERIPHERAL_ID(PORT), ~SYSTEM_PERIPHERAL_ID(PORT));
port_pin_toggle_output_level(LED_0_PIN);
system_peripheral_lock(SYSTEM_PERIPHERAL_ID(PORT), ~SYSTEM_PERIPHERAL_ID(PORT));
system_interrupt_leave_critical_section();

delay_ms(500);
}

www.elektormagazine.de September 2015 13


LEARN DESIGN SHARE

unlock() bentigt genau die gleichen Parameter wie der


Blockier-Befehl.
Delay_ms(500) sorgt fr die Blink-Periode von 1 s. Um dieses
Programm auszuprobieren, mssen Sie es lediglich auf das
Board bertragen. Alle eingebundenen Bibliotheken im ASF
Wizard sind in Bild 1 zu sehen.

Nhere Informationen zum PAC nden Sie im Datenblatt ab


Seite 34 und unter http://goo.gl/kyuzWc.

Bild 1. Diese Bibliotheken wurden in unser Projekt eingebunden. Die Delay-


und die PAC-Bibliothek kamen zu den Standard-Bibliotheken hinzu.

Non-Volatile Memory (NVM)


NVM heit nichts anderes als nichtchtiger Speicher. In
Listing 1. So sieht die kompakte
diesem Speicherbereich, der wie ein EEPROM strukturiert
NVM-Kongurations-Funktion aus.
ist, kann die MCU Daten ablegen, die nach dem Ausschalten
erhalten bleiben sollen. Wie in Bild 1 zu sehen, ist ein Teil void configure_nvm(void)
des NVMs fr den Bootloader und fr die internen Register {
(zum Beispiel fr die Kalibrierung der Oszillatoren) reser- struct nvm_config config_nvm;
viert. Den mittleren Bereich kann man aber in seinem Pro- nvm_get_config_defaults(&config_nvm);
gramm nutzen. config_nvm.manual_page_write = false;
Mehr zum Aufbau und dem Ausrechnen der Adressen n-
nvm_set_config(&config_nvm);
den Sie unter www.atmel.com/Images/Atmel-42114-SAM-
}
D20-Non-Volatile-Memory-Driver-NVM_Application-Note_
AT03247.pdf.
An dieser Stelle soll kurz das Projekt First test with NVM vor- gurations-Funktion fr NVM, bei der die erzeugte Kongura-
gestellt werden, das die drei wichtigsten Befehle behandelt: tions-Struktur zunchst mit Voreinstellungen gefllt und dann
Lschen, Schreiben und Lesen. Eine Zeichenkette wird nach in die Struktur-Variable manual_page_write false geschrieben
einem Lschen des NV-Speichers gespeichert und beim Betti- wird, damit der Speicher im automatischen Schreib-Modus
gen von SW0 beliebig oft an der UART-Schnittstelle ausgegeben. arbeitet. Listing 1 zeigt, wie die vorgenommenen Einstellun-
Im Code sieht man nach dem Einbinden von asf.h, den Funk- gen an den NVM bergeben werden. In Listing 2 ist der Kern
tionsprototypen sowie den Deklarationen von Arrays die Kon- des Programms zu sehen. Hier wird das Array page_buffer
gurations-Funktion fr den U(S)ART. Es folgt die kleine Kon- mit 64 Werten (die Speichergre einer Page) von 0...63
in einer For-Schleife gefllt. Nun wird zuerst zur Sicherheit
diese Page mit dem Befehl
End of NVM Memory
Reserved EEPROM Section
Start of EEPROM Memory while(nvm_erase_row(100 * NVMCTRL_ROW_PAGES *
End of Application Memory
NVMCTRL_PAGE_SIZE) != STATUS_OK){}

gelscht. Die While-Schleife wartet, bis der Befehl vollstndig


ausgefhrt ist. Als Parameter braucht man die errechnete
Page-Adresse (siehe Application Note). Und schon kann das
Array page_buffer mit der Funktion
Application Section
while(nvm_write_buffer(100 * NVMCTRL_ROW_PAGES *
NVMCTRL_PAGE_SIZE, page_buffer, NVMCTRL_PAGE_
SIZE) != STATUS_OK){}

ins NVM geschrieben werden, die sich ebenfalls in einer Whi-


Start of Application Memory le-Schleife bendet und die errechnete Page-Adresse, das
End of Bootloader Memory
Array und die Page-Gre als Parameter bentigt.
BOOT Section
Start of NVM Memory In der Endlosschleife wird mit dem Lese-Befehl der NVM-In-
halt in das Array page_buffer_receive eingelesen. Dieser
Befehl bentigt die gleichen Parameter wie der Schreib-Befehl
Bild 1. So sieht die Speicherverteilung des NVMs aus. Nur der mittlere
und steckt ebenfalls in einer While-Schleife. Mit den nach-
Bereich ist fr uns interessant.

14 September 2015 www.elektormagazine.de


TRAINING Q &A TIPS & TRICKS SOFTWARE

Listing 2. Der wichtigste Ausschnitt aus der Main-Funktion.

for (uint32_t i = 0; i < NVMCTRL_PAGE_SIZE; i++) {


page_buffer[i] = i;
}
while(nvm_erase_row(100 * NVMCTRL_ROW_PAGES * NVMCTRL_PAGE_SIZE) != STATUS_OK){}
while(nvm_write_buffer(100 * NVMCTRL_ROW_PAGES * NVMCTRL_PAGE_SIZE, page_buffer, NVMCTRL_PAGE_SIZE) !=
STATUS_OK){}
while (true) {
while(port_pin_get_input_level(BUTTON_0_PIN)){}
while(nvm_read_buffer(100 * NVMCTRL_ROW_PAGES * NVMCTRL_PAGE_SIZE, page_buffer_receive, NVMCTRL_PAGE_
SIZE) != STATUS_OK){}
while(usart_write_buffer_wait(&usart_instance, &page_buffer_receive, 64) != STATUS_OK){}
while(!port_pin_get_input_level(BUTTON_0_PIN)){}
}

folgenden Befehlen wird das Array an der U(S)ART-Schnitt-


stelle ausgegeben:

while(nvm_read_buffer(100 * NVMCTRL_ROW_PAGES *
NVMCTRL_PAGE_SIZE, page_buffer_receive, NVMCTRL_
PAGE_SIZE) != STATUS_OK){}
while(usart_write_buffer_wait(&usart_instance,
&page_buffer_receive, 64) != STATUS_OK){}

Die beiden Befehle sind von zwei While-Schleifen umgeben,


die den SW0-Pegel abfragen. So werden beide Befehle nur
beim Bettigen von SW0 ausgefhrt. bertragen Sie das Pro-
gramm auf das Board und nen Sie das Terminal-Programm
Bild 2. Hier sind die Terminal-Einstellungen und die Ausgabewerte nach
mit den Einstellungen wie in Bild 2. Drcken Sie SW0, um
dem Bettigen von SW0 zu erkennen.
die im NVM gespeicherten Werte auszulesen.

In dieses Projekt wurde die NVM- und die U(S)ART-Bibliothek Nhere Informationen nden Sie im Datenblatt ab Seite 25
in der Polled-Variante eingebunden. und unter http://goo.gl/aKJj.

Interrupt- und Clock-Befehle


In den Application Notes unter www.atmel.com/Images/ Interrupts aus. Dieser Befehl kann zum Beispiel in einer ISR
Atmel-42122-SAM-D20-System-Interrupt-Driver_Applicati- aufgerufen werden.
on-Note_AT03261.pdf und www.atmel.com/Images/Atmel- Mit Befehlen wie system_clock_source_osc32k_set_config(),
42119-SAM-D20-Clock-Management-Driver-CLOCK_Appli- die eine Kongurations-Struktur als Parameter bentigen, kann
cation-Note_AT03259.pdf nden Sie zahlreiche Befehle fr man die Taktquellen whrend des Programmablaufs nach dem
Interrupt-, Clock- und viele andere System-Zwecke, die Sie typischen ASF-Muster mit Einstellungen in den Kongura-
sich unbedingt anschauen sollten. Hier eine stichpunktar- tions-Strukturen aktivieren, deaktivieren und kongurieren.
tige Auswahl: Mit system_clock_source_get_hz() kann man herausn-
System_interrupt_set_priority() braucht als Parameter den, welche Taktquelle gerade welche Frequenz liefert. Als
nur den Interrupt-Vektor des bentigten Interrupts (als sym- Parameter wird nur die Taktquelle (die symbolische Kons-
bolische Konstante) und den Priorittslevel von 0...3 (ebenfalls tante dafr) bentigt. System_apb_clock_source_get_hz()
in Form von symbolischen Konstanten). Mit diesem Befehl ist hnlich und gibt die aktuelle Frequenz des Taktsignals
kann man Prioritten von Interrupts setzen beziehungsweise vom Peripherie-Bus (APB) aus.
ndern. System_interrupt_get_priority() bentigt ledig- Mit Befehlen wie system_cpu_clock_set_devider() stellt
lich den Interrupt-Vektor und gibt dagegen den Priorittslevel man fr die entsprechenden Taktquellen die Teiler der Takt-
des dazugehrigen Interrupts aus. frequenz ein. Der Teiler wird dem Befehl in Form einer sym-
System_interrupt_get_active() braucht keinerlei Parame- bolischen Konstante als Parameter mitgegeben.
ter und gibt den Interrupt-Vektor des gerade stattndenden (150324)

www.elektormagazine.de September 2015 15


LEARN DESIGN SHARE

EAGLE Tipps & Tricks (1)


EAGLE mit ULPs individualisieren
Von Neil Gruending (Kanada)

Die meisten unserer Leser drften bereits mit den Grundlagen der Layout-
Software EAGLE vertraut sein. Daher soll es in dieser Mini-Serie mehr um
Spezialitten gehen. In dieser Folge zeigen wir, wie sich User Language
Programs erstellen lassen. Oft ist es einfacher, eine neue Programmiersprache ber
Beispiele zu lernen. In dieser Folge soll es um die Skript-Umgebung von EAGLE gehen
und dabei kommt natrlich noch ein kleines Beispielprogramm vor.

Programmieren in EAGLE ULP-Syntax schnell zuhause fhlen, da die hnlichkeit gro ist.
Eine der Besonderheiten von EAGLE ist, dass man eigene Pro- Man kann ein ULP per Rechtsklick im Control Panel nen und
gramme zur Steuerung dieser Software schreiben kann. Die dort auch editieren, denn dann net sich der EAGLE-Textedi-
Skriptsprache ist deutlich mchtiger als bei vielen anderen tor (siehe Bild 2). Der einfache Editor ist zwar nicht schlecht,
Layout-Paketen, die nur ein paar Regeln beherrschen. doch ich ziehe farbiges Syntax-Highlighting vor. Glcklicher-
Das Control Panel in Bild 1 ist der Ort, wo man die Programme weise gibt es eine Syntax-Datei [3] fr Notepad++ [4]. Man
ablaufen lassen kann. EAGLE inspiziert standardmig das Ver- kann die ULP-Syntax-Datei in Notepad++ importieren, indem
zeichnis C:\EAGLE-7.3.0\ulp nach Dateien mit der Extension man im Sprachen-Men den Eintrag Dene your language
.ulp und listet die Funde auf, damit man sie per Rechtsklick whlt. Dann net sich das Fenster fr die User Dened Lan-
auf Schaltungen, Platinen oder Libraries loslassen kann. guage. Man klickt nun auf Import und whlt die ULP-Syntax-
EAGLE verfgt auch ber Skripts, die sich etwas von ULPs unter- XML-Datei aus, die man zuvor von der Webseite herunterge-
scheiden. Skripte entsprechen eher eine Art Makro-Sprache, laden hat. Wenn man nun Notepad++ neu startet, sieht man
etwa zum Im- oder Export von Dateien sowie zu Kongura- im Sprachen-Men den Eintrag EAGLE ULP. Wenn man jetzt
tion von EAGLE. Ein ULP ist ein Programm mit deutlich mehr eine ULP-Datei net, erscheint diese mit Syntax-Highlighting
Mglichkeiten. Weitere Informationen zu Skripts in EAGLE ent- wie in Bild 3, vorausgesetzt man stellt den Font passend ein
nimmt man am besten dem EAGLE-Handbuch. und deaktiviert die automatische Rechtschreibkorrektur.

ULPs eine Einfhrung ULP-Datei-Format


Bei ULPs handelt es sich um in ULP-Syntax gehaltene Textda- Nachdem nun der Texteditor richtig konguriert ist, kann man
teien mit der Extension .ulp. Im PDF des EAGLE-Handbuchs das ULP-Beispiel von Bild 4 genauer unter die Lupe nehmen.
ist leider keine ULP-Dokumentation enthalten. Diese Datei lsst Die ULP-Datei lsst sich bequem von [2] downloaden. Wenn
sich samt Online-Hilfe von der CadSoft-Webseite [1] herunter- man sie bei einer Schaltung oder einer Platine ablaufen lsst,
laden. Doch wer je in C programmiert hat, wird sich bei der dann wird eine Datei namens example1.txt im EAGLE-Instal-
lationsverzeichnis (bei mir C:\EAGLE-7.3.0) mit dem Inhalt
1+2=3 erstellt.
Die erste Zeile des Beispiels beginnt mit #require. Hier wird
EAGLE mitgeteilt, dass dieses Programm die Version 7.0 von
EAGLE oder neuer bentigt. Diese Angabe ist zwar nicht zwin-
gend erforderlich, aber ich verwende sie blicherweise, falls
Funktionen enthalten sind, die nur bei bestimmten EAGLE-Ver-
sionen verfgbar sind.

In der nchsten Zeile bendet sich die Deklaration #usage.


Hier wird festgelegt, was beim Klick auf das Programm im Con-
trol Panel angezeigt wird (siehe Bild 5). Die weiteren Strings
in Anfhrungszeichen enthalten den Text fr #usage. Der
String \n am Ende der ersten Zeile ist die Anweisung, die
Anzeige in einer neuen Zeile fortzusetzen. Man kann #usage
Bild 1. Control Panel. einzeilig oder nach Bedarf auch mehrzeilig ausfhren.

16 September 2015 www.elektormagazine.de


KURS Q & A TIPPS & TRICKS SOFTWARE

Sowohl #require als auch #usage sind Befehle, die EAGLE


mitteilen, wie der Rest des ULPs zu interpretieren ist. Solche
Anweisungen sind leicht am fhrenden # zu erkennen, ganz
wie die Direktiven fr einen C-Prprozessor.
Die nchsten Zeilen sind ntzliche Kommentare, die von EAGLE
bei der Programmausfhrung ignoriert werden. Eine einzelne
Kommentarzeile wird von zwei Slashes // eingeleitet. Mehr-
zeilige Kommentare rahmt man mit einem beginnenden /*
und einem abschlieendem */ ein. Man kann mehrzeilige
Kommentare aber nicht verschachteln. Das erste Auftauchen
von */ beendet den kompletten Kommentar.
Der erste Teil einer ULP-Datei besteht aus Deklarationen von
bentigten Variablen oder Funktionen. Im Beispiel werden zwei
Strings mit den Namen one und two deniert. Eine Variab- Bild 2. Texteditor von EAGLE.
len-Deklaration beginnt mit einer der folgenden Variablentypen:

int: eine Integer-Zahl (Bereich 2.147.483.647 bis


+2.147.483.647)
char: ein ASCII-Zeichen oder eine Integer-Zahl im Bereich
0 bis 255
real: eine Fliekomma-Zahl
string: eine Zeichenkette, in der Text abgelegt werden
kann

Auf den Variablentyp folgt der Variablenname. Wie bei anderen


Programmiersprachen auch muss er mit einem Buchstaben oder
einem Unterstrich anfangen. Ziern sind erst nach dem ersten
Zeichen erlaubt. Namen wie variable1 sind gltig. Wichtig ist:
Bei ULP-Variablen ist Gro- und Kleinschreibung relevant. ab Bild 3. Texteditor Notepad++.
und Ab sind also zwei verschiedene Variablen. Im Beispiel
wird eine Variable pro Zeile deklariert, aber man kann auch
mehrere auf einmal deklarieren, indem man sie wie in int a,
b, c; durch Kommas trennt. Im Beispiel ist auch gezeigt, wie
man sie durch Initialisierung nach dem Gleichheitszeichen =
mit einem Startwert besetzt.

Weiter wird die Funktion add demonstriert. Zwei Integer-Werte


werden addiert und die Summe als Integer ausgegeben.
Im letzten Teil der ULP-Datei wird die Programmausfhrung
gestartet. Im Beispiel werden hier die beiden Zahlen 1 und
2 addiert und das Resultat in der neuen Variable c abgelegt.
Anschlieend folgt eine zusammengesetzte Funktion auf Basis
der Funktion output. Solche Befehle sind mit geschweiften
Klammern versehen, mit denen der entsprechende Bereich fest-
Bild 4. Beispiel-ULP.
gelegt wird. Hier wird per output mit der Funktion printf in
eine Datei mit der Bezeichnung example1.txt geschrieben.

Fazit
In dieser Folge ging es um ULPs und ihren grundlegenden
Aufbau. In der nchsten Folge werden komplexere Beispiele
beleuchtet, die auch Daten von der Schaltung oder der Platine
einlesen knnen.
(150331)

Weblinks
[1] www.cadsoft.de/downloads/documentation
[2] www.elektormagazine.de/150331
[3] www.cadsoft.de/downloads/le/notepad_userdenedlang.zip
[4] http://notepad-plus-plus.org Bild 5. Beispiel-ULP im Control Panel.

www.elektormagazine.de September 2015 17


LEARN DESIGN SHARE

Assembler Crashkurs (2)


Mini-Dev-Board und elektronischer Wrfel
Von Miroslav Cina miroslav.cina@t-online.de

Im ersten Teil haben wir die Basics der Assembler-


Programmierung und die Hardware-Grundlagen
des verwendeten PIC-Controllers kennengelernt.
Weiter geht es mit einem selbstgestrickten Mini-
Entwicklungs-Board und zustzlichen Assembler-
Befehlen. Als Demo-Anwendung werden wir einen
elektronischen Wrfel programmieren.

Bild 2 zeigt, wie die fertige Adapterplatine an den Program-


mer gesteckt wird.

Register-Details
Ein Einfachst-Adapterboard fr Bevor wir zu weiteren Assemblerbefehlen kommen, die wir fr
den Programmer PICkit2 haben wir schnell unsere Demo-Anwendung bentigen, werfen wir noch einmal
aufgebaut. So ein Board macht die Programmierung pas- einen kurzen Blick auf die wichtigsten Register.
sender Mikrocontroller sehr einfach: Den Chip einstecken, Board
an den Programmer anstecken, die Programmer-Software star- Cong-Register
ten, damit die fertig assemblierte Firmware bertragen und Fast alle Register des Mikrocontrollers sind im SRAM abgelegt,
fertig. Man kann mit wenig Aufwand Adapterplatinen fr Cont- das Kongurationsregister ist aber eine Ausnahme. Das Regis-
roller unterschiedlichster Pin-Anzahl bauen, denn jeder Mikro- ter hat insgesamt 14 Bits, wovon an dieser Stelle zunchst nur
controller von Microchip besitzt die ntigen Programmier-Pins: vier Bits relevant sind.
Vpp, ICSPDAT und ICSPCLK. Bei Adapterplatinen geht es also Die drei LSBs (Least Signicant Bits = niedrigstwertige Bits)
nur darum, diese Pins (und zustzlich noch Vcc und GND) mit FOSC2:FOSC0 sind fr die Konguration des Oszillators vor-
den gleichnamigen Pins des PICkit-Programmers zu verbinden. gesehen. Im Kurs werden die folgenden zwei Einstellungen
Fr den hier verwendeten 8-Pin-Controller PIC12F675 baut dieser drei Bits verwendet.
man also eine achtpolige Variante wie in Bild 1. Man sieht:
Einfacher geht es kaum. Man braucht dafr ein Stckchen 010: Quarzgesteuerter HF-Oszillator. In diesem Modus wird
Lochrasterplatine, eine achtpolige IC-Fassung und eine sechs- der extern gesteuerte Oszillator verwendet. Die Frequenz
polige Stiftleiste. Selbst auf die LED nebst Vorwiderstand kann wird mit einem externen Quarz zwischen den Pins 2 (GP5)
verzichtet werden, doch ist die optische Signalisierung der und 3 (GP4) festgelegt. Man kann so das mgliche Tempo
Versorgung des Controllers mit Strom ein schnes Feature. mit einem Takt bis maximal 20 MHz ausreizen. Da zwei

IC1 1 K1
1
VCC VPP/MCLR
LED1 7 2
GP0/AN0 VCC
6 3
VREF/GP1/AN1 GND
5 4
GP2/AN2 ICSPDAT/PGD
R1 4 5
GP3/MCLR ICSPCLK/PGC
3 6
270R

GP4/AN3 AUX
2
GP5/CLKIN

GND
8
PIC12F675P

Bild 1. Schaltung der Adapterplatine als Minimalversion eines Bild 2. Fertig aufgebaute Adapterplatine, angeschlossen an den PICkit2-
Entwicklungsboards. Programmer.

18 September 2015 www.elektormagazine.de


KURS Q & A TIPPS & TRICKS SOFTWARE

Bild 3. Die Bedeutung der Bits des STATUS-Registers.

Pins durch den Quarz belegt sind, bleiben aber nur noch die Programmierung ist diese Information zwar nicht so wich-
vier von sechs mglichen als I/Os verfgbar. tig, doch macht dies klar, dass der Programmspeicher eines
PIC12F1675 eben nicht 1024 Bytes (zu je 8 bit) sondern 1024
100: Interner Oszillator. In diesem Modus ist der interne Worte (zu je 14 bit) umfasst.
Oszillator mit einem Takt von 4 MHz aktiviert. Der Takt Im Datenspeicher nden sich alle fr Prozessor und Anwen-
ist nicht so genau wie bei einer Quarzsteuerung, aber mit dung spezischen Register. Mit Ausnahme der vordenierten
einer Toleranz von 1 % fr viele Anwendungen noch Prozessor-Register ist der Inhalt des Datenspeichers nach dem
geeignet. Der groe Vorteil ist: Man bentigt dafr keine Einschalten undeniert. Sein Inhalt geht bei Spannungsverlust
extra Bauelemente und GP4 plus GP5 stehen als allge- verloren es handelt sich eben um chtigen SRAM. Der Daten-
meine I/Os zur Verfgung. speicher ist anders als der Programmspeicher ganz klassisch
in Bytes zu je 8 bit organisiert. Die detaillierte Darstellung der
Bit 5 (MCLRE) des Kongurationsregisters steuert die Funk- Memory-Map ndet sich im Datenblatt [1] ab Seite 9. Merken
tion von Pin 4. Falls MCLRE = 1 ist, fungiert Pin 4 als Master sollte man sich hier, dass die 64 Byte Anwendungsspeicher im
Clear also als Reset-Pin. Bei MCLRE = 0 kann Pin 4 unter Adressbereich 20h...5Fh liegen.
Verzicht auf die Reset-Funktion als Eingang genutzt werden. Im ebenfalls byte-organisierten EEPROM kann man per Soft-
ware Werte ablegen, die auch einen Reset oder einen Neustart
Status-Register berleben, da es sich um nichtchtigen Speicher handelt.
Im STATUS-Register nden sich Informationen ber durch- Allzu huges Beschreiben sollte allerdings vermieden werden.
gefhrte arithmetische Operationen. In Bild 3 sieht man die
Bedeutung der einzelnen Bits des Registers. Weitere Befehle
Die beiden MSBs (Most Signicant Bits = hchstwertige Bits) Nun folgt eine Beschreibung der Befehle, die zustzlich zu den
IRP und RP1 sind reserviert und sollen beim Schreiben immer bereits im ersten Kursteil besprochenen Befehlen fr unser
0 sein. Sie werden beim PIC12F675 schlicht nicht genutzt. Demo-Projekt bentigt werden. brigens ndet sich in jedem
Bit 5 ist RP0, das Register Bank Select Bit. Es dient (wie schon Datenblatt zu jedem Mikrocontroller von Microchip eine kom-
im ersten Teil beschrieben) zur Auswahl der Speicherbank. Bei plette Kompaktliste aller Befehle [1].
einem Wert von 0 wird bei allen nachfolgenden Befehlen auf Unsere Beschreibung beginnt mit der Vervollstndigung eines
die Speicherpltze 00h...7Fh zugegrien alternativ bei einem Befehls, der schon im ersten Teil benutzt wurde.
Wert von 1 auf 80h...FFh.
Die beiden Bits TO und PD verraten, wie der letzte Reset DECFSZ
zustande kam (Nheres siehe Datenblatt [1]). Im ersten Teil wurde die Funktion des Befehls (= DECrement
Bit 2 Z (= Zero) ist aktiviert, wenn das Ergebnis der letzten F and Skip if Zero) fr Schleifen besprochen. Auer Loops
Operation Null ist es muss dabei nicht unbedingt eine arith- kann man mit DECFSZ aber auch allgemeine Verzweigungen
metische Operation gewesen sein. im Programablauf erreichen (eine Schleife ist eigentlich nur
Die beiden LSBs zeigen beim Addieren und Subtrahieren auf- ein Spezialfall einer Verzweigung). Bild 4 veranschaulicht das
getretene berlufe (Carry-Zustnde) an. Ablaufdiagramm des Befehls.
Vorausgesetzt wird, dass eine Variable X auf dem Speicher-
Option-Register platz 20h zu nden ist. Eine komplette Verzweigung bentigt
ber das Option-Register lassen sich weitere Einstellungen drei Befehle (siehe Bild 5). Durch Verwendung des Arguments
ttigen. In unserer Demo-Anwendung (siehe unten) ndet sich
ein Beispiel: Ein Lschen von Bit 7 aktiviert die Pull-up-Funk-
tion fr die Eingnge.

Speicherorganisation
Fr die Programmierung in Assembler ist es erforderlich, sich
mit der Speicherorganisation des verwendeten Mikrocontrollers
auszukennen. Der Speicher ist typischerweise (und so auch
hier) in drei Bereiche aufgeteilt:
Programmspeicher (Flash)
Datenspeicher (SRAM)
EEPROM
Der Programmspeicher dient in der Regel - und beim verwen-
deten PIC12F675 sogar ausschlielich - zur Ablage der Soft- Bild 4. Ablaufdiagramm einer bedingten Verzweigung.
ware. Ein Wort im Programmspeicher ist hier 14 bit breit. Fr

www.elektormagazine.de September 2015 19


LEARN DESIGN SHARE

Bild 5. Code-Beispiel einer bedingten Verzweigung. Bild 6. Schleifen-Beispiel mit den Befehlen BTFSS / BTFSC.

0 bei DECFSZ wird das Ergebnis der Subtraktion (Wert in X Zahl von 00h...07h und deniert das zu prfende Bit. Diese
minus 1) in das W-Register geschrieben. Falls das Ergebnis Befehle ndern weder den Inhalt des W-Registers noch des
00h ist, wird der nchste Befehl bersprungen und der dritte Speicherplatzes.
Befehl goto Abzw_B ausgefhrt. Das passiert nur dann, wenn Im Beispiel von Bild 6 ist auf dem Speicherplatz 20h ein Wert
der Wert von X vor der Dekrementierung 01h ist. In allen von 98h (= 10011000b) abgelegt. Auf der linken Seite prft
anderen Fllen landet man bei Abzw_A. der Befehl BTFSS, ob der Wert von Bit 00h den Wert 1 hat.
Falls ja wird der nchste Befehl goto Abzw_A bersprungen.
INCFSZ Weil der Wert von Bit 0 aber 0 ist, wird nicht bersprungen
Der Befehl DECFSZ wurde nun ausfhrlich beschrieben. INCFSZ ist und stattdessen der Befehl goto Abzw_A ausgefhrt.
bis auf eine Inkrementierung statt der Dekrementierung identisch. Auf der rechten Seite sieht man die Wirkung des Befehls BTFSC.
Hier wird bersprungen, wenn Bit 0 den Wert 0 hat was
BTFSS und BTFSC bei dem Wert an Speicherplatz 20h zutrit. Der Befehl goto
Um Verzweigungen geht es auch bei den beiden Befehlen BTFSS Abzw_A wird also bersprungen und das Programm mit dem
(= Bit Test F and Skip if Set) und BTFSC (= Bit Test F and Befehl goto Abzw_B fortgesetzt.
Skip if Clear). Mit ihnen kann man den Status einzelner Bits
eines Speicherplatzes abfragen und entsprechend verzweigen. ADDWF
Die Syntax des Befehls ist: Mit diesem Befehl wird der Inhalt des W-Registers zum Inhalt
btfss f,b eines Speicherplatzes addiert.
bzw. Die Syntax ist:
btfsc f,b addwf f,d

Das Argument f hat einen Wert von 00h...7Fh und stellt Das Argument f steht fr die Zieladresse und hat einen Wert
die Adresse des Speicherplatzes dar. Argument b ist eine von 00h...7Fh. Das Argument d kann 0 oder 1 sein. Es

Bild 7. Code-Beispiel ADDWF: Ergebnis ins W-Register. Bild 8. Code-Beispiel ADDWF: Ergebnis in SRAM-Speicherplatz.

20 September 2015 www.elektormagazine.de


KURS Q & A TIPPS & TRICKS SOFTWARE

Bild 9. Addition einer Konstante zum W-Register. Bild 10. Prototyp des elektronischen Wrfels.

deniert, wohin das Ergebnis gespeichert wird. Bei d = 0 wird incf f,d
das Resultat im W-Register gesichert, und der Speicherplatz bzw.
bleibt unberhrt. Bei d = 1 wird die Speicherposition mit dem decf f,d
Ergebnis berschrieben.
Im folgenden Beispiel wird die Summe von 3 + 16 (dezimal) Die Argumente f und d haben die gleiche Bedeutung wie
berechnet. Erst wird die 3 auf dem Speicherplatz 20h abge- beim Befehl ADDWF. Das Ergebnis wird abhngig von d in
legt, danach wird 16 (10h) ins W-Register geschrieben und das W-Register oder an die ursprngliche Speicherposition
zum Schluss die Addition ausgefhrt. Das Ergebnis wird ent- geschrieben.
weder ins W-Register (Bild 7) oder in Speicherposition 20h
(Bild 8) geschrieben. Elektronischer Wrfel
Die Realisierung eines Elektronischen Wrfels ist nicht viel
ANDWF komplizierter als das obligatorische Blinken einer LED. Da die
Bezglich Syntax und Handhabung ist dieser Befehl identisch Schaltung der Einfachheit halber von einem USB-Port eines
mit ADDWF. Der Unterschied liegt in der Funktion: ANDWF PCs versorgt wird, sieht man in Bild 10 einen USB-Anschluss.
fhrt bitweise die logische Operation AND durch. Sonst hat der Wrfel mit der USB-Schnittstelle nichts am Hut.
Man kann ihn auch einfach mit einem Netzteil oder mit drei
ADDLW Primrzellen oder Akkus in Serie versorgen.
hnlich wie der Befehl ADDWF fhrt auch ADDLW eine Addition
durch. ADDWF addiert allerdings einen Speicherwert zum W-Re- Schaut man sich einen richtigen Wrfel genau an, dann sieht
gister, whrend ADDLW eine Konstante zum W-Register addiert. man, dass die Punkte darauf auf genau sieben verschiedenen
Die Syntax ist: Positionen liegen. Die Darstellung der einzelnen Zahlen folgt
addlw k dem Schema in Bild 11. Wenn man diese Punkte durch LEDs
darstellen lsst, dann braucht man dazu genau vier Ausgnge
Das Argument k hat einen Wert von 00h...FFh und ist die eines Mikrocontrollers. Wenn Sie jetzt staunen, hier die Auf-
Konstante, die zum Inhalt des W-Registers addiert wird. Das klrung: Die LEDs 6 und 7, 2 und 3 sowie 4 und 5 sind immer
Ergebnis wird ins W-Register gesichert. nur gemeinsam an oder aus. Diese Paare werden daher jeweils
Im Beispiel von Bild 9 wird zunchst der Wert 03h ins W-Re- gemeinsam von einem GPIO-Portpin angesteuert. LED1 erhlt
gister geladen und danach wird die Konstante 10h addiert. eine Steuerleitung alleine. Damit LED1 nicht heller als die ande-
ren leuchtet, wird ihr R1 vorgeschaltet. Der direkte Anschluss
ANDLW von LEDs an GPIO-Pins (siehe die Schaltung von Bild 12) ist
Dieser Befehl ist bis auf die AND-Operation statt der Addition zwar nicht ganz regelkonform, jedoch aufgrund der niedrigen
identisch mit ADDLW. Strme kein wirkliches Problem. Um etwas Energie zu sparen,
werden die 5 V des USB-Ports mit D1 um ca. 0,7 V auf 4,3 V
CLRF und CLRW verringert. Falls man zur Versorgung drei NiMH-Akkus mit 3 x
Der Befehl CLRF tauchte schon in Folge 1 auf (eine bestimmte 1,2 V verwendet, kann man die Diode weglassen. Zum Wr-
Speicherposition wird auf 00h gesetzt). Analog dazu setzt der feln drckt man einmal kurz auf Taster S1.
CLRW Befehl das W-Register auf 00h.
Die Syntax ist:
clrf f
bzw.
clrw

INCF und DECF


Mit diesen Befehlen kann man inkrementieren (INCF; +1) oder
dekrementieren (DECF; -1). Die Syntax ist: Bild 11. Darstellung der Zahlenwerte bei einem Wrfel.

www.elektormagazine.de September 2015 21


LEARN DESIGN SHARE

Die schnelle Zhlung endet, wenn S1 losgelassen wird. Der


R1 aktuelle Zhlerstand wird dann dauerhaft angezeigt.
D1 100R
Jetzt kann man loslegen.
1N4004

IC1 LED4 LED6 Die Firmware fr den Wrfel ist in zwei Teile aufgeteilt: Wr-
USB 1
1 VCC feln und Anzeigen. Selbstverstndlich muss nach einem Reset
+5V 7
D
2 GP0/AN0
6
oder Neustart zunchst einiges eingestellt werden.
3 VREF/GP1/AN1
D+
4 GP2/AN2
5 LED2 LED1 LED3 Im Code von Bild 13 sieht man diese Konguration bei Mar-
GND 4
GP3/MCLR
3
kierung 1. Eingestellt werden der interne Oszillator und GP3
GP4/AN3
GP5/CLKIN
2 als Input folglich kein MCLR.
LED7 LED5
GND Bei Markierung 2 werden die Variablen TIMER1 und TIMER2
8 S1
PIC12F675P an den Speicherpositionen 20h und 21h deniert.
Bei den Markierungen 3 und 4 wird mit Speicherbank 1 gear-
beitet, weswegen zunchst Bit RP0 des Status-Registers auf
1 gesetzt wird.
Bei Markierung 3 sorgen die ersten zwei Befehle (movlw
Bild 12. Die Schaltung des elektronischen Wrfels.
B11001100 und movwf TRSIO) dafr, dass GP0, GP1, GP4
und GP5 als Ausgnge konguriert werden, indem die zugehri-
gen Bits des TRISIO-Registers auf 0 gesetzt werden. An diese
Ein kleiner Hinweis noch: Aufgrund der hheren Durchlass- vier Pins sind die LEDs angeschlossen. GP2 wird als Eingang
spannung funktionieren in dieser Schaltung keine blauen oder konguriert, denn hiermit wird der Taster-Status eingelesen.
weien LEDs. Hierzu wird Bit 2 des TRISIO-Registers auf 1 gesetzt. Der
Befehl clrf ANSEL schaltet die analoge Funktionalitt aus.
Wrfel-Firmware Bei Markierung 4 wird ein externer Pull-up-Widerstand fr den
Bevor man in die Tasten haut, empehlt sich die genaue Spe- Taster berssig gemacht. Der Mikrocontroller PIC12F675
zizierung dessen, was die Software machen soll. Die Spezi- stellt nmlich so genannte Weak Pull-ups fr alle als Eingang
kation fr den Wrfel sieht so aus: kongurierte GPIO-Pins (auer GP3) zur Verfgung. Hierzu
Nach dem Start (Reset) soll der Wrfel eine Demo anzeigen. muss Bit 7 des Option-Registers auf 0 gesetzt werden. Im
Die Demo luft so ab, dass solange immer wieder nacheinan- Programm erledigt dies der Befehl bcf OPTION_REG,D007.
der alle Zahlen (1...6) dargestellt werden, bis der Taster S1 Anschlieend legt man mit den Bits des WPU-Registers fest, fr
gedrckt wird. welche Pins die internen Pull-ups wirklich aktiv werden sollen.
Die Wrfel-Logik wird als Endlos-Schleife implementiert: Wenn das Bit x des WPU-Registers auf 1 gesetzt wird, ist fr
den zugehrigen GPx-Pin der Pull-up-Widerstand aktiv. Die
Wenn S1 gedrckt ist, werden die Werte 1 bis 6 immer wie- internen Pull-ups sind nicht grundstzlich aktiv, da durch sie
der sehr schnell durchgezhlt und dabei angezeigt. Durch die bis zu 400 A zustzlich an Strom verbraucht werden kann.
Trgheit des Auges sieht es so aus, als wrde der Wert 7 ange- Wo es darauf ankommt, kann man dann einen hochohmigeren
zeigt (alle LEDs an). externen Pull-up oder bei Bedarf sogar einen externen Pull-
down einsetzen.
Nach der Initialisierung springt das Programm in die Demo-
Schleife (Bild 14). Die Implementierung ist an dieser Stelle
sehr einfach alles passiert in der Subroutine start_eect,
die hier einfach aufgerufen wird. Der Demo-Teil wird mit einem
Druck auf S1 beendet.

Demo-Routine
Die Demo-Routine in Bild 15 ist sehr berschaubar. Man erkennt
sechs nahezu identische Programmteile fr jede Zahl. Fr die
Darstellung der Zahlen kommt eine Subroutine zum Einsatz:
Unterprogramm disp_1 sorgt dafr, dass die entsprechende
LED fr die 1 leuchtet. Unterprogramm disp_2 zeigt die
Zahl 2 an und so weiter.
Nachdem eine Zahl angezeigt wird, wartet die Software kurz
bis zur nchsten Zahl. Dafr sorgt die delay_routine die
schon im ersten Teil des Kurses verwendet wurde. Interessant
an dieser Stelle ist der Befehl btfss GPIO,D002. Er sorgt
dafr, dass bei oenem Taster der Befehl return bersprungen
und die nchste Zahl angezeigt wird. Bei gedrcktem Taster
wird nicht mehr bersprungen, denn der Eingang liefert eine
0. Das Programm wird mit return fortgesetzt. Das sorgt
Bild 13. Wrfel-Code: Initialisierungen. wieder dafr, dass die Subroutine start_eect und damit die

22 September 2015 www.elektormagazine.de


KURS Q & A TIPPS & TRICKS SOFTWARE

Demo beendet werden. Jetzt luft wieder das Hauptprogramm.


Nun zu den Display-Routinen: Der Code dieses Teils (Bild 16)
ist besonders einfach. Es gibt insgesamt sechs Routinen. In
jeder wird mit dem ersten Befehl movlw mit einer Konstante
bestimmt, welche LEDs an und welche aus sein sollten. In der Bild 14. Wrfel-Code: Sprung zur Demo-Routine.
binren Konstante steht eine 0 fr die dunklen LEDs und
eine 1 fr die leuchtenden LEDs. Der Befehl movwf GPIO
schickt diese Information an den Port. Danach wird noch kurz
gewartet (Unterprogramm dr2) und dann die Anzeige-Routine
beendet. Im Demo-Teil wre das kurze Warten nicht erforder-
lich, strt aber auch nicht weiter.

Hauptprogramm
Dieser Teil ist hnlich aufgebaut wie die Demo-Routine. In
Bild 17 sorgt der Teil mit dem Label main_loop1 dafr, dass
bei nicht gedrcktem Taster konstant die jeweils aktuelle Zahl
angezeigt wird. hnlich wie bei der Demo-Routine wird auch
im Hauptprogramm der aktuelle Wert des Eingangs GP2 abge-
fragt und bei gedrcktem Taster immer weiter gezhlt und die
aktuelle Zahl angezeigt. Das Ganze geschieht so schnell, dass
scheinbar die Zahl 7 angezeigt wird.
Nach Loslassen des Tasters wird der Befehl goto b_released
durchgefhrt und das Zhlen gestoppt der aktuelle Stand Bild 15. Die Wrfel-Code: Ausgabe der Zahlen in der Demo-Routine.
wird dauerhaft angezeigt. Diese Zahl ist das Wrfelergebnis.
Beim Label b_release wird gleich zurck auf main_loop1
gesprungen und dadurch der Programmablauf gestoppt. Man
htte auch gleich nach main_loop1 springen knnen, doch
wenn man das Programm noch mit mehr Leben fllen mchte,
kann man beim Label b_release noch weitere Eekte imple-
mentieren. Man knnte z.B. das Zhlen langsam ausklingen
oder das Ergebnis blinken lassen und dann erst zur statischen
Anzeige bergehen.
Im Unterprogramm dr2 ist festgelegt, wie schnell sich die Bild 16. Wrfel-Code: Display-Routinen.
Zahlen ndern. Eigentlich knnte man es komplett weglassen.
Man kann damit zu Testzwecken den Programmablauf so lang-
sam machen, dass man sehen kann, wie sich die Zahlen ndern.
Wie immer ist die Software von der Elektor-Website down-
loadbar [4].

Ausblick
Damit sind wir am Ende des zweiten Teils dieses Assembler-Kur-
ses angelangt. Es wurden ein paar neue Befehle beschrieben
und demonstriert, wie man mit wenig Aufwand einen funktio-
nierenden elektronischen Wrfel baut. Auf ganz hnliche Weise
lassen sich schon recht komplexe Anwendungen realisieren.
Sie haben hoentlich erlebt, dass Assembler-Programmierung
einfacher ist, als man annehmen sollte.
Ich hoe, es hat Ihnen gefallen! In der nchsten Folge wird
gezeigt, wie man einen einfachen Mikrocontroller wie den
PIC12F675 als Ersatz fr den Timer NE555 einsetzen kann.
(150274) Bild 17. Wrfel-Code: Das Hauptprogramm.

Weblinks
[1] PIC12F675: www.microchip.com/wwwproducts/Devices.aspx?product=PIC12F675
[2] MPLAB IDE: www.microchip.com/pagehandler/en-us/family/mplabx
[3] Erster Teil des Kurses: www.elektormagazine.de/130483
[4] Software: www.elektormagazine.de/150274

www.elektormagazine.de September 2015 23


News

4Discovery: Intelligentes resistives Touch-Display mit Diablo16-Prozessor


Bei 4Discovery handelt es sich um ein intelligen- bertragung sowie ber ein Schaltnetzteil mit
tes Display-Modul mit einem 3,5-TFT-Panel mit weitem Eingangsspannungsbereich.
480 x 320 Pixeln, das mit resistiver Touch-Tech- Die Intelligenz stammt von einem Diablo16-Mi-
nik und dem leistungsfhigen Mikrocontrol- krocontroller, der den autonomen Betrieb
ler Diablo16 ausgestattet ist. Das Modul kann ermglicht und mit der IDE 4D Workshop4
autonom betrieben und sehr einfach mit der IDE programmiert wird. Workshop4 untersttzt
4D Workshop4 programmiert werden. 4Disco- die schnelle Realisierung grascher Lsungen,
very eignet sich fr die einfache Wandmontage da diese IDE speziell fr die Grak-Prozessoren
in einer Standarddose fr Lichtschalter, und ist von 4D Systems mageschneidert ist.
deshalb fr Anwendungen in der Heim-Automa- 4Discovery wird mit und ohne WLAN und in
tisierung als Steuerung geeignet. verschiedenen Starter-Kits angeboten. 4Disco-
4Discovery verfgt ber einen Slot fr micro- very ist direkt von 4D Systems oder ber lokale
SD-Karten, 16 MB Flash-Speicher, eine Echt- Distributoren erhltlich. Die Software-Tools ste-
zeituhr, ein Zweidraht-RS485-Interface (als ver-Leitung), optionales WLAN, einen optiona- hen kostenlos per Download zur Verfgung.
Master oder Slave mit zustzlicher Changeo- len Verschlsselungs-Chip fr sichere Daten- www.4dsystems.com.au (150273-3)

Neue LPC-Xpresso-Entwicklungs-Boards von NXP


Farnell element14 hat drei neue Boards von NXP aus der LPC- knnen mit einem Takt
Xpresso-Familie in sein Portfolio aufgenommen. von bis zu 208 MHz
Die neuen LPC-Xpresso-Boards der Version V3 sind Teil der gut ein- betrieben werden.
gefhrten Toolchain auf der Basis von LPC-Mikrocontrollern mit ARM- Die Typen 18S37 und
Cortex-M-Cores. Die Boards arbeiten mit dem meisten existierenden 43S37 enthalten eine AES-Ver-
Xpresso-Zubehr sowie mit Arduino-kompatiblen Shields zusammen, schlsselungs-Hardware fr
wodurch die Funktionen stark erweitert und fr Anwendungen wie sichere Kommunikation, die z.B. in
Motorsteuerungen, Leistungsmanagement, RFID-Leser, Embedded-Au- IoT-Anwendungen notwendig sein kann.
dio, Industrieautomation und Messtechnik angepasst werden knnen. Das LPC General Purpose Shield kann mit den
Das ARM-Cortex-Entwicklungs-Board LPC Xpresso 18S37 ist eine gute Entwicklungs-Boards der Versionen V2, V3, und
Prototypenbasis fr die Mikrocontroller der Reihe LPC1800. Sein ARM- MAX zusammenarbeiten und bietet gebruchliche Peripherie wie ein
Cortex-M3-Core luft mit einem Takt von bis zu 180 MHz. Sowohl LPC LCD, LEDs oder einen Joystick mit fnf Positionen sowie Beschleuni-
Xpresso 4337 als auch 43S37 bilden eine Prototypengrundlage fr die gungs- und Temperatursensoren.
Mikrocontroller-Familie LPC4300. Die Dual-ARM-Cores (M4F und M0+) www.element14.com/community/docs/DOC-74693 (150273-4)

Drahtlose Stromversorgung fr Wearables grere Spulenchen (29 x 29 mm), aber


Wrth Elektronik, der bekannte Herstel- der- und drei Empfngerspulen an, die opti- einer starken Limitierung der Bauhhe.
ler von induktiven elektronischen und elek- mal fr Lsungen zum Laden von Wearables WE-WPCC 760308102212 bietet darber
tromechanischen Bauelementen, bietet ab und Mobilgerten geeignet sind. Die Spu- hinaus durch einen breiten Ferritberstand
sofort Wireless-Power-Spulen fr Wearab- len sind an die bereits existierenden Stan- eine ausgezeichnete Schirmung wichtig
les an. Da Gerte wie Fitness-Sensoren und dardchipstze fr den Qi-Standard des WPC fr Anwendungen, die sensibel gegenber
Smartwatches blicherweise gegen Umwelt- angepasst. Bestehende Lsungen knnen elektromagnetischer Einstrahlung sind.
einsse gekapselt sind, durch die Vielfalt der daher einfach durch den Austausch der Spu- WE-WPCC 760308102213 ist durch die Wahl
integrierten Sensorik (GPS, Funk) aber hu- len eingesetzt werden. des Induktivittswertes ein Dual-Standard-
g geladen werden mssen, ist eine Energie- Die Empfngerspulen WE-WPCC empfnger. Mit dem entsprechenden Empfn-
bertragung ohne Kabel und Stecker sinnvoll. 760308102212 und WE-WPCC 760308102213 gerchip ist die Spule in der Lage, auf Sendern
Wrth Elektronik bietet mit einer Erwei- zeichnen sich durch ihre sehr geringe Hhe zu laden, die entweder dem Qi-Standard des
terung seiner bewhrten Wireless-Pow- von gerade einmal 0,64 mm aus und sind WPC oder dem PMA-Standard entsprechen. Die
er-Transfer-Produktfamilie zwei neue Sen- damit optimal fr Wearables mit Platz fr dritte Empfngerspule WE-WPCC

24 September 2015 www.elektormagazine.de


760308101214 ist mit 0,8 mm etwas derspulen WE-WPCC 760308101104 Schirmung und Litzendraht, um den Gleich-
dicker, hat dafr aber nur einen Durch- und WE-WPCC 760308101105. stromwiderstand klein zu halten. Sie unter-
messer von 19 mm. Durch ihre kom- Optimal zu diesen Empfngerspulen passen scheiden sich durch ihren Induktivittswert.
pakte Bauform ist sie bestens geeignet die neuen Wireless-Power-Charging-Sende- Alle Wireless-Power-Spulen sind bei Wrth
fr die kabellose Energiebertragung in spulen WE-WPCC 760308101104 und WE-WPCC Elektronik ab Lager verfgbar; Muster sind
Gerten mit begrenztem Platzbedarf. 760308101105 fr passende Ladestationen. kostenlos erhltlich.
Sie erzielt sehr gute bertragungswerte Beide Spulen haben einen Auendurchmesser www.we-online.de (150335-6)
im Zusammenspiel mit den neuen Sen- von nur 21 mm, nutzen hochwertiges Ferrit zur

Kostenloses PicoScope-Upgrade
mit 16 seriellen Schnittstellen
Aufgrund der zunehmenden Wichtigkeit serieller Kommunikation in
der Elektronik ist in die neueste Version der Software fr PicoScope
nun die Fhigkeit zur Dekodierung und Analyse von 16 seriellen Pro-
tokollen integriert. Dank des umfangreichen Speichers in den meisten
PicoScope-Versionen erlaubt die neue Software enorm leistungsfhi-
ges Debugging und professionelle Fehleranalyse ohne Zusatzkosten.
PicoScope R6.11.4 beta kann ab sofort kostenlos heruntergeladen wer-
den und funktioniert mit jedem PicoScope.
Untersttzte Protokolle nach Anwendungsbereich:
Automotive: CAN, LIN, FlexRay und SENT (Fast und Slow);
Avionics: ARINC 429;
Computer & Netzwerk: RS232/UART, USB (LS, FS, HS), PS/2
sowie Ethernet 100BASE-TX und 10BASE-T;
Embedded Systeme: IC, IS, SPI und 1-Wire;
Beleuchtung: DMX 512; Man kann sogar fr Menschen gut verstndliche Namen fr spezielle
Modellbahn: DCC. Adressen oder Datenwerte mit Hilfe eines link le anlegen.
Das serielle Decoding Display von PicoScope kann auch die Bus-Wel- PicoScope kann viele serielle Busse gleichzeitig berwachen und das
lenform anzeigen und mit analogen und digitalen Quellen korreliert mit jeder Mischung an Protokollen, begrenzt lediglich durch die Anzahl
werden. Diese Anordnung erleichtert die Fehlersuche bei Datenfehlern, verfgbarer Kanle (bei MSO-Modellen maximal 20).
die durch Strungen, fehlerhafte Treiber oder nicht angepasste Impe- PicoScope R6.11.4 bet a kann ab sofor t kostenlos von
danzen entstehen knnen. www.picotech.com/downloads heruntergeladen werden.
Die alternative Tabellenansicht listet jedes Paket oder jeden Frame Weitere Details zu den seriellen Protokollen nden sich unter
mitsamt Timing, den dekodierten Daten und optional mit Spannungs- www.picotech.com/library/oscilloscopes/
messungen auf. Diese Tabelle kann man ltern und nach jedem Feld serial-bus-decoding-protocol-analysis.
durchsuchen sowie die Daten fr eine Tabellenkalkulation exportieren. www.picotech.com (150335-1)

Anzeige

(M)ein kleiner Freund


im Elektroniklabor
Kompakt
Einfach zu bedienen
33 000 U/min Spindel
Ein- und doppelseitige Leiterplatten

LPKF ProtoMat E33 klein, przise, wirtschaftlich


Kaum grer als ein DIN A3-Blatt: LPKF Qualitt zum Einstiegspreis
zum Frsen, Bohren und Trennen von Leiterplatten und Gravieren von
Frontplatten. Erfahren Sie mehr: www.lpkf.de/prototyping

productronica: 10. 13.11.2015, Halle B3, Stand 303

www.elektormagazine.de September 2015 25


BUSINESS REPORT

LED-Treiber

4
mit groem
Ausgangsspannungsbereich
ZXYTT
7733A Von Inki Park

TM Seit LED-Lampen so vielfltig eingesetzt werden, gibt es sie in


unterschiedlichsten Formen und Gren und fr alle mglichen
Fassungen. Konsequenterweise sollten LED-Treiber daher so
konstruiert sein, dass sie fr unterschiedliche LED-Typen und auch fr
3

spezielle Anwendungen geeignet sind. Selbstverstndlich muss man


dabei den Power Factor und die Netzstrungen im Blick behalten.

Die Versorgungsspannung der LEDs einer die Treiber-Schaltung auch fr kleinere denstrom ID fllt kontinuierlich von sei-
LED-Lampe hngt in erster Linie von der Lampen, die sich zur Nachrstung beste- nem Spitzenwert IDS.PK NP/NS auf Null.
Anzahl in Serie geschalteter LEDs ab und hender Beleuchtungen eignen. Auerdem Am Ende der Entladungszeit tDIS ist alle
in zweiter Linie von deren Temperatur. werden die gesetzlichen Grenzwerte fr im Trafo gespeicherte Energie zum Aus-
Der Strom durch die LEDs sollte dabei SSLs auch ohne erhhte Kosten einge- gang bertragen worden.
unter allen Umstnden konstant bleiben, halten. Eine passende Lsung ist der
da die Helligkeit direkt proportional zum PWM-PSR-Controller FL7733 von Fairchild. Modus III
Strom ist. Gleichzeitig ist ein hoher PF Dieser Chip vereinfacht die Einhaltung der Wenn der Diodenstrom den Wert Null
(Power Factor) fr die Schaltungsent- Grenzwerte und spart externe Bauteile erreicht, zeigt die Spannung VA aufgrund
wicklung genau so wichtig wie geringe ein. Das IC FL7733 bietet eine hochpr- der Resonanz der Induktivitt der Primr-
Netzstrungen. Wenn dann der Treiber zise Regelung des Ausgangstroms auf der wicklung Lm mit der eektiven kapazitiven
noch mit einem groen Bereich der Aus- Basis der Vernderung der Induktivitt Last des MOSFETs an der Hilfswicklung
gangsspannung aufwarten kann, ist er des Trafos, Informationen ber Ein- und des Trafos Oszillationen.
mit vielen LED-Kongurationen kompa- Ausgangsspannung sowie leistungsfhige
tibel. In diesem Artikel wird daher ein Schutzmanahmen zur Steigerung der Den Ausgangsstrom kann man aufgrund
integrierter PWM-Controller vorgestellt, Zuverlssigkeit. des Spitzenwerts des Drain-Stroms und
der mit einer fortschrittlichen PSR-Tech- der Entladezeit des Trafos abschtzen, da
nik (Primary-Side Regulation) arbeitet. Modus I der mittlere Ausgangsstrom ja dem mitt-
Resultat ist ein Design-Leitfaden fr einen Whrend der Einschaltzeit tON des MOS- leren Diodenstrom in der Leitphase ent-
einstugen sogenannten Flyback-Konver- FETs Q liegt die Eingangsspannung VIN spricht. Der Spitzenwert des Drain-Stroms
ter bzw. Sperrwandler, der einen groen voll an der Primrwicklung Lm des Tra- entspricht dem Spannungsabfall VCS am
Ausgangsspannungsbereich aufweist. fos. Dabei steigt dann kontinuierlich der Shunt RS. Die Entladezeit wird ber die
Strom IDS durch den MOSFET von null bis aus der Hilfswicklung abgeleiteten Span-
Prinzip der Primrseitenregelung zu seinem Spitzenwert IDS.PK, wie in Bild 1 nung VS vom tDIS-Detektor des ICs gemes-
Auch mit PSR erreicht man bei LED-Trei- zu sehen. Whrenddessen wird Energie sen. Mit IDS.PK, tDIS und den Informationen
bern die bereinstimmung mit internati- aus dem Netz entnommen und im Trafo ber die Schaltzeiten des ICs wird mit
onalen Regularien wie etwa dem Energy magnetisch gespeichert. Hilfe des neuartigen Berechnungsverfah-
Star fr Halbleiter-Lampen (SSL, Solid- rens TRUECURRENT der Ausgangsstrom
State Lighting). Bei der PSR steuert man Modus II wie folgt bestimmt:
den Ausgangsstrom nur mit primrsei- Wenn Q ausgeschaltet wird, sorgt die
tigen Informationen und doch przise. gespeicherte Energie durch die Sekun-
1 tdis N 1
Dadurch vermeidet man die Verluste, drwicklung dafr, dass der Gleichrich- Io " w w VCS w P w (1)
2 ts NS RS
die z.B. bei der Messung des sekundren ter D durchschaltet. Whrend die Diode
Stroms per Shunt entstehen, und man leitet, liegt an der Sekundrwicklung die
tdis
spart gleichzeitig den Aufwand fr eine Ausgangsspannung VOUT plus die Fluss- w VCS " 0, 25 (2)
ts
sekundre Feedback-Schleife. Daher passt spannung der Diode VF an, und der Dio-

26 September 2015 www.elektormagazine.de


Zwecks eines hohen PF sollte bei einer
Flyback-Topologie der DCM (Discontinuous
Conduction Mode) eingehalten werden.
Um dies ber einen groen Bereich der
Ausgangsspannung zu gewhrleisten,
wird die Schaltfrequenz linear an die
Ausgangsspannung angepasst. Die Hhe
der Ausgangsspannung wird mit Hilfe der
ber einen Spannungsteiler von der Hilfs-
wicklung abgeleiteten Spannung am Pin
VS gemessen (siehe Bild 2). Wenn die
Ausgangsspannung sinkt, wird die Ein-
schaltzeit der sekundren Diode erhht,
und die DCM-Steuerung verlngert die
Schaltzeit, was einen sicheren DCM-Be-
trieb ber einen groen Ausgangsspan- Bild 1. Primr geregelter Sperrwandler samt zugehriger Signalverlufe.
nungsbereich gewhrleistet.

LED-Treiber mit groem


Ausgangsspannungsbereich
In diesem Abschnitt geht es um das
Design eines einstugen Flyback-LED-Trei-
bers mit dem IC FL7733. Fr diesen
Zweck wurde ein LED-Treiber mit einer
Leistung von 50 W als Beispiel entwor-
fen. Die technischen Anforderungen sind:
Eingangsspannungsbereich:
90...277 VAC bei 50...60 Hz
Nennausgangsspannung und strom:
50 V; 1 A
Ausgangsspannungsbereich:
12...50 V
Minimaler Wirkungsgrad: 88 %
Schaltfrequenz: 65 kHz Bild 2. Prinzip der DCM-Steuerung.
Maximale Einschaltzeit: 40 %

Die Anzahl der Primr windungen


bestimmt man nach Faradays Indukti-
onsgesetz. Np,min ist durch den Spitzenwert
der minimalen Spannung ber der Primr-
wicklung und die maximale Einschaltzeit
festgelegt. Zur Vermeidung einer Kern-
sttigung ergibt sich die minimale Win-
dungszahl der Primrwicklung zu:

VIN .min.pk w ton


Np.min " (3)
Bsat w Ae

wobei Ae der Querschnittsche des Kerns


in mm2 und Bsat der Sttigungsussdichte
in Tesla entspricht.

VCS.PK " ISW.PK w RS (4)

Laut Gleichung 3 ergibt sich das Primr/


Sekundr-Windungsverhltnis mit Wider-
stand RS und Ausgangsstrom I0 zu:

I0 w RS
nPS " (5)
0,125 Bild 3. Erzeugung von VS fr einen groen Ausgangsspannungsbereich.

www.elektormagazine.de September 2015 27


BUSINESS REPORT

Bild 4. Stabilitt des Konstantstroms Bild 5. PF mit Eingangsspannung und Last als Bild 6. Verzerrungen (THD) mit
in Abhngigkeit von der Ein- und Parameter. Eingangsspannung und Last als Parameter.
Ausgangsspannung.

abgeschaltet, wenn die Ausgangsspannung Um die Gltigkeit der hier durchgefhrten


VDD.OVP 23
nAS " " (6) niedriger als VOUT-UVLO (8,75 NS / NA) wer- berlegungen zu berprfen, wurde die
VO.OVP VO.OVP
den sollte. Daher sollte VDD bei Ausgangs- beschriebene Schaltung aufgebaut und
spannungen von 12...50 V bereitgestellt getestet. Bild 4 zeigt die nderung des
nAS
nAP " (7) werden, ohne das UVLO getriggert wird. VDD Konstantstroms ber die ganzen Bereiche
nPS kann auch ber die Zusatzwicklung NE und der Netz- und der Ausgangsspannung. Die
zustzliche Bauteile wie in Bild 3 gewhr- Stromabweichung ist dabei abhngig von
Da die Sttigungsussdichte mit der Tem- leistet werden. NE sollte dabei so ausgelegt der Netzspannung kleiner als 0,26 %
peratur steigt, muss man die Eigenschaf- werden, dass VDD ohne Triggerung von und abhngig von sowohl der Netz- als
ten bei hheren Temperaturen berck- UVLO auch bei minimaler Ausgangsspan- auch der Ausgangsspannung mit 1,23 %
sichtigen, wenn man den Treiber in ein nung Vmin.OUT bereitgestellt werden kann. immer noch sehr gut. Die Bilder 5 und 6
geschlossenes Gehuse einbaut. NE errechnet sich zu: zeigen den PF und die Verzerrungen der
Netzspannung (THD) bei verschiedenen
Als erste berlegung fr die Berechnung
NE #
8, 75  V
CE .Q1  VF .D 3 wN  NA (8)
Spannungs- und Lastbedingungen.
von R1 und R2 whlt man die Spannung VF .D1  Vmin.OUT  S

VS = 2,7 V, um den Betrieb mit hoher Fazit


Frequenz bei Nennleistung zu gewhr- wobei VCE.Q1 der Kollektor-Emitter-St- Die hier vorgestellten Design-berlegun-
leisten. Die zweite berlegung betrit tigungsspannung von Q1 und VF.D3 der gen fr einen LED-Treiber mit groem
die Austastung von VS. Die Ausgangs- Flussspannung von D3 entspricht. VF.D1 Ausgangsspannungsbereich haben zum
spannung wird ja ber die Hilfswicklung steht fr die Flussspannung von D1 bei Ziel, die Flexibilitt und die Kompatibilitt
und ber einen Spannungsteiler am Pin minimaler Ausgangsspannung. bezglich unterschiedlicher Spezikati-
VS gemessen (siehe Bild 3). Mit einem onen und Charakteristiken des LED-Be-
VIN .bnk
einstugen Sperrwandler ohne entspre- R1 " nAP w triebs zu erhhen. Der PSR-Controller
(9)
chendem Kondensator kann bei niedriger IVS.bnk FL7733 von Fairchild liefert dabei eine
Netzspannung die Spannung der Hilfs- gute Leistung bei hohem PF und niedri-
wicklung nicht so geklemmt werden, dass wobei VIN.bnk dem Pegel der Netzspannung gen Strpegeln sowie einen sehr stabilen
sie der Ausgangsspannung entspricht, da und IVS.bnk dem Strom fr das Blanking Ausgangsstrom ber einen weiten Bereich
ein kleiner Strom durch Lm einen Fehler (Austasten) von VS entspricht. der Ausgangsspannung. Die hier vorge-
bei VS verursacht. Die Frequenz sinkt in stellte Schaltung eignet sich zum Betrieb
R 2 w 2, 7
der Nhe des Nulldurchgangs der Netz- R1 " unterschiedlichster LED-Kongurationen
spannung rapide, was zum sichtbaren Fla- VOUT  VF .D1  nas  2, 7 (10)
bei niedrigen Kosten.
ckern des LED-Lichts fhren kann. Um (150370)
ber die ganze Sinuskurve mit konstanter
Frequenz arbeiten zu knnen, wird die
ber den Autor
Auswertung von VS bei Spannungen unter
VIN.bnk ausgetastet. Die dritte berlegung Inki Park arbeitet seit 2010 als Applikations-Ingenieur
zielt auf den Wert von VS, der irgendwo bei Fairchild Semiconductor. Im Rahmen seiner Ttigkeit
zwischen 0,6 und 3 V liegen sollte, um das entwickelt er primr geregelte Controller fr LED-Treiber
Triggern von SLP und VS OVP bei einem und Hochleistungsschaltnetzteile mit PF-Korrektur. Vor
groen Ausgangsspannungsbereich zu seiner Ttigkeit bei Fairchild war er schon sechs Jahre mit
vermeiden. der Entwicklung diverser Netzteile und LED-Treiber befasst.
Inki Park hat die Abschlsse Master of Science und
Da die Betriebsspannung VDD des FL7733 Bachelor of Science als Elektronik-Ingenieur von der
im Bereich von 8,75...23 V liegen muss, Kangwon National University in Kangwon in Sdkorea.
wird die Ansteuerung des MOSFETs via UVLO

28 September 2015 www.elektormagazine.de


Willkommen bei DESIGN
Von Clemens Valens, Elektor Labor

SHARE Lizenz fr
fr wen oder was nun eigentlich?
Eines der verworrensten Dinge in der Elektronik ist die Lizen-
zierung. Wenn ein Gert oder Produkt geschlossen ist (und die
meisten kommerziellen Dinge sind es), dann kann man davon
ausgehen, dass es von internationalen Handels-
ndels-
und Urheberrechten geschtzt ist. Diese si sind
nd
ziemlich kompliziert zu verstehen (von einem
m
Laien schon gar nicht), aber es gibt eine
detaillierte Rechtsprechung, was man darf
und was man nicht darf.
Wenn Sie jedoch eine Entwicklung als open
source freigeben wollen, sei es Hardware,,
Software oder beides, wird es richtig kom- m-
pliziert. Die Probleme liegen in der Natur der
Open-Source-Bewegung selbst. Eine typische che
Open-Source-Lizenz erlaubt dem m Liz
Liz-
bzu-
enznehmer, das lizenzierte Werk abzu-
DESIGN

wandeln, was oft zu einer Anzahl von


abgeleiteten Designs fhrt, alle ein
wenig anders. Der gleiche Eekt kt
trit auf die Open-Source-Lizenzen selbst zu. Inzwischen gibt es so viele e
verschiedene Open-Source-Lizenzen im Netz, dass es schwer, wenn nichtt
unmglich ist, gerade die richtige fr sich selbst zu nden.
Die Lizenzen sind juristische Dokumente, die vor allen Geric chten
Gerichten
dieser Welt Bestand haben soll(t)en. Sie sind nicht nur sehr se
ehr
schwer zu verstehen, sondern entwickeln sich auch bestndigestn ndig
weiter. Und alles, was man will, ist doch nur, eine eigene gene e
Entwicklung zu teilen, indem man eine Open-Source-Lizenz Lizen nz
draufklebt. Stattdessen versinkt man in einem Sumpff vo on
von
Juristen-Kauderwelsch...
Und man kann das Ganze nicht einfach abtun mit: Istt
umsonst, macht damit, was ihr wollt, ich hafte fr nichts
und niemanden!. Wenn jemand etwas Illegales mit Ihrer
t--
Arbeit anstellt, knnte das von einem Gericht als zu leicht-
fertig befunden werden.

Nutzlose und unvollstndige Liste aller Lizenzen


(in alphabetischer Reihenfolge)
LEARN

AA AFL-3.0, AGPL-3.0, Apache-2.0, APL-1.0, APSL-2.0, Artistic-2.0,


AAL,
BS
BSD-2-Clause, BSD-3-Clause, BSL-1.0, CATOSL-1.1, CC BY, CC
BY-NC, CC BY-NC-ND, CC BY-ND, CC BY-SA, CC-BY-NC-SA, CDDL-
B
1
1.0, CECILL-2.1, CERN OHL, CNRI-Python, CPAL-1.0, CUA-OPL-1.0,
E
ECL-2.0, EFL-2.0, Entessa, EPL-1.0, EUDatagrid, EUPL-1.1, Fair,
Fra
Frameworx-1.0, GPL-2.0, GPL-3.0, HPND, IPA, IPL-1.0, ISC, LGPL-
2.1, LGPL-3.0, LPL-1
LPL-1.02,
.02 LPPL-1.3c, MirOS, MIT, Motosoto, MPL-2.0, MS-PL, MS-RL,
M
Multics, NASA-1.3, Naumen, NCSA, NGPL, Nokia, POSL-3.0,
N
NTP, OCLC-2.0, OFL-1.1, OGTSL, OSL-3.0, PHP-3.0, PostgreSQL,
P
Python-2.0, QPL-1.0, RPL-1.5, RPSL-1.0, RSCPL, SimPL-2.0,
Sle
Sleepycat, SPL-1.0, TAPR, UPL, VSL-1.0, W3C, Watcom-1.0,
WXwindows, Xnet, Zlib, ZPL-2.0.
WXw
(150332-I)

www.elektormagazine.de September 2015 29


Willkommen im
Elektor-Labor
Das Elektor-Labor ist der Ort, wo Projekte - gro, klein, analog, digital,
new- oder old-school - skizziert, gebaut, diskutiert, getestet und fr
den Nachbau und Ihre Anwendung optimiert werden.

Unser Angebot:
Werden Sie berhmt!
Die meisten Ingenieure und angehenden Unsere
Autoren sind einfach zu bescheiden. Sie Geschichte
sehen nicht den Reiz und die Schnheit einer auf
Die Ursprnge des Elek-
einen Bierdeckel gekritzelten Idee, die spter zu
tor-Labors gehen zurck
Hause ausgearbeitet wird. Lassen Sie sich vom Elek-
auf die frhen 1970er-Jahre.
tor-Labor helfen, ihr Projekt zu perfektionieren, ber-
Lten und Schreiben war
lassen Sie den Redakteuren Text und Grak und ern-
damals noch ein Ein-Mann-
ten die Frchte Ihrer Arbeit in Form Ihres Namens,
Schreibtisch-Job. ber die
gedruckt in der Design-Rubrik von Elektor. Sicher, wir
Jahre waren Mitarbeiter des
freuen uns, mit Ihnen ber eine Vergtung zu ver-
Labors nicht nur Zeugen der
handeln, aber Ruhm und Ehre im Land der Elektronik
Ankunft der Transistoren,
erlangen Sie vor allem, wenn Ihr Name der langen
der ICs, der Mikrocontroller
Liste der erfolgreichen E-Autoren hinzugefgt wird.
und der SMDs, sondern sie
Unsere Wie werde ich berhmt-Formel gilt auch
setzten diese Bauteile auch
fr Buchautoren, Blogger und Video-Regisseure. Ob
sofort in der Praxis ein.
Jugendlicher oder Student: Eine Verentlichung in
Elektor ist DER Booster fr einen tollen Job!

Unsere Produkte
Unsere Einrichtungen Unsere Produkte sind in der Elektor-Zeitschrift,
Wir sind prchtig in drei gerumigen Zimmern im auf Elektor-Labs.com und im Elektor-Shop zu
Elektor-Castle untergebracht, wo wir vergeblich ver- sehen. Das Sortiment umfasst Notizen fr die
suchen, unsere Computer-Schreibtische frei von Redaktion, Fotos von Prototypen, Platinen
Ltspritzern und Prototyp-Verkabelungen zu hal- inklusive SMD-Vorbestckung, Layout-Dateien,
ten. Wir haben Wasser, Netzspannung und Kaee Projekt-Software, programmierte Bauteile, Semi-
in der Nhe. Platinenfrsen, Prototypenmontage, Kits, Tools, Module, Videos und weitere Infos.
SMD-Nachbearbeitung, Audio-Tests, Pizzabacken und
mechanische Arbeiten sind in die umgebauten Kel-
ler verlagert.

30 September 2015 www.elektormagazine.de


375
Project Proposals
52
Projects in Progress
168 591
Projects Finished Projects Total

Unser Mastab
Alle Projekte und Produkte, die unser
Labor verlassen, erfllen einen hohen Unsere Webinare
technischen Standard. In der Praxis wer- Die gesprchigeren unserer Labor-Ingenieure machen
den Prototypen von Projekten, die in der nicht beim Test von Prototypen halt, sie sind froh, Pro-
Zeitschrift mit Labor-Projekt gekennzeich- bleme der, Einblicke in die, aktuelle Informationen
net sind, einer strengen Prfung mit unse- ber die und Entwicklungstricks aus der Elektronik
ren zertizierten, kalibrierten Testgerten vor der Live-Kamera auf Elektor-TV zu diskutieren.
unterworfen. Stcklisten und Schaltplne Die Webinare aus dem Elektor-Labor sind kostenlos zu
mssen perfekt passen, Kits sind auf Voll- erreichen und extrem unterhaltsam. Sie werden in Elek-
stndigkeit geprft. Wir sind ROHS-kompa- tor.POST angekndigt und live aus dem Elektor-Castle
tibel, bleifrei und entsprechen in unserem in den Niederlanden bertragen. Machen Sie mit!
Labor den Normen fr elektrische Sicher-
heit. Sollten trotz aller Sorgfalt technische
Fehler erkannt werden, publizieren wir dies
unmittelbar.

Unsere Laden Sie Ihre eigenen Projekte hoch!


Auf unserer Webseite Elektor-Labs.com knnen Sie Ihre eigenen Projekte
Experten vorstellen und mit tausenden anderer Elektroniker weltweit teilen. Sie
und knnen auf dieser Seite auch den Aktivitten anderer Elektroniker fol-
Entwickler gen, sie kommentieren und so den Projekten zur Fertigstellung verhel-
fen. Und das schnste ist, dass die besten Projekte in unserem echten
Neben den erfahrenen
Elektor-Labor nachbearbeitet, getestet und schlielich in der Elektor-Zeit-
Support-Mitarbeitern und
schrift verentlicht werden.
qualizierten Ingenieuren
mit einer Gesamtberufser- Wer kann, wer darf?
fahrung von etwa 200 Jah- Jeder kann Projekte auf Elektor-Labs.com ansehen. Aber nur Mitglieder
ren hat das Labor Zugang drfen sich auf der Webseite einloggen, um dort eigene Projekte vorzu-
zu einem riesigen Netz- stellen und andere zu kommentieren.
werk von Experten fr eine Mchten Sie, dass auch Ihr Projekt in vier Sprachen in der Zeitschrift
Beratung, kritische Rat- Elektor verentlicht und von zehntausenden Elektronikern auf der gan-
schlge und Untersttzung zen Welt studiert wird? Dann werden Sie grnes oder goldenes Mitglied
bei speziellen Aufgaben. (www.elektor.de/mitgliedschaft) und loggen Sie sich als Mitglied unserer
Elektor-Community ein!

www.elektormagazine.de September 2015 31


LEARN DESIGN SHARE

Android I/O-Board (1)


Steuern Sie eigene Elektronik mit Ihrem
Android-Smartphone oder -Tablet
Von Elbert Jan van Veldhuizen (NL)

Hinweis: Die Nummerierung


der Komponenten weicht beim
abgebildeten Prototyp vom
denitiven Stand ab.

32 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Um eigene Elektronik anzusteuern, sind Android-Gerte nahezu ideal: Hohe


Rechenleistung, Touchscreen und drahtlose Kommunikation sind vereint mit
niedrigen Kosten. Mit dem hier vorgestellten I/O-Board und der zugehrigen App
kann das Android-Smartphone oder Tablet auf 22 I/O-Leitungen schalten, messen,
Motoren steuern, analoge Signale akquirieren oder generieren und vieles mehr. Im
ersten Teil dieses Beitrags beschreiben wir die Hardware.

www.elektormagazine.de September 2015 33


LEARN DESIGN SHARE

VMOD VMOD 3V3


DIN DOUT 1 34 MOD7
MOD3 MOD4 TX PIO11 K2 VMOD
DIN 2 33
V++ RX PIO10
2 1 JP1 3 32 25 26
CTS PIO9 1 16
4 3 4
RTS
MOD1 PIO8
31 TX C6 23 24 C7 RX GND PGM
2 15 RST
RST 6 5 5 30 RC4 C4 21 22 C5 RC5 2 RES
PCM_CLK PIO7 3 14
3 GND
FT311D BOB

DOUT 8 7 6 29 RC2 C2 19 20 C3 RC3


PCM_OUT PIO6 4 13
7
PCM_IN
HC_06 PIO5
28 RC0 C0 17 18 C1 RC1 8 VCC
5 12
8 27 RB6 B6 15 16 B7 RB7 9 RTS
ESP8266 PCM_SYNC PIO4 6 11
9 26 RB4 B4 13 14 B5 RB5 10 CTS
DIN AIO0 PIO3 7 10 DOUT
10 Bluetooth 2.0 25 RB2 B2 11 12 B3 RB3 11 TX
DOUT AIO1 PIO2 8 9 DIN
RST 11 24 CONN RB0 B0 9 10 B1 RB1 12 RX
VMOD RST PIO1
12 23 RA6 A6 7 8 A7 RA7
VMOD 3V3 PIO0 BL600 eBOB

VSUBD+
VBUSD-
13 22 RA4 A4 5 6 A5 RA5
GND GND

MOSI
MISO

GND
CSB

CLK
RA2 A2 3 4 A3 RA3

NC
RA0 A0 1 2 A1 RA1

14
15
16
17
18
19
20
21
VMOD R6
1

MOD5
10k
FT232R BOB

VMOD 3V3
DOUT DOUT 2 20
VCC

DOUT DIO0
DIN DIN 3 19 JP2
DIN DIO1 R5
RST 5 18 1 2 TX
RST MOD2 DIO2 330R
17 DIN 3 4
DIO3
4
DIO12
XBEE-PRO DIO6 16 DOUT 5 6
R7
6 15 7 8 RX

CONN

RB0

RB1
RSSI DIO5 330R
9 RN41/RN42/RN171 14
MOD6 DTR VREF 3V3
11 13 ESP8266
CONN DIO4 STATUS
12
GND

DIN CTS
C1 R2 R3 R4 3V3
DOUT C2
10

470R

470R

470R
R16
100n

20
R12 R13
10k

100n

VDD

8
VMOD 28 RB7 CLED

2k2

2k2
RB7

VCC
27 RB6 7
RB6 WC
26 RB5 LED2 LED3 LED4
RE3 1
MCLR
RB5 R14 IC2
25 RB4 RC3 6 1
RB4 330R SCL A0
CLED
V++

24 RB3 2
RB3 R15 24FC256 A1
MCP1702T-3302E/CB 23 RB2 RC4 5 3
K1 RB2 330R SDA A2

GND
micro USB 22 RB1
S2 IC3 RB1
1 1 3 RA0 2 21 RB0
3V3 RA0 IC1 RB0

4
2 RA1 3
C3 C4 RA1 PIC16F1938
3 RA2 4 18 RX
RA2 RC7
2

4 4u7 1u RA3 5 17 TX
RA3 RC6
RA4 6 16 RC5
RA4 RC5 3V3
5
6

RA5 7 15 RC4

RB2

RB3
RA5 RC4
RA6 10 14 RC3
K3 3V3 RA6 RC3 K5 3V3 R8 R9
RA7 9 13 RC2 PICkit
RA7 RC2

330R

10k
R1 12 RC1 RE3
1 RC1
K4 11 RC0
2 X1 RC0 R10
470R

VSS

VSS

3 330R
RB7 K6
4 S1 R11
19

C5 C6 RB6
5 -t
LED1
6
Touch
ICSP NTC
X1, C5, C6 not mounted
150057- 11

Bild 1. Der erste Anschein tuscht: Auf dem Board wird nur ein einziges Kommunikationsmodul nach Wahl verbaut.

Tabelle 1. Eigenschaften des Android I/O-Boards.


Funktion Anzahl Pins (max. 22) / Wert Anmerkung
Digitale Eingnge 22 8 Pins mit optionalen Pullups
Digitale Ausgnge 22 Ausgangsstrom 25 mA
ADCs 11 Ausung 10 bit, ungefhr 20 kSamples/s
Kapazitiver Berhrtaster 8 7 Pins berlappung mit den ADC-Pins
generiert durch Software, 4 2 in
PWM 8
Bridge-Mode
Counter 16-bit-Counter bis 8 MHz
Datenrate 100 Instruktionen/Sekunde Verbindung 9600 Baud
Datenspeicher (Flash, I2C) 32 Kbyte mit 25FC256
Extras auf dem Board 4 LEDs, 1 NTC, 1 Berhrtaster
4...13 V unstabilisiert
Betriebsspannung
3,3 V stabilisiert
Max. 30 mA (Bluetooth)
Max. 250 mA (WiFi)
Strombedarf (ohne Last)
Max. 5 mA (USB) und Strom fr
USB-Modul
Anschluss Stromversorgung Micro-USB-Buchse, Platinenstecker

34 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Das Board kann sich ber Bluetooth, WLAN oder USB


mit einem Android-Smartphone oder -Tablet verbinden.

Im Fokus des mehrteiligen Beitrags steht Teilen wird es um die Bluetooth-, WLAN- Kommunikation mit dem Android-Gert
ein I/O-Board zusammen mit einer App, und USB-Modalitten gehen, und ferner wird nur ein einziges Modul verbaut. Der
die gemeinsam die Signale auf 22 I/O-Lei- wird die App vorgestellt, die das And- Vollstndigkeit halber wurden jedoch die
tungen ber unkomplizierte Kommandos roid-I/O-Board steuert. Abschlieend drei wahlweise montierbaren Modultypen
steuern und verwalten. Das Board kom- werden die Mglichkeiten als Datenlog- gemeinsam in das Bild aufgenommen. Auf
muniziert wahlweise ber Bluetooth, WLAN ger betrachtet, und es wird gezeigt, wie das Board passen die gngigsten Blue-
oder USB mit dem Android-Gert. Die sich die Firmware anpassen lsst und mit tooth-Module wie das Elektor BL600 e-BoB
I/O-Leitungen sind nicht nur als digitale dem Bootloader in den Mikrocontroller (mit Bluetooth V4, Elektor 140270-91),
Eingnge oder Ausgnge nutzbar, sondern geladen wird. ein Breakout-Board mit dem verbreite-
auch fr ADCs, kapazitive Berhrtaster, Bevor wir die Hardware aus der Nhe ten Modul HC-06 (mit Bluetooth V2), ein
Pulsbreitenmodulatoren oder Counter. betrachten, hier zuerst eine Kurzber- Platinensteckverbinder-Board mit dem
Die Firmware auf dem Board lsst sich sicht ber die Eigenschaften: Auf dem HC-06, das RN41 von Microchip sowie ein
modizieren, so dass die Funktionalitt Android-I/O-Board sind 22 I/O-Leitun- Modul in Zigbee-Form mit dem HC-06.
des Mikrocontrollers fr Real-time-An- gen verfgbar. Auerdem benden sich Unter den WLAN-Modulen passt sowohl
wendungen erweitert werden kann. Fr auf der Platine ein gedruckter kapazi- das RN171-XV (Zigbee-Form) als auch das
diesen Zweck ist im Mikrocontroller ein tiver Sensor-Taster, vier LEDs und ein ESP8266 (Platinensteckverbinder). Ferner
Bootloader integriert. Zum Steuern des NTC. Damit bietet sich das Board auch sind Steckverbinder auf der Platine mon-
Android-I/O-Board entwickelte der Autor zum Experimentieren und Lernen an. In tierbar, die zum Anschlieen des Elektor
Java-Classes (Libraries), die konsistente Tabelle 1 sind die Eigenschaften sowie Android Break-out-Boards (130516-91)
Methodennamen haben. Der Anwender die Optionen fr die Betriebsspannung und des Elektor FT232R USB/Serial Bridge/
muss sich nicht mehr in die Details ver- bersichtlich zusammengefasst. BoBs (110553-91) vorgesehen sind. Beide
tiefen, er kann sich sofort dem Program- Typen stellen ber ein USB-OTG-Kabel eine
mieren der App zuwenden. Die Hardware USB-Verbindung mit einem PC, Tablet oder
Die Themen im ersten Teil des Beitrags Bild 1 zeigt den Schaltplan des Android- Smartphone her.
sind die Platine und die Funktionalitt des I/O-Boards. Der erste Eindruck beim Alle genannten Module bertragen die
Mikrocontrollers. In den nachfolgenden Betrachten tuscht: Fr die drahtlose vom Android-Gert oder PC kommen-

Anzeige

Sie haben die Wahl.


Gehuse fr jeden
Rundumschutz
Gehuse fr Plattform fr jeden
Raspberry Pi, Arduino und Rundumzugriff
viele andere Designspezifische
Einplatinencomputer Ausfhrungen fr alle
Gehuse beliebten Modelle
Plattform Alle Details unter
+ 44 1256 812812 hammondmfg.com
sales@hammondmfg.eu /1593HAM.htm /1593HAMEGG.htm
/15
593HAMEGG.htm
593HAMEGG.htm
HA
AMEGG ht

Ihr Spezialist fr Bestckung von


Prototypen und Kleinserien
0711 12390019 LEITERPLATTEN 100% Made in Germany 06022 614430
SMD-Nagler
Tel.
0711 7653146
Fax
LC Design Tel.
Fax 06022 614431
Abraham-Wolf-Str. 42 DISCOUNT www.pcb-joker.com Johann-Knecht-Str.28
kontakt@smd-nagler.de Mail: info@lc-design.de
70597 Stutgart www.smd-nagler.de FR PRAGMATIKER PCB Joker GmbH 63785 Obernburg Website: www.lc-design.de

Wollen Sie sich auch ein Jahr lang in unserer Zeitschrift prsentieren? Bitte kontaktieren Sie dann Frau Grotenrath (julia.grotenrath@eimworld.com)

www.elektormagazine.de September 2015 35


LEARN DESIGN SHARE

den Daten in seriellem Format. Die Daten


Stckliste werden dem Mikrocontroller PIC16F1938
Widerstnde: bergeben, der insgesamt 24 I/O-Leitun-
R1,R2,R3,R4 = 470 , 1 %, SMD 0805 gen bereitstellt. Die Firmware des Mikro-
R5,R7,R8,R10,R14,R15 = 330 , 1 %, SMD 0805
R6,R9,R16 = 10 k, 1 %, SMD 0805 controllers, die spter nher betrachtet
R11 = NTC 10 k, SMD 0805 (z. B. Vishay wird, interpretiert die Kommandos fr das
NTCS0805E3103JHT) Kongurieren und Steuern der I/O-Lei-
R12,R13 = 2k2, 1 %, SMD 0805
tungen, oder sie liest analoge oder digi-
Kondensatoren: tale Signale ein.
C1,C2 = 100 n/25 V, 10 %, SMD 0805 Die I/O-Leitungen des Mikrocontrollers
C3 = 47/25 V, 10 %, SMD 0805
sind ber eine zweireihige Stiftkontakt-
C4 = 1 /25 V, 10 %, SMD 0805
leiste (Pfostenverbinder) zugnglich.
Halbleiter: Zwei Leitungen werden von der seriel-
LED1...LED4 = LED grn, Low-current, SMD 0805 len Datenbertragung zum Modul belegt.
IC1 = PIC16F1938-I/SO, SOIC28 (programmiert,
EPS 150057-41) Die Schaltung im Detail: Die Betriebs-
IC2 = 24FC256-I/SN, SOIC8 spannung gelangt zum Spannungsregler
IC3 = MCP1702T-3302E/CB, SOT23A IC3 entweder ber die Micro-USB-Buchse
Auerdem: K1 oder zwei Ltsttzpunkte, auf die eine
K1 = USB 2.0 Micro-Steckbuchse Typ B, SMD zweipolige Stiftkontaktleiste geltet wer-
K2 = Stiftkontaktleiste 2 13 Pins, Raster 2,54 mm den kann (K4). Der Spannungsregler
K3 = Stiftkontaktleiste 2 3 Pins, Raster 2,54 mm
MCP1702-33 ist ein Low-drop-Typ fr die
K4 = Stiftkontaktleiste 2 Pins, Raster 2,54 mm
K5 = Stiftkontaktleiste 6 Pins, Raster 2,54 mm Spannung 3,3 V, dies ist die Betriebs-
JP2 = Jumperleiste 2 4 Pins, Raster 2,54 mm spannung des Bluetooth- oder WiFi-Mo-
S2 = Umschalter, Raster 2,54 mm
duls sowie der brigen Schaltung. Mit
Platine 150057-1
oder Schalter S2 kann die Betriebsspannung
Platine mit montierten SMDs: 150057-91 Bild 2. Sieben Mglichkeiten gibt es, auf abgeschaltet werden. Falls der Schalter
der Platine des Android I/O-Boards ein entbehrlich ist, werden die zugehrigen
Verbindungsmodule Kommunikationsmodul zu montieren. Platinenltpunkte miteinander verbunden.
(nur ein Modul wird montiert!): Der Mikrocontroller (IC1) ist ein
Mod1 = HC-06/-05 Bluetooth Break-out-Modul PIC16F1938 von Microchip im 28-poli-
Wird auf die Platine geltet gen SOT-Gehuse. Die Verbindung zwi-
Mod2 = HC-06/-05 Bluetooth ZigBee Shaped Modul
schen dem Mikrocontroller und dem
Mod2 = Bluetooth-Modul RN41XVC
Mod2 = WLAN-Modul RN171 (mit Drahtantenne) Bluetooth-, WiFi- oder USB-Modul ver-
Montage auf zwei Buchsenleisten 10 Pins, Raster 2 mm luft ber die Jumper-Steckleiste JP2,
Mod3 = Android Break-out-Board (Elektor 130516-91) die zum Debuggen bentigt wird, sowie
Montage auf Buchsenleiste 10 Pins, Raster 2,5 mm
ber die Schutzwiderstnde R5 und R7.
Mod4 = WLAN-Modul ESP8266 (Anschluss 2 4 Pins)
Smtliche I/O-Leitungen sind auf Steck-
Montage auf Buchsenleiste 2 3 Pins, Raster 2,5 mm
verbinder K2 gefhrt.
Mod5 = FT232R USB/Serial Bridge BoB (Elektor 110553-91)
Montage auf Buchsenleiste 3 Pins, Raster 2,5 mm (Stiftleiste 3 Pins auf BoB) Zum Speichern von Daten, beispielsweise
Mod6 = HC-06 Modul (6-Pin-Version) als Datenlogger, bendet sich ein 32 KB
Montage auf Buchsenleiste 6 Pins, Raster 2,5 mm groer, serieller I2C-Flash-Speicher (IC2)
Mod7 = BL600 E-BoB (Elektor 140270-91) auf dem Board. Die I2C-Leitungen des
Montage auf zwei Buchsenleisten 8 Pins, Raster 2,5 mm
Datenspeichers sind mit den Schutzwi-
derstnden R14 und R15 sowie den Pul-
lup-Widerstnden R12 und R13 beschal-
Tabelle 2. Funktionen der Steckverbinder und Jumper.
tet. Ferner ist ein NTC (R11) fr Tempe-
raturmessungen vorhanden, er bildet mit
K1 Micro-USB-Steckbuchse fr die Stromversorgung
Widerstand R9 einen Spannungsteiler. Die
K2 Stiftleiste 213 Pins mit 24 I/O-Leitungen des PICs, 3,3 V und Masse
LEDs LED1...LED4 zeigen diverse Signale
K3 Stiftleiste 23 Pins zum Zusammenschalten mehrerer I/O-Boards an. LED1 leuchtet, wenn die Betriebs-
K4 Stiftleiste 2 Pins fr die unstabilisierte Stromversorgung (4...13 V) spannung eingeschaltet ist, LED2 ist nur
K5 Stiftleiste 6 Pins zum Programmieren des Mikrocontrollers mit dem PICkit 2 oder 3 in Betrieb, wenn das HC-06-Breakout-Mo-
K6 Stiftleiste 2 Pins zum Starten des Bootloaders von Hand oder ber Verbindungsleitung dul montiert ist. LED3 und LED4 knnen
vom Anwender genutzt werden, wobei
JP1 Stiftleiste 2 Pins mit Jumper zum Anpassen der Firmware des Moduls ESP8266
LED3 auch die Aktivierung des Bootloa-
Stiftleiste 24 Pins mit Jumpern zum Kongurieren der Signal- und
JP2 ders signalisiert. Taster S1 ist der kapa-
Stromversorgungsleitungen der brigen Module
zitive Sensor in Gestalt einer kupfernen
MOD1
Steckverbinder zum wahlweisen Anschlieen des Bluetooth-, WLAN- oder USB-Moduls Insel auf der Platine. Parallel zu S1 liegen
...
(siehe Stckliste) die Kontakte von Steckverbinder K6, er
MOD7
dient zum Aktivieren des Bootloaders.

36 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Auf dem Board sind fr die Taktung des


Mikrocontrollers auch ein Quarz (X1) mit
den zugehrigen Kondensatoren (C5,
C6) montierbar. Der in diesem Beitrag
beschriebene Bootloader untersttzt diese
Variante nicht, hierzu ist ein alternativer
Bootlader erforderlich, bei dem das Kon-
gurationswort angepasst ist. In diesem
Fall knnen die Leitungen A6 und A7 des
Steckverbinders K2 nicht mehr von der
Firmware benutzt werden.

Universelle Platine
Der Aufdruck auf der Platine (Bild 2)
erscheint wegen der universellen
Modulanschlsse auf den ersten Blick
reichlich unbersichtlich, doch bei nhe- Bild 3. Ansicht der aufgebauten Platine, montiert ist hier das BL600 e-BoB von Elektor.
rem Hinsehen wird schnell deutlich, wo
sich die Anschlsse fr das Modul der
Wahl (MOD1...MOD6) benden. Es sei
noch einmal darauf hingewiesen, dass Tabelle 3. Optionale Funktionen der I/O-Leitungen.
nur ein Modul zu montieren ist, die bri-

Cap Sense
gen Anschlsse bleiben unbenutzt. Mit
Pullup (1)
Impedanz

Eingang

PWM (5)
Ausgang
interner
Eingang

ADC (3)
Ausnahme der Steckverbinder und des
Leitung

Sonderfunktion (6)
hohe

Schalters S2 haben alle Bauteile SMD-


(0)

(2)

(4)
Bauform, was die Montage von Hand
nicht gerade einfach gestaltet. Deshalb
A0 X X X
ist im Elektor-Shop eine Platine erhltlich
A1 X X X
(Elektor 150057-91, siehe [1]), auf der
alle SMD-Bauteile einschlielich Mikro- A2 X X X
controller und die Steckverbinder bereits A3 X X X
montiert sind. Natrlich ist auch die leere A4 X X X
Platine fr die Bestckung in eigener A5 X X X X
Regie lieferbar, doch da die Module erst A6 X1 X X
im nchsten Teil des Beitrags besprochen
A7 X1 X X PWM-Brcke mit A6
werden, ist diese Arbeit nicht eilig.
B0 X X X X X X

Auf der Platine befinden sich diverse B1 X X X X X X PWM-Brcke mit B0


Steckverbinder, Anschlsse und Jumper, B2 X X X X X
die unterschiedliche Funktionen haben. In B3 X X X X X
Tabelle 2 sind sie zusammen mit einer B4 X1 X1 X X X
kurzen Beschreibung aufgelistet. B5 X1 X1 X X X
Jumperleiste JP2 schaltet die Signale Rx
B6 X X X X
und Tx zwischen dem Mikrocontroller und
B7 X X X X PWM-Brcke mit B6
dem montierten Modul durch. Normaler-
weise sind Pin 3 mit Pin 4 und Pin 5 mit C0 X1 X Counter
Pin 6 verbunden. Die Pins 7 und 8 (GND) C1 X1 X X
haben Verbindung ber die Platine, was C2 X1 X X PWM-Brcke mit C1
vorteilhaft ist, wenn ein externes Modul C3 X1 I2C: SCL
an JP2 angeschlossen wird. Auf Pin 2 liegt C4 X I2C: SDA
die Betriebsspannung 3,3 V vom Span-
C5 X X
nungsregler, whrend Pin 1 mit dem
C6 TX (zum Bluetooth/WLAN/USB-Modul)
Betriebsspannungsanschluss des Moduls
verbunden ist. Fr die Stromversorgung C7 RX (vom Bluetooth/WLAN/USB-Modul)
des Moduls gibt es zwei Kongurationen: S Datenlogger
Das Modul bezieht die Betriebsspannung X Uhr
3,3 V von Spannungsregler IC3. Dies trit Y Version/Seriennummer
fr die Bluetooth- und WLAN-Module zu. Z Globale Einstellungen
Die Pins 1 und 2 mssen miteinander 1
Bitnderungen knnen automatisch bernommen werden
verbunden werden.

www.elektormagazine.de September 2015 37


LEARN DESIGN SHARE

Bei Einsatz des FT232R USB/Serial


Bridge BoBs (Elektor 110553-91) oder
des Android Break-out-Boards (Elektor
130516-91) werden diese Boards ber
den USB-Anschluss mit der Betriebsspan-
nung 5 V versorgt. Die Pins 1 und 2 dr-
fen auf keinen Fall miteinander verbun-
den werden!

Kommandos
Zwar ist der Betrieb des Android I/O-
Boards in dieser Projektphase noch nicht
mglich, trotzdem sollen hier die Steuer-
kommandos kurz gestreift werden.
Wenn die Verbindung mit dem Bluetooth-,
WLAN- oder USB-Modul hergestellt ist,
besteht eine transparente serielle Daten-
verbindung zwischen dem Android-Ge-
rt und dem Mikrocontroller auf dem
Android I/O-Board. Eine App kann dann
Kommandos zum Mikrocontroller senden.
Die Firmware des Mikrocontrollers inter-
pretiert die Kommandos und steuert die
I/O-Leitungen. Die I/O-Leitungen sind in
Anlehnung an die Leitungen des Mikro-
controllers bezeichnet: A0...A7, B0...B7
und C0...C7 (siehe Tabelle 3). Die Kom-
mandos sind in vier Gruppen unterteilt:
W fr Write, eine Leitung wird auf einen
Wert gelegt. Format: W Leitung Wert.
Bild 4. Auswahl einiger Kommunikationsmodule, die auf der Platine montiert werden knnen.
Beispiel: w a3 1 legt I/O-Leitung A3 auf
hohe Spannung.
R fr Read, der Wert einer Leitung wird
gelesen. Format: R Leitung Wert. Beispiel: G fr Get, damit wird eine Leitung gele- ausfhrlich erklrt. Das Dokument kann
r b4 liest den Wert von I/O-Leitung B4. sen. Format: G Leitung. Der Mikrocontrol- frei von der Projektseite [1] herunterge-
Der Mikrocontroller antwortet im Format ler antwortet mit G Leitung Wert. Beispiel: laden werden.
R Leitung Wert, in diesem Fall mit R B4 1. g b3 ergibt G B30 3. Im zweiten Teil des Beitrags werden wir
S fr Settings, hiermit wird die Funktion Die Kommandos und Leitungsnamen die Bluetooth-, WLAN- und USB-Module
einer Leitung festgelegt. Format: S Lei- unterscheiden nicht zwischen Gro- und besprechen sowie eine App betrachten,
tung Funktion, wobei Funktion ein Zah- Kleinschreibung. Beim Debuggen, wobei die das Android I/O-Board zum Belichten
lenwert ist. Eine 0 steht fr einen hoch- der Mikrocontroller die Eingaben echot, und tzen von Platinen einsetzt. Wir wer-
ohmigen Eingang, eine 1 ergibt einen erweist sich die Kleinschreibung der Kom- den grundlegende Classes besprechen,
Eingang mit internem Pullup und bei 2 mandos als vorteilhaft. Damit ist sofort ber die das Android I/O-Board von eige-
wird die Leitung als Ausgang konguriert. ersichtlich, ob Texte vom Android-Gert nen Apps gesteuert werden kann.
Zum ADC-Eingang wird die Leitung bei 3, (kleine Buchstaben) oder vom Android (150057)gd
mit 4 wird sie zum Kapazittssensor-Ein- I/O-Board (groe Buchstaben) herrhren.
Weblinks
gang und bei 5 zum PWM-Ausgang. Die 6 In dem ergnzenden Dokument
ist fr eine spezielle Funktion reserviert. 150057-W werden smtliche Funktionen [1] www.elektormagazine.de/150057
Beispiel: Das Kommando s b3 3 schaltet
Leitung B3 als ADC-Eingang.
Den Kommandos knnen Parameter ange-
fgt werden, dies geschieht wie folgt:
Zu jeder Leitung gehren drei 8-bit Sta- Webinar zum Android I/O-board
tusregister, die durch 1, 2 oder 3 hin-
Am 17. September wird der Autor dieses Projekts
A
ter dem Namen der Leitung aufgerufen
ein Webinar zu dem von ihm entwickelten Board
werden. Zum Beispiel bedeutet s b32 8,
prsentieren. Nicht verpassen! Die Teilnahme ist gratis, Sie
prs
dass Statusregister 2 von Leitung B3 auf
mssen sich lediglich registrieren unter:
ms
8 gesetzt werden soll. Statusregister 0
ist die Leitung selbst, s b3 3 ist folglich www.elektor.de/webinar.
identisch mit s b30 3.

38 September 2015 www.elektormagazine.de


Entwickeln, Bestcken, Lten
op
Re f low -Worksh augruppe
ign & ktronikb
PCB-Des ee zur fertigen Ele n
Schaltpla
nid rnhause
Von der I 65527 Niede
015
ktober 2 op
8. 9. O ool.com/worksh
w .p c b - p
ww
Sommerangebot Lotpaste (bleifrei)
Reflow-Controller V2
*
109,00

*
SIE DESIGNEN WIR FERTIGEN Angebot gltig bis 30.9.15, solange 21,40
Vorrat reicht.

'SPOUQMBUUFOJO1SPRVBMJUU
www.schaeffer-ag.de

ERSA Ltstation ESD-Arbeitsplatz- Big Beta-Reflow-Kit


i-CON NANO Set

"CFJOFN4UDLVOE[VFJOFNGBJSFO1SFJT
&JOGBDIVOTFSFOLPTUFOMPTFO'SPOUQMBUUFO * * *
198,00 58,00 129,00
%FTJHOFSBVGXXXTDIBFGGFSBHEF * inkl. MwSt. und zzgl. Versandkosten

IFSVOUFSMBEFO 'SPOUQMBUUFFOUXFSGFO
VOEEJSFLUCFTUFMMFO www.beta-eSTORE.com

LEARN DESIGN SHARE

lektor PCB Service Powered by

Platinen Prototypen Multilayer Kleinserien


Kostengnstig! Top-Qualitt! Zuverlssig! PCB proto: Ideal fr Privatleute, die schnell und
gnstig maximal 2 Leiterplatten nach vordenierten
Spezikationen bentigen.
STANDARD pool: Diese Option ist fr
Firmen konzipiert, die ihre Kleinserie nach den am
hugsten verwendeten Spezikationen produzieren
lassen wollen.
RF pool: Wenn Ihre Entwicklung sehr
anspruchsvolle Spezikationen erfordert, ist
100-m-Technologie die beste Wahl.
IMS pool: Bei dieser Option werden
Aluminiumkern-Leiterplatten verwendet, um eine
hohe Wrmeabfuhr zu gewhrleisten.

Bestellen Sie Ihre Platinen jetzt unter: www.elektorPCBservice.de


LEARN DESIGN SHARE

Batterie-Ersatz mit USB


Ersetzt die AAA-Zelle
Von Danny Winkler (D)

Alle Batterien sind sich in


einem Punkt gleich:
Irgendwann sind sie
leer. Auch mit Akkus ist
das Problem nicht ganz
vom Tisch, denn die muss
man immer wieder auaden.
Da ist es unbequem, wenn
man ein Gert dauerhaft stationr
einsetzen will,
das

fr mobilen Betrieb gedacht ist und ber keine Buchse zum Anschluss eines
Netzteils verfgt. Doch wo Elektronik ist, ist auch eine Lsung nicht weit: Eine
Pseudo-Batterie mit USB-Anschluss gibt dauerhaft Strom.

Mehrfach schon hat sich Danny Winkler ber seinen kleinen teten Bauteilen fremdgehen. Mit diesen verixt kleinen SMDs
MP3-Player/Recorder gergert: Immer wenn er damit gerade msste man sich einmal auseinandersetzen. Und just an die-
einen interessanten Song aufnehmen wollte, war die Batterie ser Stelle el ihm das Problem mit dem portablen MP3-Player
leer. Ein Anschluss fr ein Netzteil war nicht vorgesehen. Das wieder ein. Fein! dachte er sich, denn so konnte er zwei
ist Pech. Aber wie das Leben so spielt, wollte er eines sch- Fliegen mit einem Ltkolben erschlagen. Er machte sich ans
nen Tages doch einmal mit der Zeit und damit den bedrah- Werk und entwickelte eine kleine Schaltung, die eine Batte-

Stckliste
D2
S1A Widerstnde:
(Standard: 5 %, 100 mW, SMD 0805)
R1 = 47
IC1 R2 = 220
5V LM317 1.5V R3 = 390

R2 Kondensatoren:
ADJ D1
(Standard: 10 %, Vielschicht, SMD 0805)
220R

R3 C1 = 100 n
C1 S1A C3 C2,C3 = 10
390R

R1 Halbleiter:
100n C2 10u
D1,D2 = S1A, DO-214AC oder SMB
47R

IC1 = LM317, SOT-223


GND 10u GND-OUT
Auerdem:
150245 - 11 Platine 150245-1 v1.0 TB

Bild 1. Schaltung des elektronischen Batterie-Ersatzes. Bild 2. Der Bestckungsaufdruck der Platine im AAA-Format.

40 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

rie vom Typ AAA ersetzen und den Strom von einem Netzteil
beziehen sollte. Mit SMDs, so war ihm sofort klar, musste es
mglich sein, die Platine so klein zu bekommen, dass man sie
als Ersatz anstelle einer Batterie in das Batteriefach stecken
konnte. Und der Erfolg gab ihm recht.

AAA-Ersatzschaltung
Der ersten berlegung, dass die Platine so geformt sein sollte,
dass sie genau eine AAA-Batterie ersetzt, folgte die zweite. Ein
preiswertes USB-Ladegert fr Smartphone & Co. sollte sich
sehr gut zur Versorgung der Schaltung eignen. So ein kleines
Netzteil kostet nicht viel und liefert 5,2 V mit einer Belastbar-
keit von mindestens 1 A. Ntig wre also nur noch ein
Bild 3. Der fertig bestckte Prototyp.
Spannungsregler, der die 5,2 V auf primrzellen-ty-
pische 1,5 V bringt. Et voil: Die Schaltung von
Bild 1 hat sich quasi von selbst gezeichnet!
Da Danny schon viele gute Erfahrungen mit
der groen Version des einstellbaren Span-
nungsreglers LM317 gemacht hatte, wollte
er es dieses Mal mit der Miniaturversion im
SOT223-Gehuse probieren. Mit R1 und R2 wird
die Ausgangsspannung nach der Formel Uout = 1,25 V
x (1 + R1/R2) auf 1,5 V eingestellt. Ein paar Kondensatoren
sorgen fr stabilen Betrieb und die beiden Dioden schtzen vor
unangemessenen Spannungen an den Pins des Spannungsre-
glers. Das war schon alles.

Pseudo-Batterie
Nun blieb nur noch das Design einer Platine, die das Ersetzen
einer AAA-Batterie mglich macht. Bild 2 zeigt den Bestc-
kungsaufdruck. Sowohl das Platinenlayout als auch die CAD-Da-
ten kann man von der Elektor-Website [2] herunterladen. Fertig
bestckt sieht der Prototyp so aus wie in Bild 3 und Bild 4. Bild 4. Prototyp mit angeltetem USB-Stecker.
Auf der Platine ist noch genug Luft und die SMD-Bauteile sind
mit dem Format 0805 noch weit weg von einem staubkorn-
groen Aggregatszustand, bei dem man nicht mehr Atmen darf,
bevor das Teil mit Ltzinn festgepinnt ist. Es drfen sich also
wie Danny selbst gerne SMD-Verweigerer und Hardcore-Fans
von Bauteilen mit Anschlussdrhten an dieses Projekt heran-
trauen. Man muss hierfr auch nicht zwingend SMD-Ltpaste
und hnliche Utensilien besorgen. Diese Platine kann man
auch mit normalem Ltzinn bearbeiten. Lediglich eine Pinzette
ist zu empfehlen. An die Enden der Platine ltet man kleine
Stckchen dnnes Kupferblech, welche die Kontaktchen der
Batterie simulieren (Bild 5).

Nach der Bestckung und Kontrolle der Ltstellen sowie der


Polung der Dioden sollte man die Ausgangsspannung mes-
sen, bevor man einen Test am (noch) lebenden portablen
Gert riskiert. Nutzt man als Netzteil eines dieser preiswerten
USB-Ladegerte, dann kann man schlicht den nicht bentigten
Stecker am entsprechenden Ende des USB-Kabels abzwicken
und die rote und schwarze Leitung passend mit dem 5-V- und
Masse-Pin auf der Platine verbinden.
(150245)

Weblinks
[1] Datenblatt LM317: www.ti.com/lit/ds/symlink/lm117.pdf
Bild 5. Zwei angeltete Stckchen Kupferblech stellen den Kontakt im
[2] www.elektormagazine.de/150245 Batteriefach sicher.

www.elektormagazine.de September 2015 41


LEARN DESIGN SHARE

In der Elektor-Ausgabe vom Dezember Leis- programmiert werden kn-


2014 stellten wir ein Breakout-Board tungsmesser nen. Auerdem fehlt bei ihnen
(BoB) mit dem ADS1115 vor [1], einem entworfen. Die niedrige Abtast- ein Ausgang, an den ein Multimeter
16-bit-ADC mit vier Kanlen und I2C. frequenz des ADS1115, die bei 860 Hz oder ein Oszilloskop anschliebar ist.
Der ADS1115 war vorher bereits beim ihre Grenze hat, beschrnkt den Einsatz Unser hier vorgestellter Leistungsmes-
ELF-Empfnger [2] und beim 16-bit auf niedrigfrequente Messsysteme. Leis- ser besteht aus einer Messplatine, dar-
ADC-Modul [3] zum Einsatz gekommen. tungsmesser mit hnlichen Eigenschaften auf haben das BoB mit dem ADS1115
Da dieser Chip im winzigen MSOP-Gehuse sind zwar preisgnstig auf dem Markt, und eine zugehrige Filterplatine ihren
nun als anwenderfreundliches BoB-Modul doch dort handelt es sich um geschlos- Platz. Die Messplatine bernimmt gleich-
verfgbar ist, haben wir mit ihm einen sene Systeme, die nicht modiziert oder zeitig die sichere galvanische Trennung

42 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

AC/DC-
Leistungsmesser
Hohe Genauigkeit, weiter Messbereich
H

Hardware: Ton Giesberts (Elektor-Labor)


H Software: Luc Lemmens (Elektor-Labor)

Wenn Messungen an Gerten durchgefhrt werden, die mit dem Stromnetz in


W
Verbindung stehen, ist die galvanische Trennung des Messsystems ein Gebot der
V
Sicherheit. Dieser Leistungsmesser, der auch Spannungen und Strme misst,
S
erfllt die Vorgaben der Schutzklasse II. Ein Arduino Uno und das bekannte
e
Extension-Shield von Elektor sind fr die Ausgabe der Messergebnisse auf einem
E
LC-Display zustndig. Auch ein Multimeter oder ein Oszilloskop sind anschliebar.
L

zwischen den zu messenden


messen Gren auf und der Leistungsfaktor angezeigt. Bei sche Sicherheit, dass der Stromkreis
der einen Seite und de den Messausgn- Gleichspannung erscheinen naturgem der Messgre von dem Teil galvanisch
gen auf der anderen. Die Signale auf der nur Leistung, Spannung und Strom in getrennt ist, der die Messdaten ausgibt
sekundren Seite werden vom ADS1115 der Anzeige. oder weiterverarbeitet. Hug wird dies
digitalisiert und anschlieend von einem mit diversen Optokopplern und Opamps
Arduino Uno mit Elektor Extension-Shield Galvanische Trennung realisiert, der Aufwand an Schaltungs-
verarbeitet und auf das Display gesetzt. Leistungsmesser sind meistens im Ein- komponenten ist hoch. Eine Alternative
Dort werden bei Wechselspannung die satz, um Messungen an Gerten durch- sind so genannte Isolierverstrker, zum
Eektivwerte von Leistung, Spannung zufhren, die an Netzspannung betrie- Beispiel der Typ AMC1100 von Texas Inst-
und Strom sowie die Scheinleistung ben werden. Hier erfordert die elektri- ruments. Bei diesem Fully-dierential Iso-

www.elektormagazine.de September 2015 43


LEARN DESIGN SHARE

hngige Stromversorgungen. Standardi-


Eigenschaften sierte Versorgungsmodule, die unstabili-
Drei Messbereiche: 10 A, 1,77 A und 0,177 A sierte Spannungen liefern, sind fr diesen
Eingangsspannung max. 500 VAC/300 VDC Zweck brauchbar. Allerdings sind solche
Niedrigste messbare Leistung: 0,1 W Module meistens nicht fr Schutzklasse II
Getrennte, isolierte Messausgnge fr Spannung und Strom ausgelegt, so dass weitere Komponen-
Isolation zwischen primrer und sekundrer Seite nach Schutzklasse II ten, beispielsweise ein separater Span-
Verarbeitung der Messwerte mit Arduino Uno nungsregler bentigt werden. Eine vor-
Anzeige der Messwerte auf zweizeiligem LC-Display teilhaftere Lsung ist der Einsatz eines
Anzeige von Spannung, Strom, Eektivleistung, Scheinleistung und Bausteins, der eigens fr diesen Zweck
Leistungsfaktor bei Wechselspannung entwickelt wurde. Unsere Wahl el auf
Anzeige von Spannung, Strom und Leistung bei Gleichspannung den ADuM6000 von Analog Devices,
ein isolierender DC/DC-Wandler mit der
Ausgangsspannung 5 V oder 3,3 V. Die
lation Amplier betrgt die Mindestband- elektrisch sicher ist. Der Isolierverstr- Spitzenisolationsspannung VIORM betrgt
breite 60 kHz, die Isolationsspannung ker bendet sich in einem SMD-Gehuse 846 Vp.
betrgt 4250 VSpitze, was hier der maxima- Gullwing-8, es ist einem DIP-8-Gehuse
len Arbeitsspannung 1200 V entspricht. mit nach auen gebogenen Pins hnlich. Schaltung
Mit diesem Opamp und einem berlegten Ein Messsystem mit diesem Baustein Ein Strom wird gemessen, indem der
Platinenlayout ist die Schutzisolation der bentigt fr die Eingangsseite und die Spannungsabfall an einem Widerstand
Klasse II erzielbar, so dass das System Ausgangsseite zwei voneinander unab- gemessen wird, der im Stromkreis liegt.

+5V

D1 +5VP +5V MOD1


140169-1

10
C14
+5VP GNDP
500VAC/10A max

VDD
K1 3 C8 C9 1 100n
K5
F1 AIN0 9
1 1 2 AL/RDY
~/+ IC1A 100n 100n AIN1 8 1 2
2 3 SDA
10A R2 AIN2 7 3 4
4 SCL
K2 R6 R7 GNDP AIN3 5 6
22R

R4 R5
1

GND

GND
1 5k6 4k3 IC2 7 8
VDD1 VDD2 C7
200R

~/-
2k2

R10 C6 R12 100n 9 10


R1 C1 2 7

6
12R VINP VOUTP 47R 11 12
1n
0R01

R11 R13 13 14
K3 JP1
C2 3 6
12R VINN VOUTN 47R
1 1n 330p C29
~/+ R3
GND1 GND2 470p EEC
10x 100x 5k6 4k3 R22
22R

K4 R8 R9
AMC1100DUB 100k
+2V 6
1 GNDP R21
~/- 7 3
IC1B 100k
5 1
R23 IC4A
D2 2
R14 100k R29
+5VP +5V
+5VP GNDP R24
220k

47R

500V D3 100k +5V


R15 C12 C13 C30
K6
470p C34
220k

100n 100n I
500V C31
SP0502BAHTG 470p R36 100n
GNDP R26 U
100k
1

GNDP IC3 100k


VDD1 VDD2 R37
R17 C10 R19 C11 R25 R30
R16 2 7 5 5k6
12R VINP VOUTP 47R 100k
7
75R

47R

IC4B
8

R18 R20 R27


6 2
5

3 6
12R VINN VOUTN 47R 100k
6

330p 100n 7
GND1 GND2
R28 R34
3
IC7
100k 5k6 LM311
1

D1, D2, D4 = HSMS-2822


4

R35
+2V AMC1100DUB C32 C35
4

C33
IC1, IC4 = AD8639ARZ
100R

GNDP 470p
470n 100n

-2V8
+5VP +5V NCP5501DT50G
IC6 PMEG2010AEH
3 1
R31 R32 R33
D8
2k2

39k

2k2
10
16

C23 C25
2
7
1

D4 K7
VISO
VISO

VDD1
VDD1

+2V 100n 4u7 D6


+9...12V
11 6 L1 C27
NC RCSEL 6V3
8 C3 C15 C16 C17 C18 12 IC5 5 C19 C20 C21 C22 C28 8 0
NC RCOUT Power
IC1 13 4 IC4 10u
VSEL RCIN
4 100n 10u 100n 10u 100n 14 3 10u 100n 10u 100n 100n 4
GNDISO
GNDISO

C5 C4 D5 NC NC D7
GND1
GND1

C24 C26
2V
100u 10u
6V3 100n 4u7
9

8
2
15

6V3 0W5

ACM4520-231-2P-T
GNDP ADuM6000ARWZ
-2V8 140409 - 11

Bild 1. Der Leistungsmesser arbeitet mit zwei AMC1100 fr das Messen von Spannung und Strom.

44 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Praktisch jedes Multimeter arbeitet nach tung unter 0,1 W (Messwert ADC auf Ausgngen des AMC1100 liegt, wird auf
dieser simplen Methode. In der Schal- -50 dB voll ausgesteuert). fast 0 V, jedoch nicht exakt 0 V reduziert.
tung des Leistungsmessers (Bild 1) ist Damit die Spannung an Messwiderstand Abhngig von der Dierenz der Gleich-
R1 der im Stromkreis liegende Wider- R1 nicht aus dem Gleichtaktbereich von spannungen an den getrennten Ausgn-
stand. Auerdem liegt im Stromkreis die IC1A/B gert, liegt R1 einseitig an +2 V. gen des AMC1100 kann an den Ausgn-
Sicherung F1, sie trennt ihn bei ber- Die Spannung +2 V fllt auf der isolier- gen von IC4 eine Osetspannung von
schreiten des Nennstroms 10 A. Die Ein- ten Seite von IC5 an LED D5 ab. Gleich- einigen Millivolt (< 12 mV) auftreten.
gangsklemmen K1 und K2 sind mit der zeitig ist D5 auf der isolierten Seite die Der Gleichtakt-Eingangsspannungsbereich
Spannungsquelle verbunden, K3 und K4 Betriebsspannungsanzeige. des AD8639 verluft von -0,1 V bis 3 V
fhren zur Last. Die Eingangsspannung des nachfolgen- bei der asymmetrischen Betriebsspan-
den Isolierverstrkers AMC1100 (IC2) nung +5 V. Damit die Ausgangsspan-
Die Eingangs- und Ausgangsklemmen darf dierentiell bis 250 mV betragen. nungen der beiden AMC1100 in diesem
sind als Flachstecker ausgefhrt, sie Die Verstrkung betrgt 8, so dass die Bereich verarbeitet werden knnen, set-
werden mit der Platine verschraubt. Die Ausgangsspannung 2 V erreichen kann. zen die Spannungsteiler R21/R22 und
Flachstecker gewhrleisten zuverlssige Der AMC1100 hat einen differentiel- R25/R26 die Gleichspannungen 2,55 V
mechanische und elektrische Verbindun- len Eingang mit geschalteter Kapazitt, an den Ausgngen beider AMC1100 auf
gen zu Leitungen mit dem erforderlichen das Ausgangsrauschen ist pauschal mit 1,275 V herab. Die maximale dierenti-
Querschnitt. 3,1 mVrms angegeben. Gilt dieser Wert elle Ausgangsspannung, die am AMC1100
ber die gesamte Bandbreite, dann liegt gemessen werden konnte, lag bei unge-
Damit der Stromkreis mglichst wenig der Rauschpegel niedriger, wenn die fhr 2,5 V (1,25 V Spitze). Das bedeu-
beeinusst wird, muss der Messwider- Bandbreite bereits vor dem ADC begrenzt tet, dass die maximale Spannung an den
stand einen niedrigen Wert haben. Ande- wird. Aus diesem Grund haben wir eine Eingngen von IC4 den Wert 1,9 V nicht
rerseits muss der Spannungsabfall gen- separate Filterplatine mit vier Sektionen bersteigen kann (1,275 VDC plus halbe
gend hoch sein, um den niedrigsten zu entworfen, sie hat ihren Platz vor dem Spitzenwechselspannung 0,625 V). Die
messenden Strom messen zu knnen. ADC (siehe Kasten Filtermodul). Wenn Spannung liegt mit einigem Abstand im
Wenn notwendig, kann ein Opamp die der ADC unmittelbar mit den Ausgn- Gleichtakt-Eingangsspannungsbereich
Messspannung verstrken. In der Schal- gen von IC2 verbunden wre, wrde das des AD8639.
tung bernimmt diese Aufgabe die Stufe Signal-Rausch-Verhltnis 645 betragen. Zum Erkennen der Nulldurchgnge ist
mit IC1A und IC1B, die Verstrkung ist Durch Begrenzen der Eingangsbandbreite Komparator IC7, ein LM311, hinzuge-
einstellbar. IC1A/B ist ein AD8639, ein des ADC steigt dieser Wert um den Faktor fgt. Der LM311 besitzt einen Open-Kol-
zweifacher Rail-to-rail Output Operati- 60, er betrgt folglich rund 5000. Das lektor-Ausgang. Wenn er an einer qua-
onal Amplier. Die typische Eingangs- bedeutet, dass niedrigere am Messwider- si-symmetrischen Betriebsspannung
osetspannung betrgt 3 V (maximal stand abfallende Spannungen gemessen arbeitet (+5 V/-2,8 V), sind die Null-
9 V), die maximale Osetdriftspannung werden knnen. durchgnge ohne viel Aufwand detek-
liegt bei nur 0,06 V. Mit diesen Wer- tierbar. R37 ist der Pullup-Widerstand
ten ist der AD8639 fr die vorgesehene Die Spannung, die an den Eingangsklem- des Ausgangs, R35 und R36 bewirken
Anwendung wie mageschneidert. Fer- men K1 und K2 liegt, wird von einem eine Mitkopplung, so dass die Nulldurch-
ner betrgt das Verstrkungs-Bandbrei- zweiten AMC1100 (IC3) gemessen. gnge zuverlssig erkannt werden. Der
ten-Produkt 1,35 MHz, so dass die Band- Der Spannungsteiler R14...R16 setzt Komparator-Ausgang liegt an Pin 12 von
breite bei dieser Anwendung nicht unter die Spannung ungefhr um den Faktor K5. Mit optimaler Przision werden die
10 kHz liegt, was mehr als ausreicht. 5900 herab, so dass bei der Netzspan- Nulldurchgnge bei negativen Impulsen
Der AD8639 ist als Instrumentenverstr- nung 230 V an den Eingngen von IC3 erkannt. Der Ausgang von IC7 ist dann
ker konguriert, wobei die dierentielle etwa 39 mV liegen. R16 ist einseitig mit noch auf niedriger Spannung, eine Hyste-
Verstrkung 1 + 2 (R6 + R7)/RG ist der Referenzspannung +2 V verbunden. rese tritt nicht auf. Der nicht invertierende
(mit RG = R4 oder R5). Ohne Jumper Die Ausgnge von IC2 und IC3 fhren zu Komparator-Eingang liegt dann noch auf
JP1 ist die Verstrkung gleich 1, sie ist den vier Eingngen des Breakout-Boards Masse-Niveau.
das Verhltnis der Spannung zwischen (BoB) mit dem ADS1115.
den Ausgngen von IC1A und IC1B zu Der Leistungsmesser kann auch als iso- Zur Weiterleitung der Informationen an
der Spannung an Messwiderstand R1. Mit lierende Brcke dienen, wenn hohe Span- den Arduino ist ein EEC-Steckverbinder
Jumper JP1 ist eine Verstrkung von 10 nungen mit dem Multimeter oder Oszillos- (K5) vorgesehen. ber diesen Steck-
oder 100 whlbar. Die whlbaren Ver- kop gemessen werden sollen. Die die- verbinder gelangen die I2C-Signale des
strkungen ergeben gemeinsam mit der rentiellen Ausgnge von IC2 und IC3 sind A/D-Wandlers sowie einige weitere Sig-
Verstrkung von IC2 drei Strombereiche: dafr wenig geeignet, ein asymmetrischer nale zu K2 des Arduino Extension-Shields,
17,7 A (Verstrkung 1, durch F1 auf 10 A Ausgang ist fr diesen Zweck vorteilhaf- das auf einen Arduino Uno montiert ist.
begrenzt), 1,77 A (Verstrkung 10) und ter. Deshalb setzt der Zweifach-Opamp Die Betriebsspannung +5 V der sekun-
0,177 A (Verstrkung 100) bei sinusfrmi- IC4 (ebenfalls ein AD8639) die symmetri- dren Seite kommt von Low-drop-Span-
gen Strmen. Die maximalen RMS-Werte schen Ausgangssignale der beiden Isolier- nungsregler IC6. Die meisten ICs der
bei Strmen mit hohen Scheitelfaktoren verstrker in asymmetrische quivalente Schaltung arbeiten mit dieser Spannung.
liegen niedriger. Abhngig vom Rauschen gleicher Hhe um. Der Gleichtaktoset IC4 bentigt jedoch auch eine negative
bewegt sich die niedrigste messbare Leis- (typisch 2,55 V bei VDD = 5 V), der an den Betriebsspannung, damit seine Aus-

www.elektormagazine.de September 2015 45


LEARN DESIGN SHARE

gangswechselspannung frei von einem IC5, einem ADuM6000, bereitgestellt. nur 860 Hz betrgt und in diesem
DC-Oset ist, und auerdem sollen auch Der interne Spannungsregler ist auf Baustein nur ein einziger physischer
Gleichspannungen gemessen werden. +5 V eingestellt, indem die Anschlsse A/D-Wandler fr vier Eingnge integ-
Deshalb muss an K6 auch eine negative VSEL und Viso miteinander verbunden sind. riert ist, knnen Strom und Spannung mit
Spannung verfgbar sein. Die negative Gleichtaktdrossel L1, die mgliche Strsi- maximaler Abtastfrequenz nicht gleich-
Spannung wird erzeugt, indem Zenerdi- gnale dmpft, ist zwar mit 3 A berdimen- zeitig gemessen werden. Der A/D-Wand-
ode D7 (2 V) in der Masse-Leitung des sioniert, sie weist jedoch einen niedrigen ler msste ber den I2C-Bus fortlaufend
Low-drop-Spannungsreglers IC6 eine vir- Reihenwiderstand von 2 50 m auf. umgeschaltet werden, so dass zwischen
tuelle Masse bildet. beiden Messungen unzulssige Verzge-
Die isolierte Betriebsspannung auf der Messen mit Arduino rungen auftreten wrden (ausfhrlicher
Eingangsseite der beiden AMC1100 sowie Da die maximale Abtastfrequenz des geht der Beitrag Nur noch einige Zeilen
des Eingangsverstrkers IC1 wird von A/D-Wandlers im freilaufenden Betrieb Software... auf dieses Thema ein, der in

Stckliste Messplatine
Widerstnde:
R1 = 001, 2 W, 1 % (Ohmite FC4L64R010FER)
R2,R3 = 22 , 0,25 W, 5 %, SMD 0805
R4,R31,R33 = 2k20, 0,125 W, 1 %, SMD 0805
R5 = 200 , 0,125 W, 1 %, SMD 0805
R6,R8,R34,R37 = 5k6, 0,125 W, 1 %, SMD 0805
R7,R9 = 4k3, 0,125 W, 1 %, SMD 0805
R10,R11,R17,R18 = 12 , 0,125 W, 1 %, SMD 0805
R12,R13,R19,R20,R29,R30 = 47 , 0,125 W, 1 %, SMD 0805
R14,R15 = 220 k, 1,5 W, 1 %, 500 V, SMD 2512
R16 = 75 , 0,125 W, 1 %,SMD 0805
R21...R28,R36 = 100 k, 0,125 W, 1 %, SMD 0805
R32 = 39 k, 0,125 W, 5 %, SMD 0805
R35 = 100 , 0,125 W, 1 %, SMD 0805

Kondensatoren:
C1,C2 = 1 n/50 V, 5 %, SMD 0805, C0G/NP0
C3,C7,C11,C14,C23,C24,C34,C35 = 100 n/50 V, 10 %, SMD
0805, X7R
C4,C15,C17,C19,C21 = 10 /10 V, 10 %, SMD 0805, X7R
C5 = 100 /6,3 V, 20 %, SMD Case A (1206), Tantal
C6,C10 = 330 p/50 V, 5 %, SMD 0805, C0G/NP0
C8,C9,C12,C13 = 100 n/50 V, 10 %, SMD 1206, X7R
C16,C18,C20,C22,C28 = 100 n/25 V, 10 %, SMD 0603, X7R
C25,C26 = 47/6,3 V, 10 %, SMD Case R (0805), Tantal
C27 = 10 /25 V, +80/-20 %, SMD 1206, Y5V
C29...C32 = 470 p/50 V, 5 %, SMD 0805, C0G/NP0
C33 = 470 n/16 V, 10 %, SMD 0805, X7R

Induktivitt:
L1 = ACM4520-231-2P-T, SMD, Gleichtaktdrossel 3 A, 2 50 m,
230 @100 MHz

Halbleiter:
D1,D2,D4 = HSMS-2822-TR1G, SMD SOT-23
D3 = SP0502BAHTG, SMD SOT-23
D5,D6 = LED grn, SMD 0805
D7 = BZT52C2V0-7-F, SMD SOD-123 (Zenerdiode 2 V/0,5 W)
D8 = PMEG2010AEH, 20 V/1 A, SMD SOD-123F
IC1,IC4 = AD8639ARZ, SMD SOIC-8
IC2,IC3 = AMC1100DUB, SMD Gullwing-8 (SOP-8)
IC5 = ADuM6000ARWZ, SMD RW-16 (SOIC_W-16)
IC6 = NCP5501DT50G, SMD DPAK3
IC7 = LM311D, SMD SOIC-8

Auerdem:
K1...K4 = Faston-Stecker 6,35 mm, fr Schraubbefestigung 3,3 mm
K5 = 2x7-Stiftleiste, Raster 2,54 mm
K6,JP1 = 1x3-Stiftleiste, Raster 2,54 mm
K7 = 1x2-Stiftleiste, Raster 2,54 mm
MOD1 = 2x5-SIL-Fassung, Raster 2,54 mm
F1 = Sicherungshalter fr Platinenmontage, 32 A/600 V
(6,3 32 mm)
F1 = Sicherung 10 A trge, 500 VAC/300 VDC, 6,3 32 mm
Modul 140169-91 (ADS1115-BOB)
Filterplatine 140169-2 Bild 2. Auf der Messplatine bendet sich unter den drei ICs eine breite,
Platine 140409-1 kupferfreie Zone, sie trennt galvanisch die primre von der sekundren Seite.

46 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Bild 3. Die Platine mit dem A/D-Wandler und die Filterplatine werden bereinander auf den Steckverbinder MOD1 der Messplatine gesteckt.

der Juli/August-Ausgabe 2015 erschienen Fr Gleichspannung: an dem Flachkabel-Steckverbinder mon-


ist.) Deshalb werden zuerst 172 Span- tiert sind.
nungsmessungen durchgefhrt, gefolgt  N 
von ebenso vielen Strommessungen. Um V =   V [ i ] / N Achtung! Die Messplatine muss abso-
 i=1 
die Phasenbeziehung zwischen Spannung lut berhrsicher in ein schutzisolie-
und Strom zu denieren, werden beide rendes Gehuse eingebaut werden!
Messreihen in einem Nulldurchgang der  N 
Spannung gestartet. Komparator IC7 ist I =   I [ i ] / N Auf einer Gehuseseite knnen die Flach-
 i=1 
mit Arduino-Pin 9 (Portpin B1) verbunden, stecker nach auen ragen, oder sicherer,
der Arduino detektiert den Nulldurch- die Flachstecker werden mit Bananen-
gang. Fehlt dieses Synchronisationssig- buchsen oder Euro-Einbausteckern ver-
P =V  I
nal, schaltet die Software auf DC-Messung bunden. Auf der gegenber liegenden
um, sie kehrt selbstttig zum AC-Betrieb Gehuseseite wird eine Aussparung zum
zurck, sobald das Synchronisationssignal Durchfhren des Flachkabels angebracht.
wieder vorhanden ist. Die Messwerte werden, wie Bild 4 zeigt, Hier knnen auch Messbuchsen montiert
zyklisch auf dem LC-Display ausgegeben. werden, die mit den Messausgngen von
Die Software fr diesen Leistungsmesser, K6 verbunden sind, sowie eine Strom-
ein Sketch fr den Arduino Uno, kann Aufbau versorgungsbuchse, verbunden mit K7.
frei von der Projektseite [4] herunterge- Die Messplatine (140409-1) ist relativ Auf dem Extension-Shield sind zwei
laden werden. Folgende Gren werden grochig gestaltet, sie ist in Bild 2 dar- zustzliche Leitungen erforderlich, damit
von der Software gemessen beziehungs- gestellt. Bestckt ist die Platine fast nur alle bentigten Signale ber den dort vor-
weise berechnet (siehe auch [5]): mit SMDs, so dass der Aufbau fr Unge- handenen EEC-Steckverbinder laufen. Zu
bte zwar schwierig, aber nicht unmglich legen sind isolierte Leitungen von K2-11
Fr Wechselspannung: ist. Zuerst werden die SMDs montiert, nach K4-1 und von K2-12 nach K4-2.
dann folgen die Kontaktleisten und der
N Sicherungshalter. Die Flachstecker wer- Die Stromversorgung des Leistungsmes-
 V [i ]  I [i ] den mit Gewindeschrauben, Zahnschei- sers kann ein Steckernetzteil berneh-
PVA = i=1
ben und Muttern mglichst fest mit der men, das 9...12 V Gleichspannung liefert
N Platine verschraubt. Das Breakout-Board und mit mindestens 200 mA belastbar ist.
140169-1 mit dem ADS1115 ist bestckt Der Arduino Uno wird von seinem eigenen
 N  und getestet im Elektor-Store erhltlich. Netzteil mit Strom versorgt.
VRMS =   V 2 [ i ] / N Die zugehrige Filterplatine 140169-2
 i=1  muss in eigener Regie aufgebaut werden, Einstellungen
dort benden sich SMDs auf beiden Sei- Die Verstrkung und der Oset der ana-
ten. Auf der Oberseite sind zwei 5-polige logen Eingangsstufe auf der Messplatine
 N 
IRMS =   I 2[ i ] / N Buchsenleisten fr die Verbindung mit sind fr Spannungs- und Strommessun-
 i=1  dem ADS-BoB montiert, die Unterseite ist gen ber die Software kalibrierbar. Die
der Platz fr zwei 5-polige Stiftleisten zur eingestellten Werte werden im internen
Befestigung auf der Messplatine. Die bei- EEPROM des Arduino Uno abgelegt, so
PRMS = VRMS  IRMS den Platinen werden aufeinander gesteckt dass die Kalibrierung im Prinzip nur ein-
(Filterplatine unten) und anschlieend in mal vorzunehmen ist.
den mit MOD1 bezeichneten Steckverbin-
PRMS der eingesetzt. Die Verbindung zwischen Nach dem Reset prft die Software, ob
P - factor = dem Extension-Shield sowie der Messpla- bereits ein Wert im zugehrigen Speicher-
PVA
tine stellt ein 14-adriges Flachkabel her, platz steht (ein Wert ungleich 255). Wenn

www.elektormagazine.de September 2015 47


LEARN DESIGN SHARE

Filtermodul

Wie im Haupttex
Haupttext beschrieben, lsst sich die Empndlichkeit des Leistungsmessers
erhhen, inde
indem die Bandbreite am Eingang des ADC-Moduls mit einem Filter
begrenzt wir
wird. Zu diesem Zweck wurde ein Filtermodul entworfen, das aus vier
aktiven Filt
Filtern dritter Ordnung besteht. Die Filter sind so dimensioniert, dass
die Grenz
Grenzfrequenz 1 kHz betrgt. Dieser Wert erscheint hoch, doch er wurde
gewhlt, um Phasendrehungen der Messsignale bei 50 Hz oder 60 Hz sowie
gewhl
der e
ersten Harmonischen mglichst gering zu halten.

Be den Filtern (Bild A) handelt es sich um eine Sallen-und-Key-


Bei
Konguration mit Butterworth-Charakteristik dritter Ordnung (siehe
Ko
Frequenzgang in Bild B). Die Opamps, die zum Einsatz kommen, sind
Fre
vom Typ OPA377. Dies ist ein Rail-to-rail-Opamp mit CMOS-Eingngen
und e
exz
exzellenten
zellenten Ra
Rauscheigenschaften. Der Eingangsvorstrom betrgt typisch nur
0,2 pA
pA,, so dass d
die Filterwiderstnde keinen zustzlichen Oset verursachen. Die
Temperaturabhngigkeit
Te mperatura von Eingangs-Oset und Oset-Drift betrgt typisch
0,25 V/C beziehungsweise 0,32 V/C.
0,

Die Platine ist so gestaltet, dass sie exakt unter das BoB mit dem ADS1115
D
passt Um dies zu realisieren, sind beide Seiten mit SMDs bestckt (Bild C). Auf
passt.
derr Ob
Oberseite benden sich zwei Buchsenleisten, beispielsweise SIL-IC-Fassungen,
und auauf der Unterseite zwei Stiftkontaktleisten mit runden, dnnen Stiften, so dass
ein Zu
Zusammenstecken
sam mglich ist. Wegen der zweiseitigen SMD-Bestckung drfte der
Aufbau nicht
nich ganz einfach sein, doch dies ist der Preis fr das Platinenformat.
n

C2
4
22n 1
R1 R2 R3 IC1
3
21k5 24k3 23k2
C1 C3
OPA377
10n 1n5

C5
4
22n 1
R4 R5 R6 IC2
3
21k5 24k3 23k2
VDD
C4 C6
K3 OPA377 K1 K4 K2
AIN0 10n 1n5 AIN0 VDD VDD
AIN1
AIN2
AIN1
AIN2
AL/RDY
SDA
AL/RDY
SDA
B
C8 SCL SCL
AIN3 AIN3
4
22n 1
R7 R8 R9 IC3
3
21k5 24k3 23k2
C7 C9
OPA377
10n 1n5

VDD
C11
4
22n 1
R10 R11 R12 IC4
3
21k5 24k3 23k2 5 C13 5 C14 5 C15 5 C16
C10 C12 IC1 IC2 IC3 IC4
OPA377 2 100n 2 100n 2 100n 2 100n
10n 1n5

140169 - 2 - 11

A C

Stckliste Filtermodul
Widerstnde: Kondensatoren: Halbleiter:
R1,R4,R7,R10 = 21k5, 1 %, 0,1 W, SMD C1,C4,C7,C10 = 10 n/50 V, 5 %, C0G/NP0 IC1,IC2,IC3,IC4 = OPA377AIDBVT
0603 oder X7R, SMD 0603
R2,R5,R8,R11 = 24k3, 1 %, 0,1 W, SMD C2,C5,C8,C11 = 22 n/50 V, 5 %, C0G/NP0 Auerdem:
0603 oder X7R, SMD 0603 K1,K2 = 5x1-Buchsenleiste, Raster 2,54 mm
R3,R6,R9,R12 = 23k2, 1 %, 0,1 W, SMD C3,C6,C9,C12 = 1n5/50 V, 5 %, C0G/NP0 K3,K4 = 5x1-Stiftleiste, Raster 2,54 mm
0603 oder X7R, SMD 0603 Platine 140169-2
C13,C14,C15,C16 = 100 n/50 V, 10 %, X7R,
SMD 0603

48 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

noch kein Wert gespeichert wurde, startet


die Kalibrierroutine, anderenfalls startet
die Messung. Die Kalibrierung kann spter
jederzeit wiederholt werden, wenn beim
Einschalten des Leistungsmessers der
Taster S1 gedrckt gehalten wird. a

Whrend des Einstellvorgangs wird bei


jedem Schritt zuerst die Art der Einstel-
lung angezeigt, nach Drcken von Tas-
ter S1 kann die betreende Einstellung
vorgenommen werden.
b

Die erste Einstellgre ist der Oset der


Spannungsmessung (0 V input). Bei oe-
nem Eingang K1/K2 wird mit den Tastern
S1 und S2 auf dem Experimentier-Shield
die Anzeige des LC-Displays auf 0 V ein-
gestellt. Wenn die Taster fnf Sekunden c
lang nicht bedient werden, schaltet die
Software zum Einstellen der Verstrkung
bei Spannungsmessung weiter (input V).
Dazu wird eine bekannte, hohe Gleich-
spannung (mindestens 50 V) zusammen
mit einem przisen Multimeter an den
Eingang K1/K2 gelegt. Jetzt mssen die d
Taster S1 und S2 so bedient werden, dass
die Anzeige auf dem LC-Display mit dem
Wert auf dem Multimeter bereinstimmt.

Nach weiteren fnf Sekunden ohne Aktion


folgt das Einstellen des Strom-Osets
e
(0 A input). Dabei bleibt der Eingang K1/
K2 oen, und der Oset wird wie bei der
Spannungsmessung mit den Tastern S1
und S2 auf 0 gebracht. Schlielich bleibt
noch das Einstellen der Verstrkung bei
Strommessung (input I). Dazu muss eine
Gleichspannungsquelle mit dem Eingang f
K1/K2 verbunden werden, und an den
Ausgang K3/K4 wird eine Last in Reihe
mit einem przisen Strommesser ange-
schaltet. Jetzt lsst sich die Verstrkung
bei Strommessung in gleicher Weise wie
die Verstrkung bei Spannungsmessung
einstellen. g
(140409)gd

Weblinks
[1] www.elektormagazine.de/140169 h

[2] www.elektormagazine.de/140035
[3] www.elektormagazine.de/130485
Bild 4. Die Messwerte erscheinen der Reihe Bild 5. Das LC-Display bei der Kalibrierung:
[4] www.elektormagazine.de/140409
nach auf dem Display. AC: Spannung, Strom, Oset fr Spannungsmessung (a/b),
[5] http://openenergymoni- Wirkleistung. Scheinleistung, Leistungsfaktor. DC: Verstrkung fr Spannungsmessung (c/d),
tor.org/emon/buildingblocks/ Spannung, Strom, Leistung. Oset fr Strommessung (e/f), Verstrkung fr
ac-power-arduino-maths Strommessung (g/h).

www.elektormagazine.de September 2015 49


LEARN DESIGN SHARE

e-BoB BL600
Teil 6

- Low Energy
- Events fr Timer
- Datenbertragung und
Verbindung

Von Jennifer Aubinais (Paris) elektor@aubinais.net

In den vorangegangenen Artikeln haben wir zusammen mit Ihnen die Programmiergrundlagen unseres
e-BoB BL600 herausgearbeitet und die Inbetriebnahme gezeigt. Der sechste und letzte Teil dieser Serie
beschftigt sich mit der geringen Stromaufnahme (Low Energy), die einer der grten Vorteile des
Moduls ist!

Low Energy, 5 A zieht Strom. Also wird unsere LED durch die Funktion
Im Tiefschlaf-Modus betrgt die Stromaufnahme zwar nur GPIOWrite in den Low-Zustand versetzt. Wir lassen sie
0,4 A, aber der e-BoB kann nur durch Reset oder Zustand- leuchten, wenn Bluetooth gestartet wird und lschen
snderung an einem Eingang geweckt werden. Wir verwenden sie wieder beim Anhalten (mit den Timer-Funktionen, s.
also den berwachungsmodus mit ca. 5 A Stromaufnahme, unten).
so dass das Modul durch unser Programm geweckt werden
kann, z.B. mit Hilfe der Timer. UART angehalten im Modus NON DEBUG: Der seri-
Es wird nur eine einzelne LED eingesetzt, um dieses nher zu elle Port des Moduls zieht ebenfalls Strom. Wir halten
illustrieren. Falls Sie weitere Komponenten an Ihren BL600 ihn an mit der Funktion UartClose, die Pins TX und RTS
anschlieen, kann es ntig sein, das Programm anzupassen. werden als Ausgnge mit High- bzw. Low-Pegel deniert.
Um die geringe Stromaufnahme ganz aullig zu zeigen betrei- Zwei Punkte mssen bercksichtigt werden, um Fehler zu
ben wir das Modul abwechselnd im Normal- und im berwa- vermeiden:
chungsmodus. Schlieen Sie ein Amperemeter wie im Schalt- - Falls wir den seriellen Port beim Start des Programms
bild gezeigt an: sobald die LED erlscht, ieen 5 A Strom. (im Programm MAIN) schlieen, ist der Puer des Ports
noch gefllt. Um ihn zu leeren warten wir 1000 ms ab
Der Sourcecode des hier vorgestellten Testprogramms bl600-6. (willkrlicher Wert), bevor wir ihn schlieen. Hierzu nut-
sb steht bei Elektor zum Download zur Verfgung [1]. Falls Sie zen wir den Timer, Code in Lila.
nderungen einbringen wollen, sehen Sie in den vorangegan- - Sobald der serielle Port einmal geschlossen ist, ber-
genen Artikeln nach, die smtliche Informationen hierzu bieten. trgt der Handler HandlerLoop die per Bluetooth emp-
Die einzelnen Schritte: fangenen Daten an den seriellen Port und umgekehrt
(mit der Funktion BleVspUartBridge). Wir kommentieren
Bluetooth anhalten: Bluetooth wird durch die Funktion diese Funktion aus und erstellen unseren eigenen Code
BleAvertStop angehalten und mit BleAdvertStart wieder in Orange (s. Events der Datenbertragung).
gestartet. Dieser Wechsel geschieht mittels der Timer (s.
Absatz Timer fr die Beschreibung des Codes in Rot und Messen: Der bei manchen Amperemetern festzustellende
Grn). Innenwiderstand kann die Messung in Wach-Modus beein-
ussen. Bei einem Wert von z.B. 100 ergibt sich ein
LED aus: Alles, was an das Modul angeschlossen wird, Strom von 10 mA (bei leuchtender LED), der Spannungs-

50 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

abfall an den Anschlssen des Messgertes betrgt 1 V DEVICENAME: JA_TEST


und das Modul funktioniert nicht mehr Verwenden Sie Prfen Sie die Funktion Ihres Programms indem Sie
besser den Messbereich 2 mA als den Bereich 200 A. es zum e-BoB BL600 bertragen. Es wird automatisch
gestartet, sonst geben Sie den Befehl AT+RUN ein [3].
Der Timer-Event Prfen Sie nun die Kommunikation Ihres Programms mit
Der Timer, vorgestellt im Artikel ber das Lauicht [4], wird dem Programm SERIAL aus dem TOOLKIT auf Ihrem
eingesetzt, um ein Wechselspiel von Stopp und Start von Blue- Smartphone [2].
tooth zu erzeugen. Dies codiert man so:

Deklaration des Handlers: OnEvent


EVTMR1 Call FuncTimer1 PC
die Funktion: Function FuncTimer1() mA
Timer-Auslsung: TIMERSTART(1,4000,0)
RX 12
USB
TX MOD2 11
Um die geringe Stromaufnahme des Moduls mit einem Ampe-
CBUS4 +5V CTS 10
remeter anzeigen zu knnen, aktivieren wir Bluetooth (LED CBUS3 VCCIO RTS BOB-BL600 9
CBUS2 +3V3 VCC 8
an) fr 25 ms (Funktion bleadvertstop, Code in Rot) und MOD1
CBUS1 GND GND 3
halten dann Bluetooth fr 4000 ms an (LED aus) (Funktion CBUS0 CTS RES 2
R1
RESET RI PGM GND
bleadvertstart, Code in Grn).

470R
DCD RXD
BOB-FT232R autorun CMD ota
DSR TXD
DTR RTS
n = Bleadvertstart(0,Adrt$,25,4000,0) S1 D1

VCCIO
GND
CTS

RX
TX
Der Timer wird auch eingesetzt, um das Schlieen des UART-
Ports zu verzgern. 150329 - 11

Die Events der Datenbertragung Bild 1. Wir setzen wie es schon Gewohnheit ist - den BoB FT232 von
Die ber Bluetooth bzw. den seriellen Port empfangenen Daten Elektor [8] ein, um mit dem BL600 zu kommunizieren.
werden durch einen Handler bearbeitet, genauso, wie wir es
z.B. gemacht haben, um die Steuerdaten fr die Dreifarb-LED
von Ihrem Smartphone abzufangen [4]. Hier ergibt sich jedoch Stckliste:
ein Problem, denn wir haben den UART-Port deaktiviert indem
Widerstnde:
wir den Code BleVspUartBridge unterdrckt (auskommentiert) R1 = 470
haben. Zu Kontrollzwecken wird der via Bluetooth empfangene
Text um ein Zeichen versetzt wieder ber Bluetooth zurckge- Halbleiter:
D1 = LED 3 mm (Farbe nach Wahl)
sandt (ich komme spter darauf zurck).
Verschiedenes:
Das Verbindungs-Event S1 = Taster
In den vorangegangenen Artikeln haben wir bereits das Event MOD1 = e-BoB FT232 bestckt 110553-91 [7]
MOD2 = e-BoB BL600 bestckt 140270-91 [7]
EVBLEMSG angezapft, um die Events zu Verbindungsauf- und oder Platine 140270-1 [7]
-abbau behandeln zu knnen. Im Thermometer-Programm aus
dem Artikel von Januar/Februar 2015 [1] war der erste Schritt
nach Verbindungsaufbau die bernahme des NTC-Wertes, der
zweite der Versand an das Smartphone und der letzte bestand
darin, das Modul wieder zu trennen. Nun leuchtet eine LED an
Ausgang 2 des Moduls, solange es verbunden ist; sie erlischt
bei Trennung der Verbindung.
Der Handler EVBLEMSG fr die Bluetooth-Messages wird aus
der Bibliothek cli.manager.sblib kopiert und in MyHandlerBleMsg
umbenannt (Code in Blau). Vergessen Sie nicht, Port 2 im
Hauptprogramm als Ausgang zu initialisieren.

Erstellung unseres Programms


Auch das Programm upass.vsp.sb wird als Grundlage fr unser
Programm Low Energy wiederverwendet, es wurde bereits in
den anderen Artikeln fr die UART-Dienste [1][4][6] genutzt.
Es wird berarbeitet und dient zur Behandlung der vom Modul
empfangenen Daten. Hierzu benennen wir es um in BL600-6.
sb und ndern zwei Parameter in dieser ersten Version ab:

ENABLE_DEBUG_PRINTS: 0 (Debug-Modus inaktiv) Bild 2. Foto des Versuchsaufbaus auf einem Steckbrett.

www.elektormagazine.de September 2015 51


LEARN DESIGN SHARE

Die beiden TIMER: wollen. Zum Prfen der korrekten Funktion des Moduls senden
wir den empfangenen Text mit einem Versatz von einem Zei-
Code in Grn: chen zurck: a wird zu b, d zu e... (Code in Orange).

- Deklaration des Handlers: OnEvent Der Code der Funktion HandlerLoop ndet sich in der Bib-
EVTMR1 Call FuncTimer1 liothek cli.upass.vsp.sblib. Um Dubletten zu vermeiden,
- die Funktion: Function FuncTimer1() die zu Fehlern bei der Kompilierung fhren, wird sie umbe-
- Aktivieren der LED: GpioWrite(2,1) nannt in MyHandlerLoop.
- Start von Bluetooth: BleAdvertStart MyHandlerLoop wird in folgenden Fllen aufgerufen:
- Auslsen des nchsten Timers: TIMERSTART(2,25,0) - Datenempfang am UART des Moduls.
- Datenempfang am Bluetooth-Port.
Code in Rot: - Der Bluetooth-Buer ist leer.
- Deklaration des Handlers: OnEvent EVTMR2 - Der UART-Buer ist leer.
Call FuncTimer2 Die Funktion BleVspUartBridge bildet eine Schleife zwi-
- die Funktion: Function FuncTimer2() schen Smartphone und UART-Port. Diese Codezeile wird
- Lschen der LED: GpioWrite(2,0) auskommentiert.
- Bluetooth-Stopp: BleAdvertStop Funktion BleVSpRead erlaubt das Lesen von Daten ber
- Auslsen den nchsten Timers: TIMERSTART(1,4000,0) Bluetooth. Achtung, das herstellerbedingte Limit liegt bei
20 Zeichen.
Die Funktion BleVspUartBridge muss deaktiviert werden, wenn Mit der Funktion STRPOS kann man ermitteln, ob der
wir den UART abschalten und dadurch weniger verbrauchen empfangene Text mit carriage return endet.

e-BoB BL600
bersicht der Features des BL600-Moduls:
Kenndaten der Adapterkarte e-BoB
Interfaces UART, I2C, SPI
von Elektor mit dem BL600-SA :
28 Mehrzweck-Ein-/Ausgnge (GPIO)
6 Analog-Eingnge (ADC mit 10 bit) serieller Port zum Laden der Programme in
Stromaufnahme: 5 A im Betriebs-, 0,4 A im Sleep-Modus den BL600
10 mA whrend des Sendens Anschlsse Stromversorgung (3,3 V)
einfache Programmierung in der Sprache smartBASIC Port K1
RESET-Eingang.
Schaltkreis nRF51822 von Nordic Semiconductor.
geringe Abmessungen: 19 x 12,5 x 3 mm PGM-Anschluss (fr eventuelle Programm-
Reichweite im oenen Feld: bis zu 20 m Updates des Moduls)

2 analoge Eingnge mit je 10 bit (Pins 2


Port K2 und 3)
Bluetooth in BASIC!
7 Logik-Ein-/
Die Programmiersprache smartBASIC (Event-orientiert) I2C-Port (Pins 8 und 9)
Ausgnge
des BL600-SA vereinfacht die Integration von Bluetooth SPI-Port (Pins 10, 11 und 12)
in Ihren Applikationen, weil nicht nur die Verwaltung
cmd: AT-Kommandos
der direkt an das Modul angeschlossenen Sensoren Jumper JP1
erleichtert wird, sondern auch die Weitergabe von autorun
Werten, die an irgendeinem Bluetooth v4.0-Empfnger
Jumper JP2 OTA (Over The Air)
anfallen (Smartphone, Tablet, Rechner, Interfaces).

Das Android-Programm
e-BoB BL600 Auf der Website des Herstellers [7] des BL600 nden Sie den
ARM Cortex M0 Sourcecode der App Toolkit fr Android (und auch iOS), die
U
A
smart Basic S
R P folgende Funktionen umfasst:
T I
mmoire FLASH 7
P
O I BPM (Blutdruck)
W mmoire RAM 2 G
E C P
R I HRM (Herzrhythmus)
O
R Bluetooth A Proximity
S
T
Low Energy D
C
P
HTM (medizinisches Thermometer)
G antenne interne
M Serial (UART)
150329 - 12 OTA (Over The Air)
Batch

52 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Weitere Projekte fr den BL600 warten schon in den Labors der Autorin
und im Elektor-Labor.

Um den Versatz von einem Zeichen bei den zurckzu- FuncClose


sendenden Texten zu erzeugen, verwenden wir die bei- die Funktion: Function FuncClose()
den Funktionen StrGetChr (Umwandeln eines Zeichens Schlieen des Ports: UartClose()
an angegebener Position in einem String in ein Byte) und Pins TX und RTS werden zum Ausgang mit High- bzw.
StrSetChr (Setzen eines Zeichens an angegebener Position Low-Pegel: GPIOSetFunc
durch vorgegebenes Byte). Auslsen des Timers im Programm MAIN:
Und schlielich wird der Text via Bluetooth mit Funktion TIMERSTART(0,1000,0)
BleVspWrite versandt.
Zur berwachung des Verbindungsstatus dient die LED: an
Das Programm versendet keine Daten mehr ber den UART, bei Verbindung, aus bei Trennung (in Wirklichkeit blinkt sie
wir knnen diesen Port also schlieen (nach willkrlich fest- in Abhngigkeit von TIMER1 und TIMER2). Der Code in Blau
gelegter Wartezeit von 1000 ms, Code in Lila): der Funktion HandlerBleMsg stammt aus der Bibliothek cli.
upass.vsp.sblib:
Deklaration des Handlers: OnEvent EVTMR0 Call

Wir halten fr Sie zum Download [6] den extrem einfach SPI-Port:
gehaltenen Sourcecode einer App fr Android-Smartphones nen des Ports: rc = SpiOpen(nMode, nClockHz,
bereit, die nur die UART-Routinen nutzt. nCfgFlags, nHande)
Lesen / Schreiben: rc = SpiReadWrite(stWrite$,
Dazu haben wir Android Studio eingesetzt, verfgbar stRead$)
unter Windows, MAC OS und Linux [7]. Zur Erinnerung, Schlieen des Ports: SpiClose(handle)
der Hersteller hat eine Bibliothek laird_library_
ver.0.18.1.1.jar entwickelt, um die Entwicklung von
Android-Apps fr klassisches Bluetooth und Bluetooth Low Tools zum Kompilieren und bertragen
Energy zu beschleunigen. Alle Tools und Beispiele stehen zum Download bereit [7]. Wenn
Sie einen Account auf der Website des Herstellers einrichten
mchten, geben Sie Elektor reader ein. Dann gengt es, die
Die in dieser Artikelserie beschriebenen Funktionen:
Datei Firmware Files version 1.5.70.0 Revision 5 i
Ein-/Ausgnge: herunterzuladen und zu entpacken, welche Folgendes enthlt:
Parametrisierung des BL600-Anschlusses (nFunction = 1
oder 2): Programmbeispiele im Ordner smartBASIC_Sample_Apps
rc = GPIOSETFUNC(nSigNum, nFunction, nSubFunc) das Programm UwTerminal.exe dans imOrdner
Lesen eines Wertes 0 oder 1: rc = GPIOREAD(nSigNum) smartBASIC_Sample_Apps
Schreiben (nNewValue = 0 oder 1): rc = die Bibliothek im Ordner smartBASIC_Sample_Apps/lib
GPIOWRITE(nSigNum, nNewValue) Beispiele (UserManualExampleCode)
die spezische Konguration fr Notepad++ fr smartBASIC
Analog-Digital-Wandler: (smartBASIC(notepad++).xml)
Parametrisierung des BL600-Anschlusses (nFunction = 3):
rc = GPIOSETFUNC(nSigNum, nFunction, nSubFunc)
Lesen des Wertes (0 1023): rc = GPIOREAD(nSigNum) Huge Befehle
AT I 0: Revisions-Nummer des BL600
I2C-Port: AT I 3: Version des Programmpakets des BL600
nen des Ports: rc = I2COpen(nClockHz, nCfgFlags, AT+DIR: Liste der Programme auf dem BL600
nHande) ATZ: Reset des BL600
Schreiben eines 8-bit-Wertes: AT&F 1: Lschen des Speichers und Neustart des BL600
rc = I2CWriteReg8(nSlaveAddr, nRegAddr, nRegValue) AT+RUN xxxx: Ausfhren des Programms xxxx
Lesen eines 8-bit-Wertes:
rc = I2CReadReg8(nSlaveAddr, nRegAddr, nRegValue)
Schlieen des Ports: I2Close(handle)

www.elektormagazine.de September 2015 53


LEARN DESIGN SHARE

Wir haben den Code der Funktion HandlerBleMsg der Bib- Programmierung Ihres eigenen BL600 zu wagen, auf Ihrem
liothek cli.upass.vsp.sblib entnommen. Um auch hier wie- eigenen e-BoB, fr Ihre eigene Android-App; alle notwendigen
der Dubletten und Kompilationsfehler zu vermeiden wird Informationen nden sich im Artikel des letzten Monats [6].
sie umbenannt in MyHandlerBleMsg.
Bei Verbindungsaufbau BLE_EVBLEMSGID_CONNECT : Ein oenes Ende...
- Anhalten der TIMER: TIMERCANCEL Ihr eigenes Programm das ist das richtige Resumee dieser
- LED anschalten: GpioWrite(2,1) Serie, die mit dem Projekt Bluetooth-Thermometer begonnen
Bei Trennung der Verbindung hat und die wir jetzt mit doppeltem Stolz beenden: unsere
BLE_EVBLEMSGID_DISCONNECT : Arbeit, die Inbetriebnahme dieses Moduls so einfach wie mg-
- LED ausschalten: GpioWrite(2,0) lich zu gestalten, wurde sowohl von der Elektor-Leserschaft als
- (Wieder-)-Auslsen des ersten Timers: auch vom Hersteller des BL600-SA anerkannt und geschtzt.
TIMERSTART(1,10,0) Weitere Projekte fr den BL600 warten schon in den Labors der
Autorin und im Elektor-Labor. Auerdem hat der BL600 einen
Hiermit haben wir alle notwendigen Elemente beisammen, um groen Bruder, den BL620. Das ist ein weiteres Bluetooth-
Ihr Programm BL600-6.sb zu erstellen. Nachdem man die Modul, aber mit Master-Fhigkeit, das die Kommunikation
geringe Stromaufnahme veriziert hat, empehlt es sich fr noch einmal sehr vereinfacht. Mehr in Krze in Ihrem Elektor-
eine bessere Verbindung zu Ihrem Smartphone, die Parameter Magazin
von TIMER1 von 4000 ms auf z.B. 300 ms zu ndern: TIMER- (150329)
START(1,300,0). Nun ist der Moment gekommen, sich an die

'//************************************************* '//================================================
'// Laird Technologies (c) 2013 '// Receive data
'// Jennifer AUBINAIS (c) 2015 '//================================================
'// ++++++++++++++++++++++++++++++++++++++++++++++++ function MyHandlerLoop()
//BleVspUartBridge()
'//************************************************* DIM n, rc, tempo$, tx$
'// Definitions DIM pos, return$
'//************************************************* // Wait return from received data
#define AUTO_STARTUP 1 tx$ = "0D"
'//Set this to 0 to disable all debugging messages return$ = StrDehexize$(tx$)
#define ENABLE_DEBUG_PRINTS 0 tempo$ = ""
#define DEVICENAME "JA_TEST" n = BleVSpRead(tempo$,20)
#define DEVICENAME_WRITABLE 1 text$ = text$ + tempo$
***** code here ***** pos = STRPOS(text$,return$,0)
IF ( pos >= 0 ) THEN
'//************************************************ DIM i, x
'// Library Import pos = pos - 1
'//************************************************ FOR i = 0 TO pos
#include "lib\cli.upass.vsp.sblib" x = StrGetChr(text$,i)
'//************************************************ rc = StrSetChr(text$,x+1,i)
'// Global Variable Declarations NEXT
'//************************************************ rc = BleVspWrite(text$)
DIM text$ text$ = ""
'//************************************************ ENDIF
'// Function and Subroutine definitions endfunc 1
'//************************************************
'//==================================================
'//================================================ '// TIMER 1
'// CLOSE UART '//==================================================
'//================================================ FUNCTION FuncTimer1()
Function FuncClose() dim rc, Adr$
DIM rc Adr$ = ""
UartClose() // led on
rc = GPIOSetFunc(21,2,1) '// TX GpioWrite(2,1)
rc = GPIOSetFunc(23,2,0) '// RTS rc = bleadvertstart(0,Adr$,25,25,0)
TIMERSTART(1,10,0) TIMERSTART(2,25,0)
ENDFUNC 1 ENDFUNC 1

54 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Links [4] Elektor Mai 2015


www.elektormagazine.de/150129
[1] Elektor Januar/Februar 2015
e-BoB BL600 | Teil 3:
www.elektormagazine.de/140190
Das BLE-Modul in smartBASIC programmieren
Drahtloses Thermometer mit Bluetooth Low Energy
Fernanzeige der Temperatur auf Ihrem Smartphone [5] Elektor Juni 2015
www.elektormagazine.de/150130
[2] Elektor Mrz 2015
e-BoB BL600: Bluetooth Low Energy | Teil 4:
www.elektormagazine.de/140270
Der I2C-Port mit Temperatur-Sensor
e-BoB BL600: Modul fr Bluetooth Low Energy | Teil 1:
Eine Plattform fr die drahtlose Kommunikation [6] Elektor Juli/August 2015
www.elektormagazine.de/150272
[3] Elektor April 2015
e-BoB BL600 | Teil 5:
www.elektormagazine.de/150014
SPI-Port mit DA-Wandler und Android-App
e-BoB BL600 | Teil 2:
Ein Programm editieren, kompilieren und bertragen mit [7] https://laird-ews-support.desk.com/?b_id=1945
dem Bluetooth Low Energy-Modul
[8] www.elektor.de/ft232r-usb-serial-bridge-bob-110553-91

'//================================================== Function MyHandlerTimOut() as integer


'// TIMER 2 'NOTHING
'//================================================== EndFunc 1
FUNCTION FuncTimer2() '//*************************************************
// led off '// Handler definitions
GpioWrite(2,0) '//*************************************************
rc = bleadvertstop() ONEVENT EVTMR1 CALL FuncTimer1
TIMERSTART(1,4000,0) ONEVENT EVTMR2 CALL FuncTimer2
ENDFUNC 1 OnEvent EVTMR0 Call FuncClose
'//================================================== OnEvent EVBLEMSG call MyHandlerBleMsg //
'// This handler is called when there is a BLE EVBLEMSG indicate when signifficant BLE event occurs.
message OnEvent EVBLE_ADV_TIMEOUT Call MyHandlerTimOut
'//================================================== //all events have the same handler
function MyHandlerBleMsg(BYVAL nMsgId AS INTEGER, OnEvent EVVSPRX call MyHandlerLoop //
BYVAL nCtx AS INTEGER) as integer EVVSPRX is thrown when VSP is open and data has
'// Inform libraries arrived
ConnMngrOnBleMsg(nMsgId,nCtx) OnEvent EVUARTRX call MyHandlerLoop //
AdvMngrOnBleMsg(nMsgId,nCtx) EVUARTRX = data has arrived at the UART interface
select nMsgId OnEvent EVVSPTXEMPTY call MyHandlerLoop
case BLE_EVBLEMSGID_CONNECT OnEvent EVUARTTXEMPTY call MyHandlerLoop
TIMERCANCEL(2) //*************************************************
TIMERCANCEL(1) // main
DbgMsgVal(" --- Connect : ",nCtx) //*************************************************
ShowConnParms(nCtx) text$ =
// set at High // pin 2 output at low
GpioWrite(2,1) rc = GPIOSetFunc(2,2,0)
case BLE_EVBLEMSGID_DISCONNECT rc = bleadvertstop()
DbgMsgVal(" --- Disconnect : ",nCtx) IF (ENABLE_DEBUG_PRINTS == 1) THEN
// set at Low UartRsp(0)
GpioWrite(2,0) TIMERSTART(2,10,0)
TIMERSTART(1,10,0) ELSE
***** code here ***** PRINT low Energy
endselect TIMERSTART(0,1000,0)
endfunc 1 ENDIF
'----------------------------------------------------- WaitEvent
'// TIME OUT = nothing
'-----------------------------------------------------

www.elektormagazine.de September 2015 55


LEARN DESIGN SHARE

VFD-Shield
fr Arduino
Mit instruktiven
Programmbeispielen

Von Ilse Joostens (Belgien)

VFD bedeutet Vakuum-Fluoreszenz-


Display: Hier sind es vier VFD-
Siebensegment-Ziernrhren aus
russischer Fertigung, die von
einem Arduino Uno gesteuert
werden. Fr eine stilgeme
LED-Beleuchtung ist ebenfalls
gesorgt. Zum Repertoire der
Programmbeispiele gehren
eine Demo, eine Digitaluhr,
ein Voltmeter und ein
Thermometer.

Bei den Freunden nostalgischer Elektronik Dieses Arduino-Shield soll auch dem New- ter und die Ziernsegmente einschlie-
sind Nixie-Rhren schon lange beliebt, comer Spa bereiten, deshalb gehren lich Dezimalpunkt eingeschmolzen. Die
das beweisen die zahllosen Bauvor- exotische Bauteile und SMDs nicht dazu. leuchtenden Balken und der Punkt ben-
schlge, die im Internet kursieren. Auch Es kann sogar sein, dass die meisten Bau- den sich auf keramischen Trgern, auf
Elektor hatte sich in der Vergangenheit teile bereits im Werkschrank lagern und denen ein Leuchtsto aufgetragen ist.
schon mehrfach dieses Themas ange- auf ihren Einsatz warten. Auerdem tre- Wenn Strom durch den Glhfaden
nommen. Anders als bei jenen Projek- ten hier keine gefhrlichen Spannungen iet, steigt die Temperatur, so dass
ten werden diesmal nicht Nixie-Rhren, auf, die hchste Spannung liegt bei 35 V. Elektronen frei austreten knnen. Der
sondern sogenannte VFD-Rhren einge- Glhfaden ist mit einem Alkalimetallo-
setzt. Das Prinzip, das ihnen zugrunde Prinzip der VFD-Rhre xid beschichtet, dadurch setzt dieser
liegt, ist mit den Nixie-Rhren nicht ver- Die VFD-Rhre IV-3 (Bild 1) ist eine Vorgang schon bei relativ niedrigen
gleichbar. VFD-Rhren und Nixie-Rhren Ziernanzeigerhre mit der Ziernhhe Temperaturen ein. Weil der Glhfaden
sind gewissermaen Konkurrenten, wobei 8 mm. In dem von Gasen evakuierten fast unsichtbar glimmt, kann er beim
die VFD-Rhren an Beliebtheit aufholen. Glaskolben sind der Glhfaden, das Git- Betrachten der Zier nicht stren.

56 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Eigenschaften
Kompatibel mit
Arduino-Entwicklungsboards
Betriebsspannung 12 V stabilisiert,
Versorgung vom Arduino-Board
Einsatzmglichkeiten: Uhr,
Thermometer, Voltmeter, Zhler,
Punkte-Anzeige, ...
Mehrere Beispiel-Sketches fr
Arduino verfgbar

Bild 1. Vorder- und Rckansicht der russischen


VFD-Rhre IV-3.

Wird an ein Ziernsegment positive Span- Segment angeordnet ist, dient zum Steu- Schaltungstechnik vereinfacht.
nung gelegt, dann werden die freien Elek- ern des Elektronenstroms. Liegt am Gitter Erwhnt sei noch, dass die dunkelgrau
tronen in Richtung des Ziernsegments negative Spannung, dann kann der Elekt- bis silbrig schimmernde Schicht oben in
beschleunigt. Beim Aufprallen auf den ronenstrom nicht in Richtung der Ziern- der VFD-Rhre der so genannte Getter
Leuchtstoff wird Energie frei, die den segmente ieen, unabhngig von der ist, ein chemisch reaktiver Sto, der das
Leuchtsto zum Leuchten anregt. Das Spannung an den Segmenten. ber das Vakuum aufrecht erhlt, indem er vaga-
Prinzip ist vergleichbar mit der klassi- Gitter lassen sich folglich alle Segmente bundierende Gasmolekle bindet.
schen Bildrhre, doch anders als dort und der Dezimalpunkt gleichzeitig sper-
leuchtet der Leuchtsto deutlich sichtbar ren. Die VFD-Rhre verhlt sich wie eine Shield-Schaltung
schon bei niedriger Elektronengeschwin- Rhren-Triode, sie knnte sogar Signale In der Schaltung des Shields (Bild 2) sind
digkeit. Die Anodenspannung muss nur verstrken (siehe [1]). Doch das ist hier vier Funktionen erkennbar: Ein Span-
etwa 30 V betragen, whrend bei der Bild- nicht die Absicht, hier werden die Zif- nungswandler, der die Betriebsspannung
rhre mehrere Kilovolt erforderlich sind. fernrhren mit den Gittern gemeinsam 12 V auf 32 V umsetzt, die Stromversor-
Das Gitter, das zwischen Glhfaden und im Multiplexbetrieb gesteuert, was die gung fr die Rhren-Glhfden, die Trei-

www.elektormagazine.de September 2015 57


LEARN DESIGN SHARE

ber fr die Segmente und Gitter der Zif- Spannungsabfall verursacht. Die Span- steuern. Deshalb wird die Betriebsspan-
fernrhren sowie ein Schalttransistor und nung 32 V ist fr die Ziernrhren des nung des 7555 ber R4 der verdoppel-
vier LEDs fr die Hintergrundbeleuchtung. Typs IV-3 ausreichend. ten Betriebsspannung an Verbindungs-
Der Spannungswandler ist ein Verdreifa- Der 7555 ist als Rechteckoszillator punkt D3/D4/C6 entnommen, wegen des
cher, er ist mit einem 7555 (IC1), einer geschaltet, die Frequenz hngt von C1 Spannungsabfalls an R4 betrgt sie nur
Puerstufe und diversen Kondensato- und R5 ab. Da der Ausgangsstrom nur ungefhr 14 V. Dadurch bersteigt die
ren sowie Schottky-Dioden aufgebaut. geringe Werte annehmen kann, ist die Basisspannung von T26 die Kollektorspan-
Theoretisch betrgt die Ausgangsspan- Push-Pull-Stufe mit T26 und T27 nach- nung, so dass die interne Basis-Kollek-
nung 36 V, doch in der Praxis werden geschaltet. Die Hhe der Ausgangsspan- tor-Diode leitet und die vom 7555 kom-
nur etwa 32 V erreicht, zumal Diode D1 nung des 7555 reicht allerdings nicht aus, mende Ausgangsspannung begrenzt.
in der Masseleitung einen zustzlichen um T26 vollstndig in die Sttigung zu Um dem entgegen zu wirken, sind R1

DIG_G
DIG_F

DP
DIG_A

DIG_B

DIG_C

DIG_D

DIG_E
+UB +UB +UB +UB +UB +UB +UB +UB

R43 R44 R45 R46 R47 R48 R49 R50


220k

220k

220k

220k

220k

220k

220k

220k
T14 T15 T16 T17 T18 T19 T20 T21

R19 R20 R21 R22 R23 R24 R25 R26


BC BC BC BC BC BC BC BC
557B 557B 557B 557B 557B 557B 557B 557B
68k

68k

68k

68k

68k

68k

68k

68k
R31 R32 R33 R34 R35 R36 R37 R38
T1 T2 T3 T4 T5 T6 T7 T8
100k

100k

100k

100k

100k

100k

100k

100k
R6 R7 R8 R9 R10 R11 R12 R13
BC BC BC BC BC BC BC BC
547B 547B 547B 547B 547B 547B 547B 547B
10k

10k

10k

10k

10k

10k

10k

10k
DRV_G
DRV_F
DRV_A

DRV_B

DRV_C

DRV_D

DRV_H
DRV_E

+12V GRID_1

GRID_2

GRID_3

GRID_4
+UB +UB +UB +UB
R2 R3
1k

1k

R51 R52 R53 R54


K1
D6 D8
220k

220k

220k

220k
T22 T23 T24 T25
AREF
D7 D9
GND
D13 R27 R28 R29 R30
BC BC BC BC
RESET D12 557B 557B 557B 557B
68k

68k

68k

68k
3V3 *D11 T13
R18
R39 R40 R41 R42
5V *D10 10k T9 T10 T11 T12
DRV_DP
100k

100k

100k

100k
GND *D9
DRV_G BC547B
GND D8
DIGITAL (PWM~)

R14 R15 R16 R17


VIN BC BC BC BC
DRV_F 547B 547B 547B 547B
+12V
10k

10k

10k

10k
D7
DRV_E
*D6
DRV_1 DRV_D
A0 *D5
DRV_2 DRV_C
DRV_1

DRV_2

DRV_3

DRV_4

A1 D4
ANALOG IN

DRV_3 DRV_B
A2 *D3
DRV_4 DRV_A
A3 D2
A4 TX
DP

DP

DP

DP
VFIL1

VFIL2
GRID_1

GRID_2

GRID_3

GRID_4

A5 RX

ARDUINO_SHIELD

+12V TU1 TU2 TU3 TU4


IV-3 9 7 8 IV-3 9 7 8 IV-3 9 7 8 IV-3 9 7 8
GRID FIL FIL GRID FIL FIL GRID FIL FIL GRID FIL FIL
R4 D4 D5 +UB
2k7

1N5819 1N5819
R5
D2 DP DP DP DP
T26
3k9

1N5819 C7 C3 11 11 11 11
4 8
G A G A G A G
RESET VCC C5 D3 22u 8n2
2 50V B C D E F B C D E F B C D E F B C D E F
BC639 VFIL2
TRIG
2 1 10 6 5 4 3 2 1 10 6 5 4 3 2 1 10 6 5 4 3 2 1 10 6 5 4 3
C9 IC1 R1 C4 22u 1N5819
7 3 50V
DIS OUT 510R
100u ICM7555 100n
50V 6 VFIL1
TRSH
DIG_G

DIG_G

DIG_G

DIG_G
DIG_F

DIG_F

DIG_F

DIG_F
DIG_A
DIG_B
DIG_C
DIG_D

DIG_A
DIG_B
DIG_C
DIG_D

DIG_A
DIG_B
DIG_C
DIG_D

DIG_A
DIG_B
DIG_C
DIG_D
DIG_E

DIG_E

DIG_E

DIG_E

T27
CV GND C10 C6 C8 C2
C1
5 1
100u 22u 22u 8n2
2n2 50V 50V 50V
BC640
D1

1N4007
150064 - 11

Bild 2. Die Schaltung besteht aus den Treibern zum Steuern der Ziernrhren sowie einem Spannungsverdreifacher fr die Anodenspannung.

58 September 2015 www.elektormagazine.de


LABOR-PROJEKT LESER-PROJEKT

Nostalgie, diesmal nicht mit Nixies, sondern mit VFD-Rhren

und C4 hinzugefgt. Auerdem sorgt C4 weise ein Uhrenbaustein (RTC) mit dem Verzgerung 40 s, um Ghosting
fr eine hohe Basisstrom-Spitze in Rich- Shield gekoppelt werden kann. zu vermeiden,
tung T26, jedes Mal wenn der Ausgang Aktivieren der nchsten Rhre im
des 7555 von niedriger auf hohe Span- Software Zyklus,
nung schaltet. Die Kondensatoren C5... Fr das Shield sind mehrere Programm- Schreiben der Zier, Pins 2...9,
C8 des Spannungsverdreifachers werden beispiele verfgbar: Eine Demo, eine Uhr, Anpassen der Segmente,
beschleunigt geladen, was zur Folge hat, ein Voltmeter und ein Thermometer. Die Einschalten des Gitters der aktiven
dass der Wirkungsgrad des Spannungs- Programme, so genannte Arduino-Sket- Rhre.
wandlers nicht unwesentlich steigt. Als ches, knnen als ZIP-Datei gepackt von Falls die Zeit vom Ausschalten einer Zif-
Nebenvorteil mssen T26 und T27 nicht der Projektseite [2] heruntergeladen wer- fernrhre bis zum Einschalten der nchsten
gekhlt werden, auch nicht bei hoher den. Die Quellcodes enthalten ausfhrli- Rhre zu kurz ist, knnen die Segmente der
Belastung der Ausgangsspannung. che Hinweise zur Funktion und Arbeits- ersten Rhre nachglimmen, eine Erschei-
Der Spannungsabfall an Diode D1 hat weise der Programme sowie gegebenen- nung die Ghosting genannt wird. Die
zur Folge, dass die Stromversorgung falls zu den bentigten Bibliotheken. Wartezeit 40 s wirkt dem Ghosting entge-
bei ungefhr 0,7 V ber Massepotential Das Programm Demo setzt eine Ani- gen, sie wurde experimentell gefunden. Die
abschaltet. Wenn die Spannung an einem mation auf die Ziernrhren, gleichzei- tatschliche Zeit zwischen dem Umschalten
Segment oder Gitter der Ziernrhren tig variieren die Hintergrund-LEDs ihre der Gitter ist etwas lnger, da noch anderer
nach Masse gezogen wird, ist die Span- Leuchtintensitt. Mit diesem Programm Programmcode ausgefhrt wird.
nung bezogen auf den Glhfaden negativ. lsst sich der korrekte Aufbau der Hard- Die Multiplex-Frequenz der Anzeige liegt
Die Segmente bleiben dann vollstndig ware berprfen. bei 250 Hz. Jede Ziernrhre ist 62,5
dunkel. Das Programm Uhr zeigt die Zeit und Mal in der Sekunde fr knapp 4 ms aktiv
Die Glhfden der Ziernrhren sind in das Datum an. Da der Arduino Uno nicht geschaltet. Bei dieser Frequenz erscheint
Reihe geschaltet, was den Schaltungsauf- mit einer Echtzeituhr ausgestattet ist, die Anzeige dem menschlichen Auge
wand mindert. Ferner liegt nicht Gleich- mssen Zeit und Datum ber den seri- immerfrei.
spannung, sondern Wechselspannung an ellen Datenanschluss eingegeben werden. Die anzuzeigenden Muster sind in einer
den Glhfden, damit das Spannungs- Mit dem Serial Monitor der Arduino IDE Datenstruktur gespeichert (tube_list), ein
geflle der Glhfden keine erkennba- ist dies schnell getan. Array aus vier Elementen, ein Element fr
ren Helligkeitsunterschiede zwischen den Das Voltmeter misst Spannungen an Pin jede Ziernrhre. Jedes Element enthlt
Segmenten und den Ziernrhren verur- A5 des Arduino Uno und gibt die Mess- ein Flag fr den Dezimalpunkt und einen
sacht. Die Glhfden liegen auf der einen werte auf den Ziernanzeigerhren aus. Index in einer Tabelle mit den Mustern
Seite an den gemeinsamen Emittern von Der Messbereich erstreckt sich von 0 V fr die Segmente.
T26 und T27, auf der anderen an C2 und bis 5 V, angezeigt als 0.00 bis 5.00. Im Programm Demo ist eine PWM-Steu-
C3. Weil C2 und C3 Gleichstromanteile Das Programm Thermometer liest die erung fr die Hintergrund-LEDs enthal-
sperren, iet nur der Wechselstroman- Temperatur aus einem Eindraht-Ther- ten. Ein PWM-Zyklus besteht aus acht
teil durch die Glhfden. Der Strom, der mosensor und zeigt den Messwert in C Schritten. Die Schrittfrequenz betrgt
hier iet, hngt von den Impedanzen an. Untersttzt werden die Sensoren 500 Hz, die PWM-Frequenz 62,5 Hz. Bei
dieser Kondensatoren ab. Deshalb sind DS18B20, DS18S20 und DS1820. Das dieser Frequenz leuchten die LEDs fr das
die Werte von C2 und C3 sowie die Werte Programm sucht periodisch nach einem menschliche Auge immerfrei, das gilt
der frequenzbestimmenden Komponenten untersttzten Sensor. Sobald ein Sensor auch fr den niedrigsten Duty-Cycle 1 : 8.
R5 und C1 einigermaen kritisch. erkannt wird, folgen das Auslesen und Die ISR ist mit Timer 1 verknpft. Die
Die Segmente und Gitter der Ziernrh- Anzeigen des Werts. Der Eindraht-Ther- Programmiersprache des Arduino kennt
ren werden von NPN/PNP-Transistorpaaren mosensor kann bei laufendem Programm keine Elemente fr den Umgang mit
gesteuert. Bei hohem Ausgangssignal des getauscht werden. Timern. Der Quellcode der Programme
Arduino (5 V) schaltet der PNP-Transistor Alle Programmbeispiele enthalten ein benutzt deshalb AVR Libc, um Timer 1
die Spannung 32 V auf das zugehrige Seg- Steuermodul fr die Ziernanzeigerh- und die ISR in C zu implementieren. Die
ment oder Gitter. Ist das Signal niedrig, ren. Die Steuerung arbeitet mit Inter- Arduino-Programmierumgebung macht
wird das Segment oder Gitter ber einen rupts, sie benutzt eine ISR (Interrupt Ser- brigens ebenfalls von Libc Gebrauch.
100-k-Widerstand nach Masse gezogen. vice Routine). Die Ziernrhren werden
Die Segmente und Dezimalpunkte der nacheinander in zyklischer Folge einge- Aufbau
vier Ziernrhren sind parallel geschal- schaltet, so dass gleichzeitig immer nur Die fr das VFD-Shield entworfene Platine
tet, so dass fr die Multiplex-Steuerung eine Ziernrhre aktiv ist. Die Steuerung ist in Bild 3 wiedergegeben. Die Platine
12 Datenleitungen gengen. Die I2C-Lei- besteht aus folgenden Schritten: wird ausschlielich mit bedrahteten Kom-
tungen SDA und SCL des Arduino werden Abschalten der Gitter und Segmente ponenten aufgebaut, so dass SMD-Lter-
nicht belegt, so dass ber I2C beispiels- der aktiven Rhre, fahrungen nicht erforderlich sind.

www.elektormagazine.de September 2015 59


LEARN DESIGN SHARE

Fr das VFD-Shield ist ein Baupaket sich unter den Ziernrhren. Die LED-An- Laden Sie die Software von der Projekt-
einschlielich der vier Ziernrhren im schlsse sind etwas gegeneinander ver- seite [2] herunter, und spielen Sie den
Elektor-Shop erhltlich. Der Aufbau wird setzt. Nachdem die LED-Anschlussdrhte Demo-Sketch ber die USB-Verbindung
ausfhrlich in einer separaten, englisch- in die korrekte Form gebogen sind, so auf den Arduino. Trennen Sie den Arduino
sprachigen Bauanleitung beschrieben, sie dass sie in die Bohrungen passen, kn- vom PC und decken Sie die USB-Buchse
kann ebenfalls von der Projektseite [2] nen sie angeltet werden. auf dem Arduino mit einem Stck Isolier-
heruntergeladen werden. An dieser Stelle band ab. Damit wird verhindert, dass die
knnen wir nur das Wichtigste streifen. Zuletzt folgt die Montage der Ziernrh- USB-Buchse die Ltstellen auf dem VFD-
Alle Bauelemente werden ausnahmslos ren. An den Rhren benden sich lange Shield berhrt. Stecken Sie nun das VFD-
auf der Platinenseite mit dem Best- Anschlussdrhte, sie werden durch die Shield auf den Arduino. Schlieen Sie ein
ckungsaufdruck montiert. Den Anfang zugehrigen Platinenbohrungen gesteckt. Steckernetzteil an den Arduino an, das
machen die Widerstnde, Dioden, Kon- Falls das Einfdeln nicht gelingen will, hat die stabilisierte Spannung 12 V abgibt
densatoren und die IC-Fassung. Die sich das spiralfrmige Krzen der Drhte und mit mindestens 300 mA belastbar ist.
Widerstnde sind stehend zu monieren, bewhrt, so dass jeder Draht unterschied-
dazu wird ein Anschlussdraht zur Gegen- liche Lnge hat. Die Anschlussdrhte wer- Wenn Ihnen beim Aufbauen kein Fehler
seite gebogen. Die Elkos liegen auf der den so weit in die Platine gesteckt, dass unterlaufen ist und sie jetzt das Stecker-
Platine, nachdem die Anschlussdrhte die Unterkante der Rhre die Oberkante netzteil mit dem Stromnetz verbinden,
rechtwinklig umgebogen sind. der Stiftkontaktleisten etwas berragt. zhlen die Ziernanzeigerhren in einer
Wir empfehlen, die Stiftkontaktleisten Wenn alle Anschlsse eingefdelt wurden Endlosschleife, und die Helligkeit der LEDs
zunchst lose auf die Platine zu stecken und die Rhren ausgerichtet sind, wird variiert langsam. Laden Sie die brigen
und die Konstruktion provisorisch auf den zunchst nur ein Draht jeder Rhre ange- Programmbeispiele in den Arduino, pro-
Arduino Uno zu setzen. Bei dieser Pass- ltet. Die Rhren mssen jetzt so justiert bieren Sie die Beispiele aus und kreieren
probe werden zwei oder drei Pins zur werden, dass sie exakt senkrecht auf der Sie eine neue Anwendung. Viel Spa!
Fixierung angeltet, danach wird der Uno Platine und parallel zueinander stehen. (150064)gd
abgezogen und die brigen Pins werden Erst wenn das Gesamtbild stimmt, wer-
verltet. den die brigen Anschlussdrhte angel-
Weblinks
Die nchsten Bauelemente sind die Tran- tet. Danach sind die Positionen der Rh-
sistoren, gefolgt von den vier LEDs der ren nicht mehr korrigierbar. Zum Schluss [1] www.youtube.com/
Hintergrundbeleuchtung. Die Platinenboh- bleibt nur noch, den 7555 in die Fassung watch?v=aiszksJs9C8
rungen fr die LED-Anschlsse benden zu stecken. [2] www.elektormagazine.de/150064

Stckliste
Widerstnde:
R1 = 510
R2,R3 = 1 k
R4 = 2k7
R5 = 3k9
R6...R18 = 10 k
R19...R30 = 68 k
R31...R42 = 100 k
R43...R54 = 220 k

Kondensatoren:
C1 = 2n2
C2,C3 = 8n2
C4 = 100 n
C5...C8 = 22 /50 V stehend
C9,C10 = 100 /25 V stehend

Halbleiter:
D1 = 1N4007
D2...D5 = 1N5819 Schottky-Diode
D6...D9 = LED 3 mm, Farbe nach Wunsch
T1...T13 = BC547B
T14...T25 = BC557B
T26 = BC639
T27 = BC640
IC1 = ICM7555

Auerdem:
TU1...TU4 = IV3(a) Siebensegment-VFD-Rhre
DIP-Fassung 8-polig fr IC1
1 Satz Steckverbinder, Arduino-kompatibel,
(16 Pins, 28 Pins, 110 Pins)
Bild 3. Auf der Platine werden ausschlielich bedrahtete Bauelemente verbaut.
Baupaket (inklusive 4 VFD-Rhren):
150064-71

60 September 2015 www.elektormagazine.de


Willkommen bei SHARE
Jaime Gonzlez-Arintero
SHARE Von

Play Hard
jaime.glez.arintero@eimworld.com

Achtung, Philosophie! Heutzutage zahle ich gerne fr alles, auf Papier


Letzte Woche sah ich oder digital. Doch damals waren wir noch Kinder.
eine kurze Dokumen- Es war herausfordernd und schwierig. Und es hat
tation, die die Grnde Spa gemacht!
e r ku n d e n w o l l t e, Die meisten Spiele (und auch kommerzielle Soft-
warum Menschen ware) konnten mit einer geklonten CD oder einem
Spiele spielen. Die gemounteten virtuellen Laufwerk (mit Software
Schlussfolgerung war wie DAEMON Tools) gehackt werden. Andere Spiele
mehr oder weniger, bentigten mehr Schritte, etwa das berschreiben
dass das Leben selbst von Registern, Dateien, DLLs mit Key-Generato-
ein Spiel ist, aber das ren. Dies war weithin bekannt und man konnte
Ziel dieses Spiels nicht leicht Schritt-fr-Schritt-Anleitungen in suspekten
jedem klar erscheint. ZIP-Dateien irgendwo herunterladen. Sie mussten
Anscheinend mssen nur den Anweisungen zu folgen, und voil: Das
wir aber solche Ziele haben, und wenn keine Ziele Spiel luft.
oensichtlich sind, so mssen wir sie individuell Manchmal waren die Dinge komplizierter: Ein
selber setzen. Schlssel wurde intern vom Installer auf Basis
Wie die meisten Menschen meiner Generation der Computer-ID oder einer anderen verfgba-
DESIGN

habe ich Videospiele gespielt, als ich ein Kind ren Seriennummer lokal erzeugt und direkt in
war. Ich fand das Gymnasium nicht sehr am- die Exe-Datei eingetragen. Mit etwas Glck und
sant, aber Videospiele schon. Damals waren Video- wenn die Anwendung selbst nicht verschlsselt
spiele ziemlich teuer, so dass man sie normaler- war, konnte man einem solchen Schlssel mit
weise mit Freunden teilte. Computerspiele wur- einem Hex-Editor auf die Spur kommen. Auch
den gehackt und herumgereicht und es war kein wenn man nur den Schritten folgte, die jemand
Wunder, dass sie mit immer anspruchsvolleren anderes detailliert herausgefunden hatte es
Kopierschutz-Techniken auf den Markt kamen. war doch ein Gefhl des ultimativen Hackens
Einen Internet-Zugang besaen damals nur die (oder Crackens, sollte ich sagen).
wenigsten, aber man konnte immer die Bibliothek Der lustige Teil der Geschichte ist, dass ich ein-
besuchen, um in Foren und Chats Anleitungen zu mal Spiele erfolgreich gecrackt habe, so dass
nden, wie man den neuesten Kopierschutz kna- sie ordnungsgem auf meiner Oine-Maschine
cken knnte. Wieder zu Hause, versuchte man funktionierten, ich sie aber nur selten gespielt
sich oine an verschiedenen Dingen. Es war ein habe. Das Cracken war aufregender als das Spiel
You vs. The Game-Spiel. Ich bin nicht besonders selber, es ans Laufen zu bekommen, war das
stolz darauf, gebe aber zu, es getan zu haben. eigentliche Spiel.
LEARN

Braid ist ein Meisterwerk, das unge- Wenn Sie Portal nicht kennen, sollten Sie In Fez gibt es Puzzles zu lsen und den
nutzte Teile meines Gehirns aktivierte. es kennenlernen. Es ist ein wunderbar Weg im Wechsel zwischen 2D- und
Konzepte wie die Laufzeitverzgerung kniiges Spiel, das Sie jeden Morgen 3D-Perspektive zu nden. Haben Sie
wurden nie so schn dargestellt. anders in den Spiegel schauen lsst. schon gemacht? Ok, aber nicht so!

Play Harder
Aber hey, was ich eigentlich sagen wollte ist: Es war nicht vllig umsonst! Ich wollte meinen kollegialen Com-
puterfreaks schon immer mal ein paar Gaming-Titel empfehlen. Wenn Sie immer noch gerne Videospiele spie-
len und Sie bereit fr etwas Gehirntraining sind: Ich habe einige liebgewonnene Games in einer kurzen Liste
zusammengestellt. Nein, es handelt sich nicht um The Incredible Machine oder bloe Puzzle-Spiele, die wie
Schaltungs- oder Platinendesigns aussehen. Wenn Sie weitere Screenshots, grere Bilder, aktive Links sehen
mchten ... oder einfach diesen Artikel kommentieren und mit Freunden teilen wollen, dann navigieren Sie zu
[http://po.st/playharder].

www.elektormagazine.de September 2015 61


LEARN DESIGN SHARE

Elektronische Baukltze
Rapid (e-)Prototyping
mit Bricks und Bricklets von TinkerForge
Von Clemens Valens (Elektor-Labor)

Der Bau von Prototypen ist auch fr komplexe Steuerungen schnell erledigt, wenn man vorgefertigte
Module verwendet. Heute existieren aber so viele modulare Systeme, dass es schwer ist, den berblick zu
bewahren. Mglicherweise ist der Ansatz mit Bricks & Bricklets genau das Passende fr Sie? Hier unsere
Erfahrungen damit.

Das Test-System fr diesen Artikel bestand aus dem Motortreiber-Modul DC Brick und den beiden Bricklets Pushbutton und Rotary Poti sowie dem
RED Brick, einem Master Brick und der Ethernet Extension.

Rapid Prototyping scheint ein boomender Markt zu sein, wenn ich doch zugeben, dass mich die Qualitt der vor mir liegen-
man die Anzahl von Tools betrachtet, die es schon gibt oder den Module beeindruckt hat.
die gerade auf den Markt drngen. Dabei stehen preiswerte
Anstze fr das Hobby & Lernen (wie Arduino) neben hochpro- Wer, wie, was?
fessionellen Lsungen (entwickelt von den Gren der Industrie Die Module von TinkerForge sind eine Art elektronische Bau-
fr die Industrie). Es ist also wahrscheinlich, dass eines dieser steine, die man aufeinander stecken und zu einem komplexen
Systeme genau zu Ihren Anforderungen passt. Alle Lsun- System verdrahten kann. Die Module selbst machen erst ein-
gen haben schlielich das gleiche Ziel: die Vereinfachung des mal gar nichts. Es ist Sache des Anwenders, sie mit Code zum
Prototypenbaus! Leben zu erwecken. Als Software dient eine PC-Applikation, die
Eines der neuesten Prototypen-Systeme auf meinem Tisch in vielen Sprachen (von C/C++ usw.) und sogar LabVIEW oder
stammt von TinkerForge [1], einer aufstrebenden deutschen Mathematica geschrieben werden kann. Die Module gibt es in
Firma. Auch wenn ich nicht leicht zu beeindrucken bin, muss der Form von Bricks, Bricklets, Erweiterungen und Zubehr. Ein

62 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

Brick besteht aus einem Mikrocontroller-Modul mit Spezialteil Weshalb? Warum?


(z.B. Motortreiber). Ein Bricklet enthlt entweder einen Sensor Das klrt sich, wenn man mit den Bausteinen herumspielt.
(z.B. ein Poti) oder einen Aktor (z.B. eine LED). Ein typisches Nachfolgend meine Erfahrungen.
System besteht also aus mindestens einem Brick, zu dem man
Bricklets hinzufgen kann. Die PC-Applikation kommuniziert Zunchst las ich das Tutorial First Steps von der Website. Es
mit dem Brick, schickt Befehle zu ihm und holt Daten von ihm. arbeitet mit dem DC Brick ich also auch. Bei diesem Brick
Ein Brick kommuniziert mit angeschlossenen Bricklets. handelt es sich nicht um ein Netzteil fr einen Brick-Stapel,
Ein PC ist obligatorisch, denn auf dem PC luft die Anwen- wie man meinen knnte, sondern um einen Brick mit einem
dungs-Software, nicht auf dem Brick. Auer man investiert Treiber fr DC-Motoren. Die Verbindung zum PC erfolgt ber
in einen so genannten RED Brick; der kann nmlich den PC einen Mini-USB-Anschluss. Der DC-Motor kommt an die (nicht
ersetzen. Dazu spter mehr. gerade leichtgngigen) Federkontakte. Anschlieend muss man
Ein Brick kann mit einer begrenzten Anzahl an Bricklets Ver- noch Software installieren:
bindung aufnehmen wieviel genau, das hngt vom Brick ab. Brick Daemon (brickd) - ein kleines Hintergrund-Programm, das die
Bricks knnen aufeinander gesteckt werden, um noch mehr Kommunikation zwischen Brick und Software auf dem PC abhandelt
Bricklets anzusprechen. Bricklets hingegen knnen nicht gesta- Brick Viewer (brickv) - ein prima Tool zur Konguration des
pelt werden. Sie werden mit Kabeln angeschlossen. Systems, das unter anderem zeigt, welches Bricklet mit wel-
Erweiterungsmodule erlauben z.B. die Verbindung mit Brick-Sta- chem Brick verbunden ist. Es bietet auch Interfaces zur Steu-
peln und deren Steuerung ber ein Netzwerk. Das ist ntzlich, erung von Bricks und Bricklets.

RED Brick mit WLAN-Dongle und SD-Karte. Stapel: RED Brick (unten), Master Brick (mittig) und Ethernet-Extension
(oben).

wenn das zu steuernde System entfernt oder nicht zugnglich ist. Der Brick-Dmon startet automatisch, sobald ein Brick ange-
Unter Zubehr laufen Steckverbinder, Muttern und Schrauben, Dis- schlossen wird. Den Brick Viewer muss man manuell starten.
plays etc. - was man eben so zur Komplettierung eines Systems Ein Klick auf Connect und die Verbindung zum Brick steht. Nun
bentigt. Diese Teile kann man auch aus anderen Quellen beziehen. sollten die Bricks im Baumdiagramm auftauchen, samt einem
Reiter fr das User-Interface einer Demo-Software. Im Viewer
Wofr? kann man die UID des Bricks sehen. Man braucht sie, wenn
TinkerForge-Module eignen sich fr Projekte, die irgendwie Elek- man dafr eigene Software schreiben will. Mit ihr adressiert
tronik bentigen, wo aber die Zeit, das Knnen oder die Lust man ein Objekt des Systems.
fehlt, eigene Elektronik zu entwickeln. Solche Leute nennt man Mit dem User-Interface im Viewer konnte ich die Geschwin-
neuerdings Maker oder eben Tinkerer - daher der Name digkeit und die Drehrichtung eines kleinen Motors einstellen.
TinkerForge. Auch wenn man als Anwender nicht unbedingt Nun probiert man aus, ob man das gleiche Verhalten auch
tiefes Elektronikwissen haben muss, sollte man doch halbwegs mit eigener Software erreichen kann. Im Folgenden wird vor-
programmieren knnen. Auf alle Flle gibt es detaillierte Tuto- ausgesetzt, dass Sie die Grundlagen der gewhlten Program-
rials fr den Einstieg. miersprache ausreichend beherrschen, und dass notwendige
Mgliche Programmiersprachen sind C/C++, C#, Delphi/ Compiler oder Interpreter bereits installiert sind.
Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/ Los geht es mit der Installation der API-Bindings der jewei-
Octave, Perl, PHP, Python, Ruby, Shell und Visual Basic .NET. ligen Programmiersprache. Detaillierte Anleitungen benden
C/C++ eignet sich fr iOS, C# fr Windows-Phones und Java sich fr jede Sprache auf der TF-Webseite. Meine Wahl war
fr Android. Es drfte kaum Produkte geben, die mehr Spra- Python 2.7, obwohl auch Python 3 mglich ist.
chen untersttzen. Um zu testen ob alles luft, ldt man sich ein paar Beispiele

www.elektormagazine.de September 2015 63


LEARN DESIGN SHARE

ren Bricklet kann man im Reiter die LEDs einschalten und die
Funktion kongurieren. Sehr nett das.
Mit Hilfe der Beispiele ist es sehr einfach, eine Anwendung
zu erstellen, mit der man die Motorgeschwindigkeit ber den
Poti einstellen und den Motor ber die beiden Taster ein- und
ausschalten kann. Die LEDs im Taster geben ein optisches
Feedback. Merkwrdigerweise funktionierten dann aber bei
Der Brick Viewer zeigt die Verbindung des DC Bricks mit zwei Bricklets. meinem Programm die Taster genau verkehrt herum (oder ich
Ihre UIDs bentigt man fr die Programmierung. habe einen Fehler eingebaut). Mein Beispiel-Skript kann man
von der Webseite zu diesem Artikel [2] downloaden.

fr die jeweilige Sprache herunter. Da meine Kombination aus Erweiterungen


DC Brick und Python bestand, whlte ich das Skript example_ Mit Bricks und Bricklets kann man beispielsweise einen Motor
Konfiguration.py. Man muss es noch editieren und an die steuern. Das Ganze wird dann an einen PC angeschlossen, auf
eigenen Bedingungen anpassen. Hierzu bentigt man den Brick dem der Brick-Dmon und die eigentliche Applikation laufen.
Viewer. Man net das Skript in einem Editor und passt die Doch wie steuert man Hardware, die nicht in der Nhe des
Parameter HOST, PORT und UID an die im Viewer zu sehenden PCs platziert ist? Hier kommen Erweiterungen in Form der
Werte an. HOST und PORT stimmen vermutlich schon nicht Tinkerforge-Extensions zum Zuge. Diese Module knnen mit
aber die UID, denn diese ist individuell pro Brick. Also ndern zwei Stacks kommunizieren, und am PC sieht das dann aus,
und die Datei sichern. Wenn man dann das Skript laufen lsst, als wre die Hardware direkt angeschlossen. Momentan gibt
sollte sich der Motor drehen. Bei einem Druck auf die Einga- es vier Extensions: Ethernet, WLAN (Wi-Fi), RS485 und Chibi
betaste stoppt das Skript, aber der Motor luft weiter. Man (ein leider nicht sehr bekannter Open-Source-Funk-Standard
kann ihn manuell anhalten, indem man folgende Python-Be- nach 802.15.4).
fehle ausfhrt: Extensions bentigen aber einen Master Brick ein DC Brick
reicht nicht. Doch das ist kein prinzipielles, sondern nur ein
>>> ipcon = IPConnection() Kostenproblem. Fr die Fernsteuerung eines DC Bricks via
>>> dc = DC(6qCdtB,ipcon)
Ethernet Extension braucht man also noch einen zustzlichen
>>> ipcon.connect(localhost,4223)
>>> dc.set_velocity(0) Master Brick. Ich kombinierte also die Ethernet Extension mit
einem Master Brick und auch wenn alles gut aussah, so blieb
In den ersten drei Zeilen stehen die Schritte, die zum Aufbau mir doch verborgen, wie das Ganze funktioniert. Laut TF-Web-
einer Verbindung zu einem Brick ntig sind (es geht um die Para- site kann man ein solches System sogar per Smartphone oder
meter HOST, PORT und UID). Die letzte Zeile stoppt den Motor. Tablet ganz ohne Dmon-Software steuern - blo wird nicht
Zum Abschluss muss die Verbindung wieder getrennt werden: angegeben, wie das gehen soll. Es gibt keine Doku dazu und
auch keine Beispiele.
>>> ipcon.disconnect() Mit einem kleinen Trick fand ich die IP-Adresse der Extension
im DHCP-Mode heraus, bei dem ein Server die Adresse ver-
Noch ein Hinweis zum Experimentieren mit dem DC Brick: Man gibt. Wenn man die Extension kurz auf Static IP umschaltet,
muss den Motor erst aktivieren, bevor irgendetwas passieren werden die aktuellen Werte angezeigt. Man notiert diese und
kann. Hierzu dient der Befehl dc.enable(). schaltet zurck auf DHCP, ohne die Konguration zwischen-
Wenn Sie an diesem Punkt angelangt sind, knnen Sie auch durch zu sichern.
die restlichen Produkte von TinkerForge ausprobieren.
RED Brick
Bricklets Dass ein Brick einen PC bentigt, auf dem die Applikation luft,
Es gibt ganz schn viele Bricklets, und zuknftig wird es sogar ist fr manche Zwecke ungeeignet. Deshalb gibt es es von
noch mehr geben. Beispiele sind analoge Ein- und Ausgnge, TinkerForge den RED = Rapid Embedded Development Brick.
Barometer, Entfernungsmesser, GPS, IO16, Joystick und viele Es handelt sich dabei um einen kleinen Linux-Computer auf der
andere Bricklets. Wie schon gesagt, knnen Bricklets nur und Basis von Debian, der Applikationen der meisten untersttzten
ausschlielich an Bricks angeschlossen werden. Eine Ausnahme Programmiersprachen akzeptiert. Ausgeschlossen sind nur Lab-
ist der RED Brick: Er akzeptiert keine Bricklets. An einen Mas- VIEW, Mathematica und MATLAB. Das Schreiben, Debugging
ter-Brick knnen bis zu vier Bricklets angeschlossen werden, ein und Testen der Applikation geschieht auch hier auf dem PC.
DC Brick vertrgt nur zwei. Die Verbindung zwischen Brick und Wenn sie fertig ist, wird sie auf den RED Brick bertragen und
Bricklet erfolgt ber ein zehnpoliges Kabel, das nicht so einfach dort ohne nderungen ausgefhrt. Die Programmausfhrung
selbst zu machen ist. Man kauft es besser fertig. Es gibt sie in kann man sogar planen (beim Booten; jede Stunde etc.) und
unterschiedlichen Lngen. Bevor Bricklets angeschlossen oder berwachen. Es ist auch mglich, mehrere Programme gleich-
entfernt werden, sollte man die Brick-Stromversorgung trennen. zeitig auszufhren.
Ich koppelte die Bricklets Rotary Poti (schnes Denglisch :-)) Wenn Sie sich je mit dem Raspberry Pi oder einem anderen
und Dual Button an meinen DC Brick. Nach Einschalten konnte Embedded-Linux-System beschftigt haben, dann kennen Sie
man die Bricklets im Viewer unter dem DC Brick sehen. Fr die Komplexitt samt der Frustration bei der Konguration. Tink-
jedes Bricklet gibt es einen eigenen Reiter. Im Poti-Reiter sieht erForge hat das Ganze vereinfacht, indem fr den RED Brick
man eine Grak mit der Stellung (in Grad) und beim ande- eine umfangreiche Konguration via Brick Viewer eingebaut

64 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

wurde. Dank dieses GUI ist es simpel, eine WLAN-Verbindung


aufzusetzen (man muss nur einen USB-WLAN-Dongle anste-
cken). Man sieht damit gut, was sich bei diesem Brick tut. Fr
Mausverchter gibt es natrlich auch die Kommandozeile, mit
der Linux-Befehle eingegeben werden knnen. Man kann das
System auch runterfahren oder neu starten, aber an einer
weniger oensichtlichen Stelle: Mit dem System-Taster in der
rechten oberen Ecke des Tabs fr den RED Brick. Jedes Linux-
Board sollte so einfach zu kongurieren sein!

Wenn der RED Brick via WLAN oder Ethernet mit dem Netzwerk
verbunden ist und die IP-Adresse klar ist, dann kann man sich
in das Web-Interface des RED Brick einloggen und die hier dar-
gebotenen Infos zu den installierten Programmen betrachten.
Man kann sich natrlich auch ein eigenes Interface schreiben,
denn HTML/JavaScript, Python und PHP werden untersttzt.
Der RED Brick verfgt auch ber ein HDMI-Interface. Wenn
man ein passendes Display anschliet, erscheint beim Booten
Das Interface zur Linux-Konguration fr den RED Brick im Viewer. In der
eine GUI. Meine Testversion wurde mit einem Touchscreen
Liste aktiver Programme sieht man brickd, den Brick-Dmon.
geliefert, doch das Steuern per Berhrung funktionierte nicht,
obwohl die LED auf dem Display signalisierte, dass alles kor-
rekt angeschlossen war. Mglicherweise war das eine Frage
der Konguration irgendwo.

Community
Wenn man anfngt, sich mit Bricks und Bricklets zu beschfti-
gen, empehlt sich der regelmige Besuch des Diskussions-
forums [3] (in Deutsch und Englisch), denn hier werden Soft-
und Hardware-Updates angekndigt. Im Forum ist viel los. Als
ich mit diesem Artikel begann, lud ich den Brick Viewer 2.2.2
herunter. Zwei Monate spter gab es schon das Update auf die
Version 2.2.5 plus eines fr die Brick-Firmware.

Open Source
Alles was mit Bricks, Bricklets und Extensions zu tun hat, ist
open source. Daher kommt man auch an fast allen Code heran
und hat Zugri auf alle Schaltplne.

Fazit
Hier sieht man die Position des Poti-Bricklets.
Da nun klar ist, wie TinkerForge-Module operieren, stellt sich
die Frage aller Fragen: Ist diese Lsung besser als andere?
Die Antwort hngt von der Anwendung ab. Ich selbst war
von diesem Rapid Prototyping System sehr beeindruckt. Es
untersttzt so viele Programmiersprachen, dass jeder, der im
Laufe seines Lebens einmal programmiert hat, mit Bricks &
Co. zurechtkommen sollte. Auerdem gibt es eine umfang-
reiche gut geschriebene Dokumentation und viele Beispiele.
Selbstverstndlich sehe ich auch Verbesserungsmglichkei-
ten, zum Beispiel beim Viewer. Und wenn es um besondere
Fhigkeiten fr das eigene Projekt geht, kann es eng werden.
Doch da helfen dann das Forum bzw. andere User und selbst
vom TinkerForge-Team gibt es Untersttzung. Und wie schon
gesagt: Die Qualitt der Hardware ist wirklich exzellent.
(140553)

Weblinks
[1] www.tinkerforge.com
[2] www.elektormagazine.de/140553
[3] www.tinkerunity.org/forum/index.php Das Interface fr den DC Brick im Viewer erlaubt die Einstellung von
Geschwindigkeit und Drehrichtung des Motors.

www.elektormagazine.de September 2015 65


LEARN DESIGN SHARE

Platino-Transistortester
Elektor 3/2015, S. 60...65 (130544)
NACHTRAG. Im Artikel wurden nur knappe Angaben zur Funktion von Transistor T1
gemacht. Nach dem Aufbau laut Schaltung hat dieses Bauteil keine besondere Bedeu-
tung fr den Anwender. T1 dient zur Selbstkalibrierung via Portleitung PA3. Die kon-
krete Funktion ist im Sourcecode ersichtlich, der in BASCOM-AVR geschrieben wurde.
Es wird auch nicht nher auf die Frequenz des Quarz-Oszillators auf dem Platino-Board
eingegangen. Die Frequenz ist 8 MHz (steht ebenfalls im Sourcecode).
[www.elektormagazine.de/130544]

Projekt 2.0
Korrekturen, Updates und Nachtrge zu
verentlichten Artikeln
Tippfehler, richtige Irrtmer und Nachtrge dieses Mal sogar historische Verwechslungen! Nach Murphy
geht bekanntlich schief, was schief gehen kann. Auch wenn wir stets sehr bemht sind, einwandfreie Schal-
tungen zu prsentieren, ist der Fehlerteufel damit nicht ganz einverstanden. Glcklicherweise haben wir
Leser mit Adleraugen (also Sie!), die alles merken. Ein groes Dankeschn fr Ihre aufmerksamen Beitrge!

UART/RS232-Datenlogger
Elektor 4/2015, S. 38...43 (140126)
UPDATE. Unter Windows 8 und neueren Versionen kann es notwendig sein, dass
man den USB-Treiber fr den Datenlogger installieren muss. Schn, aber DSE, das
Driver Signature Enforcement von Windows, zickt dann, da es nicht signierte Treiber
blockiert. Als Work-Around sollte man DSE deaktivieren, was aber gar nicht so einfach
ist. Glcklicherweise gibt es dafr viele Anleitungen im Internet, die das Vorgehen
erlutern. Bercksichtigen Sie also den nachfolgend verlinkten Patch. Mit deaktivier-
tem DSE wird der Treiber problemlos installiert.
[http://po.st/disableDSE]

JB-Synthesizer: Eine oene digitale Musikplattform


Elektor 1/2015, S. 44...55 (140182)
UPDATE. Der Leiter des Elektor-Labors Clemens Valens hat die Software des erfolg-
reichen JB-Synthesizers erweitert. Jetzt sind drei neue Firmware-Versionen verfg-
bar. Eine davon verwandelt den Synthesizer in eine (rudimentre) Drum Machine.
Es handelt sich dabei um Portierungen von Soulsbys Atmegadrum, Atcyclotron und
Delayertron. Zusammen mit der originalen Atmegatron-Firmware verwandelt sich das
Instrument nun in gleich vier besondere Synthesizer. Man kann die Archiv-Datei mit
allen vier Firmware-Files von der originalen Projektseite bei Elektor.Labs oder ber
den nachfolgenden Link herunterladen.
[http://po.st/J2Bv3]

USB-Hub/UART-Konverter mit RS232/422/485


Elektor 11/2014, S. 22...32 (140033)
KORREKTUR. In der abgedruckten Schaltung wurden bei IC2, dem Spannungsregler
LM2937, die Pins 2 und 3 vertauscht. Richtig ist: 1 = Eingang, 2 = GND und 3 = Aus-
gang. Die verbesserte Schaltung kann via nachfolgendem Link heruntergeladen werden.
Der Fehler ist in den Platinen nicht enthalten und auch nicht in den anderen Dateien.
[http://po.st/140033schematic]

66 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

Von 8 auf 32 bit:


ARM-Controller fr Einsteiger (3)
Elektor 4/2015, S. 10...17 (150041)
KORREKTUR. Ein simpler Buchstabe kann bekanntlich einen groen Unterschied machen.
So auch hier, bei Listing 1: In den Kongurationsfunktionen fr WDT und EIC nden
sich zwei identische Befehle (beide im zweiten Teil des Codes, mit wenigen Zeilen
dazwischen). Leider ist bei beiden der Buchstabe fr den Port falsch: A ist falsch.
Richtig ist B. Die Korrektur lautet daher:
config_extint_chan.gpio_pin_mux = MUX_PBxxA_EIC_EXTINTx;
Die x stehen dabei fr Pin-Nummer und Kanal-Nummer. Statt die Zeilen zu suchen
und hndisch zu korrigieren knnen Sie sich auch ganz einfach den korrigierten Code
von der Webseite zu diesem Artikel holen. Dieser Fehler wurde vom Autor entdeckt.
[www.elektormagazine.de/150041]

Serieller USB-nach-Multi-Protokoll-Konverter
Elektor 4/2015, S. 70...76 (130542)
KORREKTUR. Im Kasten Was ist berhaupt eine serielle Schnittstelle? steht: Fr
die Verbindung der Terminals mit dem Mainframe-Rechner ber eine gewisse
Distanz wurde schlielich der bekannte RS232-Standard eingefhrt.
Tatschlich aber wurde RS232-C ursprnglich als Interface zwischen DTE (Data Ter-
minal Equipment, also Endgerten wie Terminals, Mainframes, Servers etc.) und DCE
(Data Kommunikation Equipment, also Datensendern wie z.B. Modems) eingefhrt. In
der Folge war es damit dann auch mglich, zwei DTEs direkt ber ein Kabel mit gekreuzten Datenleitungen zu verbinden.
Ein besonderes Dankeschn fr diese historische Richtigstellung geht an Ernst Stippl aus Wien.

AVR-Port toggeln (Rubrik Tipps & Tricks)


Elektor 4/2015, S. 23 (150027)
NACHTRAG. Der Trick ist schon lter, denn schon manche der ersten AVR-Mikrocontroller
vor 2005 konnten das. Wenn man im Datenblatt zum ATtiny13 schrft, kann man ihn
bei I/O Ports unter Ports as General Digital I/O im Abschnitt Toggling the Pin
(vor dem Abschnitt Reading the Pin Value) nden. Die Pin-Register nden sich fr
gewhnlich unter den ersten 32 I/O-Registern (Adresse < 0x20), weshalb man sie auf
Bit-Ebene ansprechen kann. Der Ausdruck PINB.5=1 im Code wird von BASCOM in
einen SBI-Befehl verwandelt. Wenn der Flash-Speicher eines AVR-Controllers grer
als 8 KB ist, demnach mit einer zwei Worte breiten IVT (Interrupt Vector Table), ist
es z.B. mglich, Ports direkt zu toggeln, z.B. durch Interrupt in der IVT. Ist der Pin als
Eingang konguriert, kann der interne Pullup-Widerstand durch die gleiche Prozedur
aktiviert und deaktiviert werden. Dennoch konnten in einigen AVR-Serien (in der Zeit
von 2007 bis 2010) die Pullups nicht ber die Data Direction Register oder die Port
Register gesetzt werden, doch verfgten diese ber eigene Pullup Enable Register.
Wenn ein Pin wegen einer anderen Funktion (wie z.B. Reset) nicht direkt genutzt werden kann, bleibt er doch zugnglich
(funktioniert zum Beispiel mit ATtiny4/5/9/10). Man kann dann immer noch bitweise XOR-Operationen durchfhren, um
z.B. ein Parity-Bit zu berechnen oder zu testen.
Ausfhrlichen Dank an Stefan Rosenthal fr diese Ausfhrungen!

Integrierter Gyrator TCA580


Elektor 4/2015, S. 28 (150024)
NACHTRAG. Christoph Kessler, ein aufmerksamer Leser, war im Besitz nicht nur der
deutschen Application Note fr das IC TCA580, sondern auch vom zugehrigen fnfsei-
tigen Datenblatt. Er hat diesen Fund eingescannt und uns freundlicherweise zukommen
lassen. Verentlichungsdatum war das Jahr 1974 richtig nostalgisch also. Beide
Dateien warten unter dem nachfolgenden Link auf ihren Download. Herzlichen Dank!
[http://po.st/TCA580DE]

(150288)

www.elektormagazine.de September 2015 67


LEARN DESIGN SHARE

Das war ein


heier, heier Sommer
Im Labor, mindestens
Auch wenn wir nicht wissen, ob der diesjhrige Sommer auf der
ganzen Welt so schn warm war wie bei uns, herrschte, was
die Ltkolben und die Mitglieder von Elektor-Labs betrit, eine
Bullenhitze. Um das zu beweisen, kommt hier eine bersicht der
Projekte, die auf Elektor-Labs.com entwickelt wurden und schon
prchtig aussehen. Deshalb stellt sich die Frage: Wird der Herbst
noch heier? Wer wei!

Zeitzeichen
Zeit
Dies astronomische Uhr bietet eine Unmenge an Informationen auf der Grundlage
Diese
aktu
aktueller Positionskoordinaten und zeigt alles auf nicht weniger als vier Displays! Green-
wich-Zeit, Sternzeichen, Zeit, Tag, Ort, Jahreszeit, Luftfeuchtigkeit, Temperatur, Luft-
wich
druck ... die Uhr ndert selbst ihr Aussehen je nach Tageszeit. Kontroll-Freaks - diese
druc
Uhr ist was fr euch!

On the drums: Unser neuer


O
analoger
a n Schlagzeuger
K
Klar, Software fr die Musikproduktion
is
ist bequem. Aber Schieberegler auf dem
oclock
t/astr
Bildschirm haben halt nicht die Haptik von
B
po.s
http:// e
echten Knpfen, mit denen man Beats
einstellt. Diese Beatbox besitzt einen Sequencerr
mit 16..3
16..32 Steps und eine zustzliche MIDI-Steue--
rung. Die zw
zwlf verschiedenen Sounds werden von n http://po.st/beatbox
einer analogen Quelle generiert. Ein
e n
Gefhl der Nostalgie der 80er Jahre?
G ?

Vertraut
Ve meinem Pegel!
Sin Sie auf der Suche nach einem vertrauenswrdigen Fllstandssensor zur Pegel-
Sind
berwachung in einem Brunnen oder Flssigkeitstank? Dieser Entwurf besteht aus
b
ein
einem Signalgeber und drei Empfangsstationen, an die Sonden (hoch, niedrig,
und kritisches Niveau/Alarm) angeschlossen werden. Die Schaltung kann auch einen
http://p
o.st/lev Pum
Pumpensumpf berwachen, um eine Pumpe automatisch zu aktivieren und so eine
elsenso
r Kellerutung zu vermeiden. Die Schaltung ist skalierbar; der erste Teil kann auch
Kell
alleine arbeiten.
allei

68 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

Geh nie ber deine Grenzen, USB!


Diese USB-Ports muss man wirklich immer unter Kont-
rolle haben... und dafr eignet sich ein Gert wie dieses
eses
hervorragend. Es misst und begrenzt
he enzt
den Strom zweier Ports ganz nach den
de
Wnschen beziehungsweise Einstellun-
W un-
gen des Benutzers. So wird ein zu
g
hoher Strom sicher vermieden. Echt-
h ht-
zeit-Werte werden auf einem Display
z ay
angezeigt,
a stehen aber auch ber er
einen
e FTDI USB-zu-TTL-5V-Port fr r
weitere Analysen zur Verfgung.

Ein elektronisches
http://po.st/19inabox
Schweizermesser http:/
/po.st
Wenn Sie mehrere Funk- /USBc
ontro
tionen in einem Projekt wo
wollen ... warum entwerfen l
Sie nicht ein Multi-Tool, das sie alle umfasst? Jawohl, das ist der Vorteil kun-
denspezischer Elektronik! Erinnern Sie sich an das 13-in-a-box-Projekt
(1/2013)? Nun, den 13 wurden jetzt sechs neue Funktionen hinzuge-
fgt, ein Summer, Spannungsmessung, Servosteuerung, DCF77-De-
kodierung, Neopixel-LED-Steuerung und DS1820-Temperaturmessung.
Und das Helferlein wchst und wchst und wchst ...

All You Need Is ... 8 Transistoren


Ein AM-Radio zu bauen bringt einen Haufen Spa. Dieses es
Projekt beschreibt die Montage und den Test eines super- er-
heterodynen AM-Radios, kurz Superhets: Es ist ein hervor- or-
io
ragender Einstieg in die hochfrequente Welt! Die ersten vierier http://po.st/8Qrad
Transistoren umfassen die Empfangsstufen inklusive Lokalos-os-
zillator LO, die anderen vier bilden einen einfachen dreistu-
u-
gen
g Verstrker. Die Schaltung
ung
arbeitet mit 6 V, so dass vier AA-Batterien zur Versor-
gung ausreichen. Damit ist das Radio sogar portabel!

Von der digitalen Uhr, die analog sein wollte


V
D
Dies ist die bewegende Geschichte einer digitalen Uhr, die gerne analog sein wollte,
a
aber nur TTL-ICs in ihrem Uhrkasten hatte. Statt der erwarteten Stunden- und
Minutenzeiger
M verfgt sie ber einen Kreis von LEDs. Ein Controller? Nein danke,
zu leicht, zu Mainstream! Aber das heit nicht, dass die Uhr nicht vom Benutzer
ei
einstellbar wre. Denn mit einigen DIP-Schaltern kann das LED-Muster systema-
tisch
tis verndert werden. Eine Digitaluhr ohne Mikrocontroller und mit einer analogen
http://p
o.st/TT Seele
Se .. 100% cool!
Lclo
lock

Die den Mond anbellen


D
Er
Erinnern Sie sich an Hacktor, die Platine, die sich in einen Hund verwandelt?
Nu
Nun kann dieses Tierchen auch bellen! Hacktor verfgt ber einen QTouch-N-
he
herungssensor von Atmel, der erkennt, wenn jemand in der Nhe ist. Ein
Au
Audio-Wiedergabe-IC lsst dann ein Bellen im Lautsprecher hren, der sich
im Bauch des Hundes versteckt. Und die LED-Augen blitzen gefhrlich. Natr-
lic
lich wurde Hacktor geschaen, um zu hacken. Das Board kann ber einen
O
Onboard-SPI-Anschluss programmiert und einfach in eigene Projekte einge-
b
bunden werden. Auerdem: Hacktor sieht echt gut aus auf Ihrem Schreib-
ti
tisch, nden Sie nicht?
http://po.st/hacktor (150338)

www.elektormagazine.de September 2015 69


LEARN DESIGN SHARE

Gerber-Dateien
aus dem Elektor-Labor
Von Thijs Beckers (Elektor-Labor)

Versuchsweise sind einige Gerber-Platinendateien im Elektor-Shop erhltlich. Was kann man damit
machen und wie funktioniert das Ganze?

Gerber-Dateien sind eine Gruppe von Dokumenten, die Maker-Community zu untersttzen. Mit den Gerber-Dateien
beschreibt, wie eine Platine hergestellt werden soll. Sie enthlt aus unserem Shop knnen Sie nun Elektor-Platinen bei einem
die verschiedenen Layer der Leiterplatte, die untere und obere Platinenhersteller Ihrer Wahl herstellen lassen, problemlos und
Kupferlage, die Siebdruck-Lage, die Ltmaske, den Bohrplan und professionell. Schlielich verwenden wir den gleichen Satz von
Informationen zu allen weiteren denkbaren Layern. Die Daten Dateien fr unsere eigenen Prototypen und unsere Produktion.
werden in oenen binren 2D-Vektorgraken gespeichert. Der- Wichtig zu beachten ist: Der neue Gerber-Datei-Service umfasst
zeit ist Extended Gerber oder RS-274X Industrie-Standard. nicht alle in Elektor verentlichten Projekte und wird dies
Es existiert auch ein Standard Gerber-Format, das allerdings auch in Zukunft nicht tun. Die Auswahl der Platinen nimmt das
abgekndigt ist und deshalb vermieden werden sollte. Labor vor. Jetzt, da ich dies schreibe, wird der Service gerade
Das Gerber-Dateiformat wurde ursprnglich von Gerber Sys- ausgearbeitet. Am besten, Sie suchen nach Gerber auf der
tems, einer Abteilung der von Joseph Gerber gegrndeten Firma Shop-Webseite, dann werden Sie eine aktuelle Liste mit allen
Gerber Scientic, in den 1960er und 1970er Jahren entwickelt, lieferbaren Dateipaketen erhalten.
um einen Vektor-Foto-Plotter fr die Leiterplattenindustrie zu
betreiben. Da Gerber seinerzeit Marktfhrer war, wurde das Da es sehr viele Platinenhersteller gibt, ist es unmglich aufzu-
Format ein De-facto-Standard fr die Branche. Und das ist zeigen, wie eine Bestellung jeweils funktioniert. Exemplarisch
immer noch so. leiten wir Sie durch den Bestellvorgang bei unserem Haus- und
Hoieferanten Eurocircuits. Bei Ihrem bevorzugten Hersteller
Mit der Entscheidung, allen Elektor-Lesern ber den Online- sollte es hnlich ablaufen, auch wenn die Dienste von Eurocir-
Shop (www.elektor.com) Zugang zu einem Teil der Dateien des cuits recht umfangreich sind und manche Optionen Ihnen mg-
Elektor-Labors zu gewhren, hoen wir, Sie anzuregen, noch licherweise nicht bei anderen Firmen zur Verfgung stehen.
mehr Elektor-Projekte zu realisieren und damit die boomende (150342)

Schritt 1. Gehen Sie zu eurocircuits.de und whlen Sie Kalkulator.

Schritt 2. Auf der nchsten Seite whlen Sie Analyse your data. Fr Ein-
zelanfertigungen knnen Sie auch PCB proto oder NAKED proto nutzen.

Schritt 3. Damit Eurocircuits Ihre Gerber-Dateien mit Ihren persnlichen Schritt 4. Nach der Anmeldung gelangen Sie zu einem Formular, in dem
Daten (wie Lieferadresse und Rechnungsstellung) kombinieren kann, ms- Sie Ihr Projekt und die Platinen-Eigenschaften angeben und Ihre in einer
sen Sie sich registrieren oder (wenn Sie bereits registriert sind) anmelden. ZIP-Datei komprimierten Gerberdaten hochladen.

70 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

Schritt 5. Nach dem Absenden Ihrer Daten klicken Sie auf Continue und gelangen zu einer bersicht der bermittelten Daten. Eurocircuits bietet Ihnen
umfangreiche Vorschau-Optionen fr Ihre Leiterplatten mit dem PCB-Visualizer. Mit diesem Tool knnen Sie eventuellen Problemchen oder Schwierigkei-
ten auf die Schliche kommen, die beim Produktionsprozess auftreten knnten. Nun aktivieren Sie die Entwrfe, die produziert werden sollen (Sie knnen
mehrere Boards in einer Bestellung zusammenfassen und diese vor dem Auschecken berprfen) und klicken Proceed to checkout.

Schritt 6. Schlielich sollten Sie die Versand- und Rechnungsadresse berprfen, dann klicken Sie auf submit. Ihre professionell hergestellte Platine sollte
sich bald auf dem Weg zu Ihnen benden!

Der PCB Visualizer zeigt


Produktionsdetails und lsst Sie
Fehler vor der Auftragserteilung
erkennen und korrigieren.

www.elektormagazine.de September 2015 71


LEARN DESIGN SHARE

SMD-Codierungen
Typenkunde fr Winzlinge
Von Harry Baggen (Redaktion NL)

Die Miniaturisierung elektronischer Bauelemente


brachte mit sich, dass anstelle konventioneller
Typenbezeichnungen kurze, kryptische Codes auf
winzigen Gehusen aufgedruckt sind. Wenn es
darum geht, diese Codes zu deuten, naht Hilfe aus
dem World Wide Web. Wir haben uns einige Seiten
angeschaut, die bei der Entschlsselung ntzlich
und klrend sein knnen.

In elektronischen Systemen Zum Glck ist Hilfe so nahe wie das World Wide Web. Wir
sind Bauelemente in SMD-Bauform allgegenwrtig, stellen nachfolgend einige Webseiten vor, die wir zum Thema
denn verglichen mit konventioneller Schaltungstechnik sparen gefunden haben.
sie nicht nur enorm viel Raum, sie senken auch drastisch die
Produktionskosten. Bedrahtete Komponenten bietet der Markt Widerstnde und Kondensatoren
zwar immer noch vielfltig an, doch es ist unbersehbar, dass SMD-Widerstnde tragen drei- oder vierstellige Codes, dies
dieses Angebot schrumpft. Allmhlich gehen Halbleiterher- hngt von der Toleranz ihres Werts ab. Die einfachste Syste-
steller dazu ber, neue Produkte ausschlielich als SMDs zu matik ist an den Farbcode bedrahteter Widerstnde angelehnt,
entwickeln und berkommene Bauformen aus dem Programm die Farben sind durch numerische quivalente ersetzt. Die vor-
zu nehmen. Dem Elektronik-Spezialisten im Entwicklungslabor deren zwei oder drei Ziern sind die signikanten Werte, die
und dem Service-Techniker in der Werkstatt bleibt keine andere Endzier steht fr den dezimalen Multiplikator. Widerstnde
Wahl: Auch sie mssen sich mit den SMDs arrangieren, falls mit der Toleranz 1 % werden nach Standard EIA-96 mit drei
das nicht lngst schon geschehen ist. Zeichen kodiert, der Multiplikator ist hier mit einem Buchsta-
ben angegeben. Die Website Your Hobby-Hour [1] enthlt eine
Als Anfang der neunziger Jahre die SMDs Einzug in die auto- kurze Erklrung, eine Tabelle mit den EIA-96-Werten sowie
matisierte Fertigung der Industrie hielten, hatte mancher Elek- einen SMD resistor code calculator, der den SMD-Aufdruck
tor-Leser die Vorahnung, dass das Ende seiner handwerklichen online in den zugehrigen Widerstandswert bersetzt. Auf der
Ambitionen in der Elektronik naht. Doch das war weit gefehlt: Website resistorguide.com [2] fanden wir eine hnlich kompakt
Mit der ntigen bung und Geduld, mit der obligatorischen
Pinzette, mit angepasstem Ltgert und leistungsstarker Lupe
sind auch die Zwerge unter den Bauelementen (meistens noch)
problemlos bezwingbar.

Bauelemente mssen identizierbar sein, auch als einzelnes


Exemplar, doch die Flche fr den Typenaufdruck ist auf den
winzigen Gehusen stark eingeschrnkt. Die Industrie hat
deshalb einen verkrzten Typencode eingefhrt, der aus nur
wenigen alphanumerischen Zeichen besteht. Das Problem der
Umsetzung in den Klartext tritt bei verpackten SMDs kaum
auf, denn die Umhllung trgt meistens auch die herkmm-
liche Typenbezeichnung. Bei unsortierten oder auf Platinen
verbauten SMDs ist jedoch der Typencode das einzige uere
Identizierungsmerkmal.

72 September 2015 www.elektormagazine.de


REVIEW AUS DEM LABOR WEB-RECHERCHE UPDATES

SMD-Codierungen:
Keine Geheimsprache, sondern Kennzeichnung von Bauelementen in Kurzformat.

gehaltene Beschreibung, ergnzt durch einen Video-Clip, er


setzt die Zusammenhnge audiovisuell in Szene.
Kondensatoren lassen sich weniger leicht identizieren, hier
kommt es auf die physische Gre an. Auf Typen hoher Kapa-
zitt wie Elkos ist meistens gengend Platz vorhanden, um die
Kapazitt und Arbeitsspannung im Klartext anzugeben. Kleine
Kondensatoren werden hug in gleicher Weise wie Wider-
stnde mit drei Ziern kodiert (siehe [3]). Gelegentlich fehlt
jedoch jeder Aufdruck, was brigens auch fr kleine Induktivi-
tten gilt. Montierte SMDs mssen dann entltet und gemessen
werden, bei Kondensatoren bleibt allerdings die Arbeitsspan-
nung unbekannt. Wenn die messtechnische Bestimmung eines
Kondensators nicht mglich ist, kann die Gehusefarbe (siehe
[4]) einen groben Hinweis auf den Kapazittsbereich geben.

Halbleiter
Bei nicht komplexen Halbleiter-SMDs mit zwei, drei oder auch ten angegeben. Dem SMD Codebook sind wir auf mehreren
mehr Anschlssen (Dioden, Transistoren, Opamps, Spannungs- unterschiedlichen Websites begegnet. Eine HTML-Version nennt
regler, Reset-Schaltungen) ist das Identizieren des Typs eine sich GM4PMKs SMD Codebook [6], wir haben sie nicht voll-
Kategorie schwieriger. Auf vielen SMDs dieser Gruppe sind stndig verglichen, doch inhaltlich ist sie vermutlich identisch.
zwei oder drei Zeichen in hervorgehobener Schrift aufgedruckt, Eine ntzliche Hilfe kann auch die SMD-Webseite von S-Ma-
begleitet von Zeichen in untergeordneter Schrift, die das Produk- nuals [7] sein. Unter Marking SMD fanden wir eine Tabelle, in
tionsdatum und die Charge angeben. Da auf dem Gehuse nur der smtliche zweistelligen Kombinationen alphanumerischer
wenige Zeichen Platz haben, die Typenvielfalt aber immens ist, Zeichen gelistet sind, die den Anfang eines SMD-Codes bilden
kann die gleiche Zeichenkombination unterschiedliche Bedeu- knnen. Die Links, die mit den Kombinationen verknpft sind,
tungen haben. Auf diversen Websites stehen bersichten und fhren zu Listen der in Frage kommenden Typen. Auch hier
Tabellen bereit, die zu zahllosen Kombinationen die mgli- sind stets die Typenbezeichnungen, die Bauformen und die
chen Typenbezeichnungen mit den zugehrigen Herstellern Hersteller angegeben. Ein weiterer Mausklick fhrt unmittel-
angeben. In nicht seltenen Fllen lassen sich der gleichen bar zum Datenblatt des potentiellen Typs.
Zeichenkombination 20 oder mehr Halbleitertypen zuordnen. Bei komplexeren SMD-Halbleitern mit zwei Dutzend oder mehr
Dann muss die Bauform in ihren Details mit den Datenblttern Anschlssen ist so viel Mhe nicht notwendig, denn dort reicht
verglichen werden, und die Schaltung, in der die Komponente der Platz gewhnlich aus, um die Typenbezeichnung im Klar-
verbaut ist, wird zu Rckschlssen herangezogen. Die nach- text aufzudrucken.
folgend genannten Websites knnen bei solchen Puzzlespielen
eine gute Hilfestellung leisten. Wir wnschen Ihnen viel Intuition und Sprsinn bei der Iden-
The SMD Codebook [5] ist ein 80 Seiten umfassendes PDF-Do- tizierung unbekannter SMDs!
kument, das auer einfhrenden Erklrungen diverse Code-Ta- (150339)gd
bellen enthlt. Zu jedem SMD-Code sind der mgliche Typ, der
Hersteller, die Gehusebauart sowie einige wichtige Eigenschaf- Korrektur: In der Web-Recherche des Maihefts (Stbern und staunen bei
Hackaday) ist beim Projekt Using the Red Pitaya as an SDR ein falscher
Entwickler angegeben worden. Das Projekt wurde durch Pavel Demin entwickelt.

Weblinks
[1] www.hobby-hour.com/electronics/smdcalc.php
[2] www.resistorguide.com/resistor-smd-code/
[3] www.radio-electronics.com/info/data/capacitor/smd_capaci-
tor.php
[4] https://de.wikipedia.org/wiki/Surface-mounted_device
[5] www.sos.sk/pdf/SMD_Catalog.pdf
[6] www.marsport.org.uk/smd/mainframe.htm
[7] www.s-manuals.com/smd

www.elektormagazine.de September 2015 73


Elektor World News
Zusammengestellt von Beatriz Sousa

Noch logistischer
Wir htten nie erwartet, dass der Elektor-Shop ein sol-
cher Erfolg werden wrde, aber er wurde es! Schon die
Crazy-Xmas-Aktion war toll,
aber die Cool Summer Deals
stellten alles in den Schatten.
Der Erfolg veranlasste uns, Die erneuerte Website elektormagazine.de ist auf breite Zustim-
Lager und Logistik-Abteilung mung gestoen. Unser Publikum ist auf der Plattform schon ziemlich
ein wenig aufzupeppen, so aktiv gewesen und hat den Weg zu den vielen neuen Mglichkeiten
dass wir ab sofort schneller schnell gefunden. Abgesehen davon, dass die neue Website
und problemloser liefern kn- ein neues Zuhause fr alle tglichen Nachrich-
Nachrich
nen. Wir entschuldigen uns, ten, Publikationen und Zeit-
wenn Sie Opfer einer Verzge-
rung bei der Bearbeitung Ihrer
Bestellung bei einer unserer
sehr beliebten Werbeaktionen
geworden sind.

Robotcamp
Krzlich veranstaltete der
Elektor-Experte Bart Huyskens
einen Roboter-Workshop fr
Kinder in seinem Heimatland
Belgien. Mit einigen Boards
aus dem Elektor-Labor und
Barts unnachahmlich begeis-
ternder Methode, Elektronik
zu vermitteln, hat er sicher
die Kinder fr ihr Leben als Elektroniker und als (Junior-)Elek-
tor-Mitglieder gewonnen ;-).

READ ONLY MEMORY


Unser Magazin kann auf eine lange Geschichte zurckblicken. In diesem
Kasten zeigen wir stolz Vergangenes aus alten Tagen.

Intels 8052AH-BASIC-Mikrocontroller war der Arduino der


achtziger Jahre des vorigen Jahrhunderts. Elektor-Projekte
wie der 8052AH-BASIC-Sing-
BASIC-Sing-
le-Board-Computer er (1987)
und der 8032/8052-Sing-
52-Sing-
le-Board-Computerr (1991)
waren sehr beliebt. t. Viele
Leser haben mit diesen
Boards ihre ersten Embed-
mbed-
ennt-
ded-Programmierkennt-
nisse gesammelt. Das
8052AH-BASIC-Board rd
war im Mrz 2007 7
Thema der Rubrik
Retronik.

LEUTE CJ Abate von CircuitCellar war (sehr!) behilf lich, die Elektor-Kampagne Cool Summer
groen Erfolg werden zu lassen Muhammed Skt, im deutschen Team verantwortlich fr
und -Produkte in themenverwandten, deutschsprachigen Communities an Client Managerin
Unternehmen dazu ein, special reports in der nchsten Ausgabe von Elektor Business zu

74 September 2015 www.elektormagazine.de


EXPERTENPROFIL
Elektor arbeitet mit mehr als 1.000 Experten und Autoren bei der Produk-
tion von Bchern, Artikeln, DVDs, Webinaren und Live-Events zusammen.
In jeder Ausgabe wollen wir einen von ihnen ins Rampenlicht stellen...
Elektor Select Pages Name: Jason Long
Alter: 37
Ausbildung: Elektroingenieur
schriften-Artikel bietet, gibt es noch viel mehr zu entdecken. (B.ScEE)
Zum Beispiel die Elektor Select Pages.
Publikationen: Sehr viele
Online-Tutorials
Select Pages sind Webseiten, auf denen wir Informationen
und Publikationen zu einem bestimmten Thema zusam- Training: PIC, ARM, ANT+,
menstellen. Diese Themen variieren, es sind natrlich auch BLE, LabVIEW, Low-power-
beliebte Themen wie Arduino oder Raspberry Pi darunter. Embedded-Entwicklungen
Select Pages sollen dem Leser auch ermglichen, bestimmte Wer ist Jason Long?
Inhalte an einem bestimmten Ort zu nden, zum Beispiel all Ich bin Kanadier und verliebt in Embedded-Systeme. Ich habe
die digitalen Extra-Projekte oder die besten Elektor.TV-Sen- dieser Leidenschaft in den letzten 15 Jahren Ausdruck verlie-
dungen. Andere Select Pages kombinieren bestimmte The- hen, indem ich ehrenamtlich andere Menschen unterrichtet
men, die zusammen einen Wissensbereich abdecken, wie habe. Seit 2010 arbeite ich bei Engenuics Technologies.
zum Beispiel unsere (englischsprachige) Select Page Power
and Energy, die nicht nur ber erneuerbare Ener- Welches wird die Schlsseltechnologie in der Elektronik werden?
gien berichtet, sondern auch Batterietechnologien Netzwerke, die mit Nahfeldkommunikation (NFC) und Funk-
zum Thema hat. Es ist eine vllig neue und eziente protokollen wie ANT+ und BLE funktionieren. Dies wird das
Mglichkeit, zu browsen, zu surfen und das Beste Internet der Dinge explodieren lassen. Embedded-Entwick-
von Elektor zu entdecken! Sie knnen einen Blick auf ler, die sich mit Hardware- und Firmware-Design auskennen,
eine unserer Select Pages werfen: werden stark gefragt sein.

www.elektormagazine.com/select/energy. Was war DIE Entwicklung in der Elektronik?


In den letzten Jahren ist die ARM-Cortex-Familie enorm wichtig
Die Select Pages werden durch Tags gewesen, vor allem mit Bausteinen wie dem Nordic nRF51. Er
(Schlagwrter) angesteuert. Klickt man enthlt alles, was man fr Low-Power-Wireless bentigt (ich
auf einen Tag, der mit einer arbeite nicht fr Nordic, aber ich liebe dieses Teil!).
Select Page verknpft ist,
erscheint oben unter dem Was unterscheidet Kanada von den USA, was die E-Innovation
Textfeld der Suchmaschine betrit?
ein Kstchen mit einem klei- Vielleicht wird die Innovation in Kanada durch die Leidenschaft
nen Ketten-Icon und einem der Menschen angetrieben, whrend in den USA der Kapita-
Link zur Select Page. Auer- lismus die Triebfeder ist? Aber ehrlich, Innovation entsteht
berall aus dem Wunsch heraus, die Menschen durch gro-
dem gibt es in jedem Artikel
artige Produkte und Services zu verbinden.
oder jedem News-Beitrag, der
Teil einer Select Page ist, ein
Angenommen, wir schenken Ihnen 500 Dollar, um damit im Elek-
kleines Banner, das direkt zur
tor-Shop zu shoppen. Was wrden Sie kaufen und warum?
Select Page fhrt. Das ist ein-
Ganz oben auf meiner Liste stehen Multikopter. Ihre Crazyy
fach und bequem zu bedienen.
2.0 sieht ziemlich s aus...

Wir sind oen fr Ihre Welchen Entwickler, lebendig oder verstorben, bewundern Sie am
Anregungen! Senden Sie meisten? Und warum?
Ihre Vorschlge zu The- Ich bin vielleicht ein bisschen komisch, weil ich mich nie mit
men, Fachgebieten und bestimmten Personen identiziere. Die Menschen, die ich
Inhalten, die wir fr Sie auswhlen bewundere, sind die Bastler und die Ingenieure mit Leiden-
sollen, an schaft und Engagement, die Sachen herausnden und die
webmaster@eimworld.com. Dinge entwickeln wollen.

Auf welches Ihrer Projekte sind Sie am meisten stolz? Und warum?
Ich habe unsere Razor/Blade-Entwicklungsplattform ber viele
Deals auch in den USA und Kanada zu einem Jahre entwickelt und ich denke, sie ist wirklich solide. Sie fllt
eine Lcke fr Ingenieure, die aus der Hobby-Welt oder der
unsere Mitglieder, bietet Elektor-Mitgliedschaften
Forschung zur harten Produktgestaltung in der Industrie
Margriet Debeij ldt deutsche und auslndische wechseln.
(150344)
verffentlichen.

www.elektormagazine.de September 2015 75


Willkommen in Ihrem
E-SHOP Elektor-Bestseller
1. Red Pitaya V1.1
www.elektor.de/red-pitaya-instrument
ELEKTOR EMPFIEHLT

CrazyFlie 2.0 (Kombi-Set)


Bei CrazyFlie 2.0 handelt es sich um einen kleinen Open-
Source-Quadrocopter
fr den Einstieg, dessen
Beherrschung sehr schnell
erlernt werden kann.
Trotzdem ist es am Anfang
durch die Abmessungen
2. Multikopter-Sonderheft
(14 cm zwischen den
www.elektor.de/multikopter
Rotorenden) eine
3. Raspberry Pi 2 (Mod. B)
Herausforderung, das Ding stabil zu iegen. Aber wenn man einmal die Bedienung mit
www.elektor.de/rpi-2
Smartphone oder Tablet intus hat, besteht Suchtgefahr. Mit einer Hchstgeschwindigkeit
4. Arduino entdecken
von immerhin 30 km/h muss man die Steuerung schon beherrschen, denn das ist
www.elektor.de/arduino-entdecken
wirklich schnell vor allem in geschlossenen Rumen! CrazyFlie ist das Produkt
5. Arduino Sensor-Kit
dreier schwedischer Entwickler. Sie haben fr dieses Projekt auch eine extra Support-
www.elektor.de/arduino-sensor-kit
Webseite aufgesetzt: www.bitcraze.io. Alle Software und auch ein komplettes Image
6. Raspberry Pi steuert
einer virtuellen Maschine kann man dort herunterladen. Alle Parameter- und Log- Modelleisenbahn
Einstellungen kann man selbst anpassen. Wer dann wirklich tiefer einsteigen will, kann www.elektor.de/rpi-eisenbahn
auch Hand an den Code legen. 7. Elektor-DVD 2014
www.elektor.de/dvd2014
Thijs Beckers (Elektor-Labor)
8. SmartScope
www.elektor.de/smartscope
www.elektor.de/crazyie-2-combo

Fahrzeugdiagnose mit OBD Raspberry Pi steuert ISP-Shield fr Arduino


Modelleisenbahn

Streikt Ihr Auto schon wieder und Sie befrchten, dass die In diesem Buch ndet der ambitionierte Modelleisenbahner Dieser Bausatz enthlt eine Platine und alle bentigten
nchste teure Reparatur fllig wird? Vielleicht ist es aber auch die genaue Beschreibung, wie er sich fr die eigene Anlage ein Bauteile, um ein ISP-Shield (In-System Programmer) fr
nur ein kleiner Fehler, den Sie selber beheben knnen. Doch vorbildgetreues Drucktastenstellwerk mit Computer-Steuerung Arduino-Boards zu bauen. Mit diesem Shield kann man dann
woher sollen Sie das bei einem modernen Fahrzeug mit all bauen kann. Es schliet die Lcke zwischen den frher auch andere Bootloader in nackte AVR-Controller brennen
der Elektronik unter der Motorhaube wissen? Hier kann die beliebten Stellwerken auf Relaisbasis und den Mglichkeiten, und das direkt aus der Arduino-Programmierumgebung.
fahrzeugeigene Diagnosefunktion helfen, den Fehler zu nden die kleine Rechner wie der RPi bieten. Sie lernen alle fr die Der Shield ist mit einem 28-poligen ZIF-IC-Sockel fr das
und Reparaturkosten zu senken, sodass Sie nicht bei jedem Planung und den Aufbau notwendigen Schritte. bequeme Platzieren zu programmierender Mikrocontroller
Aufblinken der Warnlampen gleich in die Werkstatt mssen. (ATmega168/328) versehen.

Mitgliederpreis: 42,00 Mitgliederpreis: 34,80 Mitgliederpreis: 17,96

www.elektor.de/obd-buch www.elektor.de/rpi-eisenbahn www.elektor.de/isp-shield-arduino

76 September 2015 www.elektormagazine.de


SHOPPING BCHER DEV-TOOLS PROJEKTE CD/DVD

Neueste Auage! The Art of


Endlich ist die sorgfltig berarbeitete
Electronics
und auf den neuesten Stand gebrachte Unverzichtbares
3. Auage des erfolgreichen Bands Nachschlagewerk fr
Studenten, Forscher
The Art of Electronics verfgbar.
und Entwickler
Dieses Buch gilt gemeinhin als die
Grundlage schlechthin fr die Entwicklung
elektronischer Schaltungen.
Zustzlich zur erneuerten und breiteren
Abhandlung vieler Punkte enthlt die
dritte Ausgabe 90 Oszilloskop-Screenshots, Elektor Labs
welche das Verhalten und die Funktion von Lt-Starterkit
Schaltungen beschreiben. Darber hinaus
illustrieren dutzende Diagramme gemessene
Daten, die ansonsten tief in Datenblttern
versteckt sind oder berhaupt ganz fehlen.
Diese Infos sind beim Entwickeln von
Schaltungen genauso hilfreich wie die etwa
80 Tabellen, in denen rund 1.650 aktive Arduino-
Bauelemente aufgefhrt werden. Bundle
(Buch +
Hardware-Starterkit)
Mitgliederpreis: 80,10 (frei Haus)
www.elektor.de/art-of-electronics

Ozielles Gehuse fr Raspberry Pi Praxiskurs RFID-Starterkit fr Arduino Uno


AVR-XMEGA-Mikrocontroller

Der geistige Vater des Raspberry Pi Eben Upton und seine Die Mikrocontrollertechnologie ist eines der wichtigsten Dieses Kit bietet eine sehr reichliche Sammlung von Boards
Kollegen von der Raspberry Pi Foundation haben sehr viel Gebiete der modernen Elektronik. Mikrocontroller haben etc. fr so gut wie alle Arduino-Projekte. Nicht nur eine RFID-
Zeit in die Entwicklung eines schicken und funktionalen sich in den letzten Jahren in allen Bereichen der modernen Erweiterung ist vorhanden, sondern umfangreiche Elektronik
Gehuses fr das Modell 2 und B+ gesteckt. Bei dem aus Technik etabliert. Der vorliegende Kurs gibt eine umfassende zum Messen, Datenerfassen und zur Steuerung.
5 Kunststoteilen bestehenden Gehuse sind alle Anschlsse Einfhrung in die faszinierende Welt der Controllertechnik.
frei verfgbar. Auerdem lassen sich die Teile der Hlle
entfernen, damit der Raspberry Pi mit anderen Gerten
verbunden werden kann.

Mitgliederpreis: 8,96 Mitgliederpreis: 39,80 Mitgliederpreis: 44,96

www.elektor.de/ocial-case-rpi www.elektor.de/kurs-avr-xmega www.elektor.de/rd-starterkit-arduino-uno

www.elektormagazine.de September 2015 77


www.elektor.de
REVIEW DES MONATS

Von Luc Henderieckx


Hardware und technische Daten
n von Red Pitaya sind
mmt noch
richtig beeindruckend. Hinzu kommt
umfangreiche Software, mit derr das Messgert
zum Leben erwacht. Mit dieser Software
nimmt man nicht nur Messungen
en
ie
vor, sondern kann damit auch die
entsprechenden Einstellungen
vornehmen.
Da stellte sich die Frage,
ob Elektor nicht das
Programmieren passender
nem
Applikationen starten und in einem
asstt nmlich
Kursus erklren sollte, wie Red Pitaya zu programmieren ist? Das passt
ssender
genau zur Ausrichtung von Elektor! Und tatschlich sind eine Menge passender
mmt dem Gedanken an
Artikel zu Mikrocontrollern in Elektor zu nden und diese Hardware kommt
Selbstbau-Elektronik sehr nahe.

Mehr Infos nden Sie unter


www.elektor.de/red-pitaya

Wenn Sie uns einen hnlichen Bericht ber ein Elektor-Produkt


schicken, der in Elektor verentlicht wird, erhalten Sie als Dankeschn
n
einen 100-EUR-Gutscheincode, den Sie im Elektor-Shop einlsen knnen. n.
Mehr Infos gibts unter www.elektor.de/review
w.

78 September 2015 www.elektormagazine.de


SHOPPING BCHER DEV-TOOLS PROJEKTE CD/DVD

The Art of
Elektor Labs Lt-Starterkit Electronics
Dieses Lt-Kit bildet die Basis- Unverzichtbares
Nachschlagewerk fr
Ausrstung fr jeden, der
Studenten, Forscher
sich mit Elektronik nher und Entwickler
beschftigen mchte. Die
digitale Ltstation erlaubt
eine Temperatureinstellung im
Bereich von 160 bis 480 C.
Die Ltspitze ist netzgetrennt,
denn der Kolben wird mit 24 V Elektor Labs
Gleichspannung betrieben. Auf Lt-Starterkit
der Station wird sowohl die
eingestellte als auch die aktuelle
Temperatur der Ltspitze
angezeigt. Das Digitalvoltmeter
(DVM) DT-830B misst Gleich- und
Wechselspannung, Strom und Arduino-
Widerstand. Bundle
(Buch +
Mitgliederpreis: 134,96 Hardware-Starterkit)

www.elektor.de/elss

Multicopter selber bauen


Mystery Product LEGO-LED-Board

E U
N

Das Buch wendet sich an eine technisch versierte Zielgruppe,


We dare you ... Beim LEGO-LED-Board handelt es sich um eine kleine Platine,
die eigene Flugmodelle bauen mchte. Fachbegrie werden die physisch kompatibel mit den kleinen Kunststokltzen aus
verstndlich erklrt und der Leser muss weder Luftfahrer Dnemark ist. Sie beherbergen eine LED, einen Vorwiderstand
noch Diplom-Elektroniker sein. Neben der Herstellung eigener und optional Anschlusspins. Damit kann man tolle Lichteekte
Flugmodelle wird die gesamte Technik fr Multicopter und bei seinen LEGO-Bauten erreichen. Das Kit ist voll anpassbar.
damit verbundene Anwendungen wie FPV (First Person View) Es enthlt zehn kleine Platinen, zehn verschieden farbige LEDs
und Luftaufnahmen beschrieben und je zehn Vorwiderstnde zu 390 und 820 . Ein Batterie-
Clip fr eine 9-V-Batterie bendet sich im Lieferumfang.

Mitgliederpreis: 34,90 Mitgliederpreis: 8,96

www.elektor.de/multicopter-selber-bauen www.elektor.de/mystery www.elektor.de/legoled

www.elektormagazine.de September 2015 79


www.elektor.de

lektor post : Neuigkeiten & Angebote


elektor ACADEMY

Neue aus erster Hand


ELEKTOR-SEMINARE

01.09.2015 02.09.2015
2-tgiges Seminar
EMV-Stromversorgung
(Gmunden, sterreich)

24.09.2015 25.09.2015
ber 100.000 Elektronik-Pros, ambitionierte Entwickler und anspruchsvolle
2-tgiges Seminar
Anwender lesen regelmig unseren Gratis-Newsletter Elektor.POST die
FPGA
wchentliche Online-Ausgabe von Elektor! Unsere Web-Redakteure halten Sie jeden
(Regensburg)
Freitagmorgen mit neuesten und interessanten Meldungen, Downloads, Tipps &
Trends aus der Welt der Elektronik auf dem Laufenden. Des Weiteren werden Sie
20.10.2015 schnell und umfassend ber aktuelle Elektor-Projekte sowie ber das umfangreiche
Tagesseminar Elektor-Sortiment und spezielle Produkt-Angebote als Erster informiert.
CAN-Grundlagen Alle 2 Wochen ein Schaltungsprojekt frisch aus dem Labor (Wert je 2,50 )
(Troisdorf)
Top-Angebote aus dem Elektor-Shop
Gratis-PDF-Bundle im Wert von 40

Mehr Infos & Anmeldung:


JETZT ANMELDEN UND VORTEILE SICHERN:
www.elektor.de/events www.elektor.de/newsletter

Trans Rhrenverstrker Internet of Things Robot Car Kit


fr Arduino mit Bluetooth

NEU
Ist es mglich, Fehler in Rhren und Ausgangstrafos sprbar Das Internet of Things (Internet der Dinge) ist eine Dieses intelligente Auto mit Vierradantrieb kann ber
zu kompensieren? Im vorigen Jahrhundert wurden sehr unumkehrbare Entwicklung. Wir mchten gerne alles im ein Android-Mobilgert via Bluetooth oder Infrarotlicht
viele Manahmen zum Erreichen dieses Ziels entwickelt. Haus mit unserem Smartphone oder Tablet erledigen (mitgeliefert) gesteuert werden. Die Intelligenz stammt
Eine dieser Methoden ist in Vergessenheit geraten: von Facebook bis Fernsehen, Lampen steuern oder die von einem Arduino Uno, weshalb das Auto Hindernisse
Transkonduktanz, was soviel bedeutet wie Umsetzung von Heizungstemperatur einstellen. In diesem Buch stellen wir 35 umfahren oder einer Route folgen kann. Das Ganze ist eine
Strom in Spannung und umgekehrt. Autor Menno van der interessante und ntzliche Projekte vor, die demonstrieren, Entwicklungsplattform fr autonomes Fahren, das sich nicht
Veen hat diese Methode wieder zum Leben erweckt und gab wie Sie selbst ein Internet-of-Things-System anlegen knnen. nur fr Studienzwecke, sondern auch rein zum Spa eignet.
ihr den Arbeitstitel Trans.

Mitgliederpreis: 29,80 Mitgliederpreis: 39,80 Mitgliederpreis: 89,96

www.elektor.de/trans-roehren www.elektor.de/iot-buch www.elektor.de/robot-car-kit-arduino

80 September 2015 www.elektormagazine.de


SHOPPING BCHER DEV-TOOLS PROJEKTE CD/DVD

+
Mit diesem
die Bundle (bestehend
dem neuen Buch Arduino
aus de
Electronics
entdecken, Hardware-Bausatz
entdec Unverzichtbares
Nachschlagewerk fr
Arduino Prototyping
und Ar
Studenten, Forscher
Shield) knnen Sie alle im Buch und Entwickler
beschriebenen 45 Arduino-
beschr
Projekte, beispielsweise ein stiller
Projek
Alarm, ein Menschensensor,
Lichtmessgert, die
ein Lic
Motorsteuerung und die
Motors
Bedienung ber das Internet
Bedien Elektor Labs
oder eine
e Fernsteuerung (mit Lt-Starterkit

+
Funkverbindung) sofort aufbauen.
Funkve
Im Gegensatz zu vielen Gratis-
Projekten aus dem Internet
sind alle Projekte in diesem
Buch in der Praxis getestet und
funktionieren garantiert!
Arduino-
Bundle
(Buch +
Mitgliederpreis: 56,71 Hardware-Starterkit)

www.elektor.de/arduino-entdecken-kit

www.elektormagazine.de September 2015 81


RTSEL

Hexadoku Sudoku fr Elektroniker


Der Urlaub gehrt fr die meisten unserer Leser der Vergangenheit an nun ist es wieder Zeit fr den
Ernst des Lebens. Doch muss das ja nicht heien, stndig zu arbeiten: Fr etwas Entspannung haben wir
wieder eines unserer schnen Hexadokus vorbereitet. Wie immer kann man auch etwas gewinnen. Hier
warten fnf Elektor-Gutscheine

Die Regeln dieses Rtsels sind ganz einfach zu verstehen: Bei 4 Kstchen (markiert durch die dickeren schwarzen Linien)
einem Hexadoku werden die Hexadezimalzahlen 0 bis F ver- genau einmal vorkommen. Einige Zahlen sind bereits ein-
wendet, was fr Elektroniker und Programmierer ja durchaus getragen, was die Ausgangssituation des Rtsels bestimmt.
passend ist.
Fllen Sie das Diagramm mit seinen 16 x 16 Kstchen so aus, Wer das Rtsel lst - sprich die Zahlen in den grauen Kstchen
dass alle Hexadezimalzahlen von 0 bis F (also 0 bis 9 und A herausndet - kann einen von fnf Gutscheinen im Wert von
bis F) in jeder Reihe, jeder Spalte und in jedem Fach mit 4 x 50 Euro gewinnen!

Einsenden Fax: 0241 / 88 909-77


Schicken Sie die Lsung (die Zahlen in E-Mail: hexadoku@elektor.de
den grauen Kstchen) per E-Mail, Fax
Als Betre bitte nur die Ziern der
oder Post an:
Lsung angeben!
Elektor Redaktion
Ssterfeldstr. 25 Einsendeschluss ist der
52072 Aachen 30. September 2015.

Die Gewinner des Hexadokus


Hex aus der Juni-Ausgabe stehen fest!
Die richtige Lsung ist: 458EF
Einen Elektor-Wertgutschein ber je 50 haben gewonnen:
Gerard Lodder, Karl-Josef Wernet, Olivier Chaufouraux, Pascal Jordil und Dirk Petig.

Herzlichen Glckwunsch!

F 5 7 3 6 A 9 C 2 8 B D 4 1 0 E
B 0 1 9 E F D 2 3 7 4 A 8 5 6 C
2 4 8 E 0 1 3 7 9 5 6 C B D A F
6 A C D B 4 5 8 E F 0 1 2 7 9 3
0 F 4 7 C 2 1 6 A D 8 9 E 3 5 B
5 E D 1 9 7 8 0 6 B F 3 A 4 C 2
3 2 9 8 4 B A 5 C E 1 7 F 6 D 0
A 6 B C D 3 E F 5 0 2 4 7 8 1 9
C 7 E 4 8 D F 1 B 9 3 5 0 A 2 6
1 D F 5 2 9 0 4 7 A C 6 3 B E 8
8 B A 0 3 6 7 E F 1 D 2 9 C 4 5
9 3 2 6 A 5 C B 8 4 E 0 D F 7 1
D 8 5 2 F E 6 A 0 C 7 B 1 9 3 4
4 C 6 A 1 8 B 3 D 2 9 E 5 0 F 7
E 9 3 B 7 0 4 D 1 6 5 F C 2 8 A
7 1 0 F 5 C 2 9 4 3 A 8 6 E B D

Der Rechtsweg ist ausgeschlossen. Mitarbeiter der in der Unternehmensgruppe Elektor International Media B.V. zusammengeschlossenen Verlage und deren Angehrige sind von der Teilnahme ausgeschlossen.

82 September 2015 www.elektormagazine.de


FAMILIEN-FESTIVAL FR INSPIRATION,
KREATIVITT & INNOVATION
3. & 4.
OKTOB ER

DER GROSSE MAKER-TREFFPUNKT.


2015

3. & 4. Oktober 2015


Postbahnhof Berlin
prsentiert von: Goldschmied: Silberschmied: Kupferschmied:
Stand: 24.07.2015

Kooperationspartner: Medienpartner:

Tickets und weitere Informationen unter

WWW.MAKERFAIRE.BERLIN
Professionelle Qualitt zu attraktiven Preisen!

FEUCHTE
TEMPERATUR
NHERUNGSSCHALTER
jetzt abonnieren!
WEGAUFNEHMER

Newsletter DURCHFLUSS HALL-EFFEKT

DRUCK
ULTRASCHALL KRAFT
9ber
Erhalten Sie wchentlich
frische Informationen ber 45 Jahre Erfahrung
9 Neuheiten
9ber 50.000 Produkte am Lager
schneller 24-Std.-Versand
9 beste Angebote
9kein Mindermengenzuschlag
9 Preisreduzierungen
9
Hall-Effekt-Sensoren Induktiver Nherungsschalter
Excellente induktive Sensoren fr das
Radiometric-Sensor,
berhrungslose Erfassen von metallischen
linear Teilen im Automatisierungsalltag.
Betriebsspannung: 4,5 10,5 VDC Ideal fr den Einsatz in anspruchsvollen
Stromaufnahme: 8,7 mA (@ 5 VDC) Umgebungsbedingungen.
Betriebstemperatur: -40 +150 C
Linearitt: 1% typ.
Antwortzeit: 3 s
Auszug aus unserem Sortiment.
Gehuse: TO-92, Das komplette Programm nden Sie unter: http://rch.lt/kJ
Ausgang: 0,2 V / 1,5 mA
Schlieer PNP
Bestellnummer Magnetic- Empnd-
Range lichkeit Bestellnummer xL Schaltabstand Einbau
SS 496 A1 2,75 84 mT 2,5 mV/G DWAD 623 03 66,80 3,0 x 22 mm 1,0 mm 2 m Kabel bndig
SS 495 A 1,40 67 mT 3,125 mV/G DWAD 623 04 51,40 4,0 x 25 mm 1,5 mm 2 m Kabel bndig
SS 495 A1 2,65 84 mT 3,125 mV/G DWAD 623 M5 51,40 M5 x 25 mm 1,5 mm 2 m Kabel bndig
DWAD 503 M12 47,90 M12 x 50 mm 6,0 mm 2 m Kabel quasi-bndig
Radiometric-Sensor, DWAS 623 M8 001 32,90 M8 x 45 mm 2,0 mm M8-Stecker 3-polig quasi-bndig
DWAS 613 M8 001 30,80 M8 x 45 mm 2,5 mm M8-Stecker 3-polig nicht bndig
linear, SMD DWAS 513 M12 47,80 M12 x 60 mm 10,0 mm M12-Stecker 4-polig nicht bndig
Betriebsspannung: 2,7 6,5 VDC
Stromaufnahme: 10 mA
Betriebstemperatur: -40 +100 C Lichtschranke Feuchtesensor
Linearitt: 1% typ.
Antwortzeit: 3 s
x L 18 x 50 x 50 mm 0 ... 100% rF, TO 39
Gehuse: SOT-89 Digitaler Feuchtesensor
Ausgang: 1,0 V / 1,5 mA mit IC-Interface im druckfesten
TO39-Gehuse (bis 16 bar),
Bestellnummer Magnetic- Empnd- geeignet fr Taupunktmessungen.
Range lichkeit
SS 59 ET 1,40 65 mT 1,0 mV/G

Bestellnummer
Hall-Effektsensor, Einweg-Lichtschranke, 2 m Kabel HYT 939 29,90 TO 39
digital, SMD Bestellnummer Schaltabstand Schaltungsart
LLK 5050 000 23,30 15000 mm Sender
Temperaturkompensierte
LLK 5050 003 35,99 15000 mm antivalent, PNP Drucksensoren,
digitale Halleffektsensoren
UsV 4,75 - 5,25
unipolar, Gehuse: SOT-89 Reexions-Lichtschranke, 2 m Kabel
Ausgang: 0,4 V / 20 mA
LLK 5050 103 42,40 800 mm antivalent, PNP

Bestellnummer Magnetic-Range PR Sens Lin


Bestellnummer kPa mV/kPA %
SS 543 AT 1,40 7,5 18,0 mT Distanzsensoren
SS 549 AT 2,65 23,5 39,0 mT MPX 5010DP 11,60 0 - 10 450 5
Sehr hohe Zuverlssigkeit MPX 5050DP 14,90 0 - 50 90 2,5
sowie hhere Przision MPX 5100DP 14,90 0 - 100 45 2,5
Hallsensoren gegenber herkmmlichen MPX 5500DP 9,35 0 - 500 9 2,5

Sensoren.
Typen: GP2Y0A Ultraschallsensoren
Ultraschall-Keramik-Sender
Bestellnummer Reichweite LxBxT und Empfnger fr 40 kHz
( cm ) (mm)
Gehuse: P-SSO-3-2 GP2-0215 6,70 20 ... 150 29,5 x 13,0 x 21,6
GP2-0430 5,10 4 ... 30 37,0 x 18,9 x 13,5
Bestellnummer Magnetic- GP2-1080 5,65 10 ... 80 29,5 x 13,0 x 21,6 9,9 mm, H 7,1 mm
Range Bestellnummer
Bestellnummer MUS-40E 3,05 Empfnger
TLE 4905L 0,60 17 mT unipolar
TLE 4935L 0,63 20 mT bipolar/latch DMC01-SC150 2,15 3-polig Datenkabel MUS-40S 3,05 Sender

Preise in inkl. MwSt., zzgl. Versandkosten, Stand: 27.07.2015


reichelt elektronik GmbH & Co. KG, Elektronikring 1, 26452 Sande Jetzt
Jetzt bestellen! kostenlos
anfordern!
@reichelt_el reichelt.de Bestell-Hotline: +49 (0)4422 955-333 Katalog 06.1|2015
5