Hallo, Ich würde gerne ein Kälte-Umwälzthermostat mittels dem Raspberry Pi ansteuern. Der Schaltplan befindet sich im Anhang. Ich habe z.B. folgendes Tutorial gefunden: http://www.adafruit.com/blog/2012/08/17/tutorial-mcp4725-12-bit-dac-with-raspberry-pi-piday-raspberrypi-raspberry_pi/ Jedoch bekommt man damit nur eine Spannung als Ausgang und nicht wie ich benötige einen Strom. 1. Gibt es günstige DAC, welche einen Strom von 4-20mA erzeugen (10 bit wäre wohl ok)? 2. Welche Anschlüsse des Kälte-Umwälzthermostats muss ich alle verwenden, wenn ich nur den Soll-Wert (=Temperatur) regeln möchte? Viele Grüße
Hallo, Danke. Ich nehme jedoch an, dass du Elektrotechniker oder Ähnliches bist. Mir hilft dein Link zumindest nicht weiter.
Nimm die Operationsverstärkerschaltung nach Abb. 8.13 mit 4 gleichen Widerständen. R = 10V/20mA = 500 Ohm 500 Ohm kann man nicht kaufen, also je 2 Stk. 1000 Ohm Parallel. Genauigkeit 1% oder besser Der OP sollte mit +- 12V besser +- 15V versorgt werden. Und den µP programmierst du statt 0-10V auf 2-10V. An Uo kannst du dann dein 4-20mA Signal abgreifen.
Hallo, >R = 10V/20mA = 500 Ohm Woher kommen die 10 Volt? >Und den µP programmierst du statt 0-10V auf 2-10V. Ich wollte eigentlich keinen Microcontroller programmieren. Mein Programm (Python) sollte letztendlich nur ein digitales Signal an die GPIO Schnittstelle (oder ggf. RS232) senden und dieses sollte hardwaremäßig ohne Programmierung in ein analoges Signal (4-20mA) umgewandelt werden. Frage: So wie im Schaltplan angegeben, ist meine Annahme doch richtig, das nur dieses Signal zum Steuern des Gerätes nötig ist, oder? Ist es vielleicht einfacher mit soetwas meinen Plan umzusetzen: http://www.analog.com/en/digital-to-analog-converters/da-converters/ad5410/products/product.html Viele Grüße.
Das ist genau das richtige IC für deinen Zweck (und Kenntnisstand). Allerdings wird das über SPI bedient, was sich aber auch mit GPIO emulieren lässt(nCS runterziehen, Daten raustickern mit einer Bitmasken-Schiebe-Entscheidungs-Forschleife, nCS wieder loslassen). Leider musst du dich wohl ein wenig mit Hardware auseinandersetzen, wenn du ebendiese auch bedienen willst. Fragt sich nur, wie teuer diese ICs da sind. mf
Hallo, Ich habe hier nun einen AD5410. Wenn ich diesen zum Laufen gebracht habe, wie kann ich dann einen Digitalen Wert an den DAC schicken? Wie müssen folgende 4 Pins des DAC an den Raspberry Pi angeschlossen werden? Latch => ? SCLK => GPIO11(SPI SCLK) SDIN => GPIO10 (SPI0_MOSI) oder GPIO8 (SPI CE0_N) ? GND => Pin 25 (GND) z.B. möchte ich ein Ausgangssignal von 5 mA habe. Ich habe gesehen, dass es für viele Chips libraries für Python gibt, die man importtieren kann, um Zugriff zu erlangen. Gibt es auch so`etwas für den AD5410? Viele Grüße, Frederik
Hallo, @Jörg B. >"warum nicht über PWM ?" Weil ich gefragt hatte und mir auf meine Frage: >"Ist es vielleicht einfacher mit soetwas meinen Plan umzusetzen: >http://www.analog.com/en/digital-to-analog-convert..." So geantwortet wurde: >"Das ist genau das richtige IC für deinen Zweck (und Kenntnisstand)." Ich habe den nun zumindest hier und möchte ihn auch verwenden. Im Manual steht: "The flexible serial interface is SPI, MICROWIRE™, QSPI™, andDSP compatible and can be operated in 3-wire mode tominimize the digital isolation required in isolated applications." SPI wird doch von Raspberry Pi unterstützt und ich habe diesen bereits so weit eingerichtet, dass zwei SPI devices (ohne Anschluss des AD5410) erscheinen. Jetzt müsste ich wissen, wie die Kommunikation funktioniert. Kann ich für Python fertige Treiber-Module imlementieren? VG
Hallo! Ich habe mich witzigerweise erst heute mit SPI am Raspberry auseinandergesetzt. Die Hardware scheint ja schon zu laufen (wenn unter /dev die beiden SPI-Schnittstellen zu sehen sind). Was du jetzt noch brauchst, ist eine Python-Bibliothek zum Ansprechen dieser. Ich hab diese hier verwendet: https://github.com/lthiery/SPI-Py Einfach runterladen (direkt oder mit git), im Verzeichnis dann sudo python setup.py install ausführen, voilá! Ein (sehr einfaches) Beispielprogramm ist auch dabei: https://github.com/lthiery/SPI-Py/blob/master/test-nRF.py Anmerkung: Die Funktion spi.transfer() verlangt die zu übertragenden Daten als Tupel, im Beispielprogramm sind es 2 Byte: spi.transfer((x, 0)) Bei nur einem Byte muss der Aufruf so aussehen (etwas eigenartig) spi.transfer((x,)) Damit wird ein 1-Tupel übergeben. lg
Hallo, Danke. Ich kann mir das jetzt leider nicht anschauen. Aber ich habe bereits MOSI und MISO kurzgeschlossen und mittels Testprogramm (eventuell sogar das gleiche?) Daten gesendet und gleich wieder empfangen. Es geht mir im Speziellen aber um das ansprechen des AD5410 selbst.
War das Testprogramm in Python oder C geschrieben? Falls C, dann brauchst du wahrscheinlich noch das obige Modul. Zum AD5410 hab ich nur irgendeinen C-Code gefunden, sieht so aus, dass er die Daten in 24-Blöcken erwartet, mit einem Wechsel des LATCH-Pins wird dann so ein Block übernommen/interpretiert/abgearbeitet. LATCH kannst du dabei auf irgendeinen GPIO des Raspberry legen und mit dem RPi.GPIO Modul ansteuern. https://github.com/PX4/Firmware/blob/master/nuttx/drivers/analog/ad5410.c Zusammen mit dem Datenblatt sollte eine Routine zum Initialisieren des Chips relativ simpel sein. http://www.analog.com/static/imported-files/data_sheets/AD5410_5420.pdf lg
Vielen Dank, Ich werde das die Tage ausprobieren. Also: Ich möchte nur Daten an den AD5410 senden und brauche keine empfangen. Ist dies so demnach richtig? Latch => irgend ein GPIO Pin der noch frei ist SCLK => GPIO11(SPI SCLK) SDIN => GPIO10 (SPI0_MOSI) ... Master out Slave in GND => Pin 25 (GND) ... Masse Doch nun frage ich mich, wofür die beiden SPI Channel sind? Was muss ich daran anschließen? VG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.