Old Fidelity - HiFi Klassiker Forum

Normale Version: Digitales VU-Meter (Mikrocontroller, Display, LED) reVox A700
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.

gogosch

Hab gerade gesehen, der Shield tut sich mit Eingangs-Signalen über 0,45V RMS schwer. Hab den 0db-Punkt mal auf 0,248V (-10dB) gelegt, um vernüftige Over-Anzeigen zu erreichen.
Diesen Wert RMS-Wert verkraftet der Chip mit etwas Reserve nach oben.
Muss halt jeder anpassen wie er es braucht. Wer will kan die 0db Marke noch weiter runtersetzen. ist Geschmackssache.
Muss man halt ein Potentiometer vor den Shield setzen.
Andererseits haben die konventionellen VU-Meter an sich meist einen Kalibrierungsregler.

Man muss bedenken, hier handelt es sich um Mittelwerte. d.h. die Spitzen sind viel höher (* 1,4142) und die verkraftet der Chip technisch nicht.
Leider kenne ich nicht die Spezifikationen, wie hoch der analoge Input "peak" sein darf.

DIYLAB

(02.07.2020, 19:50)gogosch schrieb: [ -> ]Leider kenne ich nicht die Spezifikationen, wie hoch der analoge Input "peak" sein darf.

Moin,

am Eingang des Chips sind ja nur die Koppelkondensatoren, so dass dieses Datenblatt gilt: LINK

Gute N8
Hab gestern abend mal verkabelt... Sketch hochladen hat einwandfrei geklappt. Ich nutze die letzte Version von Gogosch. Hintergrundbilder sind geladen ... nach dem Einschalten fahren die Zeiger einmal von oben durchs Bild auf den Nullpunkt. Bisher konnte ich die Zeiger allerdings nicht überreden bei Signalen an Audio-Line-In tätig zu werden. War schon spät... also ausschalten. Mal schauen woran es liegt... in Originalgröße sieht das aber wirklich ganz gut aus! Thumbsup

schönen Tag
Andreas
Hatte ich auch, nach Reset dann teilweise nur weißer Bildschirm.
USB Kabel abziehen und wieder anstecken behebt das Problem (meistens)

DIYLAB

Moin,

das nächste Modul ist so gut wie fertig und wird heute Abend zum Test übergeben.
Es ist die FFT1024 für den Spectrum-Analyzer.
Im vertikalen Modus werden beide Stereokanäle in 320 Bändern angezeigt, horizontal in 240 Bändern.
Zur Verfügung stehen uns 512 Bänder im 43Hz Raster!
Die Fotos werden dem Echtbetrieb nicht annähernd gerecht, das könnt ihr auch übers Wochenende selbst ansehen.
Momentan wird ein riesen Bereich angezeigt, der geht von 43Hz bis 22,016KHz (43Hz x 512).
Statt des Color-Wheels können die Bänder auch in jeder beliebigen Farbe angezeigt werden.
Ich mache später noch Videos - muss jetzt erst mal in die Firma.

Der Controller ist dermaßen stark, dass er diese FFT in Stereo ohne die geringsten Probleme wuppt Thumbsup .

Zu sehen: weißes Rauschen:

[Bild: zIJJYTT.jpg]

[Bild: vjc7lYb.jpg]

LG
Bruno
ein Land der wahrlich unbegrenzten Möglichkeiten

einfach SUPER

DIYLAB

Hi,

wie versprochen, hier der Spectrum Analyzer.
Den Code stelle ich in den nächsten Minuten online.
Er wird in Posting #1 zu finden sein, da wo die anderen Downloads auch sind.
Zur Erklärung, ich habe momentan nicht weiter an dem Gesamtprojekt gearbeitet, da ihr ja bei Gogosch in sehr guten Händen seid und konzentriere mich auf die restlichen Komponenten des Projekts.
Es sind ja noch ein paar Sachen zu machen, wie z.B. die Digitalanzeige, das kommt als nächstes.
Der Spectrum Analyzer ist daher als eigenständiges Programm als Download verfügbar, ihr könnt also das Modul selbst testen.

todos im Analyzer:
- die Skalen habe ich "nur so" gezeichnet, sie müssen noch zu den Frequenzen angepasst werden;
- die logarithmierung der Anzeige ist noch alles andere als perfekt, ich habe da so meine Probleme (wer helfen kann - sehr gern!!!);

Hier ein paar Videos.
Zu sehen sind die vertikale Ausrichtung und die horizontale Ausrichtung und ein Frequenzsweep von 43Hz bis 20KHz.
Ich habe zur Frequenzerzeugung ein Freewareprogramm benutzt, welches die Töne über die Soundkarte an das Audioshield weitergibt.
Darum geht es nicht ganz bis 20KHz und am Ende flawutschelt die Frequenz ein wenig - das schafft halt die Soundkarte des PCs nicht.









LG
kurzes Feedback... bei Gogoschs-Entwicklerversion ebenso wie bei der Alpha-1 habe ich folgende "Erscheinung". Die Zeiger zucken in der Testeinstellung vorschriftsmäßig... allerdings nur ein paar Sekunden und frieren dann ein. Wenn ich Signale aus der Anlage einspeise dann gleiches Bild... zusätzlich sind die Ausschläge extrem gering... pendeln nur ein paar Millimeter um die -20dB-Marke.
Ich habe mir die verschiedenen Videos angeschaut und beobachtet, dass die Kontroll-LED auf meinem Teensy im Gegensatz zu den flackernden Modellen in den Videos praktisch durchgehend leuchtet. Da ist also noch irgendwas im Argen... jeden Tag ein bisschen mehr ;-).

schönes Wochenende
Andreas

DIYLAB

Moin,

(03.07.2020, 20:35)DIYLAB schrieb: [ -> ]todos im Analyzer:
- die Skalen habe ich "nur so" gezeichnet, sie müssen noch zu den Frequenzen angepasst werden;
- die logarithmierung der Anzeige ist noch alles andere als perfekt, ich habe da so meine Probleme (wer helfen kann - sehr gern!!!);

alles behoben  Thumbsup
Man kann nun die untere Frequenz und die obere Frequenz angeben FREQLOW und FREQHIGH (Beispiel ist in der Config-Sektion).
Das geht immer in 43Hz Schritten.
Die Skala zeichnet sich dynamisch, passend zum Frequenzfenster selbst und stimmt nun.
Die Logarithmierung ist überhaupt nicht nötig, wusste ich vorher nicht - macht die Audiolib selbst und sehr gut.
Weiterhin kann die Verstärkung für die FFT mit GAIN eingestellt werden (momentan auf 50% Abschwächen).

[Bild: 2020-07-04-152826.png]

Sieht bei mir sehr gut aus und ist nun eigentlich ein vollwertiger Spectrum Analyzer.
Ich würde mich freuen, wen Jemand vielleicht mal einen Test wagen würde.

Der Download im Posting #1 unter 'Module' ist die aktuelle Version.

Schönes Wochenende
Bruno

gogosch

Ja! Funzt gut! Jetzt sieht man ganz deutlich, dass ab einer Eingangsspannung von etwa 0.5V RMS die Verzerrungen beginnen. Sieh dazu auch mein Post #352.
Mal ne weitere Frage...wird es diese Modis später mal in einem Sketch geben, so dass man das umschalten / durch skippen kann?

DIYLAB

(04.07.2020, 18:17)hyberman schrieb: [ -> ]Mal ne weitere Frage...wird es diese Modis später mal in einem Sketch geben, so dass man das umschalten / durch skippen kann?

Hallo André,

ja das ist der Plan.
Damit das Gesamtprojekt nicht durcheinanderkommt, entwickle ich diese Module separat.
Wenn es in den Modulen Probleme gibt, muss man dann nicht den Fehler im gesamten Projekt suchen.
Zum Schluss wird dann alles zusammengefügt.

Da wir keinen Touchscreen benutzen und ich auch ungern wieder irgeneine Taste nehmen möchte, gibt es zur Umschaltung im laufenden Betrieb zwei Möglichkeiten, die mir im Kopf herumgeistern (andere Ideen sind natürlich willkommen!).
Da wir ja auch eine Fernbedienung für die Maschine haben wollen, bietet es sich an, einen dieser Infrarotempfänger zu benutzen und ins Programm zu intergrieren. Damit könnte also nicht nur die Fernbedienung realisiert werden, sondern auch noch die Umschaltung der Betriebsmodi.
Die andere Möglichkeit wäre ein Gestensensor, den habe ich auch schon erfolgreich ausprobiert. Der erkennt Handbewegungen (ran/weg, links nach rechts und umgekehrt, oben nach unten um umgekehrt, 'drehen' wie am Poti) - man könnte sozusagen die Modi duch Wischbewegungen ändern LOL .

LG
Bruno
Da ich diesen Digi Zappler vermutlich später separat verwenden möchte, käme für mich eine FB eher nicht in Frage, ein Taster oder Gestensensor schon eher.

Aber das hat ja alles noch Zeit. Immer mit der Ruhe.
mal etwas anderes aber durchaus Artgerechtes..

Gäbe es mit den heutigen Prozessoren/Chips auch die Möglichkeit Rauschunterdrückungseinheiten für Reel / MC zu bauen ?
Also so Expander~ / Kompandermäßiges ?

gogosch

Was jetzt noch fehlt, ist ein Goniometer (Stereosichtgerät mit Korrelationsmeter), wie sowas:


[Bild: Goniometer.png]

DIYLAB

(05.07.2020, 07:19)gogosch schrieb: [ -> ]Was jetzt noch fehlt, ist ein Goniometer

Cool Thumbsup .
Du weißt ja - mein Mathe ist nicht ganz up to date.
Wenn man wüsste, wie man das programmatisch umsetzt ...
LG

gogosch

(05.07.2020, 08:36)DIYLAB schrieb: [ -> ]
(05.07.2020, 07:19)gogosch schrieb: [ -> ]Was jetzt noch fehlt, ist ein Goniometer

Cool Thumbsup .
Du weißt ja - mein Mathe ist nicht ganz up to date.
Wenn man wüsste, wie man das programmatisch umsetzt ...
LG
Dazu fällt mir nur dieses Code-Schnipsel ein:
Code:
double x = points[i].second; // Right channel is mapped to x axis
double y = points[i].first; // Left channel is mapped to y axis

// Convert cartesian to polar coordinate
// @see https://www.mathsisfun.com/polar-cartesian-coordinates.html
double radius = sqrt((x * x) + (y * y));
double angle = atan(y/x);

// atan() returns wrong value if either value is negative.
// Correct for this by rotating 180 or 360 degrees depending on which
// quadrant of the x/y graph the cartesian coordinate is in.
if ((x < 0 && y > 0) || (x < 0 && y < 0)) {
    angle += 3.14159265; // Pi radians = 180 degrees
} else if (x > 0 && y < 0) {
    angle += 6.28318530; // 2Pi radians = 360 degrees
}

// atan() will return zero if either of our coordinates is zero.
// Correct for this by manually setting the angle.
if (x == 0) {
    angle = y > 0 ? 1.57079633 : 4.71238898; // 90 or 270 degrees
} else if (y == 0) {
    angle = x > 0 ? 0 : 3.14159265; // 0 or 180 degrees
}

// Rotate coordinate by 45 degrees counter clockwise
angle += 0.78539816;
           
// Convert polar coordinate back to cartesian coordinate.
double xRotated = radius * cos(angle);
double yRotated = radius * sin(angle);

Nur wie man das anwendet ......
Wieder ein Schritt... ich vermute, dass mein Audioshield defekt ist.
Über AudioIn lassen sich keine Signale einspeisen. Mittlerweile läuft das Testprogramm durch... hängt sich also nicht mehr auf. Ich habe das ganze jetzt ohne das Audioshield verkabelt. Testprogramm läuft ebenfalls. Die beschriebenen kleinen Ausschläge beim Einspeisen von Signalen über AudioIn sind wohl eine Art "Rauschteppich"... der ist auch vorhanden wenn ich die Signalleitung abziehe. Übrigens genau gleicher Effekt beim FFT...
Allerdings ist beim Aufbau ohne Audioshield nun die LED nicht mehr im Quasi-Dauerbetrieb sondern flackert beim Testprogramm unregelmäßig... ich gehe mal davon aus, dass dies ein Zeichen für (korrekte)Signalübermittlung ist!?
Der nächste Schritt wird sein mal irgendetwas zu verkabeln mit Audioshield was in den Foren etc. als simples Beispiel dient. Vielleicht läßt sich so die Fehlerquelle noch einkreisen. Leider habe ich vorerst nur einen Teensy und ein Audioshield bestellt und kann nicht mal schnell tauschen... man sollte immer ein Backup-System haben ;-).


schönen Sonntag
Andreas

DIYLAB

(05.07.2020, 09:20)akguzzi schrieb: [ -> ]Wieder ein Schritt... ich vermute, dass mein Audioshield defekt ist.

Moin Andreas,

wichtig ist, dass Du an Pin 8 des Shields nichts angeschlossen hast - ist das bei Dir so?

LG
Hallo Bruno,

danke für deine Antwort. Doch... Pin 8 war mit dem Reset des Display verbunden. Da hatte ich mich am Foto von Hyberman orientiert und Erläuterungen die ich vielleicht/wahrscheinlich falsch gedeutet habe... soweit mir meine (zahlreichen) Versuche richtig in Erinnerung sind hatte ich es allerdings auch ohne diese Verbindung probiert und ein lediglich weißes Display als Rückmeldung. Das werde ich natürlich alles noch einmal sorgfältig testen und die Resultate genau dokumentieren ;-). Wir sind heute eingeladen... kann etwas dauern.

Vielleicht noch eine Frage die mir beim Verständnis hilft... bei deinem Sketch zum FFT ist ein PIN für CS deklariert... das Display hat keinen solchen Anschluss und beim VU-Sketch war die Rede davon, dass CS nicht nötig sei (einfach aus dem Gedächtnis formuliert). Was hat es damit auf sich... 


PS.: hab noch schnell mal Reset des Display auf 3,3V umgesteckt, Test läuft auch, hab die unterschiedlichen/geänderten Verkabelungstabellen gefunden und wohl die falsche benutzt. Manchmal sieht man den Wald vor lauter Bäumen nicht. Heute abend stöpsel ich mal komplett um und bin gespannt. Das sollte auch Dettels beschriebenes Problem lösen ... wahrscheinlich schon längst passiert.

Danke!

schönen Sonntag
Andreas

gogosch

(05.07.2020, 09:20)akguzzi schrieb: [ -> ]Wieder ein Schritt... ich vermute, dass mein Audioshield defekt ist.
Über AudioIn lassen sich keine Signale einspeisen. Mittlerweile läuft das Testprogramm durch... hängt sich also nicht mehr auf. Ich habe das ganze jetzt ohne das Audioshield verkabelt. Testprogramm läuft ebenfalls. Die beschriebenen kleinen Ausschläge beim Einspeisen von Signalen über AudioIn sind wohl eine Art "Rauschteppich"... der ist auch vorhanden wenn ich die Signalleitung abziehe. Übrigens genau gleicher Effekt beim FFT...
Allerdings ist beim Aufbau ohne Audioshield nun die LED nicht mehr im Quasi-Dauerbetrieb sondern flackert beim Testprogramm unregelmäßig... ich gehe mal davon aus, dass dies ein Zeichen für (korrekte)Signalübermittlung ist!?
Der nächste Schritt wird sein mal irgendetwas zu verkabeln mit Audioshield was in den Foren etc. als simples Beispiel dient. Vielleicht läßt sich so die Fehlerquelle noch einkreisen. Leider habe ich vorerst nur einen Teensy und ein Audioshield bestellt und kann nicht mal schnell tauschen... man sollte immer ein Backup-System haben ;-).


schönen Sonntag
Andreas
Hast Du die Strippen auch wirklich am Input des Audioshield angeschlossen (die 4 Pins im kleinen Quadrat, 2 Pins am Rand des Shield sind die Masse) und nicht irrtümlich am Output (5 Pins im Rechteck)?
FYI: PIN8 muss frei bleiben. Dafür RES am Display mit VCC verbinden.
Die AudioIN waren 100% korrekt... ich denke PIN8 war das Problem... Ich berichte! Danke!

DIYLAB

(05.07.2020, 10:23)akguzzi schrieb: [ -> ]Die AudioIN waren 100% korrekt... ich denke PIN8 war das Problem... Ich berichte! Danke!

Hallo Andreas,

ist wahrscheinlich im Thread untergegangen.
Hier nochmal der aktuelle Anschlussplan:

[Bild: Teensy-Display.png]

LG
Wenn man die Zeiger noch flüssiger zum laufen bringen könnte, wäre das super. Gibt es da evtl. schon was?

Hier mal an einem Tapedeck Ausgang angeschlossen.




Sorry, die Bildquali ist nicht die Beste.

gogosch

In der letzten Entwicklerversion vom 2.7.20 kann man die Geschwindigkeit (Needlespeed) zw 1 (ganz langsam) und 20(sehr schnell) einstellen.
Immer die neueste (letzte) Version verwenden!