Donnerstag, 11. Juni 2015

Tischbohrmaschine

Prolog

Manchmal muss ein Mann einfach ein Loch bohren. Nun habe ich nicht direkt Mangel an Bohrinstrumenten: Akkubohrer, Schlagbohrmaschine, Bohrhammer, Nasenbohrer, Proxxon-Mini-Bohrschleifer – alles da. Was die aber alle nicht vernünftig können, ist ein echt senkrechtes Loch z.B. in Metall oder so. Und das nervt, weil man es doch gelegentlich haben will, wenn man mal wieder irgendwas kleines bastelt.

Pläne

Die Lösung ist offensichtlich: ich brauche eine Standbohrmaschine. Also auf ins allwissende Weltweite Netz und die einschlägigen Foren studieren, was man so kaufen kann. Aha - also auf keinen Fall aus dem Baumarkt, das ist alles lebensgefährlicher Schrott, der eigentlich gar keine Löcher bohrt, sondern nur Krater erzeugt –  hm. Optimum und Quantum oder Bernardo werden genannt - das sei zwar eines echten Handwerkers auch nicht würdig, hätte aber nicht die sofortige Exkommunikation aus der Maker-Gemeinde zur Folge. Nur welche? Und was braucht man noch so? Kraftstrom muss es unbedingt sein erfahre ich, weil alles andere unzumutbar sei. Aber ganz eigentlich sind Quantum/Optimum natürlich auch nur Chinaschrott mit veredelter Fassade – sagen jedenfalls die Ständerbohrmaschinen-Götter in den Foren und verheimlichen nicht ihre Verachtung für die Qualitätsagnostiker.

Ad astra

Also doch lieber ein alte Industriemaschine? Die halten ewig, und man muss sich auch nicht mit diesen fatalen Fehljustierungen um mehrere Nanometer herumärgern. Oder gleich eine Neue? Da weiß man was man hat! Also auf zu den einschlägigen Werkzeugversorgern im Netz.

Als ich dann mit Hilfe von Riechsalz wieder aus meiner Ohnmacht erwachte, in die ich angesichts der Preise gefallen war, wurde mir klar: die spinnen alle! Ich will nur mal ein Loch bohren und das soll halbwegs grade sein, jedenfalls besser, als ich es freihändig hinkriege und mich dafür nicht bis in die dritte Generation verschulden.

Katharsis

Also in den Baumarkt! Pah!

Dort fand ich eine Rotwerk RB18 vario. Die ist garantiert aus China, läuft mit nur 230V (die ich im Gegensatz zu Kraftstrom tatsächlich im Keller liegen habe) war verhältnismäßig billig und fühlte sich so einigermaßen benutzbar an. Also gekauft.

Auf dem Boden der Realität

Zuhause hab ich sie dann aufgebaut. Oder besser: ich wollte sie aufbauen, was sich aber als schwierig erwies, weil sich die blöden Schrauben, mit denen man die Muffe für die Säule an der Fußplatte befestigen soll einfach nicht tief genug einschrauben ließen. Was ist da los? Offenbar hat der unterbezahlte Chinese in der Produktion keine Lust gehabt, die Gewinde bis ganz runter zu schneiden - jedenfalls waren die nicht lang genug. Grumpf!

Da war ich kurz davor, den ganzen Kram wieder einzupacken, dem Baumarktpersonal in pathetischer Geste vor die Füße zu werfen und eine Maschine im Gegenwert von 10 Jahresgehältern zu besorgen. Aber dann erinnerte ich mich daran, wie sauschwer das Ding ist und wie wenig Lust ich hatte, zum vierten Mal an diesem Tag (ist eine andere Geschichte) zu  dem verfluchten Baumark zu fahren. Also hab ich ihr eine zweite Chance gegeben und die vermaledeiten Gewinde selber nachgeschnitten – und schon klappte es auch mit den Schrauben und die Säule sitzt nun schön fest:



Die restliche Montage war relativ simpel und zu einem Probeloch bin ich ebenfalls noch gekommen. Und was soll ich sagen - es war ziemlich – äh – lochförmig. Also genau das, was ich haben wollte. Zugegeben – der Tiefenanschlag, den die Erbauer erdacht haben, ist ein schlechter Witz aber ich denke für ein paar Löcher in Platinen oder Frontplatten und anderem Heimbastlerkram wird die Maschine dennoch ausreichen. Sozusagen die Rigol unter den Tischbohrmaschinen: Unglamurös, mäßig schön, aber gut genug für was ich momentan brauche und nicht teuer.





Sollte ich eines Tages beschließen, in die semiprofessionelle Metallbearbeitung einzusteigen kann ich mir immer noch was beeindruckenderes suchen...

Montag, 1. Juni 2015

Der Knopf™

"Mal schnell den Knopf drücken" ist zum geflügelten Wort bei uns in der Abteilung geworden, wenn jemand meint, dass eine zuvor sauber programmierte Analyse ja quasi von alleine durchläuft. Das stößt nicht immer auf Gegenliebe bei denjenigen, die "nur mal den Knopf drücken" müssen und so habe ich beschlossen, das Thema aufzugreifen. Wörtlich.

Ein Knopf musste also her, der automatisch was startet. In der Bastelkiste hatte ich noch mehrere AVR USB-Sticks, wie diesen:
Hat beim netten Chinesen auf eBay nur 3,50 oder so gekostet und ist eine tolle Spielwiese: AT90usb162 Microcontroller, ein Taster, zwei LEDs – was will man mehr? Das Tasterchen entsprach aber nun gar nicht meinen eher plakativen Vorstellungen, also habe ich den USB-A Stecker entfernt und durch ein langes USB-Kabel ersetzt. An den Taster habe ich zwei Schaltdrähte drangelötet und an den schließenden Taster eines Pilztasters geklemmt. Das Ganze dann mit doppelseitigem Klebeband im Innenleben fixiert und mit Kabelbinder und etwas Sugru die Zugentlastung gebastelt:
Gehäuse wieder zusammenschrauben und fertig ist das Prachtstück:
Das sieht doch schon mal gut aus. Nun noch Firmware schreiben. Auch das war recht einfach. Ich habe als Startpunkt ein Stück Code für den Teensy verwendet, der demonstriert, wie man ein USB-HID device programmiert und das einfach nach meinen Bedürfnissen angepasst. Hier das Hauptprogramm:

/*
 *  DER KNOPF
*/
#include <avr/io.h>
#include <util/delay.h>
#include "usb_keyboard.h"

#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))

int main(void){
    uint8_t lock; // locking flag
    CPU_PRESCALE(0);

    DDRD &= ~(1<<PD7);
  // configure PD7 as input
    PORTD |= (1<<PD7);
  // turn on pull-up
    usb_init();
    while (!usb_configured()); // wait for host
    _delay_ms(1000);    //  sleep 1 more second, just in case

    lock = 0; // unlock key
    // job loop
    while (1) {
        if ( !(PIND & (1 << PIND7)) ){
            // key pressed
            if ( !lock ) {
                lock = 1; // lock key

                // type command
                usb_keyboard_press(KEY_R, KEY_LEFT_GUI);
                _delay_ms(300); // wait for dialog to open
                usb_keyboard_press(KEY_D, 0);
                usb_keyboard_press(KEY_E, 0);
                usb_keyboard_press(KEY_R, 0);
                usb_keyboard_press(KEY_K, 0);
                usb_keyboard_press(KEY_N, 0);
                usb_keyboard_press(KEY_O, 0);
                usb_keyboard_press(KEY_P, 0);
                usb_keyboard_press(KEY_F, 0);
                usb_keyboard_press(KEY_PERIOD, 0);
                usb_keyboard_press(KEY_B, 0);
                usb_keyboard_press(KEY_A, 0);
                usb_keyboard_press(KEY_T, 0);
                usb_keyboard_press(KEY_ENTER, 0);
            }
        } else {
            // key released
            lock = 0; // unlock key
        }
        _delay_ms(100); // delay for debouncing
    }
}


Steckt man das Ding nun an den Rechner, meldet sich der Knopf als Human Interface Device an - konkret behauptet er eine Cherry Tastatur zu sein (kann man in usb_keyboard.c konfigurieren). Wenn man ihn drückt, "tippt" er dann zunächst  Win+R (also "run command" unter Windows) und danach "DERKNOPF.BAT". Nun muss man also nur noch dafür sorgen, dass ein batch File dieses Namens im Pfad liegt (z.B. c:\Benutzer\philipp\) und schon tut der Knopf sein Werk.