Homepage Wiki Forum Buy

DAC

Aus GNUBLIN

Schwierigkeitsgrad Voraussetzung Gnublin Familie
Gnublin logo easy.png Grundkenntnisse Konsole Alle

Inhaltsverzeichnis

Quickstart

Das Gnublin Module-DAC schließt man an den Gnublin Connector und erweitert so seinen Gnublin um 4 Digital to Analog Ausgänge. Auf dem Modul wurde der Baustein MCP4728 verbaut. Der DA-Wander wird über die I²C Schnittstelle angesprochen. Die Adresse ist voreingestellt 0x60.


Im folgenden Artikel wird beschrieben wie man den Baustein, der auf dem DAC-Modul verbaut ist, mit dem GNUBLIN ansteuert.

Module-dac-einzeln.jpg

Der Baustein enthält insgesammt vier Kanäle mit jeweils einem Register und einem EEPROM. Werte die im Register stehen, werden in eine daraufbezogene Spannung umgewandelt. Das Register hat eine 12 Bit Auflösung. Also beschreibt die Zahl 4095 den höchsten Spannungswert. Im Normalfall ist dies 3,3V. Die Betriebsspannung des Gnublin.


Schreiben eines Wertes in einen bestimmten Kanal:

root@gnublin:~# gnublin-dac -c 0 -v 4095

Am Kanal 0 sollte jetzt eine Spannung von 3,3V anliegen.

Die Referenzspannung muss allerdings nicht die Betriebsspannung des Gnublin sein. Der Baustein bietet auch eine interne Referenzspannung. Diese beträgt 2,048V. Diese wird mit dem Befehl -r aktiviert.


root@gnublin:~# gnublin-dac -c 1 -v 4095 -r

Nun sollte am Kanal 1 eine Spannung von etwa 2V anliegen.

Die Werte, welche in den Registern gespeichert werden, können auch wieder ausgelesen werden.

Auslesen Spannung an Kanal 0:

root@gnublin:~# gnublin-dac -c 0


Auslesen Spannung an Kanal 1:

root@gnublin:~# gnublin-dac -c 1


Beides mal wird der Wert 4095 ausgegeben. Um daraus die anliegende Spannung zu Errechnen, ist es also notwendig zu wissen, welche Referenzspannung man angelegt hat.

Für Anfänger

Hat man das Modul aus dem Shop erhalten, und ist man in Besitz der GNUBLIN Distribution, so kann man folgende Schritte ausführen.

Zuerst wird das Modul angeschlossen. Man muss dabei nur beachten, dass das Flachbandkabel mit dem roten Kabel in Richtung der SD Karte zeigt.

Für einfaches und schnelles Auslesen von Spannungen wurde ein kleines Programm implementiert. Das Programm für den AD-Wandler ist in der Distribution bereits vorinstalliert.

Das installierte Programm wird so aufgerufen:

root@gnublin:~# gnublin-dac

Adresse des Moduls

Zu beachten ist, das man auch die richtige Adresse am Modul einstellt bzw. die richtige Addresse als Option mit gibt. Standardmäßig wird die Adresse 0x60 verwendet.

Will man z.B. die Spannung des Moduls mit der Adresse 0x60 am Eingang 1 lesen, so gibt man folgendes ein:

root@gnublin:~# gnublin-dac -c 1 -a 60

Ist man sich mit der Adresse des Bausteins nicht sicher, dann einfach mit den I2C Tools nachfragen:

root@gnublin:~# i2cdetect -y 1


Weitere Befehle

Eine Übersicht über alle Befehle des GNUBLIN-Tools erhält man mit der Hilfefunktion:

root@gnublin:~# ./gnublin-dac -h
This program is designed, to easily access the GNUBLIN MODUL DAC
(Digital to Analog Converter) MCP4728.
-h Show this help
-j Convert output to json format
-b show output in raw format
-a set slave-address e.g. 0x60
-c Select channel: 0-3. If not more is given, value of register will be read. : Use -b and -j for other formats.
-v Select value. 12 bit resolution: 0-4095.
-e Write to EEPROM
-r Select Internal Referenz = 2.048V.
-g Set gain on 2x. Use -g only if you have selected Internal Ref (-r).
Examples:
simple wirte on channel 0 a specific value:
gnublin-dac -c 0 -v 4095
Write to channel 2, register and EEPROM and use internal ref with gain:
gnublin-dac -c 2 -v 4095 -e -r -g
read value of channel 2:
gnublin-dac -c 2

Für Fortgeschrittene

Spannungsversorgung

Die Spannungsversorgung des DACs liegt bei: 2.7 V - 5.5 V

EEPROM und Gain

Der Baustein bietet eine weitere nützliche Funktion an. Man kann den Wert nicht nur in das Register eines Kanals schreiben, sondern auch in dessen EEPROM. Somit ist gewährleistet, dass auch nach Unterbrechung der Stromzufuhr, das DAC Modul wieder den gleichen Spannungwert wie zuvor annimmt.

Ermöglicht wird dies durch den Befehl:

root@gnublin:~# gnublin-dac -c 0 -v 2000 -e

Nun kann man das DAC Modul testweise vom Gublin trennen und wieder anstecken. Die Spannung am Ausgang wird die Selbe sein.

Weiterhin stellt der Baustein auch eine Möglichkeit zur Verstärkung des Spannung bereit. Dieser Gain lässt sich mittels -g anstellen. Ist der Gain aktiviert, wird die Spannung stets verdoppelt. ACHTUNG: Dies ist nur möglich, wenn die Referenzspannung auf intern geschaltet wurde. Maximal kann man damit jedoch nicht wie erwartet eine Spannung von 4,048V (2*2,024V) erreichen, sondern natürlich nur die Externe Spannung von 3,3V.

Mit dem Befehl -e kann man auch diese Einstellungen speichern. Der folgende Befehl soll dies verdeutlichen:

root@gnublin:~# gnublin-dac -c 0 -v 1024 -e -r -g

Man wird am Kanal Null nun eine Spannung von etwa 1.0V messen. Folgende Rechnung soll dies veranschaulichen:

Referenzspannung = 2,048V

Teiler = 4095 / 1024 = 4

Gain = 2

Spannung = (Gain * Referenzspannung)/Teiler

Spannung = 1,0V

Tipp: Dieser Befehl (mit -r -g) bietet dabei ganz besondere Annehmlichkeiten. Die Ausgangspannung entspricht der Value exakt in Millivolt.

Indem man das Modul kurz vom Gnublin trennt, kann man wieder testen ob auch alles ins EEPROM geschrieben wurde.

In anderen Sprachen