Archiv der Kategorie: Arduino

Protoneer CNC Shield: aktive Kühlung der Pololu stepper driver

Die Pololu stepper driver wurden bei mir ziemlich heiß. Diese wurden teilweise mehr als Handwarm und aus Sicherheitsgründen habe ich die beigefügten Kühlkörper mit einem doppelseitig thermischen Klebeband aufgeklebt.

Ein erster naiver Versuch mit Sekundenkleber hielt der Temperatur nicht lange stand ;-)

Im Gehäuse sorgt ein 5cm Lüfter für eine ausreichende Kühlung.

[slideshow_deploy id=’1930′]

Arduino: HEX flash upload über Konsole unter Mac OS X

Notiz um eine „*.hex“ Datei mit avrdude auf ein Arduino hochzuladen. Beachte erste Zeile => korrektes /dev/tty*!

localhost:~ csg$ /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/tty.usbserial-AI02MJ0U -b57600 -D -Uflash:w:/Users/csg/Dropbox/Arduino/grbl_v0_9j_atmega328p_16mhz_115200_for_SO2.hex:i

avrdude: Version 6.0.1, compiled on Jan 15 2015 at 12:42:51
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/csg/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.usbserial-AI02MJ0U
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.16
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "/Users/csg/Dropbox/Arduino/grbl_v0_9j_atmega328p_16mhz_115200_for_SO2.hex"
avrdude: writing flash (28832 bytes):

Writing | ################################################## | 100% 14.45s

avrdude: 28832 bytes of flash written
avrdude: verifying flash memory against /Users/csg/Dropbox/Arduino/grbl_v0_9j_atmega328p_16mhz_115200_for_SO2.hex:
avrdude: load data flash data from input file /Users/csg/Dropbox/Arduino/grbl_v0_9j_atmega328p_16mhz_115200_for_SO2.hex:
avrdude: input file /Users/csg/Dropbox/Arduino/grbl_v0_9j_atmega328p_16mhz_115200_for_SO2.hex contains 28832 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 12.20s

avrdude: verifying ...
avrdude: 28832 bytes of flash verified

avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (H:00, E:00, L:00)

avrdude done.  Thank you.

 

Arduino auf Protoneer CNC Shield auf Raspberry Pi

Man schreib natürlich nicht umsonst einen Artikel wie die GRBL Firmware auf ein Arduino Nano geschrieben wird. In der Regel steckt ein konkretes Projekt dahinter. In meinem Fall ist es das Protoneer CNC Shield das ich auf eBay entdeckt habe. Dieses wird huckepack auf einen Raspberry Pi gesteckt und ist die Basis-Zentrale für eine CNC Fräse.

rpi-cnc-shield-with-arduino-nanos-1

Enthalten beim Protoneer CNC Shield ist das Board selbst, ein kompatibler Arduino Nano und Montagematerial. Nicht enthalten sind der Raspberry Pi sowie auch die Stepper Driver die die Motoren ansteuern.

Leider ist beim mitgelieferten Arduino ein CH340 USB to Serial Chip verbaut. Dieser wird unter Mac OS X nicht erkannt. Es muß erst ein Treiber von einer sehr langsamen Chinesischen Seite herunter geladen und installiert werden. Dazu ist es auch noch nötig die Prüfung zu deaktivieren ob die Kernelextension korrekt signiert wurde!?

rpi-cnc-shield-with-arduino-nanos-2
Links Arduino Nano V3 mit CH340 Chip, rechts mit FTDI

Da bekommt man schnell ein seltsames Gefühl :D Deswegen habe ich mir über eBay einen anderes Arduino Nano V 3 erstanden, der den Original FTDI Chip hat. So wird das Arduino Board sofort ohne murren auch auf einen Mac erkannt.

[slideshow_deploy id=’1885′]

 

Auf der Protoneer Homepage gibt es ein fertig installiertes Raspbian Image. Darauf ist der Serielle Treiber schon eingerichtet um mit dem Arduino zu kommunizieren, sowie auch den G-Code Sender bCNC. bCNC ist ein richtig cooles CNC Tool und nicht nur ein reiner G-Code Sender allein, sondern bietet noch weitere interessante Funktionen. Dieses wird aktiv weiter entwickelt.

bCNC Tool/G-Code Sender
bCNC Tool/G-Code Sender

Einziger Wermutstropfen ist dass dieses „nur“ in Python entwickelt wurde. Bei Umfangreichen G-Code Dateien muss man sich auf eine kurze Wartezeit einstellen. Außerdem darf die Bildschirmauflösung für die  bCNC Software nicht all zu klein sein. Auf einem angeschlossenen 7 “ TFT mit 800x480px am RPi wird die Bedienung schon etwas sehr frickelig.

So, das war es für’s erste. Weitere Beiträge zur CNC Fräse und CAM Software folgen wenn Zeit vorhanden ist ^^

Arduino: Grbl (CNC) auf Arduino Nano installieren unter OS X

In diesem Post will ich kurz die Installation von GRBL auf einem Arduino Nano beschreiben. GRBL ist ein gcode Parser und CNC Fräskontroller.

Zu Beginn muss die Arduino IDE installiert werden. Die Einstellungen können etwas getuned werden. Eine Ausführliche Ausgabe bei Kompilierung und Hochladen ist doch immer wichtig :-)

arduino-ide-settings

Im Menü Werkzeuge der IDE muss die Platine, Prozessor und Port entsprechend zum angeschlossenen Arduino Modell eingestellt werden. Ganz wichtig ist es auch, einen korrekten Programmer anzugeben. Dieser musste bei mir auf USBasp umgestellt werden, da sonst das hochladen nicht funktioniert hat und kryptische Fehlermeldungen dabei erschienen ^^

Korrektur (29.8.2015): Die letzte Aussage wegen USBasp ist natürlich totaler quatsch. Ich hatte  nur durch trial and error Glück, dass ich den Arduino erfolgreich flashen konnte. Im Nachhinein kann ich nur sagen dass aus Gründen die sich mir nicht erschließen plötzlich der richtige Programmer benutzt wird. Und selbiges auf zwei Mac Rechnern, einem MacBook Air und Mac mini, nur auf ersterem funktioniert.

Als nächsten Schritt lädt man das GRBL Git Repository herunter. Der darin enthaltene „grbl“ Ordner muss dann in folgenden Arduino Ordner kopiert werden:

# grbl Ordner in diesen Pfad kopieren
/Users/DEIN_LOKALER_USERNAME/Documents/Arduino/libraries

Anschließend steht grbl im Menü unter Bespiele zur Verfügung und kann geöffnet werden.

arduino-grbl-sketch

Einer Prüfung über die Arduino IDE steht nichts im Wege.

arduino-grbl-sketch-verify

Nach erfolgreicher Prüfung kann die Software auf das Board hochgeladen werden.

arduino-ide-upload

Bei erfolgreichen Vorgang sollte es so wie im obigen Screenshot aussehen.

Ein Test ob grbl erfolgreich installiert wurde kann mit dem Universal G-Code Sender (download) gemacht werden. Für diesen muss der Ordner „var/lock/“ mit entsprechenden Rechten angelegt werden.

universal-gcode-sender_001

Nach erfolgreicher Verbindung über die Connection oben links im Universal G-Code Sender meldet sich Grbl mit einem kurzen Lebenszeichen in der Konsole.

universal-gcode-sender_002

Grbl ist nun auf dem Arduino installiert und bildet die Grundlage für ein Hobby CNC Bastelprojekt.