GREETBoard – I²CLCD

Transcrição

GREETBoard – I²CLCD
GREETBoard – I²CLCD
Version 1.1
Inhalt
Einleitung .............................................................................................................................. 3
Features ............................................................................................................................ 3
Bestückungsplan ............................................................................................................... 4
Aufbau der Schaltung ............................................................................................................ 5
Steckerbelegungen ............................................................................................................ 5
Stückliste ........................................................................................................................... 6
Schaltplan .......................................................................................................................... 7
Aufbau................................................................................................................................... 8
Löttipps .............................................................................................................................. 8
Keramik-/Scheibenkondensatoren.................................................................................. 8
Inbetriebnahme ..................................................................................................................... 9
Der erste Test .................................................................................................................... 9
Die Verwendung von Bibliotheken ..................................................................................... 9
I²C-Bibliothek einbinden ................................................................................................. 9
Bibliotheken in eigene Programme einbinden................................................................10
Bibliotheksverzeichnis einbinden ...................................................................................11
Die I2CLCD Bibliothek ...................................................................................................12
Das erste Programm .........................................................................................................13
„Hallo Welt“ ausgeben ...................................................................................................13
Abschluss .............................................................................................................................14
timogruss.de .....................................................................................................................14
Copyright ..........................................................................................................................14
Sicherheitshinweise ..............................................................................................................15
2
Einleitung
Dieses
Zusatzmodul
erweitert
das
GREETBoard Projekt um eine LCDAnzeige ohne dabei wichtige Ports des
GREETBoard ATMega128 zu belegen.
Das Modul wird einfach an den I²C Bus
angeschlossen. Die I²C Kommunikation
und die LCD-Befehle werden über
entsprechende
Bibliotheken
in
die
Programme eingebunden.
Diese
Bibliotheken
erweitern
den
Befehlsumfang des Mikrocontrollers um vorbereitete Funktionen. Daher ist es nicht nötig die
I²C Kommunikation bis ins Detail zu verstehen um Texte auf dem Display anzeigen zu
können. Natürlich steht der intensiven Beschäftigung mit dem I²C Protokoll mit diesem Modul
nichts im Weg – auch das ist möglich.
Das GREETBoard – I²CLCD wird „kopfüber“ betrieben (siehe Bild). Die Buchsen werden zur
Lötseite hin angebracht und von unten an das LCD Modul aufgesteckt. So zeigt die
Bestückungsseite nach unten.
Features

„Huckepack“-Betrieb für LCD-Module. Einfach das LCD Modul auf die Buchsenleisten
stecken.

Zwei LCD-Buchsenleisten für zwei unterschiedliche Ausführungen verschiedener
LCD Module Anschlüsse

Die Helligkeit ist über ein Potentiometer einstellbar

Es werden keine Ports am Mikrocontroller verwendet

Bus-Adresse auf dem Modul individuell einstellbar

Externe Spannungsversorgung über die Bus-Verbindung

Pull up Widerstände auf dem Modul per Jumper zuschaltbar

Ein bewährter PCF8574-Baustein stellt die I²C-Kommunikation sicher

Stapelbar, durch standardisierte Platinenbohrlöcher (gespiegelt ausgeführt, da
Platine mit der Bestückungsseite nach unten betrieben wird)
 Kleine Abmessung, 50 x 40mm (1/8 Modul)
3
Bausatz-Übersicht
Primär soll das GREETBoard – I²CLCD Nachrichten über das angeschlossene LCD-Modul
ausgeben. Für eine einwandfreie Funktion sind einige Einstellungen nötig. Die Übersicht
zeigt die Anschlüsse und Einstellmöglichkeiten auf.
LCD Buchsen
Für versch.
Anschlusstypen
I²C
Über 10.pol.
Wannenstecker
LCD Kontrast
Am Poti einstellbar
I²C-Adresse
Per Jumper
einstellbar
Beleuchtung, Interrupt & Pullup
Per Jumper ein-/ausschaltbar
Bestückungsplan
4
Aufbau der Schaltung
Steckerbelegungen
Bez.
Beschreibung
Interrupt Jumper
X1
LED Jumper
X2
Pull Up Jumper
X3
I²C Buchse
X4
X5
X6
A0
A1
LCD Buchsen
Pin
Belegung
1-2
Deaktiviert
2-3
Aktiviert
1-2
Deaktiviert
2-3
Aktiviert
1-2
Aktiviert
2-3
Deaktiviert
1
SCL
2
GND
3
SDA
4
GND
5
VCC
6
GND
7
VCC
8
GND
9
12V
10
INT2
1
VSS
2
VDD
3
V0
4
RS
5
R/W
6
E
7
-
8
-
9
-
10
-
11
DB4
12
DB5
13
DB6
14
DB7
15
A
16
K
Leiterplattensymbol (Footprint)
Adress-Jumper
1-2
High
2-3
Low
A2
5
Stückliste
Stück
Bauteil
Wert
1
C1
100nF (104)
1
IC1
PCF8574
1
R1
2,2k Ohm (rot/rot/schw/br)
1
R2
33 Ohm (or/or/schw/gold)
1
R3
5k Ohm Potentiometer
2
R4, R5
10k Ohm (br/schw/schw/rot)
1
U1
BC560
1
X4
10-pol. Wannensteckerbuchse
6
A0, A1, A2, X1, X2, X3
3-pol. Stiftleiste
2
X5, X6
16-pol. Stiftleiste
6
Schaltplan
7
Aufbau
Löttipps
Grundsätzlich empfehle ich eine gewisse Reihenfolge beim Einlöten der verschiedenen
Bauteile: „Arbeite dich von den kleinsten Bauteilen zu den Größten vor.“ Dieses Vorgehen
gilt bei allen Schaltungen von timogruss.de.
Keramik-/Scheibenkondensatoren
Bei diesen Kondensatortypen ist es nicht wichtig wie herum
sie eingelötet werden. Jedoch ist es nicht so einfach den
Wert des Kondensators zu erkennen. Um den Wert diese
Bauteile
darzustellen,
wird
ein
dreistelliger
Code
angewendet. Dieser ist wie folgt aufgebaut:
Beispiel:
104 > > 10^4 > > 10pF x 104 = 0,00000000001F x 10000 = 0,0000001F = 100nF
oder: 104 > > 10pF + 4 Nullen > > 100.000pF > > 100nF
474 > > 47pF + 4 Nullen > > 470.000pF > > 470nF
8
Inbetriebnahme
Der erste Test
Nachdem der Bausatz komplett aufgebaut und gelötet wurde, kann eine Sichtkontrolle beider
Seiten der Leiterplatte durchgeführt werden. Folgende Dinge dürfen nicht vorkommen:
1. Kalte Lötstellen (matte Oberfläche der Lötstelle)
2. Metallische Rückstände an spannungsführenden Stellen (Kupfer- oder Drahtreste)
3. Sich berührende Lötstellen
Kalte Lötstellen, metallische Rückstände und Kurzschlüsse können zu einer Fehlfunktion,
bzw. Beschädigung des Bausatzes und angeschlossener Module führen. Nur wenn alle, bei
der Sichtkontrolle beschriebenen Dinge behoben wurden, darf das Modul verwendet werden.
Im Falle von Problemen, nehmen Sie bitte Kontakt mit [email protected] auf.
Die Verwendung von Bibliotheken
Eine Bibliothek ist ein eigenes C-Programm das mit dem Befehl #include zum eigenen
Programm hinzugefügt wird. Dadurch können die dort „ausgelagerten“ Funktionen vom
eigenen Programm aufgerufen werden.
I²C-Bibliothek einbinden
Die für dieses Modul benötigten I²C-Funktionen wurden bereits von Peter Fleury in einer
Bibliothek (auch Header Datei genannt) zusammengefasst. Sie muss nur noch in den
Programmen des GREETBoard – I²CLCD eingebunden werden.
Hier ist der Link zu Peter Fleurys Seite: http://homepage.hispeed.ch/peterfleury/i2cmaster.zip
Dort einfach die Datei i2cmaster.zip runterladen, die Dateien twimaster.c und i2cmaster.h
entpacken und an einem zentralen Ort speichern. Diese Dateien werden recht häufig
verwendet und sollten leicht auffindbar abgelegt werden. Empfehlenswert ist ein
Unterverzeichnis mit dem Namen „Header Files“ o.ä., in dem Verzeichnis, wo die
Programme abgespeichert werden.
Im Kapitel „Bibliotheken in AVR Studio 5.1 einbinden“ ist erklärt, wie eine Header Datei in
eigene Projekte eingebunden wird.
Anpassen der I²C-Bibliothek
Die twimaster.c von Peter Fleury ist für einen Mikrocontroller-Takt von 4MHz ausgelegt. Da
die GREETBoard Programme mit einem 16MHz Takt laufen, ist eine Anpassung notwendig.
Hierzu wird die twimaster.c (nach der Einbindung in das eigene Projekt) mit einem
Doppelklick im „Solution Explorer“ geöffnet. Im Programm muss die Zeile:
9
#define F_CPU 4000000UL
wie folgt geändert werden:
#define F_CPU 16000000UL.
Danach kann twimaster.c abgespeichert und verwendet werden.
Bibliotheken in eigene Programme einbinden
In diesem Kapitel wird, anhand der twimaster.c, gezeigt wie eine Bibliothek in AVR Studio
5.1 eingebunden wird.
1. Schritt – Solution Explorer einschalten
2. Schritt - Einfügemenü aufrufen
Rechte Maustaste auf den Projektnamen
(hier
“AVRGCC2″)
>
Add
mit
linker
Maustaste anklicken > Existing Item mit
Links anklicken.
3. Schritt – Das Header-Datei-Verzeichnis
öffnen
10
4. Schritt – Die zur .h Datei gehörende .c
Datei öffnen (Doppelklick)
Die richtige Datei wurde eingebunden
Bibliotheksverzeichnis einbinden
Der letzte Schritt besteht nun darin, AVR Studio 5.1 mitzuteilen, wo die Bibliothek-Dateien
abgespeichert wurden. Daher empfiehlt es sich alle Bibliotheken in einem Verzeichnis zu
speichern. Weitere Unterverzeichnisse, innerhalb dieses Verzeichnisses, können durchaus
angelegt werden.
Bibliotheks-Verzeichnis ohne…
…und mit Unterverzeichnissen. Beides ist OK
11
1. Schritt: Einstellungsmenü
aufrufen
Mit einem linken Mausklick auf
den Projektnamen im Solution
Explorer das Menü öffnen
2. Schritt: Pfadmenü öffnen
1. Auf „Toolchain“ klicken.
2. „Directories“ auswählen
3. Das „Add Item“ Symbol anklicken
3. Schritt: Header Verzeichnis
auswählen
Im geöffneten Fenster die Taste
mit den drei Punkten anklicken
um in der Dateiauswahl das
Verzeichnis auszuwählen, in
dem die Header-Dateien abgelegt sind.
Anschließend mit OK bestätigen.
Die I2CLCD Bibliothek
Wie bei der I²C Bibliothek wird auch die Kommunikation mit dem LCD-Modul durch eine
Header Datei sichergestellt. In den Programmen des GREETBoard-Projektes kommt die
12
I2CLCD-Bibliothek der Autoren Nico und Thomas Eichelmann zur Anwendung. Die
notwendigen Dateien können hier runtergeladen werden:
http://computerheld.de/i2clcd/files/i2clcd-v0.1.zip
Die verwendeten Dateien sind die i2clcd.h und i2clcd.c, die beide in das weiter oben
beschriebene Header Verzeichnis kopiert werden sollten. Dadurch muss nur ein Verzeichnis,
wie im Kapitel „I²C-Bibliothek einbinden“ erklärt, im AVR Studio 5.1 eingebunden werden.
Nun steht dem eigentlichen Programm nichts mehr im Weg. Die beiden Bibliotheken werden
mit den #include Befehl eingebunden.
Das erste Programm
Als Programmiersprache für GREETBoard-Projekte, im timogruss.de-Blog, wird C
verwendet. In diesem Blog gibt es eine große Auswahl weiterer Programm-Beispiele, die es
ermöglichen, die Funktionen dieses Bausatzes nach und nach zu erweitern.
Hier ist der Link zum Blog: timogruss.de
„Hallo Welt“ ausgeben
Natürlich muss die erste Ausgabe ein „Hallo Welt“ sein und genau das kann das folgende
Programm bewerkstelligen.
#ifndef F_CPU
#define F_CPU 16000000
#endif
#include "i2cmaster.h"
#include "i2clcd.h"
// Einbinden der i2cmaster.h
// Einbinden der i2clcd.h
int main(void) {
lcd_init();
lcd_command(LCD_CLEAR);
lcd_wait_ms(30);
lcd_printlc(1,1,"Hallo Welt");
//
//
//
//
//
while(1){
...
}
Hauptprogramm
Starte I2CLCD
Leere Display
Warte 30ms
Ausgabe an 1.Zeile, 1. Stelle
// Ab hier beginnt Hauptschleife
}
13
Abschluss
timogruss.de
Dieser Bausatz des GREETBoard-Projekts stammt vom Blog „timogruss.de“. Dort entstand
die Idee einen „Mikrocontroller-Baukasten“ zu entwickeln, dessen zentrale Rolle das
Hauptmodul „GREETBoard - ATMega128“ einnimmt.
Es zeichnet sich durch die Möglichkeit aus, mit vielen Erweiterungen verbunden zu werden.
Zusatzmodule, die direkt an Ports oder über den I²C-Bus angeschlossen werden, steigern
somit die Anzahl der Funktionen und die erhöhen die Möglichkeiten für verschiedenste
Anwendungen. Die Möglichkeiten sind somit unglaublich groß und die Palette der
Zusatzmodule wächst immer weiter an.
Ganz besonderes Augenmerk wird dabei auf eine einfache Umsetzung gelegt. Die Module
sind mit einfach zu lötenden Bauteilen ausgerüstet, so dass sie auch mit geringen
Lötkenntnissen zusammengebaut werden können.
Obwohl die Programmierung ausschließlich in C durchgeführt wird, sind auch hier keine
Vorkenntnisse nötig. Die verschiedenen Funktionen werden in einfachen und
praxisorientierten Programmen beschrieben und aktiviert.
Der Blog „timogruss.de“ ist dabei die zentrale Kommunikationsplattform. Hier lassen sich
viele Programm- und Anwendungsbeispiele finden. Je größer die Auswahl an Modulen wird,
umso größer wird auch das im Blog gespeicherte Wissen rund um das GREETBoardProjekt.
Copyright
Sofern nicht anders angegeben, stehen die Inhalte dieser Dokumentation unter einer
„Creative Commons - Namensnennung-NichtKommerziell-Weitergabe unter gleichen
Bedingungen 3.0 DE Lizenz“
14
Sicherheitshinweise
Lesen Sie diese Gebrauchsanleitung, bevor Sie diesen Bausatz in Betrieb nehmen und
bewahren Sie diese an einem für alle Benutzer jederzeit zugänglichen Platz auf.
Bei Schäden, die durch Nichtbeachtung dieser Bedienungsanleitung verursacht werden,
erlischt die Gewährleistung/Garantie. Für Folgeschäden übernehmen wir keine Haftung!
Bei allen Geräten, die zu ihrem Betrieb eine elektrische Spannung benötigen, müssen die
gültigen VDE-Vorschriften beachtet werden. Besonders relevant sind für diesen Bausatz die
VDE-Richtlinien VDE 0100, VDE 0550/0551, VDE 0700, VDE 0711 und VDE 0860. Bitte
beachten Sie auch nachfolgende Sicherheitshinweise:

Nehmen Sie diesen Bausatz nur dann in Betrieb, wenn er zuvor berührungssicher in
ein Gehäuse eingebaut wurde. Erst danach darf dieser an eine Spannungsversorgung angeschlossen werden.

Lassen Sie Geräte, die mit einer Versorgungsspannung größer als 24 V- betrieben
werden, nur durch eine fachkundige Person anschließen.

In Schulen, Ausbildungseinrichtungen, Hobby- und Selbsthilfewerkstätten ist das
Betreiben dieser Baugruppe durch geschultes Personal verantwortlich zu
überwachen.

In einer Umgebung in der brennbare Gase, Dämpfe oder Stäube vorhanden sind
oder vorhanden sein können, darf diese Baugruppe nicht betrieben werden.

Im Falle eine Reparatur dieser Baugruppe, dürfen nur Original-Ersatzteile verwendet
werden! Die Verwendung abweichender Ersatzteile kann zu ernsthaften Sach- und
Personenschäden führen. Eine Reparatur des Gerätes darf nur von fachkundigen
Personen durchgeführt werden.

Spannungsführende Teile an dieser Baugruppe dürfen nur dann berührt werden (gilt
auch für Werkzeuge, Messinstrumente o.ä.), wenn sichergestellt ist, dass die
Baugruppe von der Versorgungsspannung getrennt wurde und elektrische Ladungen,
die in den in der Baugruppe befindlichen Bauteilen gespeichert sind, vorher entladen
wurden.

Sind Messungen bei geöffnetem Gehäuse unumgänglich, muss ein Trenntrafo zur
Spannungsversorgung verwendet werden

Spannungsführende Kabel oder Leitungen, mit denen die Baugruppe verbunden ist,
müssen immer auf Isolationsfehler oder Bruchstellen kontrolliert werden. Bei
Feststellen eines Fehlers muss das Gerät unverzüglich ausser Betrieb genommen
werden, bis die defekte Leitung ausgewechselt worden ist.
15

Es ist auf die genaue Einhaltung der genannten Kenndaten der Baugruppe und der in
der Baugruppe verwendeten Bauteile zu achten. Gehen diese aus der beiliegenden
Beschreibung nicht hervor, so ist eine fachkundige Person hinzuzuziehen
Bestimmungsgemäße Verwendung

Auf keinen Fall darf 230 V~ Netzspannung angeschlossen werden. Es besteht dann
Lebensgefahr!

Dieser Bausatz ist nur zum Einsatz unter Lern- und Laborbedingungen konzipiert
worden. Er ist nicht geeignet, reale Steuerungsaufgaben jeglicher Art zu
übernehmen. Ein anderer Einsatz als angegeben ist nicht zulässig!

Der Bausatz ist nur für den Gebrauch in trockenen und sauberen Räumen bestimmt.

Wird dieser Bausatz nicht bestimmungsgemäß eingesetzt kann er beschädigt
werden, was mit Gefahren, wie z.B. Kurzschluss, Brand, elektrischer Schlag etc.
verbunden ist. Der Bausatz darf nicht geändert bzw. umgebaut werden!

Für alle Personen- und Sachschäden, die aus nicht bestimmungsgemäßer
Verwendung entstehen, ist nicht der Hersteller, sondern der Betreiber verantwortlich.
Bitte beachten Sie, dass Bedien- und/oder Anschlussfehler außerhalb unseres
Einflussbereiches liegen. Verständlicherweise können wir für Schäden, die daraus
entstehen, keinerlei Haftung übernehmen.
16

Documentos relacionados