-         

Ergebnis 1 bis 8 von 8

Thema: A-/D-Wandler - Signalverarbeitung - Schaltung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.06.2013
    Beiträge
    18

    Frage A-/D-Wandler - Signalverarbeitung - Schaltung

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Guten Tag liebe Roboternetz-Community,

    wir haben mal wieder ein kleines Problem bei der Schaltung eines eigentlich doch recht simplen Schulprojekts:

    Die Idee:
    Wir sollen uns in kleinen Gruppen ein Projekt zum Thema Schwingungen überlegen, da wir sowohl Software- als auch Hardwareseitig arbeiten wollten,
    kamen wir auf die Idee, die Funktionsweise der digitalen Tonaufnahme näher zu untersuchen und im groben nachzustellen.
    Der Plan sieht momentan so aus, dass wir eine Schaltung haben welche die Analogsignale (von Frequenzgenerator, Mikrofon,...) in einen "brauchbaren" Bereich bringt,
    welche wir mit den Analog-IN-Pins eines Arduinos relativ genau einlesen können und die digitalisierten Signale via Serielle-Schnittstelle (bzw. USB) an einen Computer (Linux) übertragen,
    wo sie dann in einem selbstgeschriebenden Java-Programm weiterverarbeitet und abgespeichert werden.
    (Uns ist klar, dass wir damit natürlich nicht in Top-Qualität Musik aufnehmen werden können, aber die Funktionsweise sollte man so doch im Groben recht anschaulich darstellen können.)

    Das Problem:
    Das mit Abstand größte Problem, das uns jetzt auch schon eine ganze Weile beschäftigt, ist die Schaltung zwischen Signalquelle und Arduino.
    Diese soll eigentlich nur zwei Dinge erledigen:
    1.) Das Eingangssignal (kann je nach Signalquelle Peak-to-Peak kleiner als 1V sein) auf 5V (Peak-to-Peak) verstärken.
    2.) Das ganze Signal "nach oben verschieben", also den Mittelwert der Sinuskurve auf +2,5V bringen.
    Die Reihenfolge der beiden Punkte ist uns eigentlich egal, wichtig ist nur, dass wir am Arduino ein - an die Signalquelle anpassbares - Signal von 0V-5V haben.

    Wir haben schon eine einfache Schaltung mit einem LM741 versucht, welche allerdings lediglich zu den seltsamsten Verzerrungen der Sinuskurve auf dem Oszilloskop führte...

    Daher hoffen wir, uns kann hier jemand weiterhelfen.


    Schon mal im voraus danke für jegliche Hilfe!!!


    SGH pRO.BOTICS

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Danke für Schaltplan eurer Schaltung im voraus !
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    16.06.2013
    Beiträge
    18
    Eben das ist ja das Problem, wir haben keine Ahnung, wie wir die Schaltung aufbauen sollen.

    Um das Signal "nach oben zu verschieben" haben wir beispielsweise versucht 2,5V DC um Signal zu addieren, was allerdings keine Wirkung zeigte.

    Hier ist dennoch mal eine Skizze des Aufbaus:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Skizze.jpg
Hits:	19
Größe:	59,1 KB
ID:	30211

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Ich habe nie Steckbrett benutzt und deine Skizze ist für mich total unverständlich. Ich bezweifle auch, dass ihr mein skizziertes Schaltplan verstehen und umsetzen könntet. Aber vieleicht könnte jemand euch helfen. Sorry !
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    30
    Beiträge
    1.937
    Ist euch denn die Signalverarbeitung per Arduino wichtig oder warum macht ihr das so umständlich? Für sowas gibt es doch eigentlich den Mikrofoneingang am Rechner und auf die Werte müsste man eigentlich Zugriff haben, um die zu verarbeiten.

    Ansonsten halt mit OPVs arbeiten, einmal einen zur Pegelanpassung und einen zum Verschieben der Spannung, aber so weit wart ihr ja auch schon. Soweit ich das bisher aber mitbekommen habe funktioniert das nicht richtig, wenn der OPV nur zwischen 5V und Gnd hängt, da der am oberen Ende genug Spannungsdifferenz braucht. Wenn man da keinen Rail-to-Rail-OPV verwendet, sind Verzerrungen vorprogrammiert. Also Rail-to-Rail-OPV verwenden oder höhere Spannungsversorgung wählen. Was für Schaltungen habt ihr denn jeweils verwendet? Hier sind schonmal die wichtigsten Grundschaltungen aufgelistet:
    http://www.mikrocontroller.net/artic...undschaltungen
    AI - Artificial Idiocy

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2007
    Ort
    Berlin
    Beiträge
    523
    Sehr einfach geht es nach dieser Schaltung.

    Klicke auf die Grafik für eine größere Ansicht

Name:	inv_amp.jpg
Hits:	24
Größe:	23,4 KB
ID:	30212
    Das Audiosignal wird über eine Kondensator auf den invertierenden (mit Minus) bezeichneten Eingang.

    Der nicht invertierende Eingang (mit plus gekennzeichnet) erzeugt den Offset (einen konstanten Gleichspannungsanteil)
    der auf die Mitte der Versorgungsspannung gelegt wird. Das kann ganz einfach mit 2 gleichgrossen Widerständen erfolgen.
    Ob das nun 470 Ohm oder 10000 Ohm sind spielt hierbei weniger eine Rolle. Beide gleich gross, dann fällt an beiden die gleiche Spannung ab und genau in der Mitte geht es zum Plus Eingang des Operationsverstärkers.

    Da ihr unterschiedlich sarke (hohe) Signale verarbeiten wollt ist eine entsprehende Vorverstärkung sinnvoll.

    Das geht ganz einfach mit 2 Widerständen, die ich mal mit RE und RG bezeichnet habe.
    Die Formel der Verstärkung ist dann V = RG / RE. (ich weis da fehlt nen Minus )
    Wenn also RG 1000 Ohm hat und RE 100 Ohm hat, dann haben wir eine Verstärkung von 10.

    Problem: Die meisten Operationsverstärker können am Ausgnag nicht bis 0 Volt und auch nicht bis zur vollen Versorgungsspannung aussteuern. Hier können je nach Typ (741 schlecht) einige milli Volt oder sogar Volts verloren gehen.
    Dafür gibt es die sogeannten Rail To Rail Operationsverstärker.
    zum Beispiel den LMV324 (!!! NICHT zu verwechseln mit dem LM324) Das "V" beachten, ist der Low Voltage Typ.
    Hier kann der Ausgang bis auf einige 10mV nach unten und nach oben hin arbeiten.

    Im Ruhezustand liegt das Ausgangssignal dann auf halber Spannung,
    Die Verstärkung ist dann anpassbar mit RG oder RE, kann natürlich auch ein Potentiometer sein.

    ! Achtung : in dieser Schaltung wird das Eingangssignal invertiert, was sich per Software ja leicht umdrehen lässt.
    Ich mag die inertierte Schaltung lieber, weil man da weniger rechnen muss.

    Siro
    Geändert von Siro (26.05.2015 um 15:54 Uhr)

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    16.06.2013
    Beiträge
    18
    Danke für die super Antwort!!!

    Jetzt wissen wir auch, was wir falsch gemacht haben...
    (Falscher OPV und noch dazu falsch angeschlossen)

    Wir werden es sobald der OPV da ist sofort ausprobieren!

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Euch ist euch schon klar, das das für einen Arduino eine nicht ganz einfach zu lösende Aufgabe ist.
    1. Die Abtastrate müsste kontinuierlich mindestens 8kHz betragen. Der A/D Wandler kann dabei auf 8Bit eingestellt werden, dadurch wird er schneller.
    Zudem muss die Abtastrate konstant bleiben. Ich würde das mit einer Interruptroutine machen.
    2. Die gewonnenen Daten müssen schnellstmöglich aus dem Ram des Arduino raus, da hier ja nicht besonders viel Platz ist.
    Da hierbei ja 80kiloBit Datenen pro Sekunde ( Start Bit, 8 daten Bits, 1 Stopp Bit ) entstehen müsste die Baudrate 115,2kBit/s betragen.
    3. An den Eingang des A/D Wandlers ( und am Ausgang des D/A Wandlers ) gehört ein steilflankiges Anti Aliasing Filter, das 4kHz sehr gut bedämpft.

    Zuviel Quatsch - entschuldigung Features - würd ich dann in den Arduino nicht mehr rein proggen.

    Ich würd die Anbindung an den PC mittels USB und einem FT 232RL ( Hersteller FTDI ) Baustein machen.
    Bei ELEKTOR gibts auch ein RS232 BOB ( Breakout Board ) mit diesem Chip, falls Ihr keine SMD's löten könnt.

    Also, da habt Ihr schon noch einiges zu erforschen und zu entwickeln.

Ähnliche Themen

  1. Roboter dauerhafte Signalverarbeitung
    Von golther im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 01.02.2013, 09:47
  2. Digitale Signalverarbeitung mit Signalprozessoren
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 20.03.2012, 16:10
  3. Signalverarbeitung D/A Wandler
    Von LukasReidinger im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 11.05.2007, 17:09
  4. Schaltung zum AD-Wandler
    Von Leidi im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 30.05.2005, 15:23
  5. Quasi stochastische Signalverarbeitung
    Von Manf im Forum Kopfnüsse / Wissensquiz
    Antworten: 10
    Letzter Beitrag: 21.02.2005, 22:34

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •