Forum: Mikrocontroller und Digitale Elektronik Spectrumanalyzer mit NJU7507 und Laserdioden


von Kilian B. (kiljab)


Angehängte Dateien:

Lesenswert?

Hallo erstmal.
Ich bin neu in diesem Forum und würde mich selber als erfahrenen 
Anfänger bezeichnen :D
Ich bin gerade dabei ein Projekt zu entwickeln, bei dem ein analoges 
Audiosignal, durch 4 NJU7507 IC's in 20 Frequenzbänder gespalten wird 
(siehe meinen nicht gut lesbaren Schaltplan), diese dann von einem 
Arduino analysiert und am ende über 20 Laserdioden wieder ausgegeben 
werden.
Das bringt natürlich einige Fragen mit sich.
Jeder dieser NJU7507 hat einen RD, einen RST/CLKO und einen A-OUT pin.
So wie ich das verstanden habe, gibt RD ein "read"-Signal an den Arduino 
und dieser hat eine Gewisse Zeit, das Signal von A-OUT auszulesen. Über 
RST/CLKO kann man immer wieder auf das 1. Frequenzband wechseln. Ist das 
richtig?
Aber was für einen A/D soll ich verwenden, und wofür ist er in diesem 
Fall gut?
Die Laserdioden sind schon eine coole Sache, doch habe ich gelesen, dass 
sie regulierten Current brauchen. Für jede Diode einen eigenen 
Schaltkreis mit LM350 und LM317 zu basteln, wird sehr ineffizient und 
aufwändig. Gibt es nicht einen IC, über den man mehrere Laserdioden 
ansteuern kann?
Ansonsten würde ich versuchen die Laser über ein Shiftregister und 
Transistoren anzusteuern und eben doch für jede einzelne Diode einen 
eigenen Schaltkreis bauen.

Danke schonmal
Kiljab

von tommy (Gast)


Lesenswert?

Kilian B. schrieb:
> Ich bin neu in diesem Forum und würde mich selber als erfahrenen
> Anfänger bezeichnen :D

Als erfahrener Anfänger nimmt man nicht 4 mal IC1 ;-)
Bekommst Du da keine Fehlermeldung?

Wie kommst Du auf 20 Frequenzbänder?
Das IC kann 7, oder kaskadiert 14 Frequenzbänder.

Osc1 und Osc2 werden mit einer R/C Komination beschaltet,
nicht mit einer Induktivität (bei Dir L1 und L2).

Die Audio-In Signale am Stecker direkt zu verbinden ist nicht so gut.

Audio-In geht nur auf das IC1 rechts oben.

Abblockkondensatoren fehlen an allen ICs.

Dein Schaltbild ist, vorsichtig ausgedrückt, ......

von tommy (Gast)


Lesenswert?

Ganz vergessen zu fragen:

Welche Laserdioden möchtest Du verwenden?

von Luca E. (derlucae98)


Lesenswert?

Kilian B. schrieb:
> siehe meinen nicht gut lesbaren Schaltplan)

Einsicht ist der erste Weg zur Besserung. Warum dann nicht gleich 
ordentlich zeichnen?

von Jobst M. (jobstens-de)


Lesenswert?

Wieso das Frequenzband nicht gleich vom Controller zerteilen lassen?
http://elm-chan.org/works/akilcd/report_e.html

Gruß

Jobst

von Kilian B. (kiljab)


Lesenswert?

tommy schrieb:
> Als erfahrener Anfänger nimmt man nicht 4 mal IC1 ;-)
> Bekommst Du da keine Fehlermeldung?

Ich hab in dem Programm ausversehen den Befehl für einen automatischen 
Namen gegen IC1 ersetzt :D Aber im Hintergrund sind sie als IC1,IC2... 
bezeichnet.

tommy schrieb:
> Wie kommst Du auf 20 Frequenzbänder?
> Das IC kann 7, oder kaskadiert 14 Frequenzbänder.

Hab das mit einem anderen Chip im Kopf vermischt. 14 Bänder jeweils für 
Version A und B im Doppelbetireb. Wie die beiden verschiedenen Versionen 
heißen frag ich mich dennoch... Also habe ich 28 Bänder und nehme 28 
Laserdioden.

tommy schrieb:
> Osc1 und Osc2 werden mit einer R/C Komination beschaltet,
> nicht mit einer Induktivität (bei Dir L1 und L2).

Ah ja Also eine R/C Kombination mit 13Kohm und ein 220pf Kondensator.

tommy schrieb:
> Die Audio-In Signale am Stecker direkt zu verbinden ist nicht so gut.

Da hatte ich vor das Audiosignal mit OP-Amps an die chips zu bringen.

tommy schrieb:
> Dein Schaltbild ist, vorsichtig ausgedrückt, ......

Muss ich zugeben :D

tommy schrieb:
> Welche Laserdioden möchtest Du verwenden?

Ich hab einfach an das billigste gedacht(100 Laserdioden fürn' Zwanni 
bei Aliexpress). Falls es dann funktioniert kann ich noch auf bessere 
zugrückgreifen und diese für spielerreien verwenden.
Denke aber mit einer Nebelmaschine wird man die Strahlen erkennen 
können.



Trotzdem noch eine Frage...
Wofür den A/D? Kann der Arduino das Signal nicht lesen?

von Kilian B. (kiljab)


Lesenswert?

Jobst M. schrieb:
> Wieso das Frequenzband nicht gleich vom Controller zerteilen lassen?
> http://elm-chan.org/works/akilcd/report_e.html


Ich möchte es diesmal nicht irgendwo ablesen oder so sondern auf eigene 
Faust machen, damit ich dabei auch etwas lerne :)
Deswegen stelle ich meine Fragen ja auch hier ^^

von Quarktasche (Gast)


Lesenswert?

Oh hauerha!
NJU7507? Wo hast Du denn dieses Schaetzchen aufgetrieben?
Sind die aus einem Pollin-Ueberraschungspaket?

Kurzer Zwischenstand:
Du hast eine vage Vorstellung von einem Projekt, das Du
realisieren willst (aber nicht nennst) und zeigst einen
unvollstaendigen, chaotischen Schaltplan. Vom Sinn des Ganzen
erfahren wir nichts.
Auf tommys Nachfrage, welche Laserdioden Du eigentlich verwenden willst,
antwortest Du: die billigsten.
Du wunderst Dich ueber die Notwendigkeit eines ADC und darueber,
wie man Laserdioden ansteuert.

Der explizit gezeigte ADC ist notwendig, da der Chip pro Band einen
Peakwert analog ausgibt und die Mikrocontroller der 80er 
ueberlicherweise
keine ADCs an Bord hatten.
Selbstverstaendlich wirst Du nicht fuer jede Laserdiode
(fuer Dich: welche Typenbezeichnung? welche Parameter? Datenblatt?)
eine Versorgung aus LM350 / LM317 bauen muessen. Der Aufwand haengt
ab von Deinen Rahmenparametern: sollen die Dioden mit definierter
optischer Ausgangsleistung betrieben werden, (enthalten sie
eine Photodiode fuer ein Rueckkoppelsignal?), brauchst Du eine Regelung
auf die optische Augangsleistung.
Betreibst Du sie mit mittlerer Leistung, so dass selbst bei 
schlechtesten
Umgebungsbedingungen der maximal zulaessige Strom nicht ueberschritten
wird, reicht fuer konstanten Strom ein Opamp mit Transistor am Ausgang
zur Stromverstaerkung und ein R zur Strommessung (da Du das auf eigene
Faust loesen willst, ueberlasse ich Dir die Kombination der Komponenten)
oder ein Stromspiegel oder sogar (mehrere parallelgeschaltete)
Logikgatter mit begrenztem Ausgangsstrom.
Wenn Du die Dioden dimmen willst, wirst Du feststellen, dass sich
die optische Ausgangsleistung nicht linear mit dem Strom aendert.
Daher wirst Du ein PWM Signal (schnell an/aus) verwenden wollen.
Leider sind 20 oder 28 oder was auch immer, ziemlich viele Dioden.
Wie schliesst Du die alle an Deinen Arduino an?

Hier ist anscheinend noch etwas weitere Planung erforderlich.
Also: Faust geballt und ran!

Wie Jobst richtig schreibt, kannst Du die Frequenzbandfilterung
bereits im Mikrocontroller loesen und sparst Dir den ganzen Krams
drumherum. Der eingebaute ADC erfasst das Audiosignal.
Wenn Du das auf eigene Faust machen willst, schreib den Code dafuer
doch einfach selber! Dabei lernst Du mehr (Festkomma-Signalverarbeitung)
als bei der Decodierung eines 30 Jahre alten Datenblaettes eines
obsoleten ICs in Japanenglisch.

Ist das ein Geheimprojekt fuer Deine (ge)Heimdisko?
Dann sei bitte vorsichtig, dass Deine Gaeste nicht zu Schaden kommen.

Ich wuerde Dir empfehlen, als Zwischenprojekt erstmal
eine einzelne, zuverlaessig durch den uC gesteuerte Laserdiode zu 
realisieren, ohne dass sie durch Ueberstromspitzen gekillt wird, wobei 
der
gewuenschte Intensitaetswert als Spannung am ADC des uC angelegt werden
kann. Wenn das klappt, erweitere den Aufbau auf mehrere Dioden.
Oder sollen Deine Dioden nur an/aus koennen?
Das macht die Sache erheblich einfacher.
Nicht nur fuer Dich tun sich hier viele Fragen auf ...

Viel Erfolg, halte uns auf dem Laufenden!

von Kilian B. (kiljab)


Lesenswert?

OK es scheint als hätte ich einige Infos vergessen...

Quarktasche schrieb:
> Du hast eine vage Vorstellung von einem Projekt, das Du
> realisieren willst (aber nicht nennst)

Ich möchte, wie bereits gesagt, das Audiosignal aufspalten. Wenn der uC 
einen bestimmten Wert für eine Frequenz bekommt, soll die dazugehörige 
Laserdiode leuchten(an/aus). Die Laser sind in einem Halbkreis, nach 
Frequenzen angeordnet und sollen so mit den Strahlen den ganzen Raum 
füllen. Also eine (Ge)Heimdisco :D

Quarktasche schrieb:
> NJU7507? Wo hast Du denn dieses Schaetzchen aufgetrieben?
> Sind die aus einem Pollin-Ueberraschungspaket?

Aufgetrieben leider noch nicht. Ich habe sie auch hier im Forum gesehen 
bei einem anderen Projekt und denke, sie sind die perfekten Bauteile für 
mein Vorhaben, da ich nicht für jede Frequenz einen eigenen Pin habe und 
insgesammt 28 verschiedene Messfrequenzen zur verfügung stehen.
Angeboten werden sie noch bei greenlightelectronics und noch eiuner 
Seite. Das sind Händler für obsolete Bauteile.

Quarktasche schrieb:
> Auf tommys Nachfrage, welche Laserdioden Du eigentlich verwenden willst,
> antwortest Du: die billigsten.

Ja halt die, die man findet wenn man nach Laserdioden im Internet sucht 
:D
5V Betriebsspannung, 5mW Ausgangsleistung und <40mA Strom

Quarktasche schrieb:
> Wie Jobst richtig schreibt, kannst Du die Frequenzbandfilterung
> bereits im Mikrocontroller loesen und sparst Dir den ganzen Krams
> drumherum. Der eingebaute ADC erfasst das Audiosignal.
> Wenn Du das auf eigene Faust machen willst, schreib den Code dafuer
> doch einfach selber!

Das finde ich aber nicht so spannend und lehrreich. Mit dem gebastel mit 
den IC's lerne ich mehr über die Physik dahinter. Und dabei hab ich auch 
noch Programmierarbeit.

Quarktasche schrieb:
> Dann sei bitte vorsichtig, dass Deine Gaeste nicht zu Schaden kommen.

Betreten auf eigene Gefahr :D nein Ich werde die Laser gen Boden und 
Decke richten.

Quarktasche schrieb:
> Oder sollen Deine Dioden nur an/aus koennen?
> Das macht die Sache erheblich einfacher.

Ja genau das.


Ich hoffe das hat nochmal ein paar Fragen geklärt :D

von Quarktasche (Gast)


Lesenswert?

Kilian B. schrieb:
>> Oder sollen Deine Dioden nur an/aus koennen?
>> Das macht die Sache erheblich einfacher.
>
> Ja genau das.

Ok, dann reichen fuer die Ansteuerung der einzelnen
Dioden die Pins am uC, vielleicht noch unterstuetzt durch
einen IO-Expander, z.B. PCF8575, aus.
Die Ausgaenge schalten die einzelnen Stromquellen bzw.
-senken an oder aus.
Der eingebaute ADC kann die Peak-Werte der Einzelkanaele
erfassen, so dass Du pro Kanal eine eigene Schaltschwelle
einstellen kannst. Die einzelnen NJU7507 (so Du sie denn
tatsaechlich verwenden willst) kannst Du an die einzelnen
Mux-Eingaenge des ADC anschliessen.
Der uC muss dann nur den Kanal passend aus der Filterbank
selektieren, den Wert digitalisieren, mit dem Schwellwert
vergleichen etwas filtern und abschliessend den gesamten
Bitvektor an die Ausgaenge legen.
Klingt machbar. Als steuerbare Stromsenke z.B.:
LM324 (super billig, Eingang geht runter bis GND, Versorgungsspannung
bis runter zu 3V), so beschaltet wie Figure 29 im Datenblatt :
http://www.ti.com/lit/ds/symlink/lm2902-n.pdf
Transistor vielleicht BC337 (fuer etwas hoehere Leistung;
falls noch hoeher: z.B. BD139).
Geschaltet ueber Spannungsteiler (oder besser R und zwei Dioden /
eine Leuchtdiode, um durch deren Kennlinie Spannungsvariationen
am Digitalausgang etwas abzumildern; Strommess-R entsprechend
dimensionieren) am digitalen Ausgangspin.
Theoretisch kannst Du das auch nur mit Transistor
und einer Diode zur temperaturkorrigierten Vorspannungserzeugung
aufbauen, so wie hier in Bild 5 (gut thermisch gekoppelt):
https://www.elektronik-kompendium.de/public/schaerer/currled.htm
Da ist jedoch die Streuung der Stroeme groesser.
Auch im Worst-Case (hohe Temperatur) darf der Maximalstrom
nie ueberschritten werden. Oder kaufst Du Lasermodule
(Laserdiode bereits mit Stromquellenplatinchen und Photodioden-
rueckkopplung)?
5V Vorwaertsspannung hoert sich naemlich sonderbar an.
Falls Modul, ist natuerlich keine Stromregelung notwendig; dann
einfach mit Transistor ansteuern.

5mW sind kollimiert schon nicht ungefaehrlich!
Unterschaetze nicht, auf welche Ideen betrunkene Leute so
kommen (wer kann laenger in den Laser schauen, ohne zu blinzeln .....)

Viel Erfolg!

von Kilian B. (kiljab)


Lesenswert?

Quarktasche schrieb:
> vielleicht noch unterstuetzt durch
> einen IO-Expander, z.B. PCF8575

Ja genau das hatte ich auch vor. Der Leonardo wird mir nicht genug Pins 
bieten.

Quarktasche schrieb:
> Die einzelnen NJU7507 (so Du sie denn
> tatsaechlich verwenden willst)

Wie gesagt, ich habe meiner Meinung nach keine besseren gefunden. Wenn 
du aber eine Alternative hast mit möglichst mehr als 20 Frequenzen, 
würde ich auch diese verwenden. Ist halt doof das dieser Chip obsolet 
ist.


Zu dem ADC... Es reicht wenn er 4 Channels hat oder? Dann muss ich mich 
da mal einlesen und einen passenden ADC finden.

Was ist ein Strommess-Widerstand?

Quarktasche schrieb:
> Klingt machbar. Als steuerbare Stromsenke z.B.:
> LM324

Dann bräuchte ich davon 7 Stück und 28 Stück vom BC337?
Die BC337 werden dann wie in Abbildung 29 eingesetzt?

Ich werde mich jetzt mal durch die Datenblätter lesen, damit ich nicht 
zu viele Fragen stelle :D

von Kilian B. (kiljab)


Lesenswert?

Quarktasche schrieb:
> Oder kaufst Du Lasermodule
> (Laserdiode bereits mit Stromquellenplatinchen und Photodioden-
> rueckkopplung)?
> 5V Vorwaertsspannung hoert sich naemlich sonderbar an.
> Falls Modul, ist natuerlich keine Stromregelung notwendig; dann
> einfach mit Transistor ansteuern.

Das Einzige was dran ist, sind 2 Kabel (+ und -) und ein SMD Kondensator 
oder Widerstand. Bei einem Angebot steht bei, dass eine Laserschaltung 
von Nöten ist. Also gehe ich mal stark davon aus, dass ich sie nicht 
einfach mit Transistoren ansteuern kann.

von Dieter F. (Gast)


Lesenswert?

Kilian B. schrieb:
> Denke aber mit einer Nebelmaschine wird man die Strahlen erkennen
> können.

Willst Du die in entsprechender Höhe "abschneiden"?
Mir ist da immer 1 nS = 30 cm (ungefähr) in Erinnerung.

von Kilian B. (kiljab)


Lesenswert?

Dieter F. schrieb:
> Kilian B. schrieb:
>> Denke aber mit einer Nebelmaschine wird man die Strahlen erkennen
>> können.
>
> Willst Du die in entsprechender Höhe "abschneiden"?

Nein. Die Nebelmaschiene macht nur die billigen Laser wieder wett.
Ich weiß ja nichtmal, ob man die Laserstrahlen im Dunkeln sehen würde, 
oder ob man nur einen Punkt an der Wand sieht.

von Dieter F. (Gast)


Lesenswert?

Kilian B. schrieb:
> Nein.

Na, dann ist es ja entspannt :-)

Bei zeitkritischen Anwendungen sind die IC's von IC-Haus zu empfehlen - 
aber so wird jeweils ein Transistor oder ein ULN... mit Vorwiderstand 
auch ausreichen.

von Quarktasche (Gast)


Lesenswert?

Kilian B. schrieb:
> Zu dem ADC... Es reicht wenn er 4 Channels hat oder? Dann muss ich mich
> da mal einlesen und einen passenden ADC finden.

Der ADC befindet sich bereits als Peripheriekomponente
im Atmega32 auf Deinem Leonardo-Board!

von Quarktasche (Gast)


Lesenswert?

Kilian B. schrieb:
> Wie gesagt, ich habe meiner Meinung nach keine besseren gefunden. Wenn
> du aber eine Alternative hast mit möglichst mehr als 20 Frequenzen,
> würde ich auch diese verwenden. Ist halt doof das dieser Chip obsolet
> ist.

Der ist obsolet, weil man sowas heutzutage komfortabel im 
Mikrocontroller
loest. Selbst der (olle) Atmega32 kann dir mit FFT locker
 256 Frequenzbaender in wenigen Millisekunden berechnen.

von Kilian B. (kiljab)


Lesenswert?

Quarktasche schrieb:
> Der ADC befindet sich bereits als Peripheriekomponente
> im Atmega32 auf Deinem Leonardo-Board!

Ok dann hatte ich doch richtig gedacht, aber falsch verstanden :D

Quarktasche schrieb:
> Kilian B. schrieb:
>> Wie gesagt, ich habe meiner Meinung nach keine besseren gefunden. Wenn
>> du aber eine Alternative hast mit möglichst mehr als 20 Frequenzen,
>> würde ich auch diese verwenden. Ist halt doof das dieser Chip obsolet
>> ist.
>
> Der ist obsolet, weil man sowas heutzutage komfortabel im
> Mikrocontroller
> loest. Selbst der (olle) Atmega32 kann dir mit FFT locker
>  256 Frequenzbaender in wenigen Millisekunden berechnen.

Aber komfortabel ist auch mal langweilig.
Wenn ich nicht an die Chips komme, werde ich es auch so machen.
Habe aber grade gesehen, es gibt auch eine FHT Library, die anscheinend 
schneller ist als die FFT. Sollte ich also auf die FHT zurückgreifen?

von Quarktasche (Gast)


Lesenswert?

Kilian B. schrieb:
> Habe aber grade gesehen, es gibt auch eine FHT Library, die anscheinend
> schneller ist als die FFT. Sollte ich also auf die FHT zurückgreifen?

Das ist eine tolle Gelegenheit, sich mit Signalverarbeitung
auseinanderzusetzen!
Wenn Du herausfindest, was FFT und FHT machen,
kannst Du Deine Frage selbst beantworten :D
(Die Phasenlage ist Dir bei Deiner Anwendung egal,
Du benoetigst nur die Amplitude oder deren Quadrat)

Viel Erfolg!

von Klaus (Gast)


Lesenswert?

Dieter F. schrieb:
> Bei zeitkritischen Anwendungen sind die IC's von IC-Haus zu empfehlen -
> aber so wird jeweils ein Transistor oder ein ULN... mit Vorwiderstand
> auch ausreichen.

In diesen Billiglasern ist die Stromquelle AKA Vorwiderstand schon 
eingebaut. Einfach, je nach Typ so 4 bis 5V anschließen und fertig (wie 
eine LED mit Widerstand). Der Strom ist etwas hoch für einen Portpin, so 
40mA, aber mit einem kleinen Transistor oder FET ist das leicht zu 
schaffen. Ein ULN wäre unterfordert, hat aber ein schön kompaktes 
Gehäuse.

Und was sie leisten sieht man an Werbekugelschreibern mit eingebautem 
Laserpointern, die man allenthalben bekommt. Wenn einem die Lieferzeit 
aus China zu lang ist, kann man da schon mal einen herauspopeln. Aber 
vorsicht beim Löten, die Linse ist aus Kunststoff und schmilzt schnell.

MfG Klaus

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.