BLIT2008-Board mit 1-Wire

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Hardware)
(Motivation)
Zeile 3: Zeile 3:
  
 
=Motivation=
 
=Motivation=
Ein paar Kollegen brachten mich neulich auf die Idee, sich mal [http://de.wikipedia.org/wiki/1-Wire 1-Wire] und Mikrocontrollern zu beschäftigen (sie liehen mir sogar dazu zwei 1-Wire-Chips...). Nach kurzem Überlegen, ob ich eine eigene Schaltung dafür aufbaue, habe ich mich dann doch entschlossen, das [[BLIT2008-Board]] als Mikrocontroller-Plattform zu verwenden. Und somit versteht nun dieses Board, neben TWI, USB, Infrarot, auch 1-Wire.  
+
Ein paar Kollegen brachten mich neulich auf die Idee, sich mal [http://de.wikipedia.org/wiki/1-Wire 1-Wire] und Mikrocontrollern zu beschäftigen (sie liehen mir sogar dazu zwei 1-Wire-Chips...). Nach kurzem Überlegen, ob ich eine eigene Schaltung dafür aufbaue, habe ich mich dann doch entschlossen das [[BLIT2008-Board]] als Mikrocontroller-Plattform zu verwenden. Und somit versteht nun dieses Board, neben TWI, USB, Infrarot, auch 1-Wire.  
  
 
Hätte ich allerdings vorher gewußt, dass nun ausgerechnet 1-Wire-Implementationen auf Mikrokontroller wieder mal nicht ganz trival sind, hätte ich vielleicht die Finger davon gelassen... Nach zwei Abenden lief dann aber zum Glück die Geschichte.
 
Hätte ich allerdings vorher gewußt, dass nun ausgerechnet 1-Wire-Implementationen auf Mikrokontroller wieder mal nicht ganz trival sind, hätte ich vielleicht die Finger davon gelassen... Nach zwei Abenden lief dann aber zum Glück die Geschichte.

Version vom 30. Januar 2009, 21:14 Uhr


Motivation

Ein paar Kollegen brachten mich neulich auf die Idee, sich mal 1-Wire und Mikrocontrollern zu beschäftigen (sie liehen mir sogar dazu zwei 1-Wire-Chips...). Nach kurzem Überlegen, ob ich eine eigene Schaltung dafür aufbaue, habe ich mich dann doch entschlossen das BLIT2008-Board als Mikrocontroller-Plattform zu verwenden. Und somit versteht nun dieses Board, neben TWI, USB, Infrarot, auch 1-Wire.

Hätte ich allerdings vorher gewußt, dass nun ausgerechnet 1-Wire-Implementationen auf Mikrokontroller wieder mal nicht ganz trival sind, hätte ich vielleicht die Finger davon gelassen... Nach zwei Abenden lief dann aber zum Glück die Geschichte.

Hardware

ROM-ID und Temperatur) 1wire-Temperatursensor DS1820

Zur Hardware ist eigentlich nicht viel zu sagen. Ein 1-Wire-Bus besteht, wie der Name es schon vermuten läßt, aus einer Signalleitung. Dazu kommt natürlich noch die Masse-Verbindung (GND). Laut Spezifikation gewinnen 1-Wire-Chips ihren Strom aus der Signalleitung. Und zwar genau dann, wenn keine Signale auf dem Bus ausgetauscht werden. Zur Überbrückung der Signalzeiten hat jeder Chip intern einen kleinen Kondensator (bzw. sogar Batterien) eingebaut. Für die genauen Interna findet man aber genug Seiten im Internet.

Für meine Versuche habe ich den Temperatur-Sensor DS1820 verwendet. Diesen Chip kann man einmal (wirklich) mit 2 Drähten (Signal/GND) verschalten oder die Versorgungsspanung (Vcc) an einen dritten vorhandenen Pin anlegen. Für letzteres habe ich mich entschieden, um von Anfang an Problemen mit der Signalqualität aus dem Weg zu gehen. Für diese Variante sind auch keine weiteren Bauelemente notwendig.

BLIT-Board-seitig ist die Signalleitung des DS1820 an einem Pin der ISP-Schnittstelle (konkret PB3 --> MOSI) verbunden, weil GND/Vcc gleich "in der Nähe" waren. Natürlich kann man auch jeden anderen freien Port verwenden.

Um während der Implementierung an einfach zu generierende Ausgaben zu gelangen, habe ich am TWI-Bus des BLIT-Boards die LCD-Zusatzbaugruppe angeschlossen.

Software

1-Wire-Source für BLIT2008-Board: Blit_board_1wire

... Beschreibung kommt demnächst...

'Persönliche Werkzeuge