Wiederbelebung alter Laborstände mit Mikrocontrollern

BildAn der NSTU, wo ich an der Fakultät für Energie studiere, findet der Großteil der Laborarbeit an sehr alten Ständen statt. Falsche Ablesungen von Messinstrumenten, ständige Ausfälle und Störungen sowie eine unbequeme Steuerung verursachen viele Unannehmlichkeiten und beeinträchtigen das Studium der untersuchten physikalischen Prozesse. In dieser Hinsicht hatten ich und mein Lehrer die Idee, solche Stände mit Hilfe von Mikrocontrollern zu verbessern.

Die Idee entstand nach Laborarbeiten, bei denen die Geschwindigkeit einer Asynchronmaschine gemessen werden musste. Diese Messungen wurden unter Verwendung eines optischen Tachometers durchgeführt, der in einer Kopie an drei Ständen erhältlich war. Das Warten auf ihren Einsatz hat den Eindruck der Experimente, bei denen einer der Lehrer vorschlug, eigenständig ein Analog des verwendeten Gerätes zu erstellen, stark verdorben.

Als Basis diente ein Atmega32-Mikrocontroller. Es wurde ein ZX-03-Reflexionssensor gefunden, mit dem die Häufigkeit des Auftretens einer weißen Markierung auf der Rotorwelle verfolgt werden konnte, und ein kleines LCD-Display zur Anzeige von Informationen. Der Mikrocontroller wurde mit einem hausgemachten Programmiergerät programmiert, das mit MAX-232 und AVRprog arbeitet. Das Programm wurde mit AVRStudio in C geschrieben.

Der Algorithmus des Gerätes ist recht einfach. Der Sensor erzeugt ein bestimmtes Signal in Abhängigkeit von der Reflektivität der Oberfläche, auf die er gerichtet ist. Der Mikrocontroller unterteilt die empfangenen Signale bedingt durch den Strahlungspegel in Dunkel und Hell. Eine weiße Markierung auf der Rotorwelle wird als helles Band wahrgenommen, während der Rest der Oberfläche als dunkles Band wahrgenommen wird. Durch Ermitteln der Durchlaufzeit der schwarzen und weißen Streifen unter Verwendung des internen Zeitgebers empfängt der Mikrocontroller die Zeit einer Umdrehung des Maschinenrotors, berechnet dann die Frequenz und zeigt das Ergebnis auf dem Display an. Um die Messgenauigkeit zu erhöhen, wird die Durchlaufzeit zunächst mehrfach aufsummiert, so dass deren Mittelwert zur Berechnung der Frequenz herangezogen werden kann. Das Folgende ist der Code, der die Messungen direkt durchführt:


TIM16_WriteTCNT1(0); // обнуляем таймер  
while (1) // Ждем конца черной полосы
{ 
	adc = Read_ADC(); //считываем показания датчика
	if(adc>0x280) // проверяем, не началась ли белая полоса
		break;
}
while (1) // Ждем конца белой полосы
{ 
	adc = Read_ADC(); //считываем показания датчика
	if(adc<0x280) // проверяем, не началась ли чёрная полоса
		break;
}
// Тут уже считаем значение счетчика, которое отражает время одного оборота, измеренное в тактах 
counter=TIM16_ReadTCNT1();



Das Gerätediagramm erwies sich als recht einfach und wurde auf ein Steckbrett montiert und dann von der Schuhbürste in die Schachtel gelegt.

Nach dem Zusammenbau des Geräts und dem Schreiben des Programms wurde klar, dass wir die meisten Funktionen unseres Mikrocontrollers nicht nutzen, z. B. EEPROM, Interrupts usw. In diesem Zusammenhang wurde beschlossen, die Fähigkeiten des Geräts zu erweitern, indem die Funktion der Speicherung des maximalen Messwerts und die Fähigkeit zur Steuerung der Kurzschlusszeit der Asynchronmaschine, die für Laborarbeiten erforderlich war, hinzugefügt wurden.

Das Speichern der Messungen im EEPROM war nicht schwierig. Die Standard-AVRStudio-Bibliothek enthält einfache und intuitive Funktionen zum Verwalten dieses Speichertyps.
Die Umsetzung der Kurzschlussüberwachung gestaltete sich etwas schwieriger. Zu diesem Zweck musste eine Kaskade von zwei Relais unterschiedlicher Leistung erstellt werden, von denen sich eines im Drehzahlmesser befindet und das andere leistungsstärkere Relais so steuert, dass ein Kurzschluss direkt kommutiert wird. Zusätzlich wurden Interrupts angewendet, um Fehler zu erzeugen, die das Schalten ermöglichten, ohne den Betrieb des Drehzahlmessers selbst zu beeinträchtigen.

Es ist auch erwähnenswert, dass die Automatisierung von Kurzschlüssen durch die praktische Notwendigkeit verursacht wurde, da die Schaltung früher durch Drücken und Halten eines Knopfes durch einen Studenten ausgeführt wurde. Da die Dauer dieser Regelung nicht begrenzt war, war die verwendete Ausrüstung einem ernsthaften Risiko ausgesetzt. Die Automatisierung dieses Prozesses mit einem Mikrocontroller hat die Zuverlässigkeit der Laborinstallation erheblich verbessert.

Bild
Sensor ZX-03 Reflektor

Bild
Tachometer, auf dem Steckbrett montiert

Bild
Arbeitstacho

Bild
Gerät, in einer Schachtel Schuhbürsten platziert

Das Ergebnis war ein Gerät, das in seiner Genauigkeit mit dem werkseitig erhältlichen Drehzahlmesser vergleichbar war, es jedoch in seiner Funktionalität überholte und relativ billiger herzustellen war. Dies erleichterte die Arbeit mit der Laborinstallation erheblich, erhöhte die Zuverlässigkeit und hauchte dem Stand im Allgemeinen neues Leben ein.

Jetzt auch beliebt: