HyperCube 3D – Z-Offset

Wo bekommt man den Z-Offset her und wie stellt ich den Offset ein ?

Der Abstand zwischen der Düse und dem Bett bei genullter Z-Achse ist der Z-Offset.

Vorbereitung

Drucker in Homeposition fahren. Mit dem Button „Home XYZ“ können alle drei Achsen gleichzeitig genullt werden. Um den Z-Offset herauszufinden reicht jedoch die Z-Achse.

Der Drucker wird nach dem „homeing“ selbstständig in eine definierte Position (in Marlin definiert) gefahren. Auch hier ist nur die Z-Achse von Bedeutung.

Achse zum Z-Offset fahren

Die Z-Achse so lange in Richtung Düse fahren bis gerade noch ein Stück Papier dazwischen passt / ganz leicht reibt. Gefahren wird über das Display im Menu „bewegen“.

Wurde die optimale Position gefunden, wird im Display oben rechts der Offset angezeigt. Im Bild Z:-1.48.

Achtung: Z+ vergrößert den Abstand zwischen der Düse und dem Bett !!!

Z-Offset speichern und verwenden


Im Terminal kann der Offset mit der Eingabe

M851 Z-1.48
M850 Werte im Eprom speichern

gespeichert werden.

CGMiner 4.11.1 auf Raspberry Pi

Hard und Software
GekkoScience 2pac USB Miner
Raspberry Py 2
Lüfter / Kühlung für Miner

Voraussetzungen
Vorinstalliertes Raspian (Debian) auf SD-Karte mit ssh-Zugang.

Installation nach https://www.bitshopper.de/support/anleitungen/2pac/2pac-inbetriebnahme-linux-raspberry-pi/

Raspian aktualisieren

sudo apt-get update
sudo apt-get upgrade -y

Zusätzliche Pakete
Zusätzliche Pakete installieren um die Abhängigkeiten von CGminer aufzulösen:

sudo apt-get install -y build-essential git autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libusb-1.0-0-dev libncurses5-dev

build-essential – Compiler und Compile Werkzeuge
git – Source Code repository
autoconf – für den Build aus GIT nötig
automake – für frn Build aus GIT nötig
libtool pkg-config – shared library Zugriff für CGMine
pkg-config – Für Build und Kompilierung benötigt
libcurl4-openssl-dev – http connectivity für CGMiner
libudev-dev – USB support für CGMiner
libusb-1.0-0-dev – USB support für CGMiner
libncurses5-dev –  Textbasiertes User Interface für CGMiner

CGMiner aus GIT klonen
Verzeichnis erstellen wo der CGMiner rein soll
git clone klont von github den aktuellen cgminer.

mkdir -p mining/2pac 
cd mining/2pac
sudo git clone https://github.com/vthoang/cgminer.git

CGMiner kompilieren
Der Parameter –enable-gekko aktiviert die GekkoScience Treiber für Compac und 2Pac Miner.

cd cgminer

sudo CFLAGS="-O2" ./autogen.sh --enable-gekko
sudo make -j 2

Binary testen
Das erzeugte Binary testen. Mit der Option -n werden alle angeschlossenen USB-Miner angezeigt.

./cgminer -n

Weitere Komandozeilenparameter sind z.B.
-D = Debug-Ausgabe aktivieren
-E =
-m =
-n = Alle USB-Geräte anzeigen
-P =
-Q =
-q = Protokollausgabe deaktivieren, Status und Fehler anzeigen
-U = URL
-V = Version anzeigen
-s =
-T =
-O = Benutzername:Passwort
-c = Konfigurationsdatei die geladen werden soll
-h = Hilfe

Inbetriebnahme
Betrieb bis 150MHZ mit Lüfter / Kühlung machbar. Ohne nur bis 100MHZ.

Leistung in GH/s = 0.11 * MHz

cd ~/mining/2pac/cgminer
sudo ./cgminer -o stratum+tcp://stratum.braiins.com:3333 -u hargil.BTC_01 -p anything123 --suggest-diff 32 --gekko-2pac-freq 100

-o = Pooldaten
-u = Benutzername Pool
-p = Passwort Pool

–gekko-2pac-freq =
–suggest-diff = Miner-Schwierigkeit

CG-Miner mit Konfigurationsdatei

Konfigurationsdatei
Anlegen und erstellen einer Konfigurationsdatei.

-> Verzeichnis erstellen
-> in das neue Verzeichnis wechseln
-> cgminer.conf erstellen

mkdir -p /home/pi/mining/2pac/config
cd /home/pi/mining/2pac/config
sudo nano cgminer.conf

https://www.lurkmore.com/view/Cgminer.conf#:~:text=cgminer.conf%20is%20the%20default%20configuration%20file%20for%20the,cgminer.conf%20is%20the%20best%20way%20to%20run%20cgminer.

{
"pools" : [
	{
		"url" : "stratum+tcp://stratum.braiins.com:3333",
		"user" : "hargil.BTC_01",
		"pass" : "anything123"
	}
]
,
"gekko-2pac-freq" : "125",
"kernel-path" : "/usr/local/bin"
}

CGMiner mit Konfigurationsdatei starten

sudo ./cgminer -c /home/pi/mining/2pac/config/cgminer.conf

Autostart

Autostart
Starten von CGMiner beim Systemstart / Autostart

Als erstes muss im Verzeichnis /etc/init.d/ ein Skript erstellt werden, mittels welchem der CGMiner gestartet wird.

sudo nano /etc/init.d/CGMiner
#! /bin/sh
### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
 
case "$1" in
    start)
        echo "CGMiner wird gestartet"
        # Starte den CGMiner Programm
        /home/pi/mining/2pac/cgminer/cgminer -c /home/pi/mining/2pac/config/cgminer.conf
        
        # Eine weitere Möglichkeit den Miner zu starten
        # screen -d -m -S cgminer sudo /home/pi/mining/2pac/cgminer/cgminer -c /home/pi/mining/2pac/config/cgminer.conf
        # -d
        # -m
        # -S
        ;;

    stop)
        echo "CGMiner wird beendet"
        # Beende Programm
        killall cgminer
        ;;
    *)
        echo "Benutzt: /etc/init.d/CGMiner {start|stop}"
        exit 1
        ;;
esac
 
exit 0

Rechte zuweisen

sudo chmod 755 /etc/init.d/CGMiner

Script testen

sudo /etc/init.d/CGMiner start

Scriptaufruf in die Autostartdatei eintragen

sudo update-rc.d CGMiner defaults

sudo update-rc.d -f CGMiner remove
sudo nano /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# CGMiner starten
/etc/init.d/CGMiner start

exit 0

Screen

https://wiki.ubuntuusers.de/Screen/

sudo apt-get install screen

screen – Startet den Fenstermanager

-c dateinameKonfigurationsfile laden
-ddetach
-h lineshistoryAnzahl der History-Linien die angezeigt werden.
– ls [match]
-listlistwie -ls
– m ignor $STY variable, do create a new screen session
– r [session]resumeReatach to a detached screen process
-S sitzungStartet eine neue Sitzung mit dem Namen „sitzung“
-t titleSet title (window’s name)
-vversionZeigt die Programmversion an
-wipe [match]
-x„attach“ mit einem nicht „detacht“ Screen (multi display mode)
–helpZeigt einen Hilfebildschirm an
Komandozeilenparameter
0 – 9Springt zum Terminal mit der entsprechenden Nummer; die Nummerierung beginnt bei 0
^B bbreak
CclearErstellt ein neues, leeres Fenster (terminal)
:colon
copy
^D ddetachTrennen der Verbindung zur aktuellen Sitzung, Sitzung läuft im Hintergrund weiter
^Vdisgraph
*display
:dumptermcap
Ffit
^F fflow
^Ifocus
hhardcopy
?helpÜbersicht über Tastaturkürzel / Online-Hilfe
{ }history
iinfo
K kkillBeendet den Screen
^M mlastmsg
,license
HlogSchreibt die Ausgaben des Terminals in ein Logfile mit Namen screenlog.<nummer>; als Nummer wird die Nummer des virtuellen Terminals angehängt. Die Wiederholung des Kommandos beendet das Mitschneiden.
Llogin
ameta
Mmonitor
nnextwechselt in das nächste virtuelle Terminal
Nnumber
Qonly
^Aother
Bpow-break
Dpow-detach
Ppreviouswechselt ins vorige virtuelle Terminal
\quitBeendet das Programm
<readbuf
^L lredisplay
Xremove
=removebuf
Zreset
^C cscreenErstellt ein neues, leeres Fenster (terminal)
select
_silence
Ssplit
^Z zsuspend
^T ttimeZeigt die aktuelle Systemzeit an
AtitleTerminalbezeichnung umbenennen
^Gvbel
vversionZeigt die Programmversion an
Wwidth
^R rwrap
>writebuf
^S sxoff
^Q qxon
Wechseln zwischen den einzelnen Fenstere einer Sitzung
windwoslistBlendet eine Liste der Terminals ein; mit den Pfeiltasten navigieren Sie in der Liste, mit [Eingabe] wechseln Sie zum Fenster unter der Markierung.
WBlendet für ein paar Sekunden eine Statuszeile am unteren Fensterrand ein, welche die Anzahl der geöffneten Fenster (und deren Namen) anzeigt.
Tastaturkürzel von Screen

Testen ob der CGMiner läuft

mit top, htop oder ps

CGminer 4.12.1 GekkoScience

Beschreibt die Installation von CGminer 4.12.1 GekkoScience auf einem Raspberry Pi 2. Beim CGminer 4.12.1 von „wareck“ handelt es sich um eine speziell für die USB Miner Compac, 2pac, Newpac und CompacF angepasste Version.

Weitere Informationen gibt es bei github.

Hard und Software
GekkoScience CompacF USB Miner
Raspberry Pi 2
Lüfter / Kühlung für Miner

Voraussetzungen
Vorinstalliertes und aktualisiertes Raspian (Debian stretch) auf SD-Karte mit ssh-Zugang.

Zusätzliche Pakete
Zusätzliche Pakete installieren um die Abhängigkeiten von CGminer aufzulösen:

sudo apt-get install build-essential git autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev libjansson-dev libncurses5-dev libusb-1.0-0-dev zlib1g-dev -y

build-essential – Compiler und Compile Werkzeuge
git – Source Code repository
autoconf – für den Build aus GIT nötig
automake – für frn Build aus GIT nötig
libtool pkg-config – shared library Zugriff für CGMine
pkg-config – Für Build und Kompilierung benötigt
libcurl4-openssl-dev – http connectivity für CGMiner
libudev-dev – USB support für CGMiner
libjansson-dev – C-Bibliothek für JSON-Daten
libncurses5-dev –  Textbasiertes User Interface für CGMiner
libusb-1.0-0-dev – USB support für CGMiner
zlib1g-dev – Kompressionsbibliothek

CGMiner aus GIT klonen
git clone klont von github den aktuellen CGminer-gekko.

sudo git clone https://github.com/wareck/cgminer-gekko.git

CGMiner kompilieren
Der Parameter –enable-gekko aktiviert die GekkoScience Treiber.

cd cgminer-gekko
sudo usermod -a -G dialout,plugdev $USER
sudo cp 01-cgminer.rules /etc/udev/rules.d/
sudo CFLAGS="-O2 -march=native" ./autogen.sh
sudo ./configure --enable-gekko
make
sudo make install

Binary testen
Das erzeugte Binary testen. Mit der Option -n werden alle angeschlossenen USB-Miner angezeigt.

./cgminer -n

Inbetriebnahme

sudo  ./cgminer -o stratum+tcp://stratum.braiins.com:3333 -u hargil.BTC_02 -p anything123 --suggest-diff 32 --gekko-compacf-freq 250

weitere mögliche Gekko-Parameter

  --gekko-compac-freq <clock>   Chip clock speed (MHz) default is 200 Mhz
  --gekko-2pac-freq <clock> Chip clock speed (Mhz) default is 150 Mhz 
  --gekko-newpac-freq <clock> Chip clock speed (Mhz) default is 150 Mhz
  --gekko-compacf-freq <clock>
  --gekko-r606-freq <clock> Set GekkoScience Terminus R606 frequency in MHz, range 50-900 (default: 550)
  --gekko-terminus-detect Detect GekkoScience Terminus BM1384
  --suggest-diff <value> Limit diff for starting mine default is 32

HyperCube 3D – los gehts

Hier werde ich beschreiben wie ich mit dem Hypercube drucke.

Druckdatei vorbereiten

Dateien zum Drucken werden entweder mit OpenSCAD erstellt oder von z.B. www.thingiverse.com oder einer anderen Quelle geladen. Die Datei sollte im Format .stl sein.

Die Datei wird dann im Programm Repetier-Host geladen und weiter bearbeitet.
Repetier-Host -> Datei -> öffnen -> .stl-Datei auswählen

10mm Testwürfel

Die geladene Datei wird mit der CuraEngine geslicet, also in ein für den Drucker nutzbare Format übersetzt. Was an der CuraEngine alles eingestellt werden kann und wie diese funktioniert habe ich im Beitrag „3D-Drucker – CuraEngine“ beschrieben. Die mit dem Slicer erzeugte Datei wird nun auf einen USB-Stick gespeichert.

Drucker starten / einschalten

Der Drucker wird am verbauten (umgebauten) PC-Netzteil eingeschaltet. Als sobald das Startmenu erscheint, ist der Drucker startklar.

AutoBedLeveling – ABL

Das Menu zum Bedleveling ist vom Hauptmenu aus über den Button „Leveling“ oder „ABL“ erreichbar.

ABL – Menu

[Start] Startet das Leveling

[Z Offset] Offset von Düsenspitze zum BL-Touch in der Z-Achse einstellen

[BLTouch] BL-Tocuh bedienen

[Z Fade]

Der Offset zwischen Düse (Nozzle) und dem BL-Touch (Sensor) ist in der Marlin Firmware 2.0.x in der Configuration.h fest hinterlegt. Zum jetzigen Zeitpunkt war der Offset 1.95mm. Der Offset kann sich durch abreiten am Drucker verändern und sollte ab und zu überprüft und entsprechend angepasst werden.

 * Nozzle-to-Probe offsets { X, Y, Z }
...
#define NOZZLE_TO_PROBE_OFFSET { 28, 12, -1.95 }

drucken

Blinkende LED

// blinkende LED
// Eine Leuchtdiode wird eine Sekunde an, und dann wieder eine Sekunde ausgeschaltet. Dieser Vorgang wird endlos wiederholt.

void setup() {   
  pinMode(13, OUTPUT); // Port 13 wird als Ausgang festgelegt
}

void loop() {
  digitalWrite(13, HIGH); // Port 13 wird high geschaltet
  delay(1000); // eine Sekunde warten
  digitalWrite(13, LOW); // Port 13 wird low geschaltet
  delay(1000); // eine Sekunde warten
}

Netzteil defekt

Heute wollte ich unser „Schaf“ in Betrieb nehmen. Ging aber nicht. Fehlermeldung in der APP: „Kabel fehlt“. Hab dann die Ladestationen überprüft und festgestellt, dass die LED nicht leuchtet. Spannungsversorgung überprüft. Die bringt nichts mehr.

Ich habe dann das Netzgerät geöffnet. Da die Platine eingegossen war habe ich das Zeug teilweise entfernt. Auf der Platine habe ich dann schwarze, verbrannte Stellen gefunden. Das Teil ist hinüber.

Abgehende Leitung zur Ladestation

Für den WORX-Landroid SB450 WR102SI.1 habe ich aus Italien (!) ein Netzteil bestellt. XR50032549 – Netzteil für Landroid S Base für 62,41€ incl Versandkosten. Bin gespannt ob das Teil funktioniert …