sebastians site
Adventures in Open Source Hard and Software

Semester Opening 2013 Poster - 26.07.2013

For those who don't know: Semester Opening is a big party organized by the computer science students council of the TU Kaiserslautern at the beginning of every summer semester. A month before the party z0ttel and I have been approached by the organisation team to add some special effects to the big poster, which was going to be put at the Mensa. The theme of this years posters and flyers was space and so they wanted sparkling stars on their poster. Of course we could have just gone to ebay and ordered some led powered blinkenthingies to clue at the poster, but where is the fun in this ?

As hardware hackers with a reputation to lose we decided to roll our own. We went for small microcontroller with one led at each IO pin, and some hacked together software pwm. Only a few ours later we had already ordered 6 Attiny2313, 60leds and some resistors. z0ttel sacrificed some network cable for the wiring and some protoboard pcbs, while I wend trough my parts drawer to find some capacitors.

A few days later we met in the workshop of Chaos inKL our local hackerspace. The soldering began. It took us at least twice as long as expected to put everything together, since the wire from the network cable broke all the time. Note for next time: Use a more flexible cable.

The software was written by z0ttle in the mean time.

It can be found in his Github repo. Also I blew up about half of our microcontrollers by powering them with false polarity .... big D'oh-moment. Luckily I had replacement at hand.

Soo many cables

After a long day we felt dizzy from the solder fumes, but we had all 59 leds wired up to 6 controllers. One led was already broken when we unpacked it and we did not order extra parts ... shit happens.

One day later we met at the university, where we found this awesome hand painted poster supported by a broomstick, a ladder, a chair and this ancient relict oft the pre-personal-computer era (a Dietz System 6000).

Plain poster

Ravinrabbid and Rouven started cutting holes for the led, while z0ttel and I were fixing broken wires (again).

So many little holes

So much tape

A role of tape later every led was in place.

So much tape

Some intermediate wiring porn ...

intermediate wiring porn

Since the backside of the poster were accessible for lot of people in the place, where the poster was put up, we decided to add some covers over the controller boards.

all white

At this point we realized that the queues in the mensa were going to lead right behind the poster. Having hundrets of people passing behind it every day, we decided that further documentation was needed. So we added some comments to the covers.

The photon accelerator: photon accelerator

The sparkle generator: sparkle generator

The supernova suppressor (important piece of security equipment): supernova suppressor

For increased security: The teleborken current break. teleborken current break

And most important the HAL auxiliary unit: hal auxiliary unit

Finally we plugged in the batteries and turned down the lights.

stars

stars

Since the sparkling effect does not show to well on still images, I made a video as well.

Published: 26.07.2013 16:57

Plasma Birne - 07.12.2009

Vor ein paar Monaten kam ich auf dem Schrottplatz für kleines Geld in den Besitz mehrerer Zeilentrafos. Darunter auch ein altes Modell was noch keine Dioden integriert hat und deshalb Wechselspannung am Ausgang liefert. Erste Versuche mit meinem 2A Netzteil, einem Ne555 und einem Schalttransistor aus einem Verstärker lieferten eher mässige Ergebnisse. Die Ausgangsspannung war zwar definitiv größer 10kV, aber nicht viel. Mein Netzteil liefert bei vollen 2A in der Primärwicklung nur noch 5V. Ein Halogentrafo, ein Gleichrichter und zwei Glättelkos, aus einem alten PC-Netzteil, ergaben ein Netzteil mit 25A bei 16,4V Jetzt wird zwar der Transistor mangels ausreichend großem Kühler ziemlich heiß, aber die Ausgangsspannung ist, mit ungefähr 20-24kV, hoch genug für das berühmte Plasma in der Glühbirne.

Nicht zum Nachbau empfohlen, aber funktioniert. Ernsthaft die Hochspannung tut mindestens weh und kann im schlimmsten Fall zu schweren Verletzungen führen. Macht euere Hausaufgaben wenn ihr damit experimentieren wollt.

Published: 07.12.2009 20:44

CNC-Fräse - 20.06.2009

Die Idee

Vor ein paar Monaten, besser gesagt in der letzten Schulwoche vor den Sommerferien 2008, wo man als Schüler sowieso nur noch Unsinn im Kopf hat kam mein Kumpel Robert mit der Idee zu mir eine lowcost CNC-fräse selbst zu bauen. Im Vorfeld hatten wir mal wieder diskutiert ob und wie man Ersatz und Tuningteile für unsere Modellhelis selbst machen könnte. Das Anfertigen auf einer CNC-Fräse war das nächstliegende, doch die wenigsten haben so etwas zu Hause im Wohnzimmer stehen. Also wurde beschlossen eine CNC-Fräse zu bauen.

Die Anfangsplanung

Ich hatte auch vorher schon ein paar mal mit dem Gedanken gespielt eine Fräse selbst zu bauen, deshalb kam mir sofort die Holz CNC von BlaueLed auf Roboternetz.de in den Sinn. Billig und einfach aufzubauen. Der Plan war eine Fräse nach dem Vorbild, auch in Holz. Allerdings wollte ich im Gegensatz zu BlaueLed die Motorsteuerung komplett selbst realisieren. Erstens ist das billiger als fertige Karten bei Pollin zu kaufen und zweitens wollte ich ja auch irgendwas selbst machen.

Die Elektronik

Zu Beginn der Sommerferien 2008 habe ich damit angefangen ein Layout für eine eigene Schrittmotorsteuerung mit L297 und L298 zu entwerfen. Als Basis dafür habe ich die Standard Application auf dem Datenblatt des L297 und die Hinweise im Roboternetz Wiki benutzt. Leider hatte ich in den Sommerferien recht wenig Zeit (3 Wochen Ferienjob, 2 Wochen Urlaub in Schweden, eine Woche Wacken), weshalb der erste Prototyp erst während der ersten Schulwochen fertig wurde.

Motor Treiber

Wie man sehen kann ist die Platine noch alles andere als perfekt. Der Elko hängt etwas in der Luft und auch die Dioden sind leicht gequetscht. Außerdem sind die Kabel tödlich dünn für die 2A die meine Motoren ziehen. Aber jetzt mussten wir uns zunächst einmal um die Mechanik kümmern.

Während Roberts Arbeiten an der Mechanik sind dann bei mir die Hauptbestandteile der Steuerung entstanden. Ich habe die Steuerung in mehrere Module aufgeteilt die nacheinander gefertigt wurden. Der modulare Aufbau hat mehrer Vorteile: Erstens wenn ein Modul ausfällt muss man nicht gleich die ganze Steuerung tauschen. Zweitens wenn sich im Konzept eines Moduls ein Fehler eingeschlichen hat, muss ich nur ein Modul neu planen (mehrfach passiert). Drittens das herstellen kleinerer Platinen ist einfacher und weniger fehleranfällig. Hinter der ganze Elektronik steht ein ASG (aus Schrottteilen gebastelt)-PC (250mhz, 128mb, Win98) mit der kostenlosen Software NC-FRS.

Die m2c-Karte

M2C Interface Platine M2C Interface Schaltplan

Das Bild ist noch der erste Prototyp mit großen Transistoren. Diese wurden später durch wesentlich kleinere ersetzt. Diese Platine setzt die Signale der End- und Anfangsschalter und des Not-Aus-Schalters durch einfache Transistorschaltungen auf auf die Paralelle Schnittstelle der Pcs um. An jeden Schnistellenpin ist ein Pullup nach +5V wird ein Schalter ausgelöst zieht ein Transistor den Pin auf Masse. Die Platine ist übrigens im Toner direkt Verfahren entstanden, wie fast alle kleineren Platinen in diesem Projekt.

Der Not-Aus-Schalter

Notaus normal Notaus gedrückt

Eines der einzigen hardwareseitigen Bedienelemente an der Fräse. Wird der Schalter gedrückt gehen die grünen Leds aus und die roten leuchten auf. Außerdem geht ein Stop-Signal an die Software und die Stromversorgung der Motoren und des Fräsers wird unterbrochen. Die nötige Logik dazu sitzt auf der m2c-Karte und auf der Notausrelais-Karte. Die drei Leds am Rand der Platinen dienen dazu die Bewegungsrichtung der Motoren anzuzeigen. Die rote Kappe ist der Deckel einer Cola Flasche mit etwas Heißkleber auf dem Schalter befestigt.

Die c2m-Karte

2M Interface Platine 2M Interface Schaltbild

Diese Karte ist das Gegenstück zur m2c-Karte. Sie setzt die Steuersignale vom Pc für die Motoren um. Das zentrale Bauteil ist ein SN74LS373. Über die 8 Latches wird das etwas unsaubere Signal der Schnittstelle auf saubere 5V-0V-Pegel gebracht, bevor es an die Motorendstufen geht. Für jeden Motor wird ein Takt und ein Richtungssignal übermittelt. Dadurch kann man alle Motoren mit nur 6 Schnittstellenpins steuern. Die Transistoren Schalten die Richtungsleds am Notaus.

Notausrelais-Karte

Notaus Relais Platine

Diese Karte enthält 5 Relais die, wenn der Notausschalter gedrückt wird die Stromversorgung zu den Motorendstufen und zum Fräser unterbrechen. Geschaltet werden die Relais über einen starken Schalttransistor.

Motorsteurung Version 2.0

Nach dem das Drumherum einigermaßen stand konnte ich mich wieder an die eigentlichen Motorsteuerungen machen.

Neue Motorsteuerungspaltine Schaltbild für die neue Motorsteurung

Auf der neuen Platine ist genug Platz für alle Teile und man kann die Betriebsmodi des L297 über Jumper setzen. Dafür passt sie jetzt nicht mehr auf eine halbe Eurokarte. Einen Mittlerweile mehrfach überarbeiteten Schaltplan gibt es hier.

Die Motoren

Da mittlerweile auch die Motoren von Pollin angekommen waren (5eu das Stück), konnte ich einen ersten Testlauf mit einem Motor machen. Ein Motor läuft mit 24V und zieht dann knapp 2A. Hier ein Bild mit allem zusammen aufgebaut und ein Bild von meiner Werkstatt.

Testaufbau auf der Wekbank Allgemeines Chaos

Das Gehäuse

Als auch die Hilfsstromversorgung, ein einfaches Netzteil aus einem Trafo, Gleichrichter und 7805/7812, fertig war, gings ich daran alles möglichst kompakt unter zu bringen. Aus zwei MDF-Platten und 4 Gewindestangen habe ich einen zweistöckigen Aufbau gebaut, in dem die ganze Elektronik, bis auf die Motorendstufen untergebracht wird. Diese Sitzen möglichst nah an den Motoren und werden über geschirmte (Ethernet-)Kabel mit Signalen und Strom versorgt.

Elektronikaufbau untere Ebene Elektronikaufbau obere Ebene {{ lightbox(image="/electronics/cnc/control_all.jpg", , alt="Elektronikaufbau") }}

Auf der unteren Ebene befinden sich die Hilfsstromversorgung, die Notausrelais-Karte und ein Sicherungshalter, über den die Leitungen zu den Motorendstufen mit 2A abgesichert werden. Später wurde noch ein Spannugswandler 12V auf 9V dazumontiert, weil die Relais doch keine 12V auf Dauer vertragen. Die Gewindestangen sind einfach in die MDF-Platte geschraubt, man kann ohne Probleme Gewinde Platte schneiden. Auf der zweiten Ebene sind die c2m und m2c-Karte montiert. Über 5 9polige Sub-D Buchsen können die Motorendstufen, die Endschalter und der Notausschalter angeschlossen werden.

Elektroniktest

Abschließend gab es noch einen großen Test mit allen Motoren:

Versuchsaufbau mit allen Motoren Versuchsaufbau mit allen Motoren

Der Test lief zu meiner vollsten Zufriedenheit, alles dreht wie es soll, nirgends steigt Rauch auf.

Die Stromversorgung der Motoren übernimmt ein fast neues Sitop Netzteil von Siemens, eine Dauerleihgabe einer großen deutschen IT und Elektronik Firma mit einem türkisen Logo.

Industrienetzteil

Die Mechanik

Während ich an der Elektronik gearbeitet habe hat sich Robert um die Mechanik gekümmert. Mein Vater hat uns freundlicherweise 6 paar Gleitschienen aus einem alten Serverrack organisiert, die mit einer relativ geringen Reibung (Kugellager) und mit noch weniger Spiel laufen. Diese sollten unsere Konstruktion die notwendige Beweglichkeit geben. Außerdem war Robert auch nicht untätig gewesen.

Er hatte es geschafft über Kevin, der einen Ferienjob bei der Firma Stabila in Annweiler hatte an knapp 14kg Aluprofile zu kommen. Bei Stabilia werden Wasserwaagen produziert, dafür waren auch unsere Profile gedacht gewesen, allerdings sitzen einige Bohrungen falsch, was die Profile zu Ausschuss macht. Die Profile sind für unsere zwecke ideal:

Sie haben eine große Wandstärke (versucht mal eine Wasserwaage zu verbiegen) und sind absolut gerade (erwartet man ja irgendwie von einer Wasserwaage). Vielen Dank noch mal an Kevin und die Firma Stabila. Robert der sich dem Aufbau der Mechanik befasst, ging gleich daran aus den Profilen den Rahmen unserer Fräse zu bauen.

Die Profile wurden zugeschnitten und auf eine recht unorthodoxe Art und Weise verschraubt: Es war ja ursprünglich eine Holzfräse aus MDF geplant. Deshalb lagen jetzt noch etliche MDF-Platten in der Werkstatt herum. Diese wurden auf die Innenmaße der der Profile gebracht und in deren Enden gesteckt nachdem die Schraubenlöcher durch die Profile gebohrt wurden. Danach kann man die Teile mit einfachen Spaxx-Schrauben durch die MDF-Platten in den Profilen verschrauben.

Meschanischer Aufbau Meschanischer Aufbau Meschanischer Aufbau Meschanischer Aufbau Meschanischer Aufbau Meschanischer Aufbau Meschanischer Aufbau

Endmontage und Tests 7.4.2009

Nach einer anstrengenden Woche in Roberts Werkstatt waren alle Motoren und Spindeln eingebaut. Es waren mehrere Anläufe und Konzepte für die Anbringung der Lager und der Motoren nötig. Aber jetzt läuft alles perfekt gerade und spielfrei. Die Motoren sitzen auf Roberts selbtsgeschnitzten Silikongummipuffern. Die Spindeln sind über selbstgedrehte Buchsen direkt an den Motoren angeflanscht. Am anderen Ende sitzen Kugellager in gedrehten PVC Scheiben, die mit Epoxy mit dem Rahmen verklebt wurden.

Frontale Ansicht auf das Portal Frontale Ansicht auf das Portal; Unscharfer Robert im Hintergrund Portal von Hinten; Scharfer Robert im Hintergrund Motor der Z-Achse Portal von der Seite mit Kühler Improvisierter Stifthalter

Anschließen gab es erste Tests mit Stift und Papier oder Dremel und Styropor.

EMC Linux

Die Kombo aus Win98 und NC-FRS erwies sich im Lauf der Zeit als anfällig für Abstürze. Außerdem hatte NC-FRS viele tolle Rechtschreibfehler, wie z.B. "verfahrten" oder "Werzeuge" und keine Unterstürzung für 3D-Fräsen. Durch meinen Ferienjob bei Siemens konnte ich einen alten PC mit 1Ghz und 512mb Ram ergattern. Eine alte Grafikkarte und eine Festplatte aus meiner Müll äh... Ersatzteilkiste machten den PC komplett.

Als Software kam für mich nur eine OpenSource Lösung in Frage. OpenSource hat den Vorteil, dass man die Software optimal an unsere Anwendung anpassen kann. Das Steuermodul des Heißnadleschneiders ist ein gutes Beispiel für solche Anpassungen. Außerdem hat OSS noch den für mich als armen Schüler/Student den Vorteil nichts zu kosten.

Beim Googeln stieß ich auf EMC-linux. EMC benutzt eine Realtime-Erweiterung für den Linux Kernel um eine graphische Bedienoberfläche über einen frei konfigurierbaren HAL mit IO-Hardware zu verbinden. Als Hardware können sowohl spezielle IO-Karten, als auch die Pins von parallele Schnittellen genutzt werden. Die Bedienoberfläche stellt dabei in der HAL sog. Pins bereit, die mandann über weitere Modulen (wie z.b. PWM-Generatoren oder logischen Verknüpfungen) mit den Pins der Schnittelle verbinden kann. Außerdem können eigene Module für die im Userspace laufen mit Python geschrieben werden. Dadurch kann man EMC für fast beliebige Anwendungen anpassen.

Da EMC auf Ubuntu basiert ließ es sich schnell und unkompliziert installieren. Nach dem Lesen der Manuals war die Konfiguration für unsere Hardware in einer halben Stunde erledigt.

Screenshot von EMC Linux

Anlässlich dieser Umstellung hatten wir auch Gelegenheit unsere Fräse am Linux Info Tag 2009 in Landau vorzustellen. Da wir dort wegen der Verschmutzung allerdings nichts Fräsen konnten musste ein sauberer Weg etwas mit unsere Fräse herzustellen. Deshalb habe ich ein Werkzeug für unsere Fräse entwickelt, das mit einer beheizten Aluminiumspitze Depron zerschneiden kann. Mit diesen Heißnadelschneider (als Analogie zum Heißdrahtschneider) haben wir vor Ort kleine Wurfgleiter aus Depron hergestellt.

Heißnadelschneider

Wer schon einmal Modellflugzeuge aus Depron gebaut hat, weiß wie nervig die vielen kleinen Schnippsel sind, die dabei anfallen. Die Lösung ist normalerweise das Schneiden mit einem heißen Draht. Allerdings lässt sich an unserer Portalfräse nur schwer ein Draht spannen.

Meine Lösung war eine beheizbare Nadel die ich auf meiner Drehbank aus Aluminium gedreht habe. Die Nadel wird in einen Alublock eingeschraubt, der mit einem Lastwiederstand beheizt wird.

Nadel für den Heißnadelschneider Heizelement Frontal Heizelement Draufsicht

Ein U-Profil drückt den 10 Ohm 20Watt Zementwiderstand gegen einen Aluklotz. In dem Klotz ist ein M4 Gewinde, in das die gedrehte Spitze geschraubt wird.

Temperaturcontroller

Gesteuert wird das ganze durch einen Controller aus einem ATmega8 mit PT1000 (ja etwas Overkill, war aber bei Pollin billig) der die Temperatur überwacht und ein MosFET was die Heizung schaltet. Über RS323 wird die Soll-Temperatur von einem EMC2 Modul gesetzt und der Ist-Wert ausgelesen. Das ganze ist dann voll in EMC2 integriert, z.b. wird gewartet bis die Temperatur passt, bevor ein Werkstück gekokelt wird. Außerdem gibt es ein PyVCP-Panel mit dem die Temperatur eingestellt und angezeigt wird. Geschnitten wir je nach Geschwindigkeit mit 180-220°C. Die fertigen Werkstücke weißen schöne glatten Kanten auf und mein hat keine Depronschnippsel an der Maschine kleben.

Published: 20.06.2009 15:32

Facharbeit: Barometrischer Höhenmesser - 20.06.2009

So nach dem ich gestern endlich das Kolloquium zur meiner Facharbeit gehabt habe, kann ich meine Ergebnisse hier mal kurz vorstellen.

Los ging der ganze Spaß Anfang diese Jahr nach dem die Facharbeit angemeldet war. Offiziell hatte ich Zeit von Mitte Februar bis Ende April. Allerdings lagen in dieser Zeit zwei Blöcke Leistungskurs-Arbeiten, weshalb ich die Hauptarbeit komprimiert in den 3 Wochen Osterferien durchgezogen hab. (Inklusive ungezählter Nachtschichten)

Der Plan war einen barometrischen Höhenmesser zu bauen, der die Höhe in irgendeiner Form mitlogged. Als Einsatzszenario hatte ich dabei Modellflug und Raketenmodellbau im Blick.

Als erstes kamen die obligatorischen theoretischen Überlegungen. Was ist überhaupt Luftdruck ? Und wie hängt der von der Höhe ab. Für die Umrechnung wollte ich die internationale Höhenformel benutzen, deshalb musste ich mir diese dann selber herleiten.

Die eigentliche Umsetzung war in der Theorie dann doch eher einfach. Ein AVR sollte über eine Druckmessdose den Luftdruck messen, in eine Höhe umrechnen und anschließend als CSV Datei auf SD-Karte speichern. Klingt relativ simpel, aber die Tücke steckt da im Detail vor allem wenn man vorher noch nie einen AVR programmiert hat.

Gegen Ende wurde dann aber doch noch alles gerade so just in time fertig und ich denke das Ergebnis kann sich sehen lassen. Die Abweichungen vom Messwert zur Realität liegen gerade mal bei 5-15m.

Die Kritikpunkte die im Kolloquium angesprochen wurden waren:

Deckblatt der Facharbeti

Die lange Version :

Published: 20.06.2009 15:32

Stabilisiertes Netzteil - 10.01.2008

Ich hatte ein altes Labornetzteil, das mein Vater noch vor ewigen Zeiten selbst gebaut hat. Es hatte sowohl die Möglichkeit die Spannung (stufenlos), als auch die maximale Stromstärke (in Stufen) einzustellen. Außerdem war ein Sinusgenerator mit integriert. Das gute Stück hat mir jahrelang gute Dienste geleistet. Doch irgendwann hat die Spannungsregelung angefangen zu schwingen und der Sinusgenerator hat aufgehört.

So dann stand ich vor der Entscheidung, alte Reglung reparieren oder was komplett neues herein bauen. Da die alte Reglung (alles schön aus Transistoren aufgebaut) schon etwas outdatet war und ich noch ein LM317 zu Hand hatte hab ich mich für letzteres entschieden.

Hier mal kurz die Daten:

Und ein Schaltplan: Schaltplan für das Netzeil

Der Widerstand R8 wäre eigentlich nicht nötig gewesen, aber da die Widerstände R3-R7 nicht so präzise sind, wie ich das gern hätte musste ich den Strom an der Stelle nochmal extra begrenzen, weil sonst der Transistor verdampft. Deshalb fließen jetzt auch immer ein paar mA mehr als ich eigentlich haben wollte, aber egal des basst scho ...

Noch ein paar Bilder :

Vorderseite

Die Frontseite mit den Bedienelementen.

Vor dem Umbau

Die alten Innereien. Links Netzteil Rechts Sinusgenerator

Alles muss raus...

Zwischenstand : Alles muss raus, um Platz zu schaffen für neue Möbel.

Und wieder rein

Stand Heute: Die neue Spannungsregelung ist eingebaut. (Platine ist selbst geätzt) Die Drähte die nach hinten aus dem Gehäuse raus gehen laufen zum LM317, der sitzt dort auf dem Monsterkühlkörper, wo früher mal ein Schalttransistor war. Das alte schwer gängige Poti mit dem die Spannung eingestellt wird ist durch ein 5-Gangpoti (also man kann es 5 mal um 360° drehen) ersetzt.

Sinusgenerator folgt noch. Im Hintergrund sieht man das Holzgehäuse wo alles wieder rein kommt.

Als nächstes werd ich einen Funktionsgenerator mit einem XR2206 bauen, der soll dann den alten Sinusgenerator ersetzen und mir dann auch noch Dreieck und Rechtecksignale liefern.

Published: 10.01.2008 16:42