VU-Meter auf dem IN-33

Zunächst ist es an der Zeit, meinen Verstärker durch etwas Neues zu ersetzen. Ich kann nicht sagen, dass Vega nach dem Upgrade schlecht gespielt hat, aber es gibt eine Frist. Und entweder müssen Sie es vollständig nach der Verjährungsfrist regeln oder ... Machen Sie eine neue. Aber das ist ein separates Lied. In der Zwischenzeit wollte ich dem neuen Verstärker eine Signalanzeige hinzufügen.

Und alles wäre in Ordnung, aber LEDs mögen es nicht. Nein, sie sind modern, einfach, hübsch ... und schrecklich langweilig. Und ich wollte etwas Warmes, Lampenion . Ich hatte immer eine Schwäche für
Ionenlampen ... Und deshalb wurde an der Datscha der Block der ILT6-30M-Lampe geöffnet. Aber ich war nicht lange glücklich - es stellte sich heraus, dass jemand Zeit hatte, es vor mir zu verbrennen ...
Und jetzt, als ich darüber nachdachte, wie ich das Steuergerät austauschen sollte, stieß ich versehentlich auf die Lampe IN-33.

Bild

Und alles ist passiert ...

Die Lampe wurde nicht sofort gefunden. Und als sie in einem einzigen Geschäft in St. Petersburg kauften, fragten sie mich überrascht: Weiß ich, was ich überhaupt kaufe?
Aber zu kaufen ist die halbe Mühe. Es wurde kein ursprüngliches Kontrollschema gefunden. Und was wäre interessanter - die Lampe benötigt eine Leistung von 130 und 250 Volt konstanter Leistung!
Und das Traurigste ist, dass es nur sehr wenige Informationen darüber gibt. Auf RadioKot gibt es einen Artikel, in dem SLvik ein Projekt dazu erstellt und das Schema dargelegt hat. Es gibt einen deutschen Artikel, in dem eine Person auch ein Projekt darauf gemacht und den Arbeitsalgorithmus und die Quelle mit dem Schema dargelegt hat. Aber die Lampe dort ist 8-polig und meine ist 10. Ja, und die Pinbelegung passt nicht! Es gibt ein Handbuch für eine amerikanische ähnliche Lampe. Es ist aber auch 8 Pin angegeben!

Ein kleiner Exkurs.
Die Lampe hat 200 Segmente! Jeder kann INDIVIDUELL beleuchtet werden. Und die Schlussfolgerungen sind nur 10. "Wie haben sie es geschafft ?!"
Und hier ist das Interessanteste, was ich zum Beispiel nicht einmal gehört habe:
Die Lampe ist ein Zehn-Zähler-Zähler .

Die Steuerungsidee ist ganz einfach: Wir "beleuchten" das "Samen" -Segment am Anfang der Glühbirne. Dann erden wir die 1. Kathode des benachbarten Elements und der Fluss „springt“ vom Keimelement zu einem neuen. Zu diesem Zeitpunkt "löschen" Sie den Samen und jetzt brennt das zweite Segment. Jetzt erden wir die zweite Kathode und der Fluss springt dorthin, das dritte Segment leuchtet auf. Und wir löschen die erste Kathode. Wir machen das gleiche mit der 3. Kathode. Und wieder nach ihm, der erste, zweite, dritte. Es stellt sich eine Art "Lauflicht" heraus. Und wir fahren ihn so weit, wie wir es brauchen. Und wenn er das Niveau erreicht hat, das wir brauchen, schalten wir die Anode aus und wiederholen alles noch einmal.

Zeichnung aus dem amerikanischen Handbuch auf dem Indikator:
Bild

So. Alles scheint mit der Theorie zu sein. Der Indikator liegt in unseren Händen, es ist Zeit zu üben.

Zuerst müssen Sie 130 und 250 Volt bekommen. Es gab eine verrückte Idee, "aus der Steckdose" zu nehmen. Ich nahm eine Diodenbrücke, warf einen Kondensator auf den Kondensator, erhielt die Amplitude 310 vom Strom 220, ließ sie durch die Zenerdioden fallen und ... Ich griff zumindest danach und griff versehentlich nach der Masse des Geräts und der Heizbatterie. Schmerzlich. Höchst.

Seien Sie daher äußerst vorsichtig beim Umgang mit Ionenlampen ohne Glühlampen! Hochspannung ist kein Scherz. Platten nach dem Entlöten müssen gründlich mit Flussmittel gewaschen werden. Und wenn Sie nicht genug Erfahrung in der Elektronik haben, ist es besser, dieses Gerät nicht zusammenzubauen!

Im Allgemeinen musste ich die Idee aufgeben, aus einer Verkaufsstelle zu essen. Das Sammeln von Impulsverstärkern ist faul. Aber dann kam die Idee, einen vorgefertigten Universalwechselrichter aus der Hintergrundbeleuchtung von LCD-Displays zu nehmen. Es kostet 150 Rubel pro Stück, der Transformator lässt sich leicht zerlegen und auf die von uns benötigten Spannungen zurückspulen. Bei mir waren es 200 Windungen für eine 130-V-Wicklung und 240 Windungen für 250 Volt.

Es bleibt, um das Sicherheitssystem des Wechselrichters zu täuschen, sonst schaltet es sich nach 3 Sekunden aus. Dazu muss für den DF6109A-Chip der Widerstandswiderstand vom 13. Fuß bis zum Boden auf 12 K gelötet werden .

Dann ist es ganz einfach: eine Diode, ein Kondensator und jetzt haben wir 130 und 250 V bereit. Zwar musste die Versorgungsspannung des Wechselrichters auf 15 V erhöht werden, da sonst die Wicklungen stärker gewickelt werden müssten. Wenn Sie einen dünneren Draht mit einer größeren Anzahl von Windungen wickeln, können Sie auch mit 12 V speisen, aber ich hatte keinen dünneren Draht.

Also - alles ist fast fertig. Wir machen eine Platine, schließen einen Wechselrichter an und löten die Schlüssel gemäß dem Schema.
Bild

Schema (meins, überarbeitete Version. Original von SLvik):
Bild

Lampenbelegung:
Bild

1 Erste Anode
2 Kathoden der ersten Gruppe
3 Kathoden der zweiten Gruppe
4 Erste Kathode des Resets
5 Zweite Kathode des Resets
6 Erste Hilfsanode
7 Zweite Hilfsanode
8 Hilfskathoden
9 Kathoden der dritten Gruppe
10 Anode der zweiten Gruppe

Firmware.
Es ist Zeit, sich an Arduino zu erinnern. Auf dem Diagramm scheint es nicht besonders zu leuchten. Aber es ist. Aki ist der Gopher. Die
Sache ist, dass ich faul bin. Bei Spielzeugprojekten ist es schneller, eine Skizze zu werfen und durch UART zu füllen, als mit sauberem C zu baden und Spaß mit dem ISP zu haben. Ja und bequemer für Anfänger.

Die Idee ist dies. Wir nehmen das Arduino Duemilanove, flashen die Skizze, wählen den Chip aus, löten ihn in die Platine und fertig. Im Gegenzug kaufen wir für 150 Rubel einen neuen auf ebee. Praktisch.



#define pA1 9
#define pA2 10 // -  
#define pK1 8  // - ! 
#define pK2 7
#define pK3 6
#define pKR 5

#define SumCounterMax 13   // .   -   .
#define InputMultiplier 8  //  .    -   .

int Avg1[SumCounterMax];
int Avg2[SumCounterMax];
byte nAvg = 0;

const byte Log_Conv[256] = {0,2,4,5,7,9,10,12,13,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,33,34,35,36,37,37,38,39,40,40,41,42,42,43,44,44,45,45,46,47,47,48,48,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,57,58,58,59,59,60,60,60,61,61,62,62,63,63,63,64,64,64,65,65,66,66,66,67,67,67,68,68,68,69,69,69,70,70,70,71,71,72,73,73,73,74,74,74,74,75,75,75,76,76,76,76,77,77,77,78,78,78,78,79,79,79,79,80,81,81,82,82,82,82,83,83,83,83,84,84,84,84,84,85,85,86,86,87,87,87,87,88,88,88,88,88,89,89,89,89,90,90,90,90,90,91,91,91,91,92,93,93,93,93,93,94,94,94,94,94,95,95,95,95,95,96,96,96,96,96,96,97,97,97,97,97,98,98,98,98,98,98,99,99,99,100,100,100,101,101,101,101,101,101,102,102,102,102,102,102,103,103,103,103,103,103,104,104,104,104,104,104,104,105,105,105,105,105,105,106,106,106,106,106,106,106,107,107,107,107,107,107,107};

void setup()
{
	pinMode(pA1, OUTPUT);
	pinMode(pA2, OUTPUT);
	pinMode(pK1, OUTPUT);
	pinMode(pK2, OUTPUT);
	pinMode(pK3, OUTPUT);
	pinMode(pKR, OUTPUT);

	digitalWrite(pA1, LOW);
	digitalWrite(pA2, LOW);
	digitalWrite(pK1, LOW);
	digitalWrite(pK2, LOW);
	digitalWrite(pK3, LOW);
	digitalWrite(pA1, LOW);
	digitalWrite(pA2, LOW);
	digitalWrite(pKR, HIGH);

	delay(100);
	analogReference(INTERNAL);
}

void loop()
{
	//reset
	digitalWrite(pA1, LOW);
	digitalWrite(pA2, LOW);
	digitalWrite(pK1, LOW);
	digitalWrite(pK2, LOW);
	digitalWrite(pK3, LOW);
	digitalWrite(pA1, LOW);
	digitalWrite(pA2, LOW);
	
	// "" .
	digitalWrite(pKR, HIGH);
	digitalWrite(pA1, HIGH);
	digitalWrite(pA2, HIGH);

	//  . *      =)
	nAvg ++;
	if (nAvg == SumCounterMax)
	{
		nAvg = 0;
	}
	Avg1[nAvg] = min(analogRead(4) * InputMultiplier, 255);
	Avg2[nAvg] = min(analogRead(5) * InputMultiplier, 255);
	unsigned long sn1 = 0;
	unsigned long sn2 = 0;
	for(byte i = 0; i < SumCounterMax; i++)
	{
		sn1 += Avg1[i];
		sn2 += Avg2[i];
	}
	int n1 = Log_Conv[sn1 / SumCounterMax];
	int n2 = Log_Conv[sn2 / SumCounterMax];
	
	// - .
	for (int i = 0; i < max(max(n1, n2), 60) ; i++)
	{
		if ((i + 0) % 3 == 0)
		{
			digitalWrite(pK1, HIGH);
			digitalWrite(pKR, LOW);
			digitalWrite(pK3, LOW);
		}
		if ((i + 2) % 3 == 0)
		{
			digitalWrite(pK2, HIGH);
			digitalWrite(pK1, LOW);
		}
		if ((i + 1) % 3 == 0)
		{
			digitalWrite(pK3, HIGH);
			digitalWrite(pK2, LOW);
		}

		if (i > n1)
		{
			digitalWrite(pA1, LOW);
		}

		if (i > n2)
		{
			digitalWrite(pA2, LOW);
		}
		delayMicroseconds(90);
	}
}





Nun, am Ende:

Bild

Und auf Wunsch der Arbeiter Video:



PS. Es gab jedoch Fragen für erfahrene:
1) - Warum musste ich die zusätzliche Anode und die zusätzliche Kathode verwenden, um den Referenzpunkt am Anfang der Skala zu stabilisieren, aber für andere wird er nicht verwendet und nichts ist kaputt? Laut Handbuch werden sie benötigt.
2) - Aktualisierungsfrequenz. Wie kritisch ist es oben / unten empfohlen?
Gerne antworte ich in den Kommentaren. Danke.

Source: https://habr.com/ru/post/de385391/


All Articles