DIY — Software für eine CNC-Maschine

Übersicht

Eventuell kann sie Software auf einem Nexus 7 mit Ubuntu 12.04 installiert werden.
Setting up your Nexus 7 with Ubuntu 12.04
Meine ersten Erfahrungen sind leider ernüchternd, ubuntu unity stürzt oft ab. Leider gibt es noch keine Treiber für OpenGL weshalb pycam nicht richtig funktioniert.

Installation von PyCAM auf Mac OS X 10.8

Es folgt eine kurze Anleitung, wie PyCAM auf Mac OS X 10.8 installiert wird.

  1. Download PyCAM und entpacken.
  2. /Applications/Utilities/Terminal.app ausführen
  3. Installation von Homebrew (eine ausführlichere Anleitung: Installing Homebrew on OS X Mountain Lion 10.8, Package Manager for Unix Tools )
  4. ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
    
  5. Compilieren und installieren von PyGTK
  6. /usr/local/bin/brew install pygtk
    
  7. Compilieren und installieren von PyOpenGL (Password ist notwendig)
  8.   sudo easy_install PyOpenGL
    
  9. Compilieren und installieren von PyGTKGLExt
  10.   /usr/local/bin/brew install pygtkglext
    
  11. PyCAM patchen
  12.   curl "http://goo.gl/U8hJ1" | patch -p0
    
  13. Eintrag in .bashrc erstellen
  14. echo "\nexport PYTHONPATH=/usr/local/lib/python2.7/site-packages" >> ~/.bashrc
    

Nun sollte es möglich sein pyCAM innerhalb des herunter geladenen und entpackten Verzeichnisses zu starten.

./pycam

Diese Anleitung geht davon aus, dass Mac OS X Mountain Lion im original Zustand nach der Installation ist. Wenn fink oder macport installiert sein sollte, ändern sich die Schritte entsprechen.

openSCAM

DIY — MCGBot

Entwicklungsschritte zur Fertigung eines MCGBot Prototypen.

  • Planung und Fertigung der Grundplatte und Deckplatte.
  • Anordnung der Schrittmotoren und Energieversorgung.
  • Entwicklung einer Library zur Steuerung des MCGBots.
  • Schrittmotor Treiber: Eigenentwicklung vs. Stepper-Shield
  • Problematik mit der Anzahl der digitalen Pins: Möglichkeiten zur Lösung
  • Sensoren (Ultraschall, Optical-Mouse-Sensor, …)
  • Kommunikation mit HostPC: Xbee, Bluetooth oder Wlan

DIY — Steuerung eines unbekannten Schrittmotor

Schrittmotoren kann man aus alten Druckern, Scannern ausbauen oder z.B. billig im Webshop http://www.muero-fraeser.de/ kann man Schrittmotoren für 2,98 Euro kaufen. Leider fehlt oft ein Datenblatt oder ähnliches. Im Fall der Schrittmotoren von Müro — Fräsen und Mehr ist das einzige was man erfährt:
Schrittmotor unipolar 12V; 3,6°; 240 mA

und das ist schon relative viel.

Steuerung des Schrittmotors mit dem MotorShield von adafruit

Zuerst muss man herausfinden wie die 6 Drähte anzuschließen sind. Dazu kann man die Widerstände zwischen jeweils zwei Drähten messen und auf der Seite Javascript Page to determine stepper wires in eine Tabelle eintragen, die Seite liefert einem dann die richtige Reihenfolge:

Bipolar Stepper Wiring Report
————————————-
Date (user): 29. Mai 2012 22:59:21 MESZ
(script version wires4.htm – plp 2005)

— Description:
Schrittmotor unipolar 12V; 3,6°; 240 mA manufacturer: unknown, dimensions:
— End Description
— Wire Identification:
1 white, 2 yellow, 3 red, 4 black, 5 orange, 6 brown
— End Wire Identification

Your motor wiring, as detected by the script, is:

6 wire motor:
————-
Group A Common: 1 phases: 2 3
Group B Common: 4 phases: 5 6
Not connected: 7
Not connected: 8

Zusätzlich findet man auf der Seite http://www.piclist.com/techref/io/steppers.htm Anleitungen (in Englisch) um zusätzliche Informationen zum Schrittmotor, wie Drehmoment, Leistungsaufnahme etc. herauszufinden.

Adafruit Motor/Stepper/Servo Shield for Arduino kit – v1.0

Anschluss Nr. Drahtfarbe Bezeichnung
1 gelb M1 A
2 rot M1 B
3 schwarz und weiß GND
4 orange M2 A
5 braun M2 B

Wenn man das MotorShield von adafruit verwendet muss man eine externe Spannungsquelle anschließend (die Spannungsversorgung über den Arduino Uno reicht nicht aus).

Arduino-Software Version 1.0 WProgram.h Problematik

Ab der Version 1.0 der Arduino-Software wurde die Library WProgram.h umbenannt in Arduino.h.

Was unscheinbar wirkt führt zu großen Fehlern, die aber leicht begehbar sind.

Dazu muss innerhalb in der problematischen Library die Zeile

#include "WProgram.h"

gegen

#if defined(ARDUINO) &#038;& ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

ausgetauscht werden. So wird die richtige Library gelinkt und die Fehler verschwinden.