Hallo, an einem Eingang können verschiedene Spannungen anliegen, wie (mit welcher schaltung) kann ich mit einem AD-Wandler rausbekommen wie hoch so eine spannung ist, die anliegt? oder realisiert man das anders? Gerhard
Wo, was, wie anliegt ? Der ADC wandelt das Eingangssignal mit Respekt zur Referenz.
aber ob an dem Eingang z.B. 5Volt oder 3.3Volt anliegen, muss man doch irgendwie mit einem AD-Wandler auswerten können oder? So dass ich raus bekomme wieviel Volt anliegen am Pin (oder gibt es einfachere bessere möglichkeiten, das auszuwerten)?
d.h. wenn man einen 8Bit AD-Wandler in seinem µC hat, dann kommt das eingangssignal an das erste Bit vom AD-Wandler und dann über Widerstände wird die Spannung verringert und dann an die weiteren Pins vom AD-Wandler angeschlossen - also wie ein Widerstands-Array? und am höchsten Bit vom AD-Wandler erkennt man dann anhand wieviel da noch an Volt vorhanden ist, wieviel Volt anliegen? AD-Pin1 AD-Pin2 AD-Pin3 Eingangspin----|-------|R|---|-------|R|----| usw?
Nein, so : mit R = 4.7k oder so AD-Pin GND Eingangspin------|R|---|-----|R|----| Ein normaler ADC hat nur einen Eingang.
und wie stelle ich sicher, dass der µC bzw. sein ADC nicht mit zu hohen Spannungen konfrontiert wird? Bei dem Eingangssignal kann es auch passieren dass ein sehr hoher Spannungswert auftaucht? Wie groß ist die Genauigkeit mit der ich eine Spannung identifizieren kann mit einem ADC - z.B. mit 8Bit oder so... 256 verschiedene Werte? Die Referenzspannung wird mit dem zweiten R eingestellt und mit dem ersten erkenn ich um wieviel die anleigende Spannung höher oder kleiner als die Referenzspannung ist?
Nein, den Teilerfaktor macht man mit dem widerstandsverhaeltnis. Dabei kann man auch noch eine Z-Diode ueber den zwischen dem ADC und GND klemmen. Der ADC funktioniert etwas anders. Bitte im Datenblatt nachlesen. Die Referenz ist fest, ueblicherweise die Versorgungsspannung des Controllers.
d.h. der spannungsteiler gibt an wie groß die erfassten unterschiede zwischen den spannungen sind? also ob ich unterschiede zwischen 10V und 8V erkenne oder nicht? Kannst du mir da noch eine Rechnung geben, wo man die R-Werte ausrechnen kann, damit man z.B. zwischen 30V und 5V alle 1V-Schritte die Spannung erfassen kann - also dass man 6V von 5V unterscheiden kann? Würde das sogar noch genauer gehen in diesem Bereich? Ok Referenzspannung wird aus dem µC selbst bezogen...
die Z-Diode verhindert, dass negative Spannungen an den ADC gelangen? ist es auch möglich diese negativen spannungen in positive umzuwandeln - oder macht das gar die Z-Diode? so dass wenn eine negative spannung auftritt sie trotzdem vom ADC als positiv gesehen wird
Nein der Spannungsteiler teilt die Spannung, daher der Name. Man hat die Anzahl Bits auf dem eingang. Dh wenn man einen 100:1 Teiler macht, die Referenz mit 5V speist, dann hat man die 8 Bit auf 500V. Nein die Z-Diode verhindert zum Einen negative Spannungen, zum Anderen dass eine gewisse posivive Spannung ueberschritten wird.
1. Leg den µC bei Seite und lerne das Ohmsches Gesetz auswendig. 2. Grundlagen der Elektronik lerne 3. Grundlagen der Digitaltechnik anschauen 2. Tutorial studieren.
So : AD-Pin GND Eingangspin---|R1|---|-----|R2|----| Teiler = R2 / (R1+R2) Nebenbei : Die Impedanz des ADC ist endlich. Und Hochspannungsteiler sind nicht trivial.
1. Leg den µC bei Seite und lerne das Ohmsches Gesetz auswendig. 2. Grundlagen der Elektronik aneignen. 3. Grundlagen der Digitaltechnik anschauen. 4. Tutorial studieren. 5. Suchfunktion benutzen. 6. µC zur hand nehmen und deine Frage nochmal stellen.
mal nebenbei gefragt, wie könnte man das aufweiten für z.B. 8 solcher nicht bekannten Einganngsspannungen? Also, so dass man nach einander die Spannungen über den ADC laufen lässt aber stets weiß welche Einganggsspannung also von welchem Pin grad anliegt?
mit einem schieberegister die spannungen einzeln reinschieben
tobi wrote:
> mit einem schieberegister die spannungen einzeln reinschieben
grins
mit CMOS oder TTL Gattern oder ICs geht das ja nicht, weil diese nur gewisse spannungen abkönnen... also muss das doch irgendwie anders funktionieren?
Wie schon gesagt....bis zur Referenzspg. kannst du alle positiven Spannungen mit einer gewissen Auflösung messen. Für alles, was über die Referenzspg. geht, wird ein Spannungsteiler notwendig.
aber wenn ich mehrere Eingangsspannungen habe - also z.B. 5 Stück - wie weiß ich, welche spannungen gerade anliegt? Eingangsspannung1--------------- --> zum ADC aber wie? Eingangsspannung2--------------
also wie ich weiß ob Eingangsspannung1 oder Eingangsspannung2 vom ADC gerade überprüft wird auf den Wert
verschiedene Eingangsspannungen... Frage 1: Weißt du im vorhinein, in welchem Rahmen sich die Spg. bewegen?? Frage 2: Weißt du im vorhinein, ob es sich immer um Gleichspg. handelt??
in welchem Rahmen sich die Spannungen genau bewegen weiß ich - zwischen 5 und 30V - jedoch kann es immer sein, dass eine Spannungsspitze auftreten kann oder Kurzschluss oder etc. es handelt sich um eine Differenzspannung, die gemessen werden soll.
OK, 30V sind für einen µC-Eingang zu viel, das wird dir klar sein. Somit ist ein Spannungsteiler eine Lösung. Spannungsspitzen, geringeres Problem....doch Kurzschlüsse, gib mir mal genauere Details zu deinem Projekt.
>OK, 30V sind für einen µC-Eingang zu viel, das wird dir klar sein. Somit >ist ein Spannungsteiler eine Lösung. das ist mir klar, nur such ich nach einer möglichkeit über die ich feststellen kann, welche der zwei oder drei Eingangsspannungen gerade am ADC anliegt und auf deren Wert gemessen wird. Kurzschlüsse, Kabelbrüche etc. können immer passieren bzw. auftreten wenn der user ein defektes kabel an das Gerät anschließt --> das man das auf jeden fall berücksichtigen muss...
Spg.teiler Verhältnis 10, du bekommst am Eingang also Werte zwischen 500mV und 3V heraus. Bei einer Auflösung von 10Bit bekommt der ADC Werte zwischen 0 (entspricht 0V) und 1023 (5V) heraus, d.h. ein Bit "hat" 4,8mV. Bekommt dein ADC also also z.B. 453 heraus, wären das also rd. 2,2V, umgerechnet also 22V. Wenn ich dich richtig verstanden, interessiert dich der genaue Messwerte gar nicht, sondern du willst nur wissen, ob 6V, 12V oder 20V anliegen hast?
>Spg.teiler Verhältnis 10, du bekommst am Eingang also Werte zwischen >500mV und 3V heraus. Bei einer Auflösung von 10Bit bekommt der ADC Werte >zwischen 0 (entspricht 0V) und 1023 (5V) heraus, d.h. ein Bit "hat" >4,8mV. Bekommt dein ADC also also z.B. 453 heraus, wären das also rd. >2,2V, umgerechnet also 22V. hat so ein ADC dann auch 8 Eingangsspins wo ich eine der acht spannungen die gemessen werden sollen, anliegen können? d.h. 8x mal einen spannungsteiler entweder gegen GND oder gegen VCC an einen der Eingangsspins vom AD-Wandler des µC?
Ich glaube, wir reden aneinander vorbei. Willst du von einer 'Spannungsquelle' die gerade auftretende Spg. messen, oder von von mehreren gleichzeitig??
CMOS-Analog-Schalter -> Welchen eingang du durchschaltest bestimmst du per Programm.
Der CMOS-Analog-Schalter kann extern oder auch intern im µC sein.
von mehreren spannungsquellen (Eingangsquellen) gleichzeitig oder hintereinander - aber so dass ich weiß welche spannung von welcher spannungsquelle anliegt
wie kann ich meine schaltung bzw. den µC vor kurzschlüssen oder zu hohen spannungen schützen? mit surpressordioden und varistoren? oder gibt es da intellegientere sachen?
Aha, d.h. du steckst das Ding an, und du willst, ob es die richtige Spannung abgibt?! µC gibt es viele, aber die meisten haben mehrere ADC-Eingänge, wo man dann mehr oder minder gleichzeitig (gemultiplext) alle messen lassen kann. Varistor bzw. Z-Diode sind schon gut so, vor Überspannung schützen sie, und bei Kurzschluss brennen sie dir halt ab...
Ich glaube du verwechselst hier Erbsen mit Tomaten. Ein Analog/Digital-Wandler (ADC) hat einen Eingang. Es gibt zwar welche mit 8 Eingängen, die aber intern über einen Multiplexer (Schalter) wahlweise an den einen ADC-Eingang gelegt werden. Gleiches gibt es gibt es z.B. beim Mikrokontroller (MC) ATmega16. Du kannst dort per Programm wahlweise jeden Analogpin auf den ADC schalten und auswerten lassen. Die Analogpins must du so beschalten, das die Eingangsspannung von 5Vmax in keinem Fall überschritten werden kann.
was kann ich bei kurzschluss machen?? ansonsten ist mein µC auch sofort im nirvana... und die leiterbahndicke ist ja auch nur für einen max. großen strom zulässig... d.h. wenn der strom zu hoch ist, brennt diese sozusagen durch oder ab...
Das was du da testen willst, welche Leistung bringt denn das (also max. 30V, doch wie viel Strom)??
im normeln betreib ist der strom total irrelevant - 0.25A bis 0.5A - aber bei einem kurzschluss wird dieser ja übertroffen und dann kann das schon zum problem werden für den µC etc.
vielleicht eine Schmelzsicherung oder sowas... wenn es die schon in diesem kleinen bereich gibt... dann würde zwar diese kaputt gehen aber der rest der schaltung ist heile...
Das hast recht, ein Kurzschlussstrom ist erheblich höher als der Nennstrom, nur wenn dieser schon nur ein halbes mA hat, brauchen sich zumindest die Leiterbahnen vor einem Kurzschluss nicht zu fürchten: Kupferdicke 0,35µ, Leiterbahnbreite 1mm -> über 3A Dauerbelastung bei 20° möglich, bei 1s Belastung sogar bis 10A, wie gesagt, das ist die Z-Diode vorher hin...
Bernd wrote: > vielleicht eine Schmelzsicherung oder sowas... wenn es die schon in > diesem kleinen bereich gibt... dann würde zwar diese kaputt gehen aber > der rest der schaltung ist heile... Schmelzsicherung VOR der Spannungsquelle, die du messen willst, aber dahinter, mitten in eine Messschaltung hinein, würd ich nicht.
wenn dann würde ich so eine schmelzsicherung gleich nach dem Eingang parallel zwischen Data+ und Data- schalten - hier befinden sich bis jetzt zwei Z-Dioden antiparallel geschaltet... Meinst du die Schmelzsicherungen beeinflussen weil deren Widerstand so klein ist, die zu messende Spannung?
Eine Schmelzsicherung parallel schalten...aaaah...eine Sicherung gehört in eine Leitung hinein, du willst ja die Leitung vor Überlast schützen!! Data+/Data-...USB?? Das kommt noch hinzu; aber eine Sicherung gehört einfach nicht in eine Messleitung, man strebt ja eine möglichst genaue und zuverlässige Messung an.
stimmt zu schnell geschrieben - die Z-Dioden befinden sich zwischen DATA+ und DATA-... klar die schmelzsicherungen auf beiden DATA-Leitungen... d.h. du würdest nicht gegen kurzschluss absichern... sondern nur gegen zu hohen spannungen
Was nehmt ihr den Frager auf den Arm ? Kurzschluesse muss man nur verlaengern, da sie sonst zu kurz sind. Bei Kurzschluss liegen Null Volt an. Ist doch gut so. Der Strom muss ja gar nicht ueber die Messschaltung. Der Soll durch den Kurzschluss.
d.h. schon zuvor eine schmelzsicherung gegen kurzschluss sowie Varistoren oder Surpressordioden für den Spannungsschutz und dann das signal (spannungswert) zum Ad-Wandler des µC?
gibt es noch andere situationen, dass Null Volt anliegen vorhanden sind, als im Kurzschlussfall? wenn nicht würde ich somit auch eindeutig wissen, dass ein kurzschuss vorliegt? Wenn kein Kabel angeschlossen ist, fließt normalerweise ja trotzdem eine spannung, die vom Pegelwandler an den Ausgang gegeben wird, oder?
Wenn nichts angeschlossen ist, wird der ADC-Eingang auf Masse gezogen -> 'herumfliegende' Potenziale an Pins sind nie gut.
noch eine frage bezüglich der verwendeten GND: in meiner schaltung ist zwischen µC und den Ausgängen eine galvanische trennung vorhanden... wie wird die galvanische trennung beim messsignal berücksichtigt? Installiert man den spannungsteiler direkt beim ausgang -> geht dann durch einen optokoppler und dann zum AD-Wandler?
>Wenn nichts angeschlossen ist, wird der ADC-Eingang auf Masse gezogen -> >'herumfliegende' Potenziale an Pins sind nie gut. ok, dass passiert durch den Spannungsteiler, der auf der einen seite auf GND verweist...
Du willst dein schönes Messsignal durch einen Optokoppler schicken?? Dann hast ja nur 0 oder 1, Spannung da oder keine Spannung da!! Du redest jetzt von Ausgängen, d.h. du willst z.B. aufgrund des gemessenen Spannungswert vom µC etwas schalten oder auf einem Display anzeigen lassen oder wie?
ich möchte am display anzeigen, wenn am ausgang etwas mit dem kabel nicht stimmt, ein kurzschluss vorliegt z.B. --> ok das mit dem opto ist mir einleuchtend... muss ja analog bleiben.. richtig...
sprich am display wird ausgegeben wie hoch die spannung ist, ob ein kurzschluss vorhanden ist und ähnliches - das ganze für 8 leitungen
Das mit dem Anzeigen auf dem Display ist OK. Wenn es sich um Netzteile oder so handelt, sie die eh galvanisch vom Netz getrennt durch den Trafo...
auf diesen leitungen die ich da überprüfen möchte auf solche sachen, werden daten übertragen... die datenübertragung ist galvanishc getrennt vom rest der schaltung, um bei langen leitungen keine probleme mit potenziale zu haben...
braucht man eigentlich eine Sample-Hold-Schaltung vor den AD-Wandler (oder ist das im µC integriert), das während der messung nicht eine spannungsschwankung auftritt, die das messergebnis verfälschen würde?
und welche art von ad-wandler sind eigentlich im normalfall in einem µC eingebaut (also wenn nichts dabei steht) bzw. welches Verfahren wird im µC dann angewandt? - Flash-Wandler (Parallel-Wandler) - Pipline Wandler - Tracking Wandler - Slope Wandler - sukzessive approximation manchmal wenn es sich um audio handelt und der Controller dafür ausgelegt ist, stet auch Sigma-Delta-Wandler da...
ok hab grad gesehen das häufig die sukzessive wandlung angewandt wird - zu 95% bei µC?
Ja, beim ATMega8 schon...sollte aber immer im Datenblatt dabei stehen!
wenn der AD-Wandler eine Spannung von den acht anliegenden Spannungen auswertet, hat er dann trotzdem eine Möglichkeit auf die anderen mit einem zweiten Auge zu schauen oder nicht? Mir geht es darum, dass sich diese Spannungen natürlich ändern können und ich das sofort mitgeteilt haben möchte bzw. der µC... egal welche Spannung gerade vom ADWandler gemessen wird, muss ich die Möglichkeit haben ein zweites Auge auf die anderen Spannungen werfen zu können und sofort benachrichtigt werde, wenn sich diese ändern. wie über einen Interrupt (nur hat ein µC nicht acht externe Interrupts) Ist das überhaupt möglich? Bernd
Lies Dir doch einfach mal im Tutorial und den Datenblättern die entsprechenden Abschnitte durch und erkundige Dich, wie ein A/D-Wandler arbeitet! Dann wirst Du feststellen, dass der immer nur eine Spannung wandeln kann. Mehrere Eingänge gehen nur nacheinander.
Eine einzelne Wandlung dauert so um die 20us, je nach Einstellung. Das sollte doch genuegen...
wenn sich halt etwas auf der Leitung ändert, geht das im Nanosekundenbereich...
Nullpointer wrote: > Eine einzelne Wandlung dauert so um die 20us... Aber nicht beim AVR und mit voller Auflösung (10 Bit)...
Na, gut, dann sind's eben 70us, was solls ? Ja, wenn die Aenderungen im subnanosekunden bereich liegen, wird's eng.
vielleicht sieht das bei ARM7 sachen anders aus... aber ansich ist das ganze ja nicht vom µC abhängig sondern nur vom ADC
Erich wrote:
> aber ansich ist das ganze ja nicht vom µC abhängig sondern nur vom ADC
Genau. Und Erfassung im GHz-Bereich geht nur mit Flash-ADCs. Und da
stellt sich dann zusätzlich die Frage der Verarbeitung der Daten...
die Flash-ADCs muss ich mal anschaune - wie schnell sind die denn? Im GHz-Bereich... puh nicht schlecht...
Ja, wir sehen, der Gerhard sollte vielleich mal eine kleine Vorstudie zu einem Vorprojekt machen. Danach wuesste man in welcher Richtung man weiterdenken soll. Wie schnell sind die Signale wirklich, wie schnell muss eine Reaktion kommen usw. Es geht um Verbrenner ... konnt's gerade nicht mehr finden, dh irgendwas im millisekundenbereich. Ausser er will den Verbrennvorgang aufloesen.
auf leitungen und im nanosekundenbereich.... krübbel klingt nach Reflexionen oder Einstreuungen oder ähnlichem - die ändern sich im nanobereich... --> keine ahnung wenn es sich um sowas handelt, wie man das auswerten kann - vielleicht mit so einem FLash-ADC...
Bernd wrote: > wenn sich halt etwas auf der Leitung ändert, geht das im > Nanosekundenbereich... Dann muss dem µC klar gemacht werden, dass er grobe Spgs.änderungen speichern muss......... Schön langsam würde ich bei dem Projekt zu nem Oszi raten.
wie funktioniert das denn in einem Oszi eigentlich? Besitzt das auch einen ADC? und wenn ja, wie bekommt das so eine auflösung von der zeit her hin?
Ein Analog-Oszi funktioniert fast wie ein Fernseher (aber mit Elektronenstrahlröhre); bei einem Digital-Oszi wird natürlich mit einem A/D-Wandler gearbeitet
welche ADWandler werden da eingesetzt um in diesem zeitlichen Bereich auch reinschauen zu können? die müssen ja rasend schnell sein
Flash-Wandler...jaja, die sind sehr schnell. Haben Auflösung von meist 8-12Bit und haben Abtastraten von mehreren GigaSamples/Sekunde!
hier ein aufbau des analogteils von einem digitalen speicheroszi realisiert mit einem fpga http://www.johann-glaser.at/projects/DSO/analog/ abendliche grüße ich
leider funktioniert der link nicht... bekomm keine seite angezeigt
naja die flash-wandler werd ich mir mal anschauen - gibt es die auch als ICs (wie teuer sind die denn)? und über was schließt man wenn es sowas denn gibt an einen µC an?
komisch, habe die seite eben gerade erst rausgesucht und hier reinkopiert... also eben ging es noch. naja evtl morgen wieder....
Gibt es sicher als IC, bezüglich Verfügbarkeit & Anschluss muss ich auf Google verweisen....aber schätze, die sind nicht gerade billig. Für was würdest sie denn brauchen, werden normalerweise in Oszis und Videoanwendungen eingesetzt.
nur aus reines interesse - um ein oszi zu bauen fehlen mir noch ganz viele kenntnisse... aber einfach um zu sehen was es gibt und wie so ein IC aufgebaut ist und über welche Leitungen das ganze an einen µC angeschlossen wird
Naja, du würdest aus dem ADC dann eh ein Digital-Signal heraus bekommen, das einem µC zuzuführen wäre das geringerere Problem...ach ja, bei Flash-ADCs wird das Signal dann in einem RAM gespeichert...aber das müsste man sich dann wirklich genau anhand von Datasheets ansehen.
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.