Moin, vor einiger Zeit habe ich hier schon einmal einen Thread (Jespers DDS 100ms an 100ms aus) gestartet. Ich habe inzwischen einiges Probiert. Z.B. Anstelle des Sinus Sinus^2 generiert. Wie ich ja schrieb, möchte ich einen Ton (z.B. 1000Hz) für 100ms anschalten und dann für 100ms ausschalten. Im späteren Programm sollen die Zeiten und Töne variabel sein. Leider habe ich immer noch dieses unangenehme leise "Ticken" im Hintergrund. Die Daten gehen vom ATMEGA32-Port A über ein R2R-Netzwerk, einem Spannungsteiler und eine Treiberstufe (TDA7267) an einen 8Ohm-Lautsprecher. Je höher die Ein/Ausschaltrate, desto deutlicher wird das Ticken. Bei 1 Sekunde an und 1 Sekunde aus fällt dass nicht auf. Damit die Spannung am Verstärker IC (TDA 7267) etwas langsamer ansteigt habe ich eine An- und Abschwingphase über jeweils vier Perioden eingebaut. Mein Programm berechnet nun die Gesamtanzahl der Sinusperioden. Z.B. 100. Das Programm gibt nun den Sinus aus und zwar - eine Periode mit 1/16 der Aplitude, - eine Periode mit 1/8 der Aplitude, - eine Periode mit 1/4 der Aplitude, - eine Periode mit 1/2 der Aplitude. Dann folgen 92 Perioden mit voller Aplitude (Maxwerte 128 bzw 0) und dann - eine Periode mit 1/2 der Aplitude, - eine Periode mit 1/4 der Aplitude, - eine Periode mit 1/8 der Aplitude, - eine Periode mit 1/16 der Aplitude. Am Oszi sieht alles gut aus. Dennoch diese leise Ticken. An- und Ausschwingphase sind mit der restlichen Ausgabe genau abgeglichen. Es gibt keine Sprünge und auch das Timing ist äußerst exakt. Alle Nulldurchgänge haben den gleichen Abnstand. Macht es Sinn, die Amplitude beim An- und Abschwingen weiter zu senken? Die Max-Amplitude der ersten Schwingung ist ja nur 0.16V groß. Oder ist der Verstärker (beschaltet wie im Datenblatt) untauglich? Cheffe
Warum schreibst Du nicht dort weiter? -> Beitrag "Jespers DDS 100ms an 100ms aus" Du hast das Problem nun in 4 kleine Probleme zerteilt, es jedoch nicht behoben. Die Lösung wurde Dir im anderen Thread gezeigt. Gruß Jobst
>>Warum schreibst Du nicht dort weiter? Keine Ahnung ... >>nun in 4 kleine Probleme warum 4? Cheffe
Im Netz http://www.solorb.com/elect/sidetone/index.html hat jemand einen Morseton-Generator veröffentlicht. Nix mit DDS oder so. Auf dem Bild sieht man, wie Sinus über fünf Perioden einschwingt. Das Ausschalten geht schnell, aber auch mit abfallender Sinus-Amplitude. Das soll knackfrei sein. mfg CB_Teddy_09
Jobst hat es wie auch schon damals korrekt erfasst. Du brauchst eine kurze Amplitudenmodulation, die sinusförmig aufsteuert und nicht 4 Sprünge. Da hättest auch bei einem bleiben können! Neuer Thread ziemlich sinnlos.
Moin Karl und Jobst, Eure Vorschläge sind alle gut aber ich kann sie nicht umsetzen. Mir fehlt die Rechenzeit/-Rechenpower. Darüberhinaus habe ich mal das Nebengeräsuch etwas sondiert. Es tritt nicht beim Tonanfang auf. Wie bisher von allen vermutet, sondern ausschließlich am Ende. Das kann man sehr deutlich heraushören, wenn man länger schwingen läßt. Cheffe
Cheffe schrieb: > Mir fehlt die Rechenzeit/-Rechenpower. Nein! Liest Du Dir Beiträge überhaupt durch? Oder möchtest Du sie nicht verstehen? Oder möchtest Du es einfach nicht so lösen, daß es funktioniert? Cheffe schrieb: > Es tritt > nicht beim Tonanfang auf. Wie bisher von allen vermutet, sondern > ausschließlich am Ende. Die Aussage, daß es am Anfang und auch am Ende ist, stammt von Dir. Und die war auch korrekt! Mag sein, daß man es am Anfang nicht so gut wahrnehmen kann. Ich klinke mich hier jetzt aus! Gruß Jobst
Lieber Jobst, da Du Dich ja nun ausklinkst und Dich in Deine arrogante Welt zurück ziehst, erspare ich mir weitere Worte. Aber vielleicht lesen ja auch noch andere mit. Die von mir genannten 100ms/100ms/1000Hz sind nur ein Besipiel. Im Extremfall möchte ich nur 500Hz mit 20ms an und 20ms ausgeben. Das sind dann mal gerade 10 Perioden. In der 20ms Pause ist mein ATMEL so zeimlich ausgelastet und selbst während der Ausgabe des Sinus hat der Controller was zu tun. Und auf die jweils knapp 20 Taktzyklen, die das An- und Abschwingen zur zeit benötigt verzichte ich auch ungerne. Ich habe mir mal die Seite, die CB_Teddy_09 gepostet hat angeschaut. Da sind die erste und letzte Schwingung ganz schön scharf. Jobst M. schickte ja dieses Bild: http://www.mikrocontroller.net/attachment/132928/knack.png Und da frage ich mich, wieso die Hardware-Lösung von G. Forrest Cook nicht knackt: http://www.solorb.com/elect/sidetone/cwwave.jpg mfg Cheffe
Hi Cheffe, kein Grund maulig zu werden! Also dein Problem sind kurze Sinus-Töne, bei denen störende Nebengeräusche auftreten. Sowas kennt man ja gut z.B. von den Telefonen beim Freizeichen oder Besetzton oder sonstigen Servicesignalen. Klingt auch grottig. Wir haben mal in der Ausbildung Töne mit dem PC erzeugt. Über die Parallelschnittstelle. Von Jespers DDS hatte da noch niemand was gehört, Anfang der 90er. Wir haben einen DA-Wandler mit OP und AD-Wandler und sukzessiver-Approximation gebaut. Ziel war auch ein Sinus und damals gabs die Probleme auch beim Ein- und Ausschalten. Allerdings hatten wir einen 286er mit viel Speicher und Performance ;.-) GW-Basic. Nun zu deinem Problem.. Was helfen kann ist die schrittweise Erhöhung der Amplitude. Aber nicht so wie du das gemacht hast. Das ist stufig und das führt zum Knacksen. Besser wäre es, wenn man es in einer S-Form macht, so ähnlich wie beim Cosinus von 180° bis 360°. Also die Spannung jeder Sinusschwingung so erhöhen, als würde U-Spitze auf dem Cosinus liegen. Nun willst du ja superkurze Töne haben. Kann man bei 20 ms überhaupt noch einen Frequenzunterschied erkennen? Aber egal. Ziel sind wohl minimale 10 Perioden. Du könntest jetzt in fünf Stufen die Spannung erhöhen und dann wieder verringern. Immer entlang des Cosinus. Das wäre immer noch Stufig und wird auch noch ein paar Geräusche machen. Aber bei so wenigen Perioden ist das halt ein Kompromiss. Nun schreibst du ja, dass du keine Rechnerleistung opfern möchtest oder kannst. Dann bleibt Dir nichts übrig als was vom Flash abzuzwacken. Das bedeutet, wenn Du fünf Amplitudenstufen und 256 DDS Punkte hast, 1280 Byte. Der Sprung von Tabelle zu Tabelle ist mit wenigen Taktzyklen abgearbeitet. HF-Fuzzy
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.