-
Thread
ADC- und DAC-Experimente mit PCF8591 auf Banana Pi SBCs (WiringPi, i2c-tools)
/pcf8591-ad/da-converter-module Datenblätter etc: https://www.roboter-bausatz.de/media/pdf/e7/25/21/PCF8591_AD-DA.pdf https://www.nxp.com/products/analog/interfaces/ic-bus/ic-dacs-and-adcs/8-bit-a-d-and-d-a-converter
- -- -- -- -- -- Compile: # gcc -O2 -Wall -Wextra -std=gnu11 -o pcf8591_AD_DA_on_any_Pi_device.exe pcf8591_AD_DA_on_any_Pi_device.c Run as root (or use sudo): # ./pcf8591_AD_DA_on_any_Pi_device.exe NOTES: In this example below, only the analog input
-
Thread
PCF8591 an ATTiny2313 - I2C-Bus
Null auf Start- D/A-Wandler Bit 0&1 -> Tippfehler? [/c] Ich würde sowas bevorzugen: [c]#define PCF8591_ANA_OUT (1<<6) #define PCF8591_SINGLE 0 #define PCF8591_3DIFF (1<<4) #define PCF8591_1DIFF_2SINGLE (2<<4) #define PCF8591_2DIFF (3<<4) #define PCF8591_AUTOINCR (1<<2) #define PCF8591_ADCHANNEL(_n) ((_n) & 3) //... i2c_write( PCF8591_ANA_OUT | PCF8591_SINGLE | PCF8591_AUTOINCR | PCF8591_ADCHANNEL(0) ); // ... [/c] Außerdem misst der PCF *während* dem Auslesen (Im Datenblatt unter
-
Thread
DAC pfc 8591 mit Arduino Uno veränderbare Sinus Frequenzen
) { Wire.begin(); } void loop() { for (int i=0; i<220; i++) { Wire.beginTransmission(PCF8591); // wake up PCF8591 Wire.write(0x40); // control byte - turn on DAC (binary 1000000) Wire.write(sine_wave[i]); // value to send to DAC Wire.endTransmission(); // end tranmission } }
die f SCL clock Frequenz auf 400kHz zu setzen. Und noch eine Frage ich hab im Datenblatt vom PCF8591 schon nachgeguckt aber hab es nicht gefunden ... wie viel Ausgangsstrom liefert denn der Analog Out beim PCF8591 ?
-
Thread
PCF 8591 Frage - Übernahme von Daten
Hallo Gemeinde Zum einlesen von analogen Spannungen an einem PCF8591 benutze ich den folgenden Code: (AT 1284p, C, 16M mit Anzeige auf dem Bus) [c] while(1) { i2c_start(PCF8591w); i2c_write(0x44); // 0x44 i2c_stop(); i2c_start(PCF8591r
@Achim Seeger (achims) >Zum einlesen von analogen Spannungen an einem PCF8591 benutze ich den >folgenden Code: (AT 1284p, C, 16M mit Anzeige auf dem Bus) Na, mal wieder am kämpfen mit dem I2C Bus? ;-) >while(1) > { > i2c_start(PCF8591w); > i2c_write(0x44
-
Thread
Austausch PCF8591
Habe noch 7 Stück PCF8591 hier, NOS. Interesse?
Mir geht es nur um die Möglichkeit des Austausches. Habe auch noch ca. 7 PCF8591 DIP zu liegen. Für neue Geräte oder Platinen aber wohl nicht mehr zu empfehlen. Hatte den PCA9691 (SMD) noch gefunden. Den scheint es aber auch nicht mehr zugeben. Den PCF8591 gibt es ja noch als
-
Thread
PCF8591 Spannungsmessung
PCF8591 mit 3,3V? Dachte immer diese ICs laufen nur mit 5V.
Noch ein Gast schrieb im Beitrag #7101830: > PCF8591 mit 3,3V? Dachte immer diese ICs laufen nur mit 5V. Hier ist Denken nicht gefragt. Guckst du Datenblatt PCF8591 auf S.17 im Abschnitt 14. "Characteristics". Und was liest du dort bei VDD? VDD
-
Thread
PCF 8591 - Hard- und Software
Hallo Gemeinde Bei einer Suche im Netz nach dem PCF8591 findet man relativ viele Ergebnisse dazu. Leider gibt es mehr Fragen als Antworten dazu. Innerhalb meines Modularen Systems habe den PCF8591 mit ein 4 Regler versorgt und mit einem Programm getestet
Habe den zweiten Teil zum PCF 8591 reingestellt. Auf dieser Platine wird wieder die Spannung gemessen. Diesmal erfolgt der Anschluss mit Schraubklemmen, keine Potis, die Eingänge sind für 0-10V ausgelegt (Spannungsteiler) und der
-
Thread
Temperaturmessung mit PCF8591
des PCF8591 an die Logon Plus ist mir allerdings aufgefallen, dass die Temperatur schlagartig in die Höhe ging. Ich dachte zuerst ich hätte das Kabel des Sensors gelöst, allerdings ging die Temperatur nur nach
Du musst AGND mit dem Normalen GND verbinden. Haste dran gedacht das der Wert im Reg. des PCF8591, immer der Wert der vorigen Messung ist ?
-
Thread
PCF8591 ich werd wahnsinnig!!!!!
Hier zur Einfachheit halber nochmal im Pseudocode, was ich auf dem Bus mache: START WRITE PCF8591_WRITE_ADDRESS WRITE CONTROL_BYTE (0x40) STOP START WRITE PCF8591_READ_ADDRESS READ ACK value := READ NACK STOP return value
kostengünstige A/D Wandler mit SPI ? Mit kostengünstig meine ich ca. 1/5 oder 1/10 des preises was ein PCF8591 (ca 3 Euros) kostet ? Die Geschwindigkeit ist egal (selbst 2kHz bei 8bit reichen) es geht nur um fader und Potis ...
-
Thread
PCF 8591
, keinen digitalen TTL-Pegel. Datenblatt gibts bei: http://www.semiconductors.philips.com/pip/PCF8591.html Ob das eine Gleichpannung bleit oder sich ändert hängt von der Ansteuerung ab, da der PCF8591 keine negative Betriebsspannung hat, kann er natürlich nur positive Spannungen abgeben. Auf
und wie Bau ich die Schaltung auf?Noch ne andere Frage kannst du mir vielleicht sagen wie ich den PCF8591 unter PHP anspreche?
-
Thread
Ports des PCF8574
, kann ich ihm den ganzen Artikel mit Erklärung schicken. Suche im Gegenzug einen Code für den PCF8591. Hat da jemand was für mich? achim
oder nicht. echt witzig :) Achim Seeger schrieb im Beitrag #3552044: > Infos über den PCF 8591 sind noch weniger zu finden hier steht alles drin, was man wissen muss, also wo liegt das Problem? www.nxp.com/documents/data_sheet/PCF8591.pdf
-
Thread
PCF8591 ADC-Funktion
Schönen Guten Abend. Ich sitze nun schon seit 3 Wochen an meinem PCF8591. Aber nun habe ich den Punkt erreciht, wo ich nicht weiterkomme. Ich hoffe ihr könnt helfen. Ich möchte ein einzelnen Poti auslesen. Dieser Wert soll vorläufig als Binärer Wert angezeigt werden
(PCF8591_0, 0, Str_Temp, 2); // Schreiben des DA-Wertes _Aufruf zum Lesen:_ i2c_send(PCF8591_0, 1, Str_Temp, 4); // Leseanforderung von 4 Werten delayer_wrt(twi_message.buf[1]); // Spannungsergebnis in
-
Thread
Austausch oder Ersatz für PCF8591
mehr. Ob das auch Fälschungen sind? https://www.reichelt.de/de/de/entwicklerboards-ad-da-konverter-pcf8591-debo-adc-pcf8591-p282537.html?PROVID=2788&gclid=CjwKCAiA8bqOBhANEiwA-sIlN6bUZfSZwbaLKmSptkITjMrdnJxvMiQ6MDtGSTOXfgkL1z160cwhmRoCQFYQAvD_BwE&&r=1
www.reichelt.de/led-treiber-konstantstromregler-sil-9-an-6884-p4265.html Allerdings bei einem PCF8591 glaube ich auch nicht das die dort schon 20Jahre rumliegen. :) Olaf
-
Thread
Poti an Raspberry Pi oder Alternative?
8 Bit sollten reichen, z.B. PCF8591.
auch immer. Gibt Wert 0..255 Details siehe: https://www.kernel.org/doc/html/latest/hwmon/pcf8591.html
-
Thread
Raspberry Pi 4 Programme über SSH ausführen
eindeutig, dein Port Expander wird nicht gefunden: if(adc->detectI2C(0x48)){ // Detect the pcf8591.
eindeutig, dein Port Expander wird nicht > gefunden: > > if(adc->detectI2C(0x48)){ // Detect the pcf8591. Stellt sich die Frage warum wird der lokal gefunden und remote nicht. Beide Male als ›root‹ gestartet.
-
Thread
I2C-Bus: SDA und SCL an ATMEGA328p
Arduino F. schrieb im Beitrag #7443075: > Bitte zeige mir im Datenblatt des PCF8591 die Stelle, welche das > erlauben könnte. > Ich sehe sie nicht. Siehe Bild.
Axel R. schrieb im Beitrag #7443068: > Ich hab das schnell für diech gegoogelt Oje, der arme PCF8591 kann doch nur max 100kHz. Ohne Delays wird das nichts bei nem 16MHz AVR.
-
Thread
Messwerte "springen" zu stark
habe schon einen Kondensator von 100nf paralell zur Ausgangsspannung MAX und paralell zu Uref des PCF8591 gelegt, leider keine Änderung. Ich messe mit dem PCF... auch eine Akkuspannung, angezeigter ist stabil und richtig. Hat jemand dazu einen Tip...? Gruss A. Arndt
Hier mal ein paar Zeilen aus dem Dtenblatt des PCF8591 Seite 20. 15 APPLICATION INFORMATION Inputs must be connected to VSS or VDD when not in use. Analog inputs may also be connected to AGND or VREF. In order to prevent excessive ground and supply
-
Thread
DA Wandler für allgemeine Basteleien
I2C-Bus 8 Bit PCF8591 http://www.standardics.nxp.com/products/pcf/pdf/pcf8591.pdf seriell 12 Bit LTC1257 http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1155,C1005,C1156,P1425 16 Bit AC-gekoppelt TDA1543
Reichelt-Preise: PCF 8591 P Philips I²C-Bus Microcontroller & Peripherie 2,90 € PCF 8591 T Philips I²C-Bus Microcontroller & Peripherie 2,90 € LTC 1257 CS8 D/A-Converter, SO-8 7,30 € LTC 1257 CN8 D/A-Converter
-
Thread
PCF8591 als D/AWandler verwenden
Hallo. Für meine Anwendung will ich einen PCF8591 benutzen. Der soll mit meinem uController über I2C kommunizieren. Problem ist, dass mein uC mit 3,3V versorgt wird und den PCF8591 möchte ich gerne mit 5V betreiben. Kann man direkt auf dem I2C Bus
Dem Datenblatt nach ist die garantierte V[HI] Spannung eines PCF8591 Eingangs gegeben als: 0.7 * VDD, ist also 3.5V. Das kann bei 5V Schwierigkeiten geben. Ich wuerde as aber trotzdem ausprobieren da 0.7Vdd einen Grenzwert darstellt der eingehalten werden muss
-
Thread
Mehrere Kanäle aktivieren beim I2C-Bus
Slave-Device mehrere Kanäle gleichzeitig aktiviert sein können, z.B. bei einem 4-Kanal-ADC (z.B. PCF8591 ADC/DAC) welches via I2C kommunziert? 2.) Wie kann man beim o.g. Slave-Device bei Bedarf alle Kanäle effektiv deaktivieren bzw. stoppen zwecks Stromsparen etc.? Thx
nichts zu tun. > > Mutluit M. schrieb im Beitrag #5862465: >> z.B. bei einem 4-Kanal-ADC (z.B. PCF8591 ADC/DAC) > > Kann man im Datenblatt nachlesen: der Wandler läuft > nicht einfach dauernd so vor sich hin sondern wird durch > einen Lesen-Befehl für *einen* Kanal getriggert. Das > Ergebnis
-
Thread
Suche ADC mit TWI/i2c Schnittstelle
PCF8591 4x8bit
Wenn dir 8 Bit genügen,den PCF8591 gibt es noch in DIP. http://www.ebay.de/itm/1-5-10-20PCS-PCF8591P-PCF8591-DIP-16-NXP-PHI-8-Bit-A-D-and-D-A-Converter-IC-/272343427628 Oder darf es auch ein Modul sein, das noch einfacher zu
-
Thread
Fehlerkorrektur beim ADC auslesen RPI
code]#include <wiringPi.h> #include <stdlib.h> #include <unistd.h> #include <stdio.h> #include <pcf8591.h> #define PINBASE 100 /* cc -o test2 test2.c -lwiringPi */ int main (void) { int i; int adc0; int adc1; int adc2; int adc3; if (pcf8591Setup(PINBASE, 0x48) < 0) { printf("pcf8591Setup failed:\n"); } adc0 = analogRead(PINBASE + 0); adc1 = analogRead(PINBASE + 1); adc2 = analogRead(PINBASE + 2); adc3 = analogRead(PINBASE + 3); printf("[%d,%d,%d,%d]\n",adc0
-
Thread
PCF8591
mit I2C zum laufen bekommen, aber leider funktoniert es nicht! Habe folgenden Code: void i2c_pcf8591_read( int *d) { int n; // set configuration i2c_bus_start(); i2c_byte_write(0x9F); i2c_ack_slave(); i2c_byte_write(0x04); //control byte i2c_ack_slave(); i2c_byte_read(); // throw
I2CS & bmDONE)) ; I2CS |= bmSTOP; dummy=I2DAT; return dummy; } void pcf8591_write(Byte addr, Byte mode, Byte dat) { I2C_BUF[0]=mode; I2C_BUF[1]=dat; i2c_write_sync(0x90 | (addr << 1),2,I2C_BUF); } Byte pcf8591_read(Byte addr) { return i2c_read_byte(0x91
-
Thread
Angezeigter Wert und berechneter Wert unterschiedlich
Habe ein Problem mit der Anzeige von Werten. Gebe mit einem AT1284p über den I2C Bus an einem PCF8591 eine Spannung aus. Dazu verwende ich eine Referenz von 2,46 V. über den AT1284p gebe ich einen Wert von 0 bis 255 am PCF8591 am Ausgang aus. Weiter mit einem LM358 ergibt sich damit eine Spannung
Anpassung. Ich nutze den "Wert" von 0 bis 255 als Grundlage zur Berechnung. Die 4 Eingänge des PCF8591 nutze ich als 4 Kanäle für eine Messung von 0-20mA oder 0-10V. Den Ausgang des PCF8591 nutze ich über ein Menue zur Einstellung von 0-10V und gleichzeitig 0-20mA. Besser gesagt von 2(4)-20mA. Deinen
-
Thread
Compiler-Fehler?
0 }, // PCF8574, address 0 { "par2", 2, 1 }, // PCF8574, address 1 { "ad0" , 3, 0 }, // PCF8591, address 0, 1. A/D-converter { "ad1" , 3, 1 }, // PCF8591, address 0, 2. A/D-converter { "ad2" , 3, 2 }, // PCF8591, address 0, 3. A/D-converter { "ad3" , 3, 3 }, // PCF8591, address 0, 4. A/D-converter { "da0" , 3,32 }, // PCF8591, address 0, D/A-converter }; ... some other code ... for(j=0; j<NO_DIRE; j++) { if(! strcmp(path, dir[j].path) ) { filetable[i].major = dir[j].major; filetable[i].minor = dir[j].
-
Thread
Verschiedene Spannungen auf einer Platine
humberto schrieb im Beitrag #3577626: > Dein Pin 1 am GPIO ist also ein 3,3V-Ausgang, der den PCF8591 > mitversorgen kann. D.h. ich kann den PCF8591 ohne die Pullups direkt anschließen? D.h. von 3,3V Pin direkt an Vdd anschließen ohne die Widerstände? Die Dioden kann ich aber lassen, oder?
Jay Myon schrieb im Beitrag #3577645: > D.h. ich kann den PCF8591 ohne die Pullups direkt anschließen? Für SDA und SCL sind die schon am RPi (R1,R2) vorhanden. > 3,3V Pin direkt an Vdd anschließen Ja. > Die Dioden kann ich aber lassen, oder? Wie soll das
-
Thread
Welchen DAC empfehlt Ihr ? sollte bei Reichelt kaufbar sein
Hallo Es gibt einen I2C AD/DA wandler PCF 8591 der sollte dene Anforderungen erfüllen ....
I2C AD/DA wandler PCF 8591 - den werde ich mir merken - klingt gut - hier wäre es nur mit "Kanonen nach Spatzen geschossen"
-
Thread
PCF 8591
Hallo zusammen, ich versuche derzeit (bisher vergeblich), den AD-Wandler PCF 8591 mit einem Atmega32 auszulesen. Verbindung zwischen µC und PC ist über USB vorhanden, so können die Werte direkt weitergesendet werden. i2c_init(); i2c_start(0x90); i2c_write(0x04); i2c_stop
-
Thread
Differential Eingänge
Differenzbildung in einigen Fällen durch Differenzverstärker zu machen, so dass du alle vier Eingänge des PCF8591 nutzen kannst.
Hi >Das ganze soll einer Protokollierung von 20 Batterien (in Reihe) dienen. Der PCF8591 ist für 2,5-6V spezifiziert. Die Eingangsspannung der Analogeingänge darf VDD nicht übersteigen (auch nicht im Differenzbetrieb). Bei 20 Batterien kommen so zwischen 24-30V zusammen. Hast du dir das
-
Thread
Temperatursensor an AD Wandler an Mikrocontroller wie anschl
ich habe folgendes Problem ich möchte meinen analogen Temperatursensor KT 10 an einen AD Wandler (PCF 8591) anschließen damit dieser das analoge Signal in ein Digitales umwandelt und es einem Mikrocontroller übergibt. Nur weiß ich nicht welchen Anschluss ich wo anschließen muss. Welcher Anschluss des
Spannung). Hoffe ihr könnt mir helfen und danke schonmal im vorraus Markus Datenblatt des PCF 8591: http://www.nxp.com/acrobat_download/datasheets/PCF8591_6.pdf
-
Thread
sensor
sorry hab den anhang vergessen.. den drucksensor im anhang an den i2c fähigen pcf8591 danke für die hilfe andersrum
Vielleicht hilft dir auch: http://mc-project.de/Pages/Projekte/ICs/PCF8591/PCF8591.html http://mc-project.de/Pages/Projekte/Wetterstation/sensors/MPX-Druck/MPXA4100A.html Allerdings würde ich eher zu einem AD-Wandler wie diesem greifen: http://mc-project.de/Pages/
-
Thread
Datentransfer an PCF8591
Ich versuche jetzt schon seit einiger Zeit aus einem PCF8591 den wert eines analogen signals mittels I²C-Bus herauszukrigen. Aber es funktoniert nicht! Wie genau muss der datentransfer aussehen(bytes), damit ich z.B. den Wert von Kanal 0 Bekomme ?? und welche
Der PCF8591 hat mich auch an den Rande des Wahnsinns getrieben, trotz funktionierender I2C Routine... Alle Werte sind Dezimalzahlen Initialisierung (1x nach dem Einschalten): Start, 144, 64, 64, Stop
-
Thread
PCF8591
Hallo Ich möchte mit dem PCF8591 eine Spannung zwischen 0,0 und +0,7 Volt messen; Geht das ? Welche Ref-Spannung (1,0 V ?) muß ich einstellen ? Aus dem im Dateianhang begefügten Datenblatt-Auszug werde ich ganz schlau
-
Thread
A D converter mi I2C
Danke, ich hab den mal bei reichelt gesucht und dabei den PCF8591P gefunden, jetzt ist meine frage: ist hier ein externer oscillator nötig oder schon verbaut. Es gibt dafür nämlich ein Anschluss und mein englisch ist auf die schnelle nicht gut genug dafür
ATTINY 461A-PU: 1.85 € PCF8591: 2.45 € Tiny: 11 Kanäle, 10 Bit, mit PGA und differentiellen Eingängen. Mehrere PWM-Kanäle bis zu 16 Bit. Eingebaute Referenz PCF8591: 4 Kanäle, 8 Bit, differentielle Eingänge, aber kein PGA.
-
Thread
PCF8591 - I2C Protokoll
Hallo! Ich bin gerade dabei, einen PCF8591 an ein Raspberry Pi anzuschließen. Bis jetzt bin ich leider gescheitert... Ich habe das Datenblatt schon mehrmals studiert, doch leider ohne Erfolg. Das ganze programmiere ich in Python. Da
Somit ist die Adresse eigentlich willkürlich gewählt und ich kann sie auch ändern. Da ich zwei PCF8591 habe, habe ich nur drauf geachtet, dass sie unterschiedliche Adressen haben. Aber was 0x4d betrifft: Fixe Adresse A2 A1 A0 1 0 0 1 1 0 1
-
Thread
Verständnisfrage qt1070
Habe es bei dem PCF 8591 so gemacht: [c] i2c_start(PCF8591w); i2c_write(0x44); // Analog out enable, auto increment, channel 0 0x44 i2c_stop(); i2c_start(PCF8591r); i2c_readAck();
-
Thread
i2c ?
bin noch relativ neu in der ganzen materie und versuche einen i2c fähigen ad wandler anzusteuern (pcf8591). wollte nur fragen ob jemand den code überfliegen kann und mir vielleicht ein paar tipps geben kann. ich bekomm meistens nur irgendwelche werte zu sehen danke im voraus!
http://mc-project.de/Pages/Projekte/ICs/PCF8591/PCF8591.html Ganz unten gibt es Code für GCC. Sollte adaptierbar sein.