Table of Contents

BTT CB1

YouTube Video #88


Vielen Dank an den Sponsor für dieses Video:

Pros / Cons

Fazit
Aus meiner Sicht ist ein CB1 nur bedingt als “Bastelrechner” für Maker einsetzbar.
In einem 3D Drucker erfüllt es aber durchaus seinen Zweck.

Adater Boards

Mäusekino

Für das CB1 / CM4 Modul mit eMMC Speicher müssen die Schalter RPIBOOT und USBOTG gesetzt sein zum Aufspielen des Systems.

Für den normalen Betrieb müssen diese Schalte ausgeschaltet sein!

Default User / Passwort

Image Installation

:!: :!: ACHTUNG :!: :!:
Das BTT CB1 (wie auch der BTT Pi 1.2) laufen nicht mit dem Raspberry Pi Image!
Es muss ein Image von BTT genutzt werden das an den SBC angepasst ist.

Updates

Linux MCU einrichten

Wer das BTT CB1 mit einem ADXL345 Sensor für Input Shaper ausstatten möchte, sollte den Linux Prozess noch einrichten. Der Sorgt dafür, dass die GPIO Pins vom BTT CB1 aus Klipper Sicht genutzt werden können und ermöglicht eben den Betrieb von extra Sensoren wie dem ADXL345.

Minimale printer.cfg

Um Klipper vorübergehend in Betrieb zu nehmen, kann man folgende Mini Konfiguration verwenden:

printer.cfg
[include mainsail.cfg]
[mcu]
serial : /tmp/klipper_host_mcu
 
#[mcu Board]
#serial : /dev/serial/by-id/usb-Klipper_stm32f407xx_2B0035001147393437303337-if00
 
[printer]
kinematics: none
max_velocity: 1000
max_accel: 1000

:!: Mit dieser Konfig kann der Drucker natürlich rein gar nichts. Aber man wird erstmal alle Fehlermeldungen in MainSail los.

CAN

CAN Bus aktivieren

Damit der Adapter im Betriebsystem auch erkannt wird muss eine Netzwerk Interface Konfiguration (/etc/network/interfaces.d/can0) angelegt werden. Es ist möglich das die Datei schon im BTT Image eingepflegt ist …

Can Bus Test

kein DSI / CSI

Die meisten Board bieten die Anschlüsse für CSI (Kamera) und DSI (Monitor). Wie hier z.B. beim Manta Board:

:!: Diese Anschlüsse funktionieren aber NICHT mit dem CB1!

HDMI Display

Am HDMI Anschluss sollte nach dem Start sofort eine Ausgabe erfolgen. Anpassungen kann man an zwei Stellen vornehmen:

Manta Boards

Auf einem M8P Manta Board lässt sich der HDMI Ausgang nur betreiben, wenn das Board extra mit USB-C versorgt wird. Zusätzlich muss der 5V USB Jumper gesetzt sein!

Nachtrag 09.02.2024
Einige User berichten das der HDMI Ausgang auch mit dem CB1 und 24V Versorgung funktioniert.
Hier muss sich BTT mal zu Wort melden, warum es u.A. bei mir nicht klappt.

ADXL345 (SPI)

Hinweis 1
Die Default CS Pins können nicht in Klipper genutzt werden. Da kommt ein Fehler “Unable to open out GPIO chip line”
Hinweis 2
Für Klipper einen freien GPIO verwenden und den als CS Pin nutzen (Beispiel gpio74)
CB1 Pin Function CB1 GPIO
PH6 SPI1 CLK GPIO230
PH7 SPI1 MOSI GPIO231
PH8 SPI1 MISO GPIO232
PC10 CS GPIO74

Tests

GPIO nutzen (Linux MCU)

Die GPIO Pins vom BTT Pi können von Klipper angesteuert werden. Man muss nur mit der Pin Bezeichnung aufpassen …

Pin Berechnung

Um die GPIO Pins in Klipper nutzen zu können muss ggf. umgerechnet werden. Die Pins sind im Normalfall nach dem Schema PxNN benannt. x kann dabei von A..G gehen und NN ist eine Zahl. Das nutzt aber in Klipper nichts, weil dort die richtigen GPIO Nummern angegeben werden müssen. Dafür gibt es folgende Rechnung:

In der Klipper Konfig trägt man an der Stelle für den Pin dann gpio79 und nicht PC15 ein.

Beispiel OutPin

Einen einfachen Ausgang zum Schalten von was auch immer kann man so realisieren:

[output_pin OutPin]
pin   : gpio79
pwm   : false
value : 0
ACHTUNG
Hier darf nicht einfach irgendeine Last angeschlossen werden. Die GPIO Pins können nämlich kaum Strom abgeben. Als im Zweifel mit einem Mosfet arbeiten oder jemanden fragen der sich damit auskennt ;-)

Ergebnis in MainSail

Temp

CB1 in Klipper

[temperature_sensor CB1]
sensor_type: temperature_host

Lüfter in Klipper

Dieses Beispiel steuert einen Lüfter über den CB1 eingebauten Temperatursensor:

[temperature_fan Case_fans]
pin: PD4
sensor_type: temperature_host
off_below: 0.4
min_temp: 10
max_temp: 90
target_temp: 55
control: pid
pid_Kp: 2
pid_Ki: 4
pid_Kd: 0.1

Konsole

grafische Auswertung

Hinweis
Diese Anleitung klappt nur wenn eine grafische Umgebung auf dem CB1 installiert ist. Bei dem “großen” Image von BTT ist das der Fall.
Weiterhin braucht man MobaXTerm um die Ausgaben über den X Server zu bekommen.

Stresstest druchführen

Klipperscreen

Armbian Images

Gefühlt ist das Image etwas “zäh”.

Links