Forum: Projekte & Code VU-Meter mit Attiny13a statt LM3916


von Dergute W. (derguteweka)


Angehängte Dateien:

Lesenswert?

Moin,

In diesem Thread Beitrag "Nachfolger / Ersatz LM3916" hatte ich 
ja mal gegackert, kaum 6 Monate spaeter leg' ich auch schon...

Anbei meine ersten Gehversuche in KiCad. Die Platine ist so 
grobschlaechtig, dass man sie sogar mittels Edding und Aetzbad 
selberfertigen kann.

Gleichrichter und solche Faxen braucht man keine, das Audio wird mit 
8bit & 37.5kSamples/sec abgetastet, Effektivwert ueber 1024 Samples 
gebildet, "logarithmiert" und als Leuchtband angezeigt. Dazu noch als 
Leuchtpunkt immer ein Peak-Hold, der nach einer Weile wieder ins 
Leuchtband "rutscht".
Braucht im unguenstigsten Fall so ca. 150 Takte, 256 sind Zeit, d.h. 
fuer die Endlosschleife bleibt noch genug CPU-Bumms uebrig :-)

Gruss
WK

von Thomas (kosmos)


Lesenswert?

ganz schöner Aufwand den du da betrieben hast. Hätte es nicht ein 
ATTiny26 getan, der hat nen ADC und genügend Pins onboard?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Naja, so gross ist der Aufwand ja nicht wirklich. Fuer eine Schaltung 
mit LM3916 wirds deutlich mehr brauchen, insbesondere fuer so Peak-Hold 
Faxen.
Im uebrigen:

Johann Wolfgang von G. schrieb im Sonett:
> In der Beschränkung zeigt sich erst der Meister

;^)

Ach ja - aus dem Kapitel "Gut zu wissen":
* Die eckigen LEDs tendieren an ihren Seiten dazu, Licht in die 
Nachbarleds einzukopplen. Wenn man eh' den Edding vom Platinenaetzen 
noch rumfliegen hat, kann man damit die Seitenflaechen der LEDs 
schwaerzen.

* Im Bild kann man auch sehen, dass ich im Gegensatz zum Schaltplan 390 
Ohm Vorwiderstaende genommen hab'. Damit kann ich bei mir noch den 
Attiny in der Schaltung programmieren. Wenn die niederohmiger sind (wie 
z.b. die 270 Ohm aus meinem Schaltbild) oder ggf. der ISP-Programmer 
nicht ganz so kraeftig treibt, kanns da Probleme geben - dafuer ist halt 
die Anzeige nicht so funzelig, wie mit hoeheren Vorwiderstaenden.
D.h. wenn man das Dingens nur nachbauen will, ist's ne gute Idee den 
Attiny zuerst zu programmieren und danach erst die LED-Vorwiderstaende 
zu bestuecken.

Gruss
WK

von Ralph S. (jjflash)


Lesenswert?

... cooles Projekt, ich hätte nicht gedacht, dass das mit einem kleinen 
ATtiny13 funktioniert, schlicht der Codegröße und des logarithmieren 
wegens.

Maschinensprache halt !

von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

Diese schöne Lösung hat mich gleich begeistert: achtbeiniger µC, 12 LEDs 
und Audiosignale in Echtzeit auswerten - toll!

Für mich nur mit nur einem kleinen Schönheitsfehler verbunden: ich kann 
nicht in Assembler programmieren und hatte gleichzeitig keinen ATTiny13a 
zur Hand.
Also: geht das nicht auch in C? Und ATTiny25 liegen ein paar 'rum ...

Und ja, es geht!

Ob ich die selben Features drin habe wie 'Dergute Weka', weiß ich nicht, 
ich konnte nur grob die Struktur aus den Kommentaren in seinem 
Assemblerlisting verstehen und habe das auch als Vorlage für meine 
Version genommen.
Ein wesentlicher Unterschied in der Performance liegt darin, dass der 
Tiny13 mit 9.6MHz intern rennen kann, der Tiny25 nur mit 8MHz (oder 
16MHz mit PLL). Dadurch wird meine Abtastfequenz etwas kleiner und liegt 
bei 'nur' 31.25kHz.

Die Hardware ist die selbe wie oben, nur eben mit dem Tiny25. Allerdings 
ist ein Poti zum Nullpunktabgleich zwischen R8 und R9 empfehlenswert, 
zumal ich das Ganze auf knapp 30dB Anzeigebereich aufgebohrt habe. Auch 
die interne ADC-Referenz schwankt sicherlich zu sehr von Device zu 
Device als dass man ohne Feinabgleich auskommen wird.
Man könnte aber mit anderen Schwellen für die Effektivleistung die 
Empfindlichkeit wieder reduzieren (z.B auf 20dB).

Die 32kHz Samplefrequenz hatte ich nicht von Anfang an erreichen können 
- die Bearbeitung der Werte und ein paar andere Dinge dauerten zu lange. 
In dem Beitrag "ATTiny25: unklare Interaktion PROGMEM <-> ADC" sind jedoch viele 
nützliche Tipps und Vorschläge unterbreitet worden, so dass es 
schließlich doch noch gelungen ist. Vielen Dank an die Helfer dort!

BTW: Ich habe auch versucht, den Code auch für den Tiny13a zu 
kompiliern. Gut, es sind dann gerade noch 6 Byte frei und testen konnte 
ich es nicht mangels Device, aber die Chancen stehen gut ...

@Dergute Weka
Ich hoffe, du bist mir nicht böse, dass ich mich an deinen Thread 
angehängt habe. Es passt doch so prima dazu!

von Dergute W. (derguteweka)


Angehängte Dateien:

Lesenswert?

Moin,

+1    :-)

Ja, dass es in C "knapp" wird, ist mir klar. Deshalb hab' ich ja 
Assembler genommen. Und auch den Schweinskram mit den Tabellen zum 
quadrieren gemacht. Multiplikation aufm tiny ist einfach kein Spass.

Wenn man es nur "im Durchschnitt" schafft, mit der Signalverarbeitung 
zeitlich unter der Zeit zwischen 2 Interrupts zu bleiben, kann man noch 
versuchen, mit einem Puffer (FIFO) fuer die Samples zu arbeiten. Braucht 
auch wieder extra Zyklen, entspannt aber das Timing insgesamt. Das 
musste ich z.B. in meinem "LED-Spectrumanalyzer ohne FFT" so machen, 
alldieweilen da der Rechenaufwand alle 1024 Samples ueber 10x so hoch 
ist, wie der minimale Rechenaufwand und der durchschnittliche 
Rechnenaufwand ca. 2x so hoch wie der minimale.

Ich krieg das .c File mit meinem gcc nicht compiliert, was ich mal auf 
die ueblichen AVR-Studio vs. gcc Differenzen schieb' - wenn mir einer 
ein .hex macht, kann ichs auf meine HW schmeissen und gucken, was dabei 
rumkommt.

Anbei mal noch ein Video von der Originalsoftware im Betrieb. Die LEDs 
flimmern "in echt" nicht sichtbar, das ist wohl im Video die Interferenz 
zwischen Kamera und Multiplex.

Gruss
WK

: Bearbeitet durch User
von HildeK (Gast)


Angehängte Dateien:

Lesenswert?

Dergute W. schrieb:
> wenn mir einer
> ein .hex macht, kann ichs auf meine HW schmeissen und gucken, was dabei
> rumkommt.

Im Anhang für den Tiny25 (bei mir in Betrieb) und den Tiny13A 
(ungetestet).

Einen Unterschied hab ich schon gesehen: meine Peak-LED läuft nicht 
langsam runter, sondern geht einfach aus nach ca. 500ms Haltezeit.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Ja, so 'n bissl was geht - die Reihenfolge der LEDs ist bei meiner HW ja 
ein wenig layout-"optimiert", aber prinzipiell kann man schon erkennen, 
dass das .hex von dir auch lueppt.

Gruss
WK

von HildeK (Gast)


Lesenswert?

Mit dem 13a? Wenn ja, gut!
Die LEDs sind so codiert: D1 für den kleinsten Pegel, D12 für den 
größten.

von Michael B. (laberkopp)


Lesenswert?

Dergute W. schrieb:
> Gleichrichter und solche Faxen braucht man keine

Hmm, du legst die Null-linie bei 0.55V hin. D.h. daß alle Signale über 
2Vss durch die Eingangsschutzdiode nach GND abgeleitet werden. Dabei 
verschiebt sich über den Eingangskoppelkondensator die Null-line, der 
Messwert wird falsch, zu hoch.

Du solltest 0 besser auf 2.5V legen, dann lassen sich wenigstens Signale 
bis 3Vss verarbeiten und ein Fehler bei grösseren führt zum Overflow und 
nicht zur Messfehlern.

Dann verwendet du 3 x 4 Charlieplexing mit 270 Ohm also 10mA. Das macht 
30mA für den ableitenden Ausgang, obwohl der AVR offiziell nur 20mA 
schafft, und die Helligkeit liegt bei einem mittleren Strom von 2.5mA. 
Im dunklen Zimmer wohl ausreichend, tagsüber wohl etwas wenig. 
Ausprobiert hast du es gar nur mit 7mA (was besser zu den 20mA passt 
aber nur 1.75mA Hellilgkeit bringt).

von Trumpeltier (Gast)


Lesenswert?

HildeK schrieb:
> Einen Unterschied hab ich schon gesehen: meine Peak-LED läuft nicht
> langsam runter, sondern geht einfach aus nach ca. 500ms Haltezeit.

Ich denke, da Du mußt nochmal ran. So ist es unschön gelöst.
Ja ich weiß, Assembler kannste gar nicht, C nur notdürftig.

Michael B. schrieb:
> Hmm, du legst die Null-linie bei 0.55V hin. D.h. daß alle Signale über
> 2Vss durch die Eingangsschutzdiode nach GND abgeleitet werden. Dabei
> verschiebt sich über den Eingangskoppelkondensator die Null-line, der
> Messwert wird falsch, zu hoch.
>
> Du solltest 0 besser auf 2.5V legen, dann lassen sich wenigstens Signale
> bis 3Vss verarbeiten und ein Fehler bei grösseren führt zum Overflow und
> nicht zur Messfehlern.

Die Wahl der Null-Linie erschließt sich mir ebenso nicht. Ich hätte U/2, 
also 2,5V genommen. --> 
Beitrag "[C] AVR-Lichtorgel per FFT MEGA8 32 644"

von Horst M. (horst)


Lesenswert?

HildeK schrieb:
> Ein wesentlicher Unterschied in der Performance liegt darin, dass der
> Tiny13 mit 9.6MHz intern rennen kann, der Tiny25 nur mit 8MHz

Hast Du einen Tiny25 ohne OSCCAL-Register erwischt?
Schau Dir mal Fig. 22-42 im Datenblatt an und staune, was der Chip alles 
hergibt.

von Karl M. (Gast)


Lesenswert?

Hallo,

Trumpeltier schrieb:
> Die Wahl der Null-Linie erschließt sich mir ebenso nicht. Ich hätte U/2,
> also 2,5V genommen. -->

das liegt an der Wahl der internen Referenzspannung.
Schaut man in's Datenblatt, so findet man leicht:

REFS[2:0] = 010 --> Internal 1.1V Voltage Reference.

von HildeK (Gast)


Lesenswert?

Horst M. schrieb:
> Hast Du einen Tiny25 ohne OSCCAL-Register erwischt?

Ok, ich hatte nicht exta nachgeschaut und hatte nur kleinere 
Korrekturmöglichkeiten mit OSCCAL im Hinterkopf. Es ist auch überhaupt 
nicht wichtig, ob ich mit 31kHz oder 37kHz abtaste.

Michael B. schrieb:
> Hmm, du legst die Null-linie bei 0.55V hin. D.h. daß alle Signale über
> 2Vss durch die Eingangsschutzdiode nach GND abgeleitet werden. Dabei
> verschiebt sich über den Eingangskoppelkondensator die Null-line, der
> Messwert wird falsch, zu hoch.

Ja, aber dann leuchten schon lange alle LEDs und dann ist es egal, wie 
falsch das 'zu hoch' ist. Hat man so große Pegel, dann sollte der 0R 
entsprechend gewählt werden.

Trumpeltier schrieb:
> Ich denke, da Du mußt nochmal ran. So ist es unschön gelöst.

Nöö, gefällt mir so! :-)
Ist so in meiner DAW-SW auch so gelöst.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Sapperlot, hier ist ja mal richtig was los...
Michael B. schrieb:
>
> Hmm, du legst die Null-linie bei 0.55V hin. D.h. daß alle Signale über
> 2Vss durch die Eingangsschutzdiode nach GND abgeleitet werden. Dabei
> verschiebt sich über den Eingangskoppelkondensator die Null-line, der
> Messwert wird falsch, zu hoch.

Ja - in der Tat. Da ist's beim AVR wie bei jedem anderen ADC - man 
sollte den zulaessigen Einganggspannungsbereich nicht verlassen. Aber - 
als haett' ichs' geahnt - gibts genau fuer dich und diesen Fall die 
Widerstaende R5 und R6 auf dem Board. Damit kann man zu grosse 
Eingangsspannungen verkleinern - wenn man's schafft, den Spannungsteiler 
richtig zu berechnen.

> Du solltest 0 besser auf 2.5V legen, dann lassen sich wenigstens Signale
> bis 3Vss verarbeiten und ein Fehler bei grösseren führt zum Overflow und
> nicht zur Messfehlern.
Wenn du das als eine wichtige Verbesserung siehst: Mach' 'nen Patch fuer 
die Software und aendere das Schaltbild und haeng alles hier an den 
Thread. Alle dafuer noetigen Dateien sind da, alle dafuer noetige 
Software kostet nicht einen Pfennig.

Ansonsten hat Karl M. meine Absichten voellig richtig erkannt.


>
> Dann verwendet du 3 x 4 Charlieplexing mit 270 Ohm also 10mA. Das macht
> 30mA für den ableitenden Ausgang, obwohl der AVR offiziell nur 20mA
> schafft, und die Helligkeit liegt bei einem mittleren Strom von 2.5mA.
> Im dunklen Zimmer wohl ausreichend, tagsüber wohl etwas wenig.
> Ausprobiert hast du es gar nur mit 7mA (was besser zu den 20mA passt
> aber nur 1.75mA Hellilgkeit bringt).

Fuer deine "offiziell nur 20mA" - haste da mal eine belastbare Quelle - 
Datenblatt mit Seitenangabe oder sowas?
Die 2.5mA "mittlerer Diodenstrom" bei heutigen LEDs - sicherlich sind 
die hier im Forum sonst ueblichen Schaltungen von zB. 4 weissen LEDs in 
Reihe an einem KFz-Bordnetz ohne Vorwiderstand manchmal heller - reichen 
mir.
Woher willst du wissen, dass ich es "gar nur mit 7mA" ausprobiert hab'? 
Ich haett's gemerkt, wenn du hier rumgestanden waerst ;-)
Zu meinen Widerstaenden auf der echten HW hatte ich mich schon 
geaeussert.

Wenn das bei meinen Bildern irgendwie funzlig aussieht: Die LEDs, die 
ich da verbaut habe, sind locker 30 Jahre alt und die Kamera locker >10 
Jahre.

Bevor jetzt noch Mecker kommt, dass da auch kein Anti-aliasing Tiefpass 
ist: wer mag, darf natuerlich gerne die Eingangsbeschaltung von hier:

https://www.mikrocontroller.net/attachment/299543/ledmatrix.pdf

oder sonst irgendeinen ihm geeignet erscheinenden Tiefpass anflanschen.

Gruss
WK

von HildeK (Gast)


Lesenswert?

Dergute W. schrieb:
> Bevor jetzt noch Mecker kommt, dass da auch kein Anti-aliasing Tiefpass
> ist

Nach meinem Verständnis braucht man das nicht.
Die hohen Frequenzanteile werden zwar umgefaltet: sie tragen trotzdem 
zum mittleren Effektivwert bei. Mit einem Filter würden sie wegfallen.
Das wäre was anderes, wenn man die Audiodaten wieder zurück wandeln will 
oder eben einen Spektrumanalyzer machen will (was es in deinem Link wohl 
ist).

Zur LED Helligkeit: die 15 Stück, die ich noch in der Schublade gefunden 
habe (SMD, leider nur rot), sind auch ausreichend hell (über 270Ω). 
Leider weiß ich keinen Typ ...

von Uwe S. (de0508)


Lesenswert?

Hallo und danke für die gute Idee.

Das ist mal ein Maker Bauprojeket oder etwas für Kinderaktionstage.

Unter dem Titel "VU-Meter mit Attiny45 statt LM3916" habe ich das 
C-Quellcodeprogramm von HildeK als Basis mit LunaAVR implementiert.

# https://forum.myluna.de/viewtopic.php?f=8&t=1363

von Michael B. (laberkopp)


Lesenswert?

Dergute W. schrieb:
> Woher willst du wissen, dass ich es "gar nur mit 7mA" ausprobiert hab'?

Weil auf deiner Platine 390 Ohm statt 270 Ohm vom Schaltplan montiert 
sind.

Dergute W. schrieb:
> Die 2.5mA "mittlerer Diodenstrom" bei heutigen LEDs reichen mir.
Dergute W. schrieb:
> Die LEDs, die ich da verbaut habe, sind locker 30 Jahre alt.

Hmm.

Dergute W. schrieb:
> Fuer deine "offiziell nur 20mA" - haste da mal eine belastbare Quelle -
> Datenblatt mit Seitenangabe oder sowas?

Seite 117
Output Low Voltage, Pins PB0 and PB1 (5) IOL = 20 mA, VCC = 5V 0.8 V
Output Low Voltage, Pins PB2, PB3 and PB4 (5) IOL = 10 mA, VCC = 5V 0.8 
V
Output High Voltage, Pins PB0 and PB1 (6) IOH = -20 mA, VCC = 5V 4.0 V
Output High Voltage, Pins PB2, PB3 and PB4 (6) IOH = -10 mA, VCC = 5V 
4.2 V
Wie man sieht schaffen sogar nur 2 der Pins die 20mA, die anderen nur 
10mA, und einen Summenstrom von 60mA gibt es auch noch. Isses denn so 
schwer mal in das Datenblatt der verwendeten ICs zu gucken bevor man sie 
verbaut ?

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

Michael B. schrieb:
> Wie man sieht schaffen sogar nur 2 der Pins die 20mA, die anderen nur
> 10mA, und einen Summenstrom von 60mA gibt es auch noch.

Wenn er doch rechnerisch 7mA pro LED spendiert - wo ist das Problem? 
Voll in Spec! Und, die Spec sagt nur, dass bei den angegebenen 
Maximalströmen die Logikpegel eingehalten werden, was den LEDs aber egal 
ist. Es ist noch viel Luft bis zu den Maximum Ratings.

Und, was soll die Aussage zum Summenstrom? Es leuchtet immer nur eine 
LED: Stichwort Multiplex. Also: Summenstrom auch 7mA (plus 
Eigenverbrauch des Tiny).

> Hmm.
Hast du dir sein Video angeschaut?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Michael B. schrieb:
> Dergute W. schrieb:
>> Woher willst du wissen, dass ich es "gar nur mit 7mA" ausprobiert hab'?
>
> Weil auf deiner Platine 390 Ohm statt 270 Ohm vom Schaltplan montiert
> sind.
Nochmal zum Mitmeisseln: Der tiny hat durchaus kraeftige 
Ausgangstreiber, aber mein Programmieradapter hat die nicht. Daher die 
390 oben auf meinem Board - das schrub ich aber bereits.


> Seite 117
Hervorragend. Da haben wir die gleiche Quelle.

> Output Low Voltage, Pins PB0 and PB1 (5) IOL = 20 mA, VCC = 5V 0.8 V
> Output Low Voltage, Pins PB2, PB3 and PB4 (5) IOL = 10 mA, VCC = 5V 0.8
> V
> Output High Voltage, Pins PB0 and PB1 (6) IOH = -20 mA, VCC = 5V 4.0 V
> Output High Voltage, Pins PB2, PB3 and PB4 (6) IOH = -10 mA, VCC = 5V
> 4.2 V
> Wie man sieht schaffen sogar nur 2 der Pins die 20mA, die anderen nur
> 10mA, und einen Summenstrom von 60mA gibt es auch noch.

"Man sieht" daraus, dass man bei gewissen Pins unter gewissen 
Bedingungen von gewissen max. auftretenden Spannungabfaellen ausgehen 
kann.
Nicht jedoch, dass diese Pins, so man etwas mehr Strom zieht, das nicht 
mehr koennten.

> Isses denn so
> schwer mal in das Datenblatt der verwendeten ICs zu gucken bevor man sie
> verbaut ?
Die Frage darf ich dir vollumfaenglich (mit dem Wissen, dass es durchaus 
auch AVRs gibt mit Abs. max. 20mA/Pin - dieser aber nicht dazugehoert 
;-) ) zurueckgeben:
"Isses denn so schwer mal in das Datenblatt der verwendeten ICs zu 
gucken, bevor man die Schaltung bemaengelt?"

Gruss
WK

von MaWin (Gast)


Lesenswert?

Dergute W. schrieb:
> Nicht jedoch, dass diese Pins, so man etwas mehr Strom zieht, das nicht
> mehr koennten.

Nun, wie jeder CMOS kommen die Ausgangstransistoren irgendwann in 
Sättigung, Stromabschnürung, und da garantiert der Hersteller nur, dass 
das unter 20(10)mA noch nicht passiert. Aber vielleicht bei 22 oder 40 
mA. Eine Schaltung, die wegen Datenblattüberschreitung nur zufällig 
funktioniert, ist natürlich Murks.

von batman (Gast)


Lesenswert?

Datenblattüberschreitung?

von Max B. (citgo)


Lesenswert?

Sehr geiles Projekt.
Direkt nachgebaut und mir ein paar Platinen machen lassen.
Dazu fertige LED Bargraph Module.
Bei der Inbetriebnahme gemerkt, dass da irgendwas nicht stimmt.
Die Reihenfolge der LEDs passt nicht ganz 😱

Den asm Code kann ich irgendwie nicht kompilieren, bekomme 
Fehlermeldungen bzgl. der hi8() Adresse.

@TO
Kannst du, wenn du noch da bist, vielleicht ein .hex hochladen mit der 
richtigen LED Reihenfolge?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Das hex von mir passt zu dem Layout von mir (Obacht bei den 
LED-Numerierungen im Layout). Wenn du ein anderes Layout gemacht hast, 
dann wird man in der "display_table:" im .s File die Eintraege aendern 
muessen.
Zum Assemblieren hab' ich einen as aus den binutils hergenommen, also 
GNU-Toolchain. Derzeit hab' ich den aber auch nicht aufm Rechner; werd' 
ich mir auch erstmal wieder compilieren (issn BLFS)
Lad' mal dein Layout hoch, damit deine LED Reihenfolge irgendwie klar 
wird; dann guck' ich mal die Tage.

Gruss
WK

von Max B. (citgo)


Lesenswert?

Hey WK,
Danke danke...
Habe das Projekt jetzt kompilieren können.
Nur aus der display_table werde ich leider überhaupt nicht schlau.

Naja meine LED Reihenfolge ist von 1 bis 12.
Also 4 mit 6 und 12 mit 10 vertauscht im Gegensatz zu deinem Layout.
Ich konnte mir, als ich die Platinen gemacht habe, die Kicad Datei nicht 
anschauen und ging auch davon aus, dass du die normale Reihenfolge 
genommen hast :)

Also wenn du mir nur bei der display_table helfen könntest dann wäre das 
schon echt eine große Hilfe.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max B. schrieb:
> Habe das Projekt jetzt kompilieren können.
> Nur aus der display_table werde ich leider überhaupt nicht schlau.
Ja, ich grad' auch nicht mehr auf Anhieb. Ist auch schon wieder 5 Jahre 
her...

> Naja meine LED Reihenfolge ist von 1 bis 12.
> Also 4 mit 6 und 12 mit 10 vertauscht im Gegensatz zu deinem Layout.
> Ich konnte mir, als ich die Platinen gemacht habe, die Kicad Datei nicht
> anschauen und ging auch davon aus, dass du die normale Reihenfolge
> genommen hast :)
S'isch hald so naworre ;-)

> Also wenn du mir nur bei der display_table helfen könntest dann wäre das
> schon echt eine große Hilfe.
Ich guck' mal. Aber heute nicht mehr und morgen nicht gleich.

Gruss
WK

von Max B. (citgo)


Lesenswert?

Neee...nur die Ruhe. Keinen Stress. Morgen früh reicht auch. :)
Ja schau mal bei Gelegenheit. Würde mir echt helfen.

Ach mensch...hätte ich nur mal doe KiCad vorher angeschaut

von Max B. (citgo)


Lesenswert?

Und, hast du mal über "display_table" geschaut?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max B. schrieb:
> Und, hast du mal über "display_table" geschaut?

Hab' dir eigentlich vorgestern ne "Benutzernachricht" geschickt. Kam da 
nix?

Gruss
WK

von Max B. (citgo)


Lesenswert?

Dergute W. schrieb:
> Moin,
>
> Max B. schrieb:
>> Und, hast du mal über "display_table" geschaut?
>
> Hab' dir eigentlich vorgestern ne "Benutzernachricht" geschickt. Kam da
> nix?
>
> Gruss
> WK

Oh okay... ne kam nix an. Kennst du doch :)
Hatte dir aber vorvorgestern auch eine PM geschickt mit meiner email 
Adresse :)

von Max B. (citgo)


Lesenswert?

Kommando zurück.
Hab die Mail gefunden. Werde es testen und hier berichten.
Danke schön

Beitrag #7178389 wurde vom Autor gelöscht.
von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Soooo....

anbei die .hex Datei für die Schaltung mit "original" Reihenfolge der 
Leuchtdioden.
Sprich LED1-LED12.

Dergute W. war so freundlich und hatte für mich ein paar Änderungen in 
der display_table vorgenommen. Ich hatte ja leider nicht auf die KiCad 
Datei geachtet und bei meinem Layout die Leuchtdioden der Reihe nach 
bestückt.
Danke nochmal

von Dergute W. (derguteweka)


Lesenswert?

Moin,

OK, dann scheint's ja so hinzuhauen.
Dann von mir nochmal die Anderungen "im source", damit's auch schoen 
aussieht, wenn man im Layout die LEDs von 1-12 in einer Reihe hat und 
nicht durcheinander, so wie in meinem Layout.
1
.org 0x1c0
2
display_table:
3
.byte 0x11,0x11,0x11,0x11,0x11,0x11,0x33,0x13
4
.byte 0x13,0x57,0x17,0x17,0x9f,0x1f,0x1f,0x1f
5
.byte 0x22,0x22,0x22,0x33,0x23,0x23,0x23,0x23
6
.byte 0x67,0x27,0x27,0xaf,0x2f,0x2f,0x2f,0x2f
7
.byte 0x44,0x44,0x55,0x45,0x45,0x67,0x47,0x47
8
.byte 0x47,0x47,0xcf,0x4f,0x4f,0x4f,0x4f,0x4f
9
.byte 0x88,0x99,0x89,0x89,0xab,0x8b,0x8b,0xcf
10
.byte 0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f

Damit ichs nicht wieder vergess':
Das obere Nibble ist jeweils fuer die dot-Darstellung, das untere Nibble 
fuer die bar-Darstellung. Beide Nibble werden vor der Ausgabe verodert.
Eigentlich gehoeren immer 16 Hex-Werte in eine Zeile, dann sind's 4 
Zeilen.
Jede Zeile steht fuer einen Multiplexzustand.
Erste Zeile ist fuer LEDs 6,9,12 zustaendig, die naechsten Zeilen dann 
fuer:
LEDs 3,8,11
LEDs 2,5,10
LEDs 1,4,7 (Numerierung nach meinem Schaltbild).

In der Spalte steht was dann angezeigt werden soll. Also Spalte links: 
Nix wird angezeigt, Spalte rechts daneben: 1 LED leuchtet, dann 2, dann 
3 ...

Wer mit meinem wirren Gefasel jetzt nix anfangen kann: Keine Sorgen 
machen, das ist ein gutes Zeichen :-)

Gruss
WK

von Max B. (citgo)


Lesenswert?

Dergute W. schrieb:
> Wer mit meinem wirren Gefasel jetzt nix anfangen kann: Keine Sorgen
> machen, das ist ein gutes Zeichen :-)

Keine Sorge, also ich habe es nicht verstanden :)
Macht aber nichts. Bin froh, dass es jetzt funktioniert.
Baue mir nämlich gerade eine Meterbridge für meinen Multitracker 👍

von Dergute W. (derguteweka)


Lesenswert?

Mach ma Foddo :-)

von Max B. (citgo)


Angehängte Dateien:

Lesenswert?

Bin noch nicht so weit.
Habe ja erstmal die 24 Platinen fast fertig bestückt.
Die LED Bars habe ich zufällig bei einem Händler auf Ebay gefunden. 
Richtig geil und echt günstig. (4 rote LEDs und 8 grüne LEDs)
Die Platinen werden in Sandwich-Bauweise aneinandergereiht. Muss nachher 
nur noch ein schönes Gehäuse basteln.
Achso, der krumme Widerstand auf der Platine ist testweise eingelötet 
nachdem ich das VU Meter mit meinem Multitracker abgeglichen habe. So 
Pi*Daumen.

Das Ganze kommt dann nachher an meinen Multitracker. Dazu werde ich jede 
einzelne Spur am Fader abgreifen und auf die jeweiligen VUMeter Platinen 
führen

: Bearbeitet durch User
von Dergute W. (derguteweka)


Lesenswert?

Yeah! :-)

von Max B. (citgo)


Lesenswert?

:)
Auf jedeb Fall ein sehr cooles Projekt von dir.
Leider ist der Speicher vom Tiny auf Kante genäht sonst hätte man noch 
per Taster umschalten können ob Peak Anzeige an, Peak hold oder Peak 
aus.
Aber so ist es schon echt genial! 👍

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Das ist eigentlich kein Problem von zuwenig Speicher; da ist schon noch 
was frei. Eher von zu wenig Pins.
Die Umschalterei braucht ja auch einen Pin.
Mutige koennten ja den Resetpin abschalten und fuer sowas verwenden...
Oder einfach einen µC mit mehr Pins und Faxen hernehmen. Dann gehen auch 
viel mehr als 12LEDs.
Erlaubt ist, was gefaellt.

Gruss
WK

von Max B. (citgo)


Lesenswert?

Stimmt, der Reset-Pin wäre noch frei.
Ich werde mal darüber nachdenken :)
Falls ich da noch in Zukunft irgendwas machen sollte, werde ich den Code 
natürlich hier hochladen.

von c-hater (Gast)


Lesenswert?

Dergute W. schrieb:

> Das ist eigentlich kein Problem von zuwenig Speicher; da ist schon noch
> was frei. Eher von zu wenig Pins.

Ja.

> Mutige koennten ja den Resetpin abschalten und fuer sowas verwenden...

Nunja, das Risiko hält sich in Grenzen. Gesockelte DIPs mit serial HVP 
lassen sich ja wirklich ganz leicht rücksetzen. Und selbst wenn nicht, 
ist der materielle Schaden wohl verschmerzbar...

Beitrag #7180392 wurde von einem Moderator gelöscht.
von Egberto (Gast)


Lesenswert?

Oder eine IN-13 über PWM, da hasst du quasi beliebig feine Abstufungen.

VG Egberto

von Max B. (citgo)


Lesenswert?

70 LED braucht kein Mensch für eine VU Anzeige. Und PWM ist auch 
spielerei. 12 LEDs sind vollkommen ausreichend für die Anzeige.
So wie ich es habe mit 8 grünen und 4 roten LED ist die Anzeige perfekt.

70 LEDs pro Band wären für ein Audio Spektrum inteteressant.

Den Resetpin werde ich bestimmt mal in Anspruch nehmen. Wie c-hater 
schon sagte, das ist kein Problem. Lediglich das testen und neu fusen 
ist halt nervig

von Olaf (Gast)


Angehängte Dateien:

Lesenswert?

> 70 LED braucht kein Mensch für eine VU Anzeige.

Weil du es nicht kannst? Ich hab hier 64 segmente pro Anzeige und wuerde 
nicht
weniger haben wollen. Sieht einfach cooler aus.

Die maximale Coolheit erreicht uebrigens mit gesteigerter Abtastrate. 
Ich hab mal mit 30/s angefangen und mich dann auf 200/s gesteigert. 
Dadurch sieht sowas dann sehr fliessend realistisch aus. (auch das 
runter tropfen vom peak hold) Kommt aber leider weder auf Fotos noch 
Videos rueber. Muss man wirklich live sehen.

Olaf

von Ste N. (steno)


Lesenswert?

Olaf schrieb:
> Ich hab hier 64 segmente pro Anzeige und wuerde
> nicht weniger haben wollen. Sieht einfach cooler aus.

Ja hast Recht, sieht echt cool aus. Was ist das für eine Anzeige? Röhre 
oder LED?

Steffen

von Max B. (citgo)


Lesenswert?

Olaf schrieb:
> Weil du es nicht kannst?

Ne, weil man es nicht braucht.

Es gibt halt Leute die brauchen das damit es cool aussieht und es gibt 
Leute die brauchen das bei der Musikproduktion.
Da kommt Funktionalität vor Design.

Bei 79 LEDs wäre das auch keine Meterbridge mehr sondern eine 
Meterkiste.

von Olaf (Gast)


Lesenswert?

> Ja hast Recht, sieht echt cool aus. Was ist das für eine Anzeige? Röhre
> oder LED?

Das ist ein LCD.

> Es gibt halt Leute die brauchen das damit es cool aussieht und es gibt
> Leute die brauchen das bei der Musikproduktion.

Wenn du Profi bist dann kaufst du dir aber einfach ein Mischpult.

Ausserdem ist meine Anzeige so eingestellt das sie ohne Eingangssignal, 
also mit Systemrauschen, nur die unteren beiden Segmente 1-2/s leicht 
flackern, und bei maximaler CD-Dynamik und voller ungesunder Lautstaerke 
oben anschlaegt.

Aber du hast natuerlich recht, fuer eine moderne kommerzielle 
Musikproduktion braucht man das nicht weil dort im Extremfall 
(Internetradiosendung) die Dynamik so krass zusammengequetscht ist das 
auf meiner Anzeige nur noch 5-10Segmente genutzt werden. Aber privat ist 
es trotzdem cool zu sehen was fuer ein Scheiss den Leuten heute ins 
Gehirn geblasen wird wenn man es mit CDs vergleicht die wirklich die 
Dynamik nutzen.

Olaf

von Uwe S. (de0508)


Lesenswert?

Au au,

haben neue Menschen nicht mehr gelernt, mit Punkt '." und Kommata "," zu 
schreiben?
Das "dass" mit zwei S geschrieben wird, ist bestimmt auch schon bekannt?
So wird ein gesunder Lesefluss gefördert und die Logik des geschriebenen 
Wortes herausgestellt.

Bitte, schreiben Sie keine Sätze ohne Sinn.

von HildeK (Gast)


Lesenswert?

Olaf schrieb:
> Aber du hast natuerlich recht, fuer eine moderne kommerzielle
> Musikproduktion braucht man das nicht weil dort im Extremfall
> (Internetradiosendung) die Dynamik so krass zusammengequetscht ist das
> auf meiner Anzeige nur noch 5-10Segmente genutzt werden.

Das hat ja nichts mit der Zahl der Segmente zu tun. Es ist nur eine 
Frage, wie du die Pegel den LEDs zuordnest.

Max B. schrieb:
> 70 LED braucht kein Mensch für eine VU Anzeige. Und PWM ist auch
> spielerei. 12 LEDs sind vollkommen ausreichend für die Anzeige.

So ist es!

von Max B. (citgo)


Lesenswert?

Olaf schrieb:
> Wenn du Profi bist dann kaufst du dir aber einfach ein Mischpult.

Wenn du meine Beiträge gelesen hättest dann hättest du gesehen, dass es 
für ein Mischpult gedacht ist.

Das VU Meter macht am Ausgang zum Beispiel wenig Sinn wenn ich sie mit 
dem Volume Poti steuern kann. Das ist dann wirklich nur Spielerei und 
schön anzuschauen. Aber auch nur so lange wie ich auf 
"Zimmerlautstärke" gestellt habe.

Wichtig sind die Lautstärkeeinheiten bei der Aufnahme, beim Abmischen 
und Mastern.
Erst hier kann ich ein Übersteuern der Eingangssignale vermeiden und 
eine durschnittliche Lautstärke finden die mir genügend Spielraum nach 
oben gibt.
Dafür reichen eben 12 LEDs mit Peak-Hold.
Das VU Meter ist im Mischpult für jeden Kanal schon integriert. Als 
digitale Lösung in einem grafischen LCD.
Ich möchte aber gerne außerhalb noch eine Meterbridge befestigen um 
nicht immer auf das Display schauen zu müssen.

von Olaf (Gast)


Angehängte Dateien:

Lesenswert?

> Dafür reichen eben 12 LEDs mit Peak-Hold.

Hm...manche Leute scheinen in ihren Mischpulten mehr zu brauchen:

https://www.production-partner.de/app/uploads/2018/06/Lawo-Mischpult-Copyright-Swen-Müller-P1000610.jpg

Und es gab ja auch noch die mit den Plasmaanzeigen.

BTW: Es gab in den 80ern ausser den gaengigen UAA170/180 und den LM391x 
auch noch einen Typen der 30LEDs ansteuern konnte. Leider ist mir die 
Bezeichnung von dem entfallen.

Und frueher hatten die Leute ja auch entweder analoge Anzeigen oder 
Thermometerroehren (siehe Anhang) mit theoretisch beliebig hoher 
Aufloesung. Warum soll man heute nicht mehr LEDs verwenden? Macht ja 
keinen arm.

Olaf

von Max B. (citgo)


Lesenswert?

Olaf schrieb:
> Warum soll man heute nicht mehr LEDs verwenden? Macht ja keinen arm.

Ganz einfach:
Weil das am Threadthema vorbeigeht.
Es geht um ein Projekt mit einem ATtiny13 + 12 LEDs.

Wenn ich jetzt 24 LEDs haben will dann kann ich keinen ATtiny13 mehr 
nutzen, bekomme keine 2 farbigen LED Bargraph Module für 1,20 Eueo das 
Stück, kann die .asm Firmware nicht umschreiben und müsste ein größeres 
Gehäuse bauen.
Und das nur damit es cool aussieht?

Olaf schrieb:
> Hm...manche Leute scheinen in ihren Mischpulten mehr zu brauchen:

Ja manche Leute brauchen auch beleuchtete Fader in ihren Mischpulten. Am 
besten noch mehrfarbig den Spuren entsprechend.

von Michael M. (Firma: Autotronic) (michael_metzer)


Angehängte Dateien:

Lesenswert?

Max B. schrieb:
> Es gibt halt Leute die brauchen das, damit es cool aussieht.

Ich gehöre auch eher zu den cool aussehenden Leuten. Je mehr LEDs (je 
Kanal 40 Stück) um so besser sieht's aus:

https://youtu.be/5WrANIQIiXI

von HildeK (Gast)


Lesenswert?

Max B. schrieb:
> Ja manche Leute brauchen auch beleuchtete Fader in ihren Mischpulten. Am
> besten noch mehrfarbig den Spuren entsprechend.

Ja, hat meines und finde es sehr hilfreich! 😀

Du hast oben ein Tascam 2488, das arbeitet doch digital. Du schriebst:
> Dazu werde ich jede
> einzelne Spur am Fader abgreifen und auf die jeweiligen VUMeter Platinen
> führen
Hast du am Fader noch analoge Signal zur Verfügung?

von Max B. (citgo)


Lesenswert?

HildeK schrieb:
> Ja, hat meines und finde es sehr hilfreich!

🙈🙄😁

HildeK schrieb:
> Hast du am Fader noch analoge Signal zur Verfügung?

🤔 Mh... jetzt wo du es sagst überlege ich gerade was ich eigentlich 
vorhabe.
Verdammt. Muss ich testen. Ich denke aber schon. Die Eingangsstufe ist 
ja komplett analog.
Im schlimmsten Fall kann ich meine VU Meter nur für die "echten" 8 
analogen Eingänge nutzen.

von Percy N. (vox_bovi)


Lesenswert?

Uwe S. schrieb:
> Das "dass" mit zwei S geschrieben wird, ist bestimmt auch schon bekannt?

Offenkundig nicht jedem ...

von HildeK (Gast)


Lesenswert?

Max B. schrieb:
> Verdammt. Muss ich testen. Ich denke aber schon. Die Eingangsstufe ist
> ja komplett analog.
> Im schlimmsten Fall kann ich meine VU Meter nur für die "echten" 8
> analogen Eingänge nutzen.

Das Tascam ist ja schon etwas älter, kann sein, dass es am Fader noch 
analog ist. Klar, die Eingangsstufe ist analog und an den Input Trims 
damit wahrscheinlich auch noch.
In meinem Soundcraft jedenfalls kommt direkt nach dem Input-Gain der ADC 
- wenn das im Manual auch richtig dargestellt ist ...

von c-hater (Gast)


Lesenswert?

Max B. schrieb:

> Wenn ich jetzt 24 LEDs haben will dann kann ich keinen ATtiny13 mehr
> nutzen

WS2812B wurden vor geraumer Zeit erfunden. Bis zu über 1000 davon lassen 
sich recht problemlos von einem Tiny13 ansteuern. Das sind dann ja 
eigentlich sogar 3000 LEDs, denn in jedem WS2812B stecken ja drei LEDs.

von Klaus R. (klaus2)


Lesenswert?

Michael M. schrieb:
> Je mehr LEDs (je Kanal 40 Stück)

Je mehr desto krummer. Das würde mich stören.

Klaus.

von Max B. (citgo)


Lesenswert?

HildeK schrieb:
> Max B. schrieb:
>> Verdammt. Muss ich testen. Ich denke aber schon. Die Eingangsstufe ist
>> ja komplett analog.
>> Im schlimmsten Fall kann ich meine VU Meter nur für die "echten" 8
>> analogen Eingänge nutzen.
>
> Das Tascam ist ja schon etwas älter, kann sein, dass es am Fader noch
> analog ist. Klar, die Eingangsstufe ist analog und an den Input Trims
> damit wahrscheinlich auch noch.
> In meinem Soundcraft jedenfalls kommt direkt nach dem Input-Gain der ADC
> - wenn das im Manual auch richtig dargestellt ist ...

Ja das Blockschaltbild vom Tascam ist da nicht anders. Laut diesem kommt 
nach den Fadern der ADC.
Laut Pegelschaltbild nicht.
Ach ich werde es einfach testen.
Nutze das Tascam eh selten. Wäre halt cool gewesen parallel zum LCD noch 
eine echte Meterbridge zu haben.

c-hater schrieb:
> WS2812B wurden...

Ok. Brauche ich aber nicht

von HildeK (Gast)


Lesenswert?

c-hater schrieb:
> WS2812B wurden vor geraumer Zeit erfunden. Bis zu über 1000 davon lassen
> sich recht problemlos von einem Tiny13 ansteuern. Das sind dann ja
> eigentlich sogar 3000 LEDs, denn in jedem WS2812B stecken ja drei LEDs.

Um wenigstens 12 LEDs WS2812B anzusteuern brauchst du mindestens 15µs. 
Dann kommt noch die Bestimmung des Effektivwerts dazu sowie die 
Peak-Hold-Geschichte. Und der ADC sollte ja auch eine ausreichend hohe 
Samplerate haben.
Ich fürchte, das wird sehr eng und wenn du von viel mehr LEDs redest, 
dann erst recht.

von Ste N. (steno)


Lesenswert?

Passt zwar nicht direkt zum Thema, aber fragen kostet ja nix...

Gibt es diese LED-Zeilen wie z.B. 
https://www.reichelt.de/de/de/bargraph-anzeige-10-elemente-gelb-ybg-1000-p22957.html 
eigentlich auch in einem kleineren Rastermaß? Alles was man so findet 
sind 2,54mm, 1,27 oder noch schmaler wäre nicht schlecht.

von c-hater (Gast)


Lesenswert?

HildeK schrieb:

> Um wenigstens 12 LEDs WS2812B anzusteuern brauchst du mindestens 15µs.

Aber nicht zwingend "blocking".

Siehe: Beitrag "Audio Spektrum Analyzer mit ATtiny85"

Da werden 88 WS2812B angesteuert und "nebenbei" läuft da noch eine 
"klein wenig" mehr als ein einfaches VU-Meter...

Und ja: Der ADC-Interrupt läuft auch während der LED-Ausgabe. Jedenfalls 
den weit überwiegenden Teil der Zeit. Wirklich "hart" (also unter 
Interruptsperre) wird nur TIH von Low-Bits erzeugt.

Man muss halt einfach nur wirklich programmieren können und das Timing 
des Codes vollständig kontrollieren. Dann geht sowas.

von Michael M. (Firma: Autotronic) (michael_metzer)


Angehängte Dateien:

Lesenswert?

HildeK schrieb:
> Um wenigstens 12 LEDs WS2812B anzusteuern brauchst du mindestens 15µs.

Wenn schon ein WS2812B eingesetzt wird, dann sollte man auch mindestens 
einen Graphic-Equalizer damit aufbauen, sonst lohnt es sich kaum.

Im Video werden Streifen mit je 15 LEDs einfach mit der Schere 
abgeknipst und nebeneinander aufgeklebt:

https://youtu.be/uPfOWnGbONI

Um möglichst viele verschiedene graphische Darstellungen zu erhalten, 
würde es bei mir schon an der Programmierung hapern.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.