11. Januar 2021 · Kommentare deaktiviert für Herzlich Willkommen auf meiner Website! · Kategorien: Allgemein

Diese Website ist ein rein privates Projekt. Es verfolgt keinerlei kommerzielle Ziele. Deshalb werden von mir auch keine persönlichen Daten gespeichert. Deshalb kann sich auch niemand auf dieser Website anmelden und Kommentare hinterlassen. Der Provider (1blu.de) speichert die Verbindungsdaten für einen begrenzten Zeitraum.

Dieser Blog dient mir dazu meine Projekte zu dokumentieren und meine Erfahrungen damit festzuhalten. Er ist im Internet frei zugänglich, damit auch Andere von meinen Erfahrungen profitieren können. Schließlich muss nicht jeder das Rad selbst erfinden.

Mein Beiträge sind keine Bauanleitungen! Es besteht kein Anspruch darauf, dass die vorgestellten Projekte bei einem Nachbau funktionieren! Sollten dabei Schäden entstehen, so ist dafür der Nachbauer verantwortlich. Schließlich sollte jeder wissen was er tut. Ich schließe jede Haftung aus.

Die Beiträge können nur als Anregung angesehen werden.

Wenn Du mir etwas mitteilen möchtest, so schicke mir unter peter@peters-bastelkiste.de eine Email.

Viel Spaß beim Stöbern.

Peter


Wemos 18650 shield V3

Hier geht es um die Befestigung des o.a. Shields. Es wurden 2×5 mm selbstschneidende Schrauben für Kunststoff verwendet. Für die konkrete Anwendung in einem 3D-gedruckten Gehäuse sind nur die vier Eckenkonstrukte erforderlich. Die Verbindungen dazwischen waren nur für die Tests nötig.

Die Übersichtsmaße:

Die Konstruktion der Halter ist hier zu sehen:

Der Versuch ein kleines „Rohr“ stehen zu lassen, das in das Loch auf der Leiterplatte hineinragt und durch das dann die Schraube gedreht wurde scheiterte leider daran, das diese dünne Struktur nicht gedruckt wurde.

Deshalb habe ich mich für diese Konstruktion entschieden:

So sieht des Testmodul aus (Onshape).

Bei selbstentworfenen Gehäusen, die im 3D-Druck gefertigt werden ist es möglich die Bauteile mit selbstschneidenden Schrauben zu befestigen. Das ist wesentlich einfacher und preiswerter als das einschmelzen von Gewindeeinsätzen aus Messing. Das selbstschneidende Konzept ist sicher nicht für Teile geeignet, die häufig ein- und ausgebaut werden müssen. Für Teile, die nur zu Reparaturzwecken ausgebaut werden müssen ist es aber m.E. Erste Wahl.

Ich habe mir aus China entsprechende Schrauben mit Innensechkant in den Größen 2×5, 2×8, 3×5, 3×8 und 3×10 schicken lassen. Nun wollte ich gerne wissen wie groß die Bohrungen für diese Schrauben sein müssen. Dazu habe ich ein kleines Testteil mir Onshape entworfen:

Die obere Reihe ist für die 2 mm Schrauben und die untere für die 3 mm Ausführung.

Das sieht dann so aus:

Zu meinem Erstaunen ließen sich die jeweiligen Schrauben in alle 5 Löcher hinein drehen, allerdings mit unterschiedlichem Kraftaufwand.
Für die 2 mm-Schrauben erscheinem mir die drei rechten Löcher geeignet zu sein (1,8 1,9 und 2,0 mm). Das erstaunt, weil die Schrauben doch 2 mm Außendurchmesser haben. Ich hatte bei einem früheren Test festgestellt, das Löcher, also Innendurchmesser beim 3D-Druck etwas kleiner ausfallen. Deshalb hat das Gewinde noch etwas Fleisch zum festhalten. Ich würde aber 1,8 oder 1,9 mm empfehlen, das fühlt sich stabil an.

Bei den 3 mm Schrauben fühlten sich die beiden rechten Löcher (2,7 und 2,8 mm) gut an. Die anderen gingen auch, aber die Kraft zum eindrehen ist schon erheblich.

Die oben angegeben Bohrungsmaße beziehen sich auf die in der Zeichnung eingetragenen Werte, nicht auf die tatsächlich beim Druck entstandenen.

In 3D-Druck-Gehäusen wird meist ein Durchbruch für USB-Buchsen, z.B. Zum Laden von Akkus oder zur Kommunikation mit anderen Geräten benötigt. Ich habe mir verschiedene USB-C-Buchsen für die Gehäusemontage aus China schicken lassen und dann die erforderlichen Durchbrüche durch Messen und Probieren ermittelt.

Die Überschriften zu den verschiedenen Teilen klingen sonderbar, aber ich habe einfach die Überschrift oder Teile davon von der Aliexpress Webseite übernommen. So kann man sie ggf. einfach wiederfinden.


Typ-C Weibliche 2Pin Typ-C Buchse Stecker Wasserdichte Jack

Diese Buchse ist wohl am einfachsten einzubauen: Bohrung mit 12mm Durchmesser.


USB 3,1 Typ C Micro USB 2,0 mit Schalttafel einbau Schraube

Hier ein Bild davon:

Ich habe die Buchse vermessen und einen Probeentwurf mit Onshape angefertigt. Der funktionierte schon recht gut. Hier sie Skizze von Onshape:

Der ovale Innenteil ist 1,5mm hoch, der restliche Teil (Wand) 3mm.

Allerdings kollidierten die Schraubenköpfe von Flachkopf-Kreuzzschlitzschrauben mit einigen Steckern. Die Köpfe von Schlitzschrauben waren ca. 0,5mm kleiner und passten besser.

Allerdings wären Senkschrauben eleganter. Deshalb habe ich die Bohrungen für die Schrauben testweise angefast.45° und 1mm. Dann ist der Durchmesser oben 5,5mm und das entspricht den gemessenen Größen der Senkschraubenköpfe:

Perfekt mit M3x6 Kreuzschlitz-Senkkopfschrauben! Die Schraubenköpfe schließen bündig ab.


Ich habe die Maße für den Einbau des Nokia-Displays in ein 3D gedrucktes Gehäuse ermittelt.

Um die Maße zu ermitteln habe ich einige Muster gebaut. Die sahen so aus:

Die 3mm Stifte passen in die Bohrungen in der Platine (3,2mm)

Das Display liegt nicht symmetrisch zwischen den Befestigungslöchern. Es ist etwas nach oben versetzt. Mit den obigen Maßen passt es aber.

Bei meinem Hameg Funktionsgenerator funktionierte nach einigen Jahren die Frequenzeinstetllung nicht mehr. Recherche im Internet und Nachfrage bei Chatgpt erbrachte, dass es ein bekanntes Problem ist, daß der Drehimpulsgeber (DIG) nach einigen Jahren defekt wird.

Nach einigem Zögern habe ich dann das Modul zerlegt. Da Alles mit Allem verbunden ist, sei es durch Drähte oder Verlötung der Platinen, habe ich es nicht geschafft das Teil so zu zerlegen, daß ich den DIG auslöten konnte.

Da der Drehknopf extrem fest saß war viel Kraft nötig ihn abzubekommen. Später zeigte sich, dass es sich um einen Spannzangenknopf handelt. Durch die starke Kraftausübung hatte sich das Gehäuse des DIG etwas gelockert. Es ist auf das Unterteil, das mit der Platine verlötet ist augesetzt und mit 4 Laschen geklemmt.

Ich habe dann diese Laschen soweit hoch gebogen, dass das Gehäuse sich entfernen ließ. Darin befand sich eine Scheibe mit Leiterbahnen, die auf einer Kunststoffachse sitzt. Diese Achse ist mit Fett geschmiert. Dieses Fett hatte sich auf die Scheibe gesetzt und so die Kontaktgabe verhindert. Nachdem ich die Scheibe gereinigt und wieder eingebaut hatte funktionierte der Funktionsgenerator wieder.

Im Unterteil befinden sich 3 Federkontakte mit je 2 Kontakten, die auf die Scheibe drücken und bei Kontakt mit den Leiterbahnen die Inpulse ausgeben.

Letztendlich ist die Reparatur relativ einfach:

  1. Die zwei Knöpfe für Amplitude und Offset abziehen.
  2. Die Kappe des Knopfes für die Frequenzeinstellung entfernen. Die Schraube dahinter etwas locher drehen und den Knopf abziehen. Geht dann ganz leicht!
  3. Boden und Deckel abnehmen. Dazu je eine Schraube an der Rückseite heraus schrauben.
  4. Die drei Schrauben in der Frontplatine von hinten abschrauben. Eine sitzt oben und 2 unten (oder umgekehrt). Die habe ich am Ende nicht wieder eingedreht, weil mir das zu kompliziert war und ihr Fehlen keinen wesentlichen Nachteil darstellt.
  5. Schließlich die 4 Schrauben an den Seitenteilen herausdrehen.
  6. Frontplatte abziehen. Geht etwas schwer.
  7. Nun ist der DIG zugänglich.
  8. Vorsichtig mit einem Schraubendreher die 4 Laschen aufbiegen.
  9. Das Oberteil abnehmen. Die Scheibe heraus nehmen und reinigen.
  10. In umgekehrter Reihenfolge wieder zusammenbauen.

Das war’s!

Ich habe die Idee ein Messgerät zu bauen mit dem ich Kondensatoren vermessen kann. Zur Kapazitätsmessung habe ich mich für die Aufladung eines Kondensators mit Konstantstrom entschieden, weil so die Kapazität in einem linearen Verhältnis zur Aufladezeit steht.

Die folgende Schaltung hat sich dafür als geeignet erwiesen (in der Simulation mit LTSpice):

Die Werte der Widerstände sind sehr kritisch. Wenn sie nicht exakt gleich sind, Verläuft der Strom über die Ladezeit nicht mehr konstant, sondern steigt an oder fällt ab. Wie groß der Einfluß ist habe ich nicht untersucht. Aus einem früheren Versuch habe ich aber in Erinnerung das schon kleine Abweichungen sich kräftig bemerkbar machen. Ganz wichtig ist, das die Summe von R3 und R6 exakt der von R2 und R1 entspricht!

Die Simulation zeigt sehr schön, dass der Strom (hier 20µA – blaue Linie) horizontal verläuft, bis der Ausgang des OPV an seine Grenze stößt. Dementsprechend linear verläuft der Spannungsanstieg (grüne Linie).

Der hier ausgewählte OPV ist nicht zwingend. Ich werde den Versuchsaufbau mit einem OPA186 oder OPA2186 bauen. Den MAX44244 habe ich als Ersatztyp gefunden.


Perfekt! Dann gehen wir Schritt für Schritt vor, um Windows wieder bootfähig zu machen, ohne die Daten zu löschen. Ich erkläre es für Windows 10. Du brauchst dafür ein Windows-Installationsmedium (USB-Stick oder DVD).


Schritt 1: Windows-Installationsmedium vorbereiten

  1. Lade das Windows 10 Media Creation Tool herunter: Microsoft Downloadseite
  2. Erstelle damit einen bootfähigen USB-Stick (mindestens 8 GB).

Schritt 2: Vom Installationsmedium booten

  1. Rechner vom USB-Stick starten (Boot-Menü oder BIOS/UEFI wählen).
  2. Sprache und Tastatur auswählen, dann „Computerreparaturoptionen“„Problembehandlung“„Eingabeaufforderung“.

Schritt 3: Bootloader reparieren

Im Eingabeaufforderungs-Fenster folgende Befehle ausführen:

  1. Bootpartition markieren:
<code>
diskpart 
list disk 
select disk 0 (deine Windows-Festplatte auswählen) 
list partition 
select partition 1 (sda1 – System Reserved) 
active (Partition als aktiv markieren) 
exit
</code>

2. Bootloader reparieren:

<code>
bootrec /fixmbr 
bootrec /fixboot 
bootrec /scanos 
bootrec /rebuildbcd
</code>

3. Optional:

Wenn bootrec /fixboot Zugriff verweigert, kann man folgendes versuchen:

 <code>
bootsect /nt60 SYS /mbr
</code>

    Schritt 4: Neustart

    • USB-Stick entfernen, Rechner neu starten.
    • Windows sollte nun wieder booten.

    Schritt 5: Backup machen

    Sobald Windows wieder startet:

    • Am besten ein vollständiges Image von sda2 erstellen (z. B. mit Macrium Reflect Free oder Acronis True Image).
    • So hast du ein sicheres Backup, bevor du erneut Linux probierst.

    Wenn du willst, kann ich dir danach auch zeigen, wie du Linux parallel installieren kannst, ohne den Windows-Boot zu zerstören.

    Willst du, dass ich das vorbereite?

    Dieses Rezept habe ich nicht mehr ausprobiert weil ich GRUB zum Laufen bekommen habe und so wieder auf das Windowssystem zugreifen konnte.

    15. September 2025 · Kommentieren · Kategorien: Allgemein · Tags: ,

    Ich habe bei einer Dualboot-Installation von Windows 10 und Linux-Mint / LUBUNTU / XUBUNTU große Probleme mit GRUB bekommen. Bisher hat das nie Probleme bereitet aber bei diesem alten PC klappt es nicht. Die Hinweise von CHATGPT waren sicher richtig, haben mich aber auch nicht wirklich weiter gebracht, weil die KI doch recht viel geschwafelt hat und die Vorschläge nicht wirklich zielführend waren. Deshalb habe ich mich entschlossen ein wenig hinter die Kulissen von GRUB zu schauen um es selbst zu verstehen und entsprechend einrichten zu können.

    Wie funktionier GRUB?

    Diese Frage habe ich CHATGPT gestellt. Die Antwort:

    Grub (GRUB = GRand Unified Bootloader) ist ein Bootloader, also das Programm, das gestartet wird, sobald ein PC eingeschaltet wird, um ein Betriebssystem zu laden. Ich erkläre dir Schritt für Schritt, wie er funktioniert und warum er so nützlich ist:


    1. Boot-Reihenfolge im PC

    Wenn ein PC eingeschaltet wird, passiert folgendes:

    1. BIOS/UEFI startet: Prüft Hardware und sucht ein Boot-Medium.
    2. Bootloader wird geladen: BIOS/UEFI lädt den Bootloader (z. B. GRUB) von der ersten Boot-Partition (MBR oder EFI-Systempartition).

    2. GRUB selbst

    GRUB ist ein flexibler Bootloader, der mehrere Betriebssysteme starten kann. Er besteht typischerweise aus mehreren Stufen:

    a) Stage 1 (kleinster Teil, MBR oder EFI)

    • Liegt am Anfang der Festplatte oder EFI-Partition.
    • Kann nur sehr wenig Speicher nutzen.
    • Lädt Stage 2 oder direkt die Konfiguration.

    b) Stage 2 (größerer Teil)

    • Hat Zugriff auf Dateienysteme (ext4, NTFS, FAT32…).
    • Kann die GRUB-Konfigurationsdatei lesen: grub.cfg.
    • Zeigt das Bootmenü an.
    • Ermöglicht Auswahl zwischen mehreren Betriebssystemen, Kernel-Optionen usw.

    3. Bootmenü

    • GRUB zeigt eine Liste von Betriebssystemen oder Kernel-Versionen an.
    • Der Benutzer kann auswählen oder GRUB startet automatisch nach einer Zeitüberschreitung.
    • Ein Kernel wird ausgewählt → GRUB lädt Kernel + initrd (initial RAM disk) in den Speicher.

    4. Kernel starten

    • GRUB übergibt die Kontrolle an den Kernel.
    • Kernel startet die Hardware und das Betriebssystem vollständig.

    5. Besondere Features von GRUB

    • Unterstützt mehrere Betriebssysteme (Linux, Windows, BSD…).
    • Kann Dateisysteme direkt lesen → man muss keine festen Sektoradressen kennen.
    • Hat eine Kommandozeile, falls etwas schiefgeht (grub rescue>).
    • Kann auch Netzwerk-Boot (PXE) oder verschlüsselte Partitionen starten.

    Kurz gesagt:
    GRUB ist das Bindeglied zwischen BIOS/UEFI und deinem Betriebssystem. Er liest die Boot-Konfiguration, zeigt ein Menü an, lädt den Kernel und übergibt dann die Kontrolle an das Betriebssystem.


    Wenn du willst, kann ich auch eine grafische Übersicht zeigen, wie GRUB von BIOS bis Kernel arbeitet – das macht es sehr anschaulich. Willst du, dass ich das mache?

    Gut… noch nicht sehr erhellend aber ich lass dass erst mal so stehen.

    Die grafische Übersicht habe ich hier nicht übernommen, da sie, wie meistens bei CHATGPT, eher verwirrt als hilft.

    Wenn GRUB kaputt ist

    Die Antwort von CHATGPT:

    Wenn GRUB kaputt ist (z. B. nach einem Update, einer falschen Konfiguration oder weil ein anderes OS den Bootloader überschrieben hat), gibt es mehrere Möglichkeiten, das Problem zu beheben. Hier eine Übersicht, was du tun kannst:


    1. Mit einem Live-System starten

    • Lade dir ein Linux-Live-ISO (z. B. Ubuntu, Debian, Linux Mint) herunter.
    • Starte den Rechner von USB oder DVD.
    • Öffne ein Terminal.

    2. Root-Partition einhängen

    Angenommen, deine Linux-Root liegt auf /dev/sda2:

    sudo mount /dev/sda2 /mnt
    

    Falls du eine separate Boot-Partition hast, auch die mounten:

    sudo mount /dev/sda1 /mnt/boot
    

    UEFI-Systeme: EFI-Partition mounten (meist /dev/sda1 mit FAT32):

    sudo mount /dev/sda1 /mnt/boot/efi
    

    3. System-Umgebung vorbereiten

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    

    Dann ins System wechseln:

    sudo chroot /mnt
    

    4. GRUB neu installieren

    Für BIOS/Legacy-Systeme:

    grub-install /dev/sda
    

    Für UEFI-Systeme:

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
    

    Danach Konfiguration neu erzeugen:

    update-grub
    

    oder (je nach Distro):

    grub-mkconfig -o /boot/grub/grub.cfg
    

    5. Neustarten

    exit
    sudo umount -R /mnt
    reboot
    

    6. Alternative: Boot-Repair

    Es gibt das Tool Boot-Repair, das viele Schritte automatisch erledigt. Unter Ubuntu kannst du es so installieren (im Live-System):

    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt update
    sudo apt install -y boot-repair
    boot-repair
    

    Damit kannst du oft mit einem Klick GRUB reparieren.


    👉 Wichtig: Sag mir, ob du BIOS (Legacy) oder UEFI nutzt und welche Linux-Distribution du hast – dann kann ich dir eine maßgeschneiderte Schritt-für-Schritt-Anleitung geben.

    Möchtest du, dass ich dir gleich ein Minimal-„Rettungsrezept“ für UEFI + Ubuntu/Debian schreibe?

    Wie bekomme ich heraus ob mein Rechner im BIOS- oder UEFI-Modus bootet?

    Sehr gute Frage 👍 – das ist entscheidend, weil GRUB unterschiedlich installiert wird, je nachdem ob dein System im Legacy-BIOS-Modus oder im UEFI-Modus läuft.

    Hier ein paar einfache Methoden:


    1. Unter Linux (wenn du das System noch starten kannst)

    Prüfen ob /sys/firmware/efi existiert:

    ls /sys/firmware/efi
    
    • Wenn der Ordner existiert und Dateien enthält → UEFI-Boot.
    • Wenn er nicht existiertLegacy-BIOS-Boot.

    2. Im Live-System (von USB gestartet)

    Auch hier kannst du wie oben prüfen:

    ls /sys/firmware/efi
    

    Wenn der Ordner leer oder nicht vorhanden ist → dann bist du im Legacy-BIOS-Modus gebootet.


    3. Unter Windows (falls Dual-Boot)

    • Win + Rmsinfo32 eingeben.
    • Dort steht bei BIOS-Modus:
      • „UEFI“ → UEFI-Boot
      • „Legacy“ → BIOS-Boot

    4. Boot-Struktur auf der Festplatte ansehen

    • Wenn deine Festplatte eine EFI-Systempartition (FAT32, ca. 100–500 MB, gemountet unter /boot/efi) hat, ist das fast sicher ein UEFI-System.
    • Wenn es stattdessen nur eine MBR-Partitionstabelle ohne EFI-Partition gibt → Legacy-BIOS.

    👉 Empfehlung: Wenn du gerade im Live-Linux bist, probiere direkt mal:

    ls /sys/firmware/efi
    

    Willst du, dass ich dir ein Kochrezept für die Reparatur von GRUB schreibe, je nachdem ob das Ergebnis UEFI oder BIOS ist?

    Mein System ist kein UEFI sondern ein BIOS-System. Dafür hat mir CHATGPT die folgende Anleitung gegeben:

    Danke für die Ausgabe 👍 – das macht die Sache klarer.


    Analyse deiner Partitionstabelle

    • /dev/sda1 (100 MB NTFS) → Das ist keine EFI-Systempartition, sondern eine klassische Windows-„System-reserviert“-Partition.
    • /dev/sda2 (≈160 GB NTFS) → Windows 10 selbst.
    • /dev/sda3 (500 MB NTFS) → wahrscheinlich Windows Recovery.
    • /dev/sda4 (erweitert) + /dev/sda5 (63 GB Linux, Typ 83) → hier liegt dein Lubuntu.

    👉 Es gibt keine EFI-Systempartition (FAT32), stattdessen nur eine MBR-Partitionstabelle mit NTFS und ext4.


    Schlussfolgerung

    • Dein Windows läuft im Legacy-BIOS-Modus (MBR).
    • Dein Lubuntu wurde auch im BIOS-Modus installiert.
    • GRUB gehört also in den MBR der Festplatte (/dev/sda), nicht in eine EFI-Partition.

    Reparaturschritte für GRUB (aus Live-Lubuntu)

    1. Root-Partition mounten:
    sudo mount /dev/sda5 /mnt
    
    1. Wichtige Systemverzeichnisse einbinden:
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
    1. In dein installiertes System wechseln:
    sudo chroot /mnt
    
    1. GRUB in den MBR von /dev/sda schreiben:
    grub-install /dev/sda
    update-grub
    
    1. Rausgehen und aushängen:
    exit
    sudo umount -R /mnt
    
    1. Neustarten:
    reboot
    

    Danach sollte beim Starten wieder der GRUB-Bootloader erscheinen, mit Auswahl zwischen Windows 10 und Lubuntu.


    👉 Willst du, dass ich dir dafür ein komplettes Copy&Paste-Skript schreibe, das du im Live-Lubuntu nur durchlaufen lassen musst?

    Das hat im Prinzip funktioniert. Allerdings wird kein Bootmenue angezeigt, sondern gleich Lubuntu gestartet. Da dort die Grafikkarte nicht richtig eingerichtet wird bleibt der Bildschirm nach der Anzeige des Logos schwarz.

    Das Verhalten von GRUB einstellen.

    Dazu lieferte CHATGPT folgende Anleitung:

    Verstanden 👍 – wenn dein installiertes Lubuntu nicht richtig bis zum Desktop bootet (wegen Grafiktreiber), kannst du die GRUB-Konfiguration auch aus dem Live-System anpassen.

    Dazu im Prinzip dieselbe Vorgehensweise wie bei der GRUB-Reparatur:


    1. Lubuntu-Partition mounten

    sudo mount /dev/sda5 /mnt
    

    2. Systemverzeichnisse einbinden

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    

    3. Chroot ins installierte System

    sudo chroot /mnt
    

    4. GRUB-Konfiguration bearbeiten

    nano /etc/default/grub
    

    Ändere/füge ein (falls Zeilen fehlen, einfach hinzufügen):

    GRUB_TIMEOUT_STYLE=menu
    GRUB_TIMEOUT=5
    GRUB_DISABLE_OS_PROBER=false
    

    ⚠️ Wichtig: GRUB_DISABLE_OS_PROBER=false ist nötig, damit Windows 10 automatisch erkannt und ins Menü aufgenommen wird.


    5. GRUB aktualisieren

    update-grub
    

    Du solltest dann etwas sehen wie:

    Found Windows Boot Manager on /dev/sda1
    

    6. Beenden und aushängen

    exit
    sudo umount -R /mnt
    reboot
    

    Damit solltest du beim nächsten Booten aus dem MBR-GRUB-Menü Windows 10 auswählen können – selbst wenn Lubuntu wegen Grafikproblemen schwarz bleibt.


    👉 Soll ich dir gleich eine komplette Minimalversion von /etc/default/grub hier hinschreiben, die du 1:1 ins Live-System kopieren kannst?

    Nun funktioniert der Bootvorgang so wie er soll.

    Wie findet GRUB die Betriebssysteme?

    Das scheint automatisch zu gehen. Ich werde das vielleicht später mal klären.


    Ich stelle meinen alten Lenovo IdeaCenter B500 gerade auf Linux um. Dazu möchte ich parallel zum Win10 verschiedene schmale Linux-Distributionen testen. Das es bei dieser alten Hardware und DVD-Bootmedium Stunden dauert ein System aufzuspielen möchte ich laufende Testsysteme auf einer externen USBHDD speichern.

    Chatgpt.com hat mir dazu folgenden Anleitung geliefert:

    Perfekt! Ich schreibe dir eine klare Schritt-für-Schritt-Anleitung, wie du nur dein Linux-Mint-System aus einem Dualboot auf eine externe USB-HDD sichern kannst und später wieder zurückspielst. Sie ist so strukturiert, dass du sie direkt in WordPress einfügen kannst.


    Backup und Restore von Linux-Mint in einem Dualboot-System

    Voraussetzungen

    • Dualboot-PC mit Windows 10 + Linux-Mint.
    • Externe USB-HDD groß genug für die Linux-Mint-Partition(en).
    • Live-USB oder Live-DVD von Linux (z. B. Mint, Lubuntu, Xubuntu).
    • Grundkenntnisse im Terminal.

    1️⃣ USB-HDD vorbereiten

    1. USB-HDD anschließen.
    2. Im Terminal prüfen, wie die Platte erkannt wird:
    lsblk
    
    • Beispiel:
    sda  500G  <--- interne Festplatte
    sdb  1T    <--- externe USB-HDD
    
    1. Partitionieren & formatieren (optional, z. B. EXT4 für Linux-Backup):
    sudo mkfs.ext4 /dev/sdb1
    
    1. Mountpoint erstellen:
    sudo mkdir /mnt/usbbackup
    sudo mount /dev/sdb1 /mnt/usbbackup
    

    2️⃣ Linux-Mint sichern (rsync-Methode)

    1. Starte von Live-USB → verhindert, dass laufende Prozesse die Dateien sperren.
    2. Linux-Mint-Partition mounten:
    sudo mkdir /mnt/linux
    sudo mount /dev/sdaX /mnt/linux
    
    • sdaX ist deine Linux-Mint-Rootpartition.
    • Wenn du eine separate /home-Partition hast, mounten:
    sudo mkdir /mnt/home
    sudo mount /dev/sdaY /mnt/home
    
    1. Backup mit rsync:
    sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt/linux/ /mnt/usbbackup/linux-root/
    
    • Wenn /home separat ist:
    sudo rsync -aAXv /mnt/home/ /mnt/usbbackup/linux-home/
    

    ✅ Vorteil: Flexibel, Backup auf Partition beliebiger Größe, kein Risiko der gesamten HDD.


    3️⃣ Bootloader sichern (GRUB)

    Damit du später Linux-Mint wieder booten kannst, auch in Dualboot:

    1. GRUB auf der USB-HDD sichern:
    sudo grub-install --boot-directory=/mnt/usbbackup/linux-root/boot /dev/sdb
    sudo update-grub
    

    4️⃣ Linux-Mint wiederherstellen

    Wenn du das Backup zurückspielen willst:

    1. Starte wieder von Live-USB.
    2. Partitionen vorbereiten:
    sudo mkfs.ext4 /dev/sdaX    # Root
    sudo mkfs.ext4 /dev/sdaY    # Home, falls separat
    
    1. Mounten:
    sudo mount /dev/sdaX /mnt/linux
    sudo mount /dev/sdaY /mnt/home
    sudo mount /dev/sdb1 /mnt/usbbackup
    
    1. Restore mit rsync:
    sudo rsync -aAXv /mnt/usbbackup/linux-root/ /mnt/linux/
    sudo rsync -aAXv /mnt/usbbackup/linux-home/ /mnt/home/
    
    1. GRUB wiederherstellen:
    sudo grub-install --boot-directory=/mnt/linux/boot /dev/sda
    sudo update-grub
    

    5️⃣ Hinweise

    • Datei vs. 1:1-Kopie: Mit rsync sicherst du nur Linux, Windows bleibt unberührt.
    • Vollständige 1:1-Kopie: Willst du die gesamte Festplatte klonen, kannst du dd verwenden, dann wird auch Windows gesichert.
    • Sicherheit: Immer Live-System verwenden, um aktive Partitionen nicht zu beschädigen.
    • Testen: Nach Restore unbedingt prüfen, ob GRUB die Dualboot-Auswahl korrekt anzeigt.

    So hast du ein komplettes Linux-Mint-Backup, kannst neue Systeme testen und Linux-Mint später problemlos wiederherstellen, ohne Windows zu beeinträchtigen.


    Wenn du willst, kann ich noch eine kompakte Version für WordPress schreiben, mit sauberen Codeblöcken und Nummerierung, damit sie direkt wie eine Anleitung im Blog aussieht. Willst du, dass ich das mache?

    13. September 2025 · Kommentieren · Kategorien: Allgemein, Pico · Tags:

    Ich möchte untersuchen wie genau eine Gleichspannung sein kann, die mittels PWM mit einem Pico2 erzeugt werden kann. Dazu habe ich Chatgpt.com befragt:

    Natürlich 👍 – ich fasse dir unseren Chat in einen gut lesbaren Artikeltext zusammen, den du direkt in WordPress einfügen kannst (als normalen Beitrag oder Seite).


    PWM und GPIO-Treiber beim Raspberry Pi Pico2 (RP2350)

    Der neue Raspberry Pi Pico2 (RP2350) bietet einige interessante Features, die auch für Anwendungen mit PWM-Ausgabe und GPIO-Treibern wichtig sind. Hier findest du eine Zusammenfassung der wichtigsten Punkte aus der Praxis.


    Einstellbarer Ausgangsstrom der GPIOs

    Die GPIO-Pins des RP2040 und RP2350 lassen sich in ihrer Treiberstärke (Drive Strength) konfigurieren. Es gibt vier Stufen:

    • 2 mA
    • 4 mA
    • 8 mA
    • 12 mA

    Zusätzlich kann die Slew-Rate (Flankensteilheit) zwischen „slow“ und „fast“ eingestellt werden.

    Damit lässt sich sowohl die Belastbarkeit (z. B. LEDs oder andere Bauteile treiben) als auch das EMV-Verhalten optimieren.


    Beispiel in MicroPython

    Über die padsbank0-Register lässt sich die Drive-Strength direkt setzen:

    import machine
    
    # Basisadresse für padsbank0
    PADS_BASE = 0x4001c000
    PADS_GPIO0 = PADS_BASE + 0x04  # GPIO0, weitere Pins jeweils +4
    
    def set_drive(pin, strength=3, fast=True):
        """
        pin       : GPIO-Nummer
        strength  : 0=2mA, 1=4mA, 2=8mA, 3=12mA
        fast      : True = schnelle Slew-Rate
        """
        addr = PADS_GPIO0 + 4*pin
        reg = machine.mem32[addr]
        reg = (reg & ~0b11) | (strength & 0b11)
        if fast:
            reg |= (1 << 2)
        else:
            reg &= ~(1 << 2)
        machine.mem32[addr] = reg
    
    # Beispiel: GPIO15 mit 12 mA und schneller Slew-Rate
    set_drive(15, strength=3, fast=True)
    

    Auch wenn ein Pin auf PWM-Funktion gestellt wird, gilt diese Einstellung weiterhin.


    Innenwiderstand der Treiber

    Ein fester „Innenwiderstand“ der GPIO-Treiber ist nicht spezifiziert.

    • Die Angabe 2/4/8/12 mA beschreibt nur die Ziel-Treibefähigkeit.
    • Reale Messungen zeigen, dass kurzfristig deutlich höhere Ströme fließen können.
    • Der effektive Widerstand ergibt sich aus der Lastsituation (z. B. bei 12 mA-Einstellung etwa einige zehn Ohm).

    Für definierte Verhältnisse empfiehlt sich daher ein externer Serienwiderstand.


    Fractional Clock Divider

    Beim PWM-Modul wird der Taktteiler (Clock Divider) als 12.4 fixed-point Wert eingestellt:

    • 12 Bit Ganzzahl
    • 4 Bit Bruchteil (in 1/16-Schritten)

    Beispiel:

    • „8.4 fractional clock divider“ = 8 + 4/16 = 8.25

    Damit lassen sich PWM-Frequenzen sehr fein einstellen.


    Maximale PWM-Frequenz bei 16-Bit Auflösung

    Die PWM-Frequenz berechnet sich zu: fPWM=fsysclkdiv×(TOP+1)f_{PWM} = \frac{f_{sys}}{\text{clkdiv} \times (TOP+1)}

    • Systemtakt Pico2: 150 MHz
    • TOP = 65535 (16 Bit)
    • clkdiv = 1.0

    fPWM=150 000 00065 536≈2.3 kHzf_{PWM} = \frac{150\,000\,000}{65\,536} \approx 2.3 \,\text{kHz}

    👉 Bei voller 16-Bit-Auflösung sind also nur ca. 2,3 kHz PWM-Frequenz möglich.


    Frequenz vs. Auflösung (150 MHz, clkdiv=1.0)

    AuflösungZählerumfangMax. FrequenzPeriode
    8 Bit256585.9 kHz1.71 µs
    10 Bit1024146.5 kHz6.83 µs
    12 Bit409636.6 kHz27.3 µs
    14 Bit163849.16 kHz109 µs
    16 Bit655362.29 kHz437 µs

    Je höher die Auflösung, desto niedriger die maximale PWM-Frequenz – und umgekehrt.


    Fazit

    • GPIO-Treiber des RP2350 sind in 4 Stufen (2–12 mA) einstellbar, mit wählbarer Slew-Rate.
    • PWM kann mit feiner Frequenzabstufung über Fractional Divider betrieben werden.
    • Max. 16-Bit PWM: ca. 2,3 kHz bei 150 MHz Systemtakt.
    • Für höhere Frequenzen muss die Auflösung reduziert werden.

    Grundsätzliche Überlegungen.

    Die Erste Fragestellung entstand, weil ich bei früheren Versuchen mit einem niederohmigen RC-Glied festgestellt habe, das die minimale und maximale Spannung des Rechtecks aus dem Pin sich auf und ab bewegen. Um diesen Einfluß abschätzen zu können wäre es wichtig den Innenwiderstand der Ausgangsstufen des Pico2 zu kennen.

    Die maximale Auflösung der PWM und damit der erzeugten Spannung beträgt 16-Bit. Da das Timing sehr exakt sein dürfte, könnte diese Spannung auch sehr exakt sein. Allerdings hat z.B. das oben geschilderte Phänomen sicher einen erheblichen Einfluß auf die Genauigkeit und bedarf deshalb näherer Betrachtung.

    Ein weiterer Punkt ist die Konstanz der Betriebsspannung die im Pico2 erzeugt wird.

    Für die Filterung des PWM-Signals zu einer Gleichspannung habe ich mich ebenfalls mit Chatgpt.com beraten. Das Ergebnis ist unter https://www.peters-bastelkiste.de/pwm-filter_001/ zu finden.