Hallo,
ich möchte einen A/D-Wandler (AD7825BNZ) verwenden, um ein analoges Signal in ein digitales umzuwandeln. Leider will ich keinen µC verwenden, dafür aber die parallele Schnittstelle.
Kann mir jemand sagen, was ich am ADC wie setzen muss, um das Signal zu digitalisieren?
Danke im Voraus
Joe
Hi Joe.
Ich nehm mal an, dass Du das Datenblatt gelesen hast.
Soweit ich das verstehe, wird die Umwandlung durch eine fallende Flanke am /convst Eingang ausgelöst. Ist die Umwandlung abgeschlossen gibt es einen Impuls am /eoc Ausgang. Damit die Signale ausgegeben werden musst Du noch /rd und /cs auf logisch Null setzen. /pd muss logisch Eins sein.
Hilft Dir das schon? Wenn nicht musst Du nochmal Bescheid sagen, wo es klemmt.
Gruß,
Ferdinand
Hi Joe,
mir ist leider auch nicht ganz klar was du meinst. willst du deinen A/D-Umsetzer direkt mit dem Paralellport verbinden und auch durch diesen ansteuern lassen?
Grüße,
J~
Hi Joe,
mir ist leider auch nicht ganz klar was du meinst. willst du
deinen A/D-Umsetzer direkt mit dem Paralellport verbinden und
auch durch diesen ansteuern lassen?
Ja, ich möchte diesen ADC direkt mit dem Parallel Port ansteuern. Ist das möglich?
Grüße
Joe
Hi Joe.
Ich nehm mal an, dass Du das Datenblatt gelesen hast.
Soweit ich das verstehe, wird die Umwandlung durch eine
fallende Flanke am /convst Eingang ausgelöst. Ist die
Umwandlung abgeschlossen gibt es einen Impuls am /eoc Ausgang.
Damit die Signale ausgegeben werden musst Du noch /rd und /cs
auf logisch Null setzen. /pd muss logisch Eins sein.
Hilft Dir das schon? Wenn nicht musst Du nochmal Bescheid
sagen, wo es klemmt.
Beim einschalten des ADC muss /convst=„1“ sein, dann erzeuge ich eine fallende Flanke um die Umwandlung zu starten??? Ich will diesen ADC mit dem Parallel Port ansteuern, ist dieses schnell genug??? oder sind das nur Minimumszeiten die man auf jeden Fall einhalten muss?
Als dann /eoc auf „0“ ist muss ich dann /cs und /rd der reihen nach auf „0“ setzen. Wie lange sind dann die Daten gültig? Bis ich /rd und /cs wieder aus „1“ setzte?
Kann /p durch aus auf „1“ sein???
Vielen, vielen Dank
Joe
Hallo Joe,
Ja, ich möchte diesen ADC direkt mit dem Parallel Port
ansteuern. Ist das möglich?
Stellt sich jetzt noch die Frage nach dem Betriebssystem. Unter W98 geht das noch, ab Win W2k verbietet das Betriebssystem direkte Zugriffe auf die Hardware.
MfG Peter(TOO)
Hi Joe.
Ich nehm mal an, dass Du das Datenblatt gelesen hast.
Soweit ich das verstehe, wird die Umwandlung durch eine
fallende Flanke am /convst Eingang ausgelöst. Ist die
Umwandlung abgeschlossen gibt es einen Impuls am /eoc Ausgang.
Damit die Signale ausgegeben werden musst Du noch /rd und /cs
auf logisch Null setzen. /pd muss logisch Eins sein.
Hilft Dir das schon? Wenn nicht musst Du nochmal Bescheid
sagen, wo es klemmt.
Beim einschalten des ADC muss /convst=„1“ sein, dann erzeuge
ich eine fallende Flanke um die Umwandlung zu starten???
Genau. (Und bitte immer nur ein Fragezeichen)
Ich
will diesen ADC mit dem Parallel Port ansteuern, ist dieses
schnell genug??? oder sind das nur Minimumszeiten die man auf
jeden Fall einhalten muss?
Der ADC hat keinen eigenen Takt, insofern sind das immer Mindestzeiten. Solange sich keine Eingangssignale ändern geschieht auch im ADC nichts. Das Ergebnis wird ausgegeben solange /cs und /rd „0“ sind. Wechseln /cs oder /rd auf „1“ bevor Du eine neue Umwandlung startest wird immer wieder das gleich Ergebnis ausgegeben wenn beide wieder „0“ sind. Wenn Du /cs und /rd nacheinander setzen muss ist die Reihenfolge egal.
Für Deinem Fall kannst Du auch beide einfach kurzschließen und auf Masse legen, da keine weiteren Chips angeschlossen sind.
Kann /p durch aus auf „1“ sein???
/pd solltest Du immer auf „1“ setzen. /pd ist quasi ein an/aus Schalter, den Du eh nicht brauchst. Kannst Du also einfach auf VDD setzen.
Eigentlich brauchst Du nur den Datenbus und das /convst Signal mit dem Parallelport zu verbinden, alle anderen Signale sind statisch. Zeitlich musst Du Dir auch keine Sorgen machen, der ADV wandelt schneller als Du abfragen kannst. Das /eoc Signal kannst Du also einfach ignorieren.
Dann schon mal viel Spaß.
Gruß,
Ferdinand
Vielen, vielen Dank.
Also \pd mit VDD kurzschließen, \cs und \rd kann ich auch kurschließen und fix auf Masse legen? Also brauche ich nur \CONVST mit dem ich immer eine Umwandlung starte.
Da ich zwischen mehreren Signalen multiplexen möchte, brauch ich noch 2 zusätzliche Leitung. Wann muss ich die Daten fürs Multiplexen rausschreiben?
Grüße
JOe
Ja, ich möchte diesen ADC direkt mit dem Parallel Port
ansteuern. Ist das möglich?
Stellt sich jetzt noch die Frage nach dem Betriebssystem.
Unter W98 geht das noch, ab Win W2k verbietet das
Betriebssystem direkte Zugriffe auf die Hardware.
Hallo,
ich verwende C# und die Kommuikation funktioniert bereits!
Hallo,
wer weiß, wisou ich nur einen Wertebereich von ca. 1,09V (=00000000) bis ca. 4,1V (=11111111) erfasse? Hängt der Wertebereich von Vmid ab?
Danke
Joe
Vielen, vielen Dank.
Also \pd mit VDD kurzschließen, \cs und \rd kann ich auch
kurschließen und fix auf Masse legen? Also brauche ich nur
\CONVST mit dem ich immer eine Umwandlung starte.
Genau. Zumindest hab ich das so dem Datenblatt entnommen.
Da ich zwischen mehreren Signalen multiplexen möchte, brauch
ich noch 2 zusätzliche Leitung. Wann muss ich die Daten fürs
Multiplexen rausschreiben?
Du meinst an den ADC zwei verschiedene Analogen Signale anlegen und getrennt wandeln? Dann musst Du die Adressleitungen passend belegen, und zwar so, dass vor Start der Wandlung die Adresse für das Signal das Du erfassen möchtest anliegt. Die Adresse sollte sich während der Wandlung auch nicht ändern.
Gruß,
Ferdinand
Hmm,
nicht ganz so einfach zu beantworten.
Wichtig ist, dass AGND mit der Masse Deines zu messenden Signals verbunden ist.
In welchem Wertebereich ist denn Dein Signal? und mit welcher Spannung betreibst Du das ganze? Das einfachste dürfte es sein, Vmid nicht zu verbinden.
Anscheinend ist aber der Wertebereich den Du erfassten kannst immer deutlich kleiner als 0
Du meinst an den ADC zwei verschiedene Analogen Signale
anlegen und getrennt wandeln? Dann musst Du die
Adressleitungen passend belegen, und zwar so, dass vor Start
der Wandlung die Adresse für das Signal das Du erfassen
möchtest anliegt. Die Adresse sollte sich während der Wandlung
auch nicht ändern.
Dieser ADC hat ja auch Multiplexfunktion, mit zwei analoge Signale kann ich zwischen 4 analogen Eingangssignalen multiplexen, welche umgewandelt werden. Dies erfolgt über A0 und A1. Wann (zeitlich gesehen) muss ich dem ADC sagen, welches Signal er umwandeln soll? Bevor ich \CONVST eine fallende Flanke gib?
Grüße
Joe
Dieser ADC hat ja auch Multiplexfunktion, mit zwei analoge
Signale kann ich zwischen 4 analogen Eingangssignalen
multiplexen, welche umgewandelt werden. Dies erfolgt über A0
und A1. Wann (zeitlich gesehen) muss ich dem ADC sagen,
welches Signal er umwandeln soll? Bevor ich \CONVST eine
fallende Flanke gib?
Genau, bevor die Wandlung gestartet wird.
Ferdinand
- Ich weiß nicht wie die Umrechnung am PC erfolgt? Ich bekomme
eine Zahl zwischen 0 und 255, aber ich weiß nicht wie man
genau rechnen muss, um wieder das analoge Eingangssignal zu
bekommen.
255 entspricht 2,5V, 0 entspricht 0V, der Rest liegt linear dazwischen. Eine Änderung um 1 am Ausgangssignal entspricht 2,5V/255 = 0,0098V. Du musst also nur Deinen Wert mit 0,0098 multiplizieren.
- Ich möchte Messwerte (Spannungen) von 3 Sensoren über diesen
ADC und Parallel Port an den PC übertragen. Allerdings liefern
dieses Sensoren ein Ausgangssignal von 0V-5V. Was soll ich
machen?
Du musst den Pegel anpassen. Am einfachsten, besser gesagt am besten, geht das mit einem Operationsverstärker (OPV). Da eignet sich ein invertierender Verstärker wie er bei Wikipedia beschrieben ist:
http://de.wikipedia.org/wiki/Operationsverst%C3%A4rker
Das Verhältnis der Widerstände 1/2 betragen, also sollte R1 doppelt so groß sein wie R2. Kannst z.B. 1 MegaOhm für R2 und 2 MegaOhm wür R1 nehmen. Dadurch wird die Spannung an Deinem ADC halbiert. Ein Bit entspricht dann 2*0,0098V = 0,02V. Du brauchst natürlich je einen OPV pro Signal.
Bist Du denn auf den ADC festgelegt? Könnte sich lohnen einen anderen zu suchen, bevor Du den ganzen zusätzlichen Aufwand mit OPVs und allem betreibst.
Gruß,
Ferdinand
Bist Du denn auf den ADC festgelegt? Könnte sich lohnen einen
anderen zu suchen, bevor Du den ganzen zusätzlichen Aufwand
mit OPVs und allem betreibst.
Vielen, vielen Dank!
Ja OPVs sind mir bekannt, und das mit der Verstärkung (V=0,5) auch, nochmals vielen Dank.
Eigentlich bin ich schon auf diesen ADC angewiesen. Die ganze Schaltung wird eine PC-gesteuerte Wetterstation und ich muss sie bis Ende Mai fertig haben. Ist nämlich eine Facharbeit in Informatik, Systeme und Elektronik an unserer Schule.
Noch eine Frage, wenn ich zB 1,26V umwandeln möchte, und diese Umwandlung öferts mache, zeigt mir der ADC verschiedene Werte an, hat das einen logischen Grund?
Kann das sein weil vieleicht das Multimeter nicht so genau messen kann?
Vielen Dank
Joe
Hallo Joe,
Noch eine Frage, wenn ich zB 1,26V umwandeln möchte, und diese
Umwandlung öferts mache, zeigt mir der ADC verschiedene Werte
an, hat das einen logischen Grund?
Ja, mehrere:
- Der ADC ist ein Flashwandler. Der misst die Spannung in einem Zeitfenster von etwa 100ns. Wenn du keinen sauberen Aufbau hast (Brummspannung, Störspitzen, Rauschen usw.) wirst du keine stabilen Messwerte bekommen. Du hast ja langsame Signale (Wetterstation), also Tiefpässe in die Eingangssignal einbauen und/oder das ganze Rechnerisch ausfiltern.
- Dein DVM wird so 2 bis 5 Messungen/s machen und zudem über die Messzeit das Integral der Spannung bilden. Dadurch kompensiert sich dann z.B. die 50Hz Brummspannung.
- Genauer als +/- ein Bit geht es nicht. Wenn der Eingangswert gerade auf der Grenze zwischen zwei Stufen ist, wird sich der Wandler immer mal so und mal andersrum entscheiden.
Wie gross sind denn die Schwankungen und wie konstant ist deine Spannungsquelle ?
Wenn dein Aufbau nicht elektronisch sauber ist (Abschirmung, Blockkondensatoren usw.) wirds nicht genau.
MfG Peter(TOO)