Hallo, ich bin kurz vor dem Verzweifeln, ich habe einen AD-DA wandler gebaut für Audiosignale. Das Sprachsignal wird über einen Mikrofonvorverstärker und einen TP eingespeisst und per PWM mit TP an einen aktivlautsprecher ausgegeben. Nun mein Problem: Die Schaltung fängt ständig an zu Rauschen und höhrt wieder auf. Sobald man mit den Fingern die Masseleitung berührt ist das Rauschen vermindert. Ich habe auch anstadt des Mikrofones schonmal einen Poti an den AD Wandler angeschlossen, aber das Rasuchen tritt trotzdem ein wenn der Poti in mittelstellung steht, kann mir jemand weiterhelfen ´? Oder hat jemand eine ähnliche Erfahrung mit dem AD Wandler des ATmega8 gemacht Danke
Bist du sicher, dass der ADC rauscht und nicht der PWM Ausgang ? Das mit der Mittelstellung würde nämlich darauf hindeuten. Ich hänge direkt zwischen ADC Pin und GND etwa 1-10nF, das bringt mehr als die ganzen Tips aus dem Datenblatt ! Dann lasse ich sogar die Spule zwischen Vcc und AVcc und die ganze 100nF weg, und habe trotzdem kaum ein Rauschen.
Also wenn ich den ADC ausen vor lasse und dem PWM Register immer z.B. den Wert 180 zuweise ist das Rauschen weg. Da denke ich dass das Rauschen schon durch den ADC verursacht wird. Wie gesagt, sobald ich den ADC Eingang anfasse oder die GND Leitung geht das Rauschen zurück. Könnte es vieleicht ein Problem mit unbelegten Pins geben, die habe ich nicht speziell behandelt?
Hast du einen Kondensator direkt zwischen ADC Pin und AGND angeschlossen ? Nimm mal so ca. 1-10nF und speise das Audiosignal über einen 1-10k Widerstand ein. Dann müsste das Rauschen weg sein.
Also Ich steuere den ADC nach dem Applications Sheet "AVR335: Digital Sound Recorder with AVR and DataFlash" an dort ist ein TP dierekt am ADC der TP besteht ja genau aus einem 12kOhm Widerstand zum ADC und einer Kapazität von 10nF zu AGND. Das komische ist dass dieses Rauschen immer nur manchmal kommt und wenn ich an der Schaltung rumfingere geht es weg. Mit einer anderen Betriensspannung z.B. aus Batterien ist es auch weg. Aber mit einem Gleichrichter und einem 7805 Spannungsregler rauscht es eben, keine Ahnung wiso
Hast du die 100nF direkt hinter dem 7805 ? Schalte mal 1-100nF rund um den Gleichrichter, also parallel zu jeder Diode.
Ich habe 100 nF an der Spannungsversorgung jedes IC (also Atmega8 und LM324 OPA)und am 7805. Sobald ich dass Mikrofon in die geschlossene Hand nehme Fängt dasss Rauschhen meistens an. Gibt es vieleicht eine möglichkeit den Fehler einzugrenzen ob ADC ode PWM bzw. Spannungsversorgung?
Den ADC hast du ja ausgeschlossen, indem du einen festen Wert an den PWM Ausgang gelegt hast. Häng mal anstelle des Trafos eine 9V Batterie dran, und schau ob es immer noch rauscht.
Hat leider nichts gebracht mit der Baterie, Rauschen fängt wieder an. Das PWM signal ist auch nicht stabil, obwohl die Eingangsspannung immer glech bleibt. Also du schließt AVCC und AGND direkt zusammen mit VCC und GND ? Vieleicht muss ich meine nichtbenutzten Ports beschalten? Mir fällt jedenfalls nichts mehr sonst ein.
Habe schon den ganzen Tag mitgelesen... Das Ding wird schwingen, irgentwo bei 50 oder 120Khz, der OPV, den meine ich. Masseführung, kapazitive Last am Ausgang von OPV oder sowas. Kannst mal ein Bild vom Aufbau machen? AxelR.
Hallo, du hast recht. Ich habe gerade eine FFT gemacht. Sobald ich das Mikro anfasse habe ich einen 50 Hz oberwelle mit 10mVss. Und die kommt aus dem OPV Vorverstärker!!!Auch ohne Atmel. Bild kommt gleich wird gerade gezeichnet ;)1
So Bitteschön. Layout, und Bilder der Schaltung. ich bin Dankbar für jeden Tip.
Noch ne Frage an Benedikt: Kannst du mal das Layout deines Threads: http://www.mikrocontroller.net/forum/read-4-121457.html (2MB DRAM an AVR) mal Posten?? Ich interesiere mich für deine RAM Anbindung und den Analogteil. Ich will damit ggf. meinen Atmel Mega8 erweitern. Ein Foto wäre auch net schlecht ;)
1. Den RC Tiefpass für den ADC würde ich anderst machen: Direkt neben ADC0 ist doch AGND. Dazwischen den 10nF Kondensator, so nahe wie möglich. Dies vermindert bei mir das ADC Rauschen um einiges. 2. Verwende einen größeren Widerstand zwischen Mikro und Vcc. Vermutlich wird die Spannung irgendwo im Bereich 4,5V oder so liegen. Da ist die Verstärkung des FETs im Mikrofon nicht gerade hoch. Mit 4,7k-20k (je nach Mikro) bekommt man ein sehr viel stärkeres Signal, so dass das Verhältnis Nutzsignal/Rauschen schon mal um einiges höher ist. 3. Eventuell hilft ein Kondensator an dem Spannungsteiler des Opamps um hier noch ein paar Störungen wegzubekommen. 4. Alles was ich an Plänen zum DRAM am AVR habe, habe ich in der Codesammlung hochgeladen. Verwendest du eine Komprimierung ? Ich hatte mal eine ADPCM in Assembler versucht, bin aber gescheitert.
hi Alex ich hab dein Bild noch nicht gesehen, (kein rar) aber es gibt da ein paar "Tricks" um den ADC sauber auzulesen. das elementarste ist die Sternschaltung, d.h. von der Spannungsqelle müssen Seperate Leitungen (VCC u. GND) für die Versorgung des ADC's verlegt werden (daher ja auch die zusätzlichen Anschlüsse AVCC und AGND) und das andere sind die extra für den ADC gemachten Sleepmodi die die CPU anhalten und dadurch die störungen der CPU vermeiden. bei der Sternschaltung vermeidet man die Wiederstands-kopplung du musst dir das so vorstellen, wenn du AVCC u. VCC und GND u AGND miteinander verbunden hast und die CPU grade nen Befehl abarbeitet ( der mehr Strom verbraucht) fällt logischerweise an den zuleitungen zw MC u Spannungsversorgung eine spannung ab. d.h. zw der Masse des ADC's und der Masse des Signals ist ein Spannunsunterschied der sich zu dem auch noch ständig ändert daher auch das Rauschen mfg eugen d ps benedikt bist du der benedikt von dem ich denke dass du es bist ? ick mein mein namen gibts jawohl nicht so oft
Bringt der ADC Sleepmodus so viel ? Ich habe den noch nie verwendet, und hatte (bei nicht gerade ordentlichem Schaltungsaufbau) eigentlich noch nie Probleme mit Rauschen, solange ein kleiner Kondensator direkt zwischen AGND und ADC Pin hängt. Wenn ich den entferne steigt das Rauschen von etwa +/-1LSB auf bis zu +/-10LSBs an ! Bei mir sehen die ADC AVR (mega8, tiny26, mega8535 usw.) immer gleich aus: Als erstes verbinde ich GND und AGND direkt, auf beiden Seiten ein 100nF Kondensator zwischen GND und Vcc (bzw. AGNG und AVcc) und zwischen ARef und AGND. Dann verbinde ich Vcc mit AVcc direkt ohne Spule o.ä. Zwischen AGND und dem ADC Eingang kommt so nah wie möglich ein 1-10nF Kondensator. Das Signal muss jetzt über einen Widerstand (1-10k) eingespeist werden, und man hat absolut keine Probleme mit Rauschen. PS: Keine Ahnung ob ich der Benedikt bin, den du meinst, welche meinst du denn ?
Hallo Benedikt und danke für die Tipps. Werde heute abend mal wieder rumlöten. Ich habe übrigens ein Kondensatormikrofon dran, da sind keine FET´s drin Zum Komprimieren bin ich noch nicht gekommen, zuerst muss das Rauschen weg. Ich habe einen Echoeffekt und ein Voicepitch gemacht. Allerdings in C. Könntest du noch kurz die Schaltung mit dem Mega8 Skizzieren? Eine kleine Handskizze reicht aus, nur damit ich Sie mir meiner Vergleichen kann und die Anbindung ans RAM ersichtlich wird. Wie versorgst du den ATMEGA8 mit Netzteil oder was?
Den Plan werde ich mal zeichnen. Bist du sicher, dass im Mikro kein FET ist ? http://www.b-kainka.de/bastel42.htm Wie hast du den Voice Pitch gemacht ? Kennst du diese Seite schon ? http://elm-chan.org/works/vp/report.html
Die Masse läuft einmal ringsrum im Layout, hmm... also alles, was zum LM324 gehört(um PIN11 herum) muss nochmal ab und direkt ein isolierter Draht zur Masse am C vom 7805 drann. Zwischen PIN4 und PIN11 LM324 (untendrunter von mir aus) ein 100n. Über PIN14 und 13 vom LM324 ein 470pF, am PIN12 ein 1uF gegen Masse. Den Vorwiderstand am Mikrofon so hoch wählen, dass direkt am MIC ein Gleicspannungspegel von ca 1.5->1.8Volt zu messen sind. Die MikrofonMasse DIREKT mit PIN11 (LM324) verbinden. parallel zum MIC 1nF gegen HF. Platine zum den LM7805 nochmal machen (Zahnbürste+Spiritus) Wie schon gesagt, am besten alle Masseverbindungen (AVR, LM324, Mic, Klinkenbuche Eingang, Klinkenbuchse Ausgang) separat über isolierten Schaltdraht zum Elko am 7805 führen. Sieht zwar scheisse aus, sollte aber Grundsätzlich gemacht werden, um unerwünschten Stromfluss auf der Masseleitung zu unterbinden, da dieser sonst über den MicVV mit verstärkt wird. ... <<habe ich einen 50 Hz oberwelle mit 10mVss>> ... Wenn es eine 50Hz Oberwelle wäre, würde es tierisch brummen, weiter nichts. es sind auf alle Fälle(denk ich mir mal) 50Khz... Das liegt weit über deiner Samplefrequenz, und das rauscht dann numal. Die unbenutzten Eingänge vom OPV würd' ich noch auf Masse legen (PIN2,3,5 und 6)?? FAzit: HF am OPV durch fehlende entspr. Abblockung.( Wurde in der Appnote von ATMEL aber auch in keiner Silbe erwähnt, habe gerade nochmal nachgesehen) Gruß AxelR.
-> AxelR da sind ja jede Menge tolle Tipps dabei, wenn ich z.H. bin wirds gleich ausprobiert. Danke. Noch was hast du ggf. auch schon eine Anwendung in dieser Hinsicht gemacht??? Wenn ja könnte ich mal ein Layout und/oder Foto sehen? Das mit der 50 Hz oberwelle tritt immer dann auf wenn ich das Mik. Anfasse dann liegt am Ausgang des Mik. Vertstäkers 2,5 V + Oberwelle 10mV. Vieleicht geht das ja durch eine andere Masseführung weg. -> Benedikt Also inzwischen bin ich mir mit dem FET nicht mehr so sicher. Hatten halt in der letzten Vorlesung was über Kondensatormikrofone, da viel aber kein Wort über FET´s bzw. JFET´s. Nachdem ich deine Seite gesehen hab glaub ich aber das da noch mehr drinne steckt als nur ein Kondensator mit beweglicher Membran. Den Voicepitch habe ich mithilfe der o.g. ELM CHAN Seite gemacht, allerdings in C. Habe einfach einen FIFO gemacht und doppelt so viele Samples ausgelesen wie ich hineinschiebe. Den überblendbuffer hab ich aber noch nicht gemacht. Kommt aber noch. Man höhrt dann halt ein leichtes Knacken wenn der FIFO überläuft.
Hier mal der Schaltplan von meinem DRAM Audiorekorder. Ich habe nochmal einiges optimiert, damit das ganze schneller wird. Dazu habe ich die LED und die Adressleitungen A7/A8 vertauscht, um die cbi/sbi Befehle durch out ersetzen zu können. Aber das geht bei dir ja nicht, da du einen Quarz verwendest. Jetzt benötigt der AVR nur 3,25us zum Lesen und 3us zum Schreiben eines Bytes bei 8MHz.
Hallo nochmal, hab mir gerade deinen Schaltplan angesehen, du verwendest wohl den internen RC Oszillator? Könnte ich eigentlich auch mal Probieren, wegen Störungen und so. Bis jetzt habe ich einen Externen 16 MHz Quarz dran. Hast du noch irgend welche Links zu den DRAMS wie das mit dem Multiplexen und Refresh funktioniert (OE WE RAS CAS...)? Wo gibts den diese DRAMS ich noch ein paar alte PC Rams rumliegen(haben nur 16 Pins), sind die alle gleich ? An diese Schaltung kannst du aber nicht direkt ein Mikrofon anschließen oder? Da fehlt ja der Vorverstärker.
Lass mich raten: Die DRAMs haben die Bezeichnung ...41256, oder ...4256 ? Das sind 256kx1 DRAMs. Wenn du 8 davon parallel schaltest hast du immerhin 256kByte. Auf ISA Grafikkarten sind fast immer 256kx4 verbaut, bei PCI sind es meisten 256kx16. Das sind eigentlich die meistverbreiteten, die man auf fast jeder Festplatte, Scanner, Drucker usw. findet. Hast du vielleicht noch irgendwelche PS2 oder SIMM Module aus alten PCs ? Da sind häufig solche Speicher, oder noch größere verbaut. Beschreibungen zu den DRAMs findet man in jedem Datenblatt. Am besten übernimmst du meine Routinen (oder schreibst die in C um), die sind streng nach Datenblatt und eigentlich relativ gut kommentiert. Der Refresh ist eigentlich nichtmal so schlimm, wenn man ihn verstanden hat: Mindestens 10x pro Sekunde (die Hersteller empfehlen 100x oder noch häufiger, da deren Angaben für den Temperaturbereich bis 70° gelten) muss jede Zeilenadresse gelesen werden. Allerdings muss man nicht selber die Adressen an das DRAM schicken, das hat selbst einen Adresszähler eingebaut. Man muss nur die CAS\ Leitung auf Low bringen, wenn RAS\ noch High ist, und dann RAS\ takten. Bei jedem High-Low Übergang von RAS\ wird ein Refresh einer Zeile ausgeführt. Bei einem DRAM mit 10 Adresseingängen muss man also 1024 mal RAS\ takten, und man hat das komplette DRAM refreshed.
... << Noch was hast du ggf. auch schon eine Anwendung in dieser Hinsicht gemacht??? Wenn ja könnte ich mal ein Layout und/oder Foto sehen?>> ... Nein, habe ich noch nicht (na vielleicht doch, aber nichts mitm ATMEL) werde ich aber bei Gelegenheit mal machen, habe mir die Samples auf http://elm-chan.org/works/vp/report.html angehört (ganz unten). Ist ja Lustig! Ich entsinne mich aber, das wir das hier schon mal hatten!! Vielleicht kann man da nochmal nachschmökern... Ich such mal im Forum. AxelR.
ging um Sprachverschleierung am Telefon, wo ich mein Senf dazugegeben habe. Benedikt hat dann auf die "EchoSeite" verwiesen. http://www.mikrocontroller.net/forum/read-1-129075.html#129253 Wobei mir wieder allen meine Sünden einfallen.. Iss aber OT: jemand wollte von mir wissen, wo man den MX/FX224 her bekommt. Steht im Link. AxelR.
Hallo, also ich hab mal ein Bild von meinen RAM Bausteinen gemacht. Keine Ahnung wie groß die sind und wie diese belegt sind. Ich denke die sind nicht kompatibel mit denen von Bendikt. Weis vieleicht jemand wo man das DRAM von http://elm-chan.org/works/vp/report.html herbekommt? Hab zwar mal danach gesucht aber keinen Anbieter gefunden. Die sind aber gut zum Basteln geeignet, da nicht SMD und wenige IO´s.
Das sind 1Mx1. Sind die auf einem Modul drauf ? Wenn ja, mach mal ein Bild von dem ganzen Modul. Bei Conrad gibt es ein 256kx16 DRAM: 514260 Der Preis von 13 ist allerding extrem überteuert. Such mal nach SIMM oder PS2 Modulen, da müsstest du auf jedenfall was passendes finden.
Das sind 1Mx4 Module entweder zu zerlegst das Modul und bastelst 2 ICs davon zusammen, und hast 1MByte, oder du verwendest das ganze Modul (müssten 32MByte sein)
So jetzt habe ich wieder 2 Stunden rumgelötet, alle Masseleitungen Sternförmig ausgeführt , überall Schwingschutzkondensatoren angefügt, den Vorwiderstand zum Mik erhöht, Den spannungsteiler am OP mit 1µF versehen und was höhre ich beim Einschalten ...es rausssssscht. Ich habe ein Bild meines Vorverstärkerausgangs gemacht. Dieses Signal kommt direkt aus dem OP und geht in den ADC. Ich weis nicht woher diese 50 Herz noch kommen sollen, aber halt immer nur wenn ich das Mikrofon anfasse. Egal ich glaub ich schmeiß dass ding weg und bau nochmal von vorn, Schritt für Schritt. Jedenfalls habe ich nun alle Antirauschmassnahmen ohne Erfolg ergriffen
Habe wahrscheinlich den Grund für mein Rauschproblem. Ich habe in meiner Schaltung alles außer den OP mit Mikro abgetrennt kein AVR kein Quarz gar nichts, nur Analogtechnik. Wenn ich dann mit dem Oszi den Ausgang meines Mikrofonverstärkers anschaue ist wieder das oben dargestellte 50 Hz Rauschen zu sehen. Ich gehe nun davon aus, dass ich durch Antennenwirkung den im Mikro integrierten FET beeinflusse und so 50 Hz auf meine Schaltung übertrage. Wird nun der Analogausgang direkt mit einem aktivlautsprecher verbunden ist ein leises rauschen zu höhren. schickt man dieses signal aber in den AVR wird Aufgrund von quantisierungsfehlern das Rauschen noch erhöht, was nun deutlich höhrbar ist. Ihr kennt einen kleinen Versuch selber nachmachen : Ein Kondensatormikrofon mit 10k Ohm an VCC und an Masse legen. dann Wechselspannung über 1µF entkoppeln und Messen mit dem Oszi. Sobald man das Mikro in die Hand nimmt bekomme ich 50 Hz Schwingungen mit 20 mVss Was haltet Ihr von der Theorie ???
Ich verfolge das schon seit Anfang und habe das mit dem Mikro nachgestellt. Bei mir sehe ich keinen Brumm am Oszi. Das Mikro ist ein ordinäres aus einem Telefon. Direkt angreifen darfst du so ein Mikro ohnehin nicht, es ist so Hochohmig das die Handkapazität genügt um einen Brumm einzuschleifen. Das heist wenn eine Isolierschicht drüber ist, dann ist es schlechter als wenn du direkten Kontakt mit dem Metallgehäuse hast das normalerweise auf Masse liegt. Wenn du schaust wo diese Mikros eingebaut sind, wirst du feststellen das man ohne das eine schirmende Schicht dazwischen(Metallgehäuse o.ä.) kaum näher als 1cm mit der Hand drankommt. Wenn deine untere Grenzfrequenz höher ist als die 50 Hz dann würde ich den Kondensator auf 100n verkleinern und mit 10k belasten oder kurz gesagt einen Hochpass nachschalten. Sollte aber im normalfall nicht notwendig sein.
Wie ich ja gesagt habe, der Brumm kommt ja auch nur mit dem Anfassen. Ich habe dies auch schon mit einem Zweiten Mikro getestet und wieder dass gleiche. Naja jetzt weiss ich wenigstens wo´s herkommt. Kann man das Mikro dann wenigstens irgenwie Schirmen ? Denn immer nur auf den Tisch legen ist auch doof.
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.