Was mich die letzten Monate beschäftigt hat


Lang ist’s her seit dem letzten Beitrag, aber jetzt wollte ich von dem Berichten was mich die letzten Monate beschäftigt hat.

  1.  Temperaturmonitoring und Ersatz des Thermostats im Wohnzimmer.

Ich habe im Wohnzimmer einen Thermostat, der die Fußbodenheizung steuert. Diesen kann man zwischen 1 und 5 einstellen. Also zwischen „kalt“ und „warm“. Da alleine das Innenleben diese Thermostate schon 50€ kostet und dann noch die entsprechende Verkleidung passend zu den Schaltern habe ich mich mal an den Ersatz ‚rangemacht.

Zuerst dachte ich an einen Arduino pro mini mit einem 0,96 Zoll OLED SPI-Display und ESP8266 Wifi Adapter. Da aber das alles plus Netzteil nicht in die Einbaudose gepasst hätte und das Programmieren sowohl des OLED-Displays mit u8glib und auch der ESP8266 nicht so einfach sind habe ich mich für die etwas umfangreichere Variante entschieden:

Teileliste:

  1.  Raspberry Pi a+ (24€)
  2.  PiTFT 2,8 Zoll resistive touch (35 €)
  3.  EdiMax Wlan-Stick (12€)
  4.  USB-Netzteil 2A (vorhanden, aber sonst 7€)
  5.  Gehäuse (Reichelt 6 €)
  6.  Micro SD-Karte 8 GB ( vorhanden aber sonst 6 €)
  7.  DS18s20 Temperatursensor (3 €)
  8.  Sharp Solid State Relais (ewig vorhanden und wird schon nicht mehr verkauft)

macht zusammen 93€. Nicht schlecht für einen Internetfähigen Thermostat, der auch noch ein Logging bei thingspeak macht und den ich dann zur not noch zur Alarmanlage umfunktionieren kann.

Hier mal ein paar Bilder:

Jung Thermostat

Jung Thermostat

Raspberry Pi Thermostat

Raspberry Pi Thermostat

Das Display hat mich ein wenig Nerven gekostet. Eigentlich sollten alle 26 Pins durchgeschleift sein. Allerdings passiert mit den nicht benutzten Pins irgendwas, sodaß das 1-Wire Protokoll nicht mehr funktioniert. Also entweder den GPIO-Pin4 nicht mit an das Display weiterleiten, oder einfach beim Raspberry Pi a+ einen der restlichen Pins verwenden. Da braucht man dann allerdings ein paar Kernelparameter. Ausserdem braucht man für das Adafruit Display auch einen älteren gepatchten Bootloader von Adafruit. Unschön.

Aber mal was zum laufenden System: Schaltplan ist schwierig, da weder Raspberry Pi a+ noch das Pi-tft im Fritzing eingebaut ist, aber im Grunde ist es so: Pitft in Raspberry pi A+ einstecken, dann sind noch 5 Kabel notwendig. 5V vom Netzteil auf Pin 1, Ground auf Pin 5, GPIO5-Pin auf den DS18s20 Datenpin (Mitte) und mit einem 4,7 K Ohm als Pullup auf 3,3V (Pin 2). 3,3V auch noch auf Vin des Ds18s20 und Masse wieder auf Pin 5. Das Solid State Relais habe ich auf GPIO-Pin 6 gelegt.  Das Solid State Relais habe ich noch mit einem 220 Ohm Vorwiderstand versehen. Das war’s.

Die RRD-Datenbank wird alle 5 Minuten mit dem aktuellen Wert befüllt, allerdings halte ich die RRD-Datenbank nicht auf der SD-Karte, da diese dann Schaden nehmen würde. Viel mehr wird die RRD-Datenbank in einer Ramdisk gehalten, und stündlich per NFS auf meinen Server übertragen. Außerdem wird gleichzeitig noch bei Thingspeak ein Channel befüllt. Hier der public Graph:
Thingspeak

Falls die Lücke noch zu sehen ist: Das war, als ich das Thermostat mit anderen Hacks auf dem Tübinger Linux-Tag vorgestellt hatte. Ausserdem ist die Messung nicht besonders Aussagekräftig. Irgendwie misst der DS18S20 nicht mehr richtig, seit dem ich ihn ins Gehäuse eingebaut vergossen habe.

Da das mit dem Thermostat so gut lief, habe ich gleich noch einen übrig gebliebenen Raspberry Pi A (ohne +)  in mein Gartenhäuschen gebaut um dort die Wassertemperatur in meiner Pool-pumpe zu messen und in eine 2. RRD zu loggen. Hier ging allerdings der HAMA-Nano Wlan-Stick nicht mehr, da er dann keine Verbindung mehr bekam . Ein anderer Wlan-Stick von CSL mit Antenne funktioniert aber problemlos. Dort habe ich einen vergossenen DS18B20 eingebaut und kein TFT eingebaut. Die Wassertemperatur im Pool kann ich leider nicht steuern. Da bin ich auf Solarkraft angewiesen.

Das war das längste Projekt. Kurz entschlossen habe ich mich dann auch noch am Tübinger Linuxtag für einen Lightning-Talk angemeldet. Thema war „Hardware Hacken“.  Daraus hat sich dann auch noch ein Linux-Lunch in meiner Firma ergeben, bei dem ich eine Stunde über G-Code erzählt habe. Vielleicht gibt’s noch einen 2. Teil mit meinen Hardware-Basteleien.

Im Moment beschäftige ich mich noch nebenher mit einem LED-Projekt. Die Ikea-Lampe, die ich gehakt habe ist noch nicht genug. Ich hätte gerne eine kugelförmige Lichtquelle in der Ikea-Lampe und deswegen habe ich mit mal für 30 Cent Styroporkugeln im Grabbelladen geholt. Darauf kommen nun Ws2812B SMD-Leds und ein Arduino mit dem ich dann Farbwolken von innen auf die Kugel projezieren kann.

 

Advertisements
Veröffentlicht unter Raspberry pi | Kommentar hinterlassen

Samsung Remote here we come


Also erst mal herzlichen Dank dafür, daß ihr die Seite so fleißig beobachtet. Die Statistik hilft mir die Beiträge in kürzeren Abständen zu bringen. Also hier der aktuelle Stand meiner Samsung Fernbedienung.

Die Teileliste:

  • Arduino Pro Mini
  • 2 Taster
  • 5 LEDs (bei mir Orange)
  • 2 Optokoppler (ich hatte noch SFH611-2 rumliegen)
  • ein paar Widerstände
  • 2 Knopfzellenhalter
  • 1 Schalter
  • 1 Handgehäuse
  • Micro-USB Stecker

Hier die Prototyp-Verkabelung (Kompliment an Fritzing):

samsung-remote_Steckplatine

 

und hier noch der Sourcecode (Nicht optimiert und aus Beispielen zusammengebastelt aber ich bin ein wenig eingerostet in C):


/* LEDs auf Pins 12,11,10,9,8
Optokoppler auf 4 (shuter) und 5 (Fokus)
Taster auf 2 (Modus) und 3 (Auslöser)
Modus 0 nur Fernauslöser
Modus 1 fuer 0,5 Sek warten
Modus 2 fuer 1 Sek Warten
Modus 3 fuer 5 Sek Warten
Modus 4 fuer 20 Sek Warten
*/
const int selectPin = 2;    // the number of the pushbutton pin
const int shutterPin = 3;    // the number of the pushbutton pin
int modus=0;
long lastDebounceTime = 0;  // the last time the output pin was toggled
long debounceDelay = 50;    // the debounce time; increase if the output flickers
int pinArray[] = {12, 11, 10, 9, 8,4,5};
int count = 0;
int buttonState;             // the current reading from the input pin
int lastButtonState = HIGH;   // the previous reading from the input pin
int warten=500;
//
void setup() {
// put your setup code here, to run once:
pinMode(selectPin, INPUT);
for (count=0;count<7;count++) {
pinMode(pinArray[count], OUTPUT);
}
// set initial LED state
//
for (count=0;count<5;count++) {
if ( count == modus )
{
digitalWrite(pinArray[count], HIGH);
}
else
{
digitalWrite(pinArray[count], LOW);
}
}
modus++;
//
//Shuter
digitalWrite(pinArray[5],LOW);
digitalWrite(pinArray[6],LOW);
}
//
void shoot (int shootmode) {
//shootonce
if ( shootmode ==0)
{
digitalWrite(5,HIGH);
delay (50);
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(50);
digitalWrite(5,LOW);
}
else
{
switch (shootmode) {
case 1:
warten=500;
break;
case 2:
warten=1000;
break;
case 3:
warten=5000;
break;
case 4:
warten=20000;
break;
}
while (true)
{
digitalWrite(5,HIGH);
delay (50);
digitalWrite(4,HIGH);
delay(100);
digitalWrite(4,LOW);
delay(50);
digitalWrite(5,LOW);
delay(warten);
}
}
//debounce
delay (100);
}
void loop() {
// put your main code here, to run repeatedly:
int reading = digitalRead(selectPin);
int shutter = digitalRead(shutterPin);
if (reading != lastButtonState) {
// reset the debouncing timer
lastDebounceTime = millis();
}
//
if ((millis() - lastDebounceTime) > debounceDelay) {
// whatever the reading is at, it's been there for longer
// than the debounce delay, so take it as the actual current state:
// if the button state has changed:
if (reading != buttonState) {
buttonState = reading;
// only toggle the LED if the new button state is HIGH
if (buttonState == LOW) {
for (count=0;count<5;count++) {
if ( count == modus )
{
digitalWrite(pinArray[count], HIGH);
}
else
{
digitalWrite(pinArray[count], LOW);
}
}
modus++;
if (modus >4 ) {
modus =0;
}
}
}
}
lastButtonState = reading;
if (shutter = LOW)
{
shoot (modus);
}
}

Erklärung:

Es gibt 2 Taster und einen Einschalter. Der Einschalter ist klar. Die Taster haben entsprechende Funktionen: 1. Taster wählen des Modus, 2. Taster Auslöser. Leuchtet die 1.LED, wird nur scharf gestellt und die Kamera ausgelöst. Bei der allen anderen Modi geht der Arduino in eine Endlosschleife, die dann eben entsprechend des gewählten Modus alle 0,5 , 1, 5 oder 20 Sekunden auslöst. Die vier Verzögerungen kann man in der Case Anweisung einstellen.

Mir fallen beim durchschauen des Codes gleich ein paar Verbesserungen ein, aber im Moment ist es noch ein Prototyp.  Z.B. könnte man die LEDs auch nachdem man den Auslöser drückt ausmachen. Die fressen nicht nur die Batterie auf, sondern machen auch noch Luftverschmutzung, wenn man z.B. bei Nacht fotografiert.

Veröffentlicht unter Uncategorized | Kommentar hinterlassen

Viele neue Dinge


Zuerst einmal sollte ich mich bei der holden Leserschaft entschuldigen, daß ich schon sooo lange keinen Beitrag mehr geschrieben habe. Aber dafür gibts heute die geballte Ladung:

  1. Update zur CNC-Fräse
  2. Neue Kamera (die ich wieder zurückgeschickt habe)
  3. Neuere Kamera (die ich vermutlich behalten werde)
  4. Alte Kabel und warum die so teuer waren
  5. neues kleines Bastelprojekt

Also hier die Themen:

Update zur CNC Fräse: meine ersten Fräsversuche habe ich hier ja schon geteilt. Diese Woche habe ich nun mal was Sinnvolles (TM) gefräst. Ein Gehäuse für einen Raspberry Pi der zu einem Webradio umgebaut wurde. Anleitung gibts hier: http://www.bobrathbone.com/raspberrypi_radio.htm

Meines sieht übrigens so aus :

Raspberry Pi Radio

Raspberry Pi Radio

Das 20×4 Zeichen Display hatte ich noch von einem Projekt übrig und die rotary Encoder auch. Das einzige was ich noch kaufen musste waren die Lautsprecher. Das Gehäuse habe ich dann aus 3mm Sperrholz gefräst. Dabei bin ich auf Sekundenkleber als Universalhilfsmittel gekommen. Einfach Senkkopfschrauben auf Holz kleben und schon hat man Abstandshalter für die Platinen.

2. Neue Kamera die ich wieder zurückgegeben habe: Ich hatte bei einem Amazon Blitzangebot zugeschlagen. Es sollte eine EOS M werden. Mit Blitz, 22mm Pancake und Adapter auf EF und EF-s Objektive. Der erste Eindruck war auch gut. Die Kamera ist gut verarbeitet, nichts wackelt, Spaltmaße super, Objektiv sitzt satt und der Body ist schwer. Was aber gar nicht ging ist die Bedienung.  Für jeden Mist muss man das Display betatschen. Sei es um den Modus zu wechseln, Sei es um Belichtungsreihen zu machen. Ausserdem hat man die Kamera nicht sicher in der Hand. Es gibt noch nicht mal einen Pseudo-Nachkaufgriff für die 3 Jahre alte Kamera. Der Fokus lag auch nur manchmal richtig. Also habe ich die Kamera nach 2 Tagen wieder zurück geschickt.

3. Neue Kamera die ich vermutlich behalten werde: Auch beim großen Fluss gab es kurz darauf eine Samsung NX300M. Die Samsung NX300 ging ja durch die Hacker-Presse weil sie ein Linux laufen hatte, das Samsung vergessen hatte wieder dicht zu machen. xhost + kannte ich nur noch von Sillicon Graphics IRIX 6.4. Das ist bei der NX300M nicht mehr der Fall. Allerdings hat Samsung die Firmware komplett Open Source gemacht. Leider fehlen in dem Packet noch einige Tools und Doku auf die zwar im Sourcecode verwiesen wird, aber das Wiki liegt vermutlich bei Samsung im Intranet. Erste Fototouren mit den Kindern auf dem Volksfest haben schon einige Bilder hervorgebracht und ich bin ganz zufrieden. Nachteil ist allerdings, daß auch Samsung keinen Timelapse in der Firmware untergebracht hat und daß sie noch einige Bugs in der Firmware haben. Z.B. funktioniert weder die Fokuslupe noch Wifi wenn man alte manuelle Objektive adaptiert.

4. Warum alte Kabel so teuer waren: Für meine CNC Fräse brauchte ich noch ein 25 Pol Sub-D Stecker/Buchsenpärchen. Also habe ich in meiner Kabelkiste gekramt und ein altes Modem-Verlängerungskabel gefunden. Schön mit vergossenen Steckern und so. Also habe ich mich dran gemacht und versucht die Sub-D Stecker vom Kabel zu befreien. Allerdings ging das nicht so leicht. Der Stecker war nicht vergossen, sondern unter dem Plastik war eine massive Metallabschirmung. Das Metall hatte ca 1mm Wandstärke und mein Proxxon hatte ziemlich mühe damit. Aber nach einer Stunde gefluche war ich an den Lötkelchen dran. Genauso ging es mir mit einem Micro-USB Kabel von Nokia. Nur da war die Schirmung nicht so dick, dafür war dahinter alles mit Plastik ausgegossen. Soviel Aufwand hätten die Chinesen nicht getrieben. Deswegen sind die teuren Kabel auch nicht zum Hacken geeignet.

5. mein Neues Bastelprojekt: Mein nächstes Bastelprojekt wird wegen dem fehlenden Zeitraffertool ein Arduino Pro Mini (5V) mit dem ich die Samsung NX300M dazu überreden doch Zeitraffer zu machen. Vielleicht adaptiere ich auch noch den SmaTrig2 an die Samsung. Allerdings gibt es bei der Spiegellosen keine Spiegelvorauslösung.

Hier noch ein kleines HDR Panorama von gestern (9.10.) das ich mit der Samsung gemacht habe:

Sonnenaufgang mit der Samsung

Sonnenaufgang mit der Samsung

 

 

 

Veröffentlicht unter Arduino, HDRi, Panorama, Zeitraffer | Kommentar hinterlassen

Bigger ist besser


So. Damit es nicht wieder so lange dauert bis ein Update kommt habe ich ein paar Photos von den aktuellen Projekten gemacht.

Meine Eltern wollten ein neues Türschild also habe ich was in Inkscape gebastelt und einmal als Tasche aus 8mm Sperrholz ausgefräst und dann nochmal aus 3mm Hobbyplatte als positiv gefräst. Das Ergab folgendes:

20140713-162050-58850664.jpg

Außerdem gab es noch ein gutes Angebot für einen neuen Fräsmotor von Metabo. Der Umbau bringt einiges mehr an Drehmoment allerdings muss dann noch ein Adapter auf 8mm Schaft her. Allein der Größenvergleich ist vielsagend.

20140713-162630-59190334.jpg

20140713-162629-59189831.jpg

Veröffentlicht unter Uncategorized | Kommentar hinterlassen

Updates


Nach einer längeren Pause mal längeres update.

Projekt LEDs:

Leider kam ich nur wenig zum photografieren oder fliegen. Dafür habe ich einige kleinere Projekte mit LED-Streifen gemacht. In Unserem Garten haben wir die Terasse durch eine Glaswand von der Hofeinfahrt getrennt. Die Glaswand habe ich mit 8 m LED-Streifen hinterleuchtet. Leider war die erste Lieferung der LED-Streifen ziemlich empfindlich was die Löt-pads angeht. Diese brechen bei belastung ab und man kann wieder mal 3 cm abschneiden. Die 2. Lieferung habe ich dann gleich mit Anschlusskabel bestellt. Aus den Resten habe ich mit eine 40x30cm große LED Leuchte gebaut. Diese kann man wunderbar als Videoleuchte verwenden.

Projekt Shapeoko:

Der Umbau bzw. Selbstbau einer CNC-Fräse stellte sich doch ein wenig schwieriger dar als ich mir gedacht habe. Also habe ich eine Shapeoko 2 bestellt. Nach ein bisschen basteln ist die Fräse einsatzbereit und ich mache meine ersten Erfahrungen mit den Feedraten und den entsprechenden Freeware-Tools.

Shapeoko2

Shapeoko2

Projekt Capische

Beim Capische bin ich auch ein wenig weiter gekommen. In der zwischenzeit habe ich Scripte, die parametrisiert Kugelpanoramas erstellen, Hilfe ausgeben, wenn die Parameter nicht stimmen und ich bin dran das Gehäuse neu zu gestalten. Das Gehäuse kann ich jetzt auch mit der Fräse selber ausfräsen. Zum Testen habe ich mal mit Sperrholz 4mm die Teile ausgefräst und bin schon ganz zufrieden.

Capische Gehäuse aus Holz mit weniger abschattung am Boden bei Kugelpanoramen

Capische Gehäuse aus Holz mit weniger Abschattung am Boden bei Kugelpanoramen

Veröffentlicht unter Arduino, Panorama, Raspberry pi, Roboter, Zeitraffer | 2 Kommentare

CNC-Fräse mal abgewandelt


Nachdem ich mich ein wenig mit G-Code und GRBL beschäftigt habe, ist mir aufgefallen, daß GRBL einige meiner Probleme löst und zwar:

  1. Entkopplung der Last vom Raspberry (siehe Raspberry Pi ist ein bisschen empfindlich)
  2. die Triangulation macht GRBL
  3. Anfahren und Abbremsen kann GRBL sehr gut machen
  4. Bei einen Zeitraffer sollten die Abstände zwischen den Photos nach Zeit gemacht werden und nicht nach Schritten.
  5. Einrichten und Speichern der Abfolgen ist mit G-Code super einfach

Hier mal ein Schaltplan wie man das ganze verschalten könnte:

Capische-gcodeMan sieht, der Raspberry hat kaum noch zu tun und das ganze Steuern macht der Arduino Pro Mini. Ich habe mir die 16 MHz 5V 328p Variante von Watterott für 10€ geholt. Tut problemlos. Allerdings muss man dem Raspbian noch beibringen die UART-Schnittstelle nicht als Terminal zu verwenden. Deswegen ratterten meine Schrittmotoren beim Booten immer so. Die Schnittstelle an dem A1 des Arduinos (feed Hold) nutze ich als Anhalte-Schalter um die Schrittmotoren anzuhalten wenn ich ein Photo machen will. Über den Optokoppler schicke ich 5V auf eine USB-Schnittstelle um die Kamera per CHDK auszulösen. Jetzt bin ich noch am Ausklamüsern was ich dem GRBL einstelle, wieviel Steps pro mm ich in X und Y Richtung brauche. Eigentlich dachte ich, ich Rechne die Grad als mm aber ich denke das ist nicht Feingranular genug. Also werden es wohl 8000 Schritte für 3600 mm werden. Will ich also meine 75 cm Z-Achse verfahren und dabei einen 90° Schwenk um X machen, sieht der G-Code relativ einfach aus:

G00 X900 Z750

Dann muss ich nur noch alle X-Sekunden anhalten und ein Photo machen, bis GRBL zurückmeldet es sei an der Zielposition (das geht mit „?“ ). Man kann dann noch die Geschwindigkeit heruntersetzen in dem man noch ein F dahintersetzt. Z.B.

G00 X900 Z750 F10

würde nur einen 10 mm pro Minute verschieben bzw. 1 ° pro Minute drehen.

Man könnte sogar eine Kreisfahrt mir dem GRBL machen. Einen Anwendungsfall habe ich dafür aber noch nicht.

 

 

Veröffentlicht unter Arduino, CHDK, Raspberry pi, Roboter, Zeitraffer | 5 Kommentare

Aktuelle Projekte


So. Wochenende wieder vorbei. Leider keine schönen Fotos gemacht und auch nicht draußen gewesen. Aber dafür habe ich wieder mal Stundenlang im Keller gebastelt was auch mit Arduino und Schrittmotoren zu tun hat.

Aus meinen früheren Projekten hatte ich noch ein paar Sachen übrig, die ich jetzt zu was sinnvollem kombiniert habe. Ich hatte noch:

  • 1 Arduino Mega 2569
  • 1 Arduino Mega 1280
  • 1 Arduino Leonardo
  • 1 Arduino Uno SMD
  • 2 Easydriver
  • 2 NEMA17 Schrittmotoren
  • einige Taster
  • Acrylglas
  • einen Proxxon KT70 Kreuztisch
  • einen Proxxon Bohrständer

den Arduino Uno hatte ich in der Eisenbahn meines Sohnes als Weichensteller eingebaut. Da das aber leider mein einziger Uno war habe ich den kurzerhand ausgebaut. (Die Eisebahn hat sowieso gerade irgendwo einen Kurzen). Also: Was kann man damit machen? – Richtig eine Mini-CNC-Fräse. Zwar nur in 2D aber immerhin. Damit kann ich nun endlich die Motorhalterungen für die Schrittmotoren richtig bohren und den Flansch ausfräsen. Hier sind ein paar Bilder:

Mini-CNC KT-70Kosten waren überschaubar.

  • 1 Nutenfräsereinsatz von Proxxon <10 €
  • 2 Wellenkupplungen 15€
  • 1m Alustange für die Abstandshalter 5€

Die Endschalter muss ich noch anschließen aber sonst funktioniert die Fräse schon mal nicht schlecht. Allerdings habe ich einige Probleme umschiffen müssen, die mir vorher nicht klar waren:

  1. Die Firmware GRBL für den Arduino ist eigentlich nur für den Arduino UNO mit dem 328p 16MHz gemacht. Es gibt zwar auch einen Fork den man mit dem Arduino SDK aufspielen kann, damit bin ich aber nicht zurecht gekommen.
  2. hat man mal das HEX-File für den entsprechenden Arduino gefunden und hat man das auch noch erfolgreich eingespielt (das hat bei mir schon einige graue Haare mehr erzeugt) bekommt man ein nettes Prompt. Leider ist das Terminalprogramm falsch eingestellt weswegen man bei einem „$“ nicht die Einstellungen sieht sondern einfach nichts und man denkt es hat nicht geklappt.
  3. die NEMA17 Motoren sind nicht gerade die stärksten. Hat man die Motorachse nich1 100% auf die Spindel ausgerichtet machts nur ein komisches Geräusch und die Fräse ist verstellt. NEMA23 Motoren hatte ich aber nicht zur Hand also musste ich eben die Adapter genauer bauen.

Also zum Vorgehen. Ich beschreibe mal die Mechanik. Als erstes sollte man sich die Videos von der BubblegumCNC anschauen. Wer will kann sich auch gleich dort die STL Files herunterladen und 3D-Drucken. In den Videos wird beschrieben wie man den KT70 auseinanderbaut. Dann nimmt man die Plastikabdekungen und überträgt diese auf das Acrylglas. Die Bohrungen kann man dann mit der Plastikabdeckung als Schablone übertragen. Das so entstandene Abbild habe ich dann noch mit 2 aussenliegenden Löchern ergänzt und  dann wiederrum als Schablone für den Motorhalter genommen. Die aussenliegenden Löcher sind für die Abstandshalter. So sollte der Motor einigermaßen fluchten. Für den letzten Millimeter Versatz sind dann die Wellenkupplungen da. Die gleichen Winkel und versatz ein wenig aus.

Die Elektronik ist auch recht einfach wenn man es weiß. Erster Anhaltspunkt ist GRBL. Das ist eine in C geschriebene Firmware für den Arduino Uno. Ich habe es schließlich mit dem Xloader wie hier beschrieben geschafft. Will man überprüfen ob alles läuft geht man mit dem Arduino SDK auf die Serielle Schnittstelle und muß aber noch das Linefeed-Verhalten auf Zeilenumbruch umstellen. Dann sieht man auch das GRBL mehr als nur ein Prompt liefert. Man kann auch gleich auf den Universellen Gcode Sender zurückgreifen. Der positioniert auch manuell wenns sein muß.

So. Dann gehts los: Erste Kommandos in G-Code könnten dann sein:

  • G00 x0 y0
  • G00 X10 y20

Mit dem ersten Befehl geht man in den Nullpunkt. Das ist am Anfang genau an dem Punkt an dem man den Arduino eingeschalten hat. Der 2. Befehl bedeutet: “ Gehe 10 mm in X und 20 mm in y Richtung. Ich hatte mir jeweils mit dem Fräskopf einen Punkt auf eine Platte gedrückt und nachgemessen. Sollten die 10 mm nicht stimmen, kann man das mit $1=XXX und $2=YYY nachstellen. Da wird eingetragen wieviele Schritte die Motoren brauchen um einen Millimeter zu machen. (Bei mir 1600 wegen 8tel Schritte).

Dann muß man noch einstellen wie schnell der Vorschub sein darf. Das macht man auch am besten durch ausprobieren. Ich habe sowohl $4 als auch $5 auf 50 gestellt. Das macht die Fräse zwar langsam, aber bis jetzt hatte ich bei der Geschwindigkeit auch noch keinen Schritt übersprungen. Wenn man jetzt noch die Endschalter anschließt, kann man auch ein automatisches Homing machen. Da GRBL aber eher für 3D Fräsen gedacht ist, wird das bei mir ohne Z-Achse nicht funktionieren. Trotzdem hat es was Gutes. Hat man nämlich mal einen G-Code abgesetzt der ausserhalb der Reichweite ist macht GRBL einfach weiter, der Schrittmotor rutscht durch und damit ist die Fräse verstellt. Man muß also nochmal auf 0. Der KT70 hat übrigens einen Arbeitsbereich von ca. 13,5 x 4,5 cm. Alles was Größer ist muss umgespannt werden. Dann wirds aber schwierig mit dem Koordinatensystem 😉

Mein Plan sieht übrigens so aus, daß ich mit der Fräse auch  den Capische verbessere. Im Moment ist vieles noch nicht optimal gebaut. Die Stativ-Aufname ist zu weit hinten, der Schrittmotor für in X-Richtung ist nicht optimal an dem Schneckengewinde angebaut. Das alles kann ich mit der Fräse verbessern. Damit gehen nämlich nicht nur Langlöcher sondern ich könnte sogar Radien fräsen und den Motorhalter in das Schneckengetriebe einschwenken um den idealen Abstand einzuhalten oder zum schnellen Verstellen lösen. Das GRBL ist für den Capische auch noch eine Alternative. Schließlich treiben die auch nur Schrittmotoren um. Was ich sehr schön finde ist die anpassung der Geschwindigkeiten an die unterschiedlichen Anzahl von Schritten. Will man z.B. 40mm in X und nur 10 mm in y dann dreht sich der Y-Schrittmotor nur 1/4 mal so schnell wie der X-Schrittmotor. Das fehlt mir noch im Capische.

Ach ja noch was von der anderen Arduino-Front: Mein Heli ist auf APM 2.6 umgebaut. Ich hatte mir die Flightcontrol aus China bei Gut-Glück-Kauf bestellt am 26.12. und siehe da: am 11.1. war dann eine nicht zu gebrauchende Flight-Contol bei mir eingetroffen. Der Beschleunigungsmesser war vermutlich schräg eingebaut. Zumindest zeigte der Missionplanner 20° Neigung an wenn ich die Flightcontrol flach auf den Tisch gelegt hatte. Also habe ich mich bei Gut-Glück-Kauf beschwert und auch Prompt einen knappen Monat später (zum Glück haben die das noch vor ihrem Neujahrsfest verschickt) hier gehabt. Die neue Flightcontrol ist auf jeden Fall besser, aber jetzt geht das Einfliegen wieder los. Sprich P-Werte ausprobieren, Vertrauen zur Technik aufbauen, auf Tage mit wenig Wind warten usw. Manchmal sind die Leute doch zu beneiden, die sich einfach einen Mikrokopter fertig eingestellt kaufen können. Aber die Lernen auch nichts beim Spielen. 🙂

 

Veröffentlicht unter Uncategorized | Kommentar hinterlassen