Ich nutze fast ausschließlich FreeCAD für die Konstruktion, ab und an mal Blender. Zusätzlich empfehle ich InkScape, um z.B. Texte zu erzegen, die man in FreeCAD dann übernehmen kann.

FreeCAD kann dann STL-Dateien exportieren,d ie kann man in seinen Slicer holen und für den Drucker verbereiten lassen.

CAD-Programme wie FreeCAD sind eher für technsiche Sachen geeignet, also Haken, gehäuse und so was, aber ich habe damit auch flugfähige Fernsteuer-Flugmodelle konstruiert.

...zur Antwort
Wieso geht mein Multiplexing mit meinem Sieben Segment Display und meinem Pi Pico 2040 nicht?

Ich habe ein Problem mit meinem Pi Pico - Projekt. Ich hatte alles verkabelt und programmiert, sodass mein 2 Stelliges Common Anode Sieben Segment Display funktioniert hat. Da allerdings alles über den Pico lief und ein Pin nur 16 mA liefern kann, war dieser überfordert. Damit nichts passiert, habe ich im Internet nach Lösungen gesucht. Dabei bin ich darauf gestoßen, dass man auch mit Transistoren arbeiten kann. Ich habe folgende eingebaut: BC547, C550B. Jetzt funktioniert es allerdings nicht mehr. Deswegen nehme ich gerne jeden Tipp oder jede Idee sehr gerne. Folgender Code:

from machine import Pin
import utime

# GPIO Pins für die Segmente (A
, B, C, D, E, F, G, DP)
segments = (2, 3, 4, 5, 6, 7, 8, 9)

# Segmentmuster für die Ziffern 0-9
# 0 = Segment an, 1 = Segment aus (weil gemeinsame Anode)
patterns = [
  (0,0,0,0,0,0,1,1), # 0
  (1,0,0,1,1,1,1,1), # 1
  (0,0,1,0,0,1,0,1), # 2
  (0,0,0,0,1,1,0,1), # 3
  (1,0,0,1,1,0,0,1), # 4
  (0,1,0,0,1,0,0,1), # 5
  (0,1,0,0,0,0,0,1), # 6
  (0,0,0,1,1,1,1,1), # 7
  (0,0,0,0,0,0,0,1), # 8
  (0,0,0,1,1,0,0,1)  # 9
]

# Pins für die Segmente
pins = [Pin(seg, Pin.OUT) for seg in segments]

# Transistoren für die Stellen (LOW = an, HIGH = aus)
displays = [Pin(16, Pin.OUT, value=1), Pin(17, Pin.OUT, value=1)]

def display_digit(display, digit):
  # beide Stellen ausschalten (HIGH = aus)
  displays[0].value(1)
  displays[1].value(1)

  # Muster für die Ziffer holen
  pattern = patterns[digit]

  # Segmente setzen
  for i in range(8):
    pins[i].value(pattern[i])

  # gewünschte Stelle aktivieren (LOW = an)
  displays[display].value(0)

  # kurze Multiplex-Zeit
  utime.sleep_ms(5)

  # wieder aus
  displays[display].value(1)

# Test: Zähler 00 - 99
while True:
  for i in range(10):
    for j in range(10):
      start = utime.ticks_ms()
      while utime.ticks_diff(utime.ticks_ms(), start) < 1000:
        display_digit(0, i) # linke Stelle
        display_digit(1, j) # rechte Stelle
        print(i,j)

und folgendes Schaltbild:

...zum Beitrag

Die NPN-Transistoren können lediglich GND an die Comman-Anodes weitergeben. Die Anode will aber positive Spannung haben. Also musst Du mit PNP-Transistmoren arbeiten, die gegen Plus den Emmiter geschaltet haben. Ggf besser einen IC nehmen, der Plus wie Minus verstärken kann, oder den Collector bei den NPN-Tranistoren mit einem Widerstand gegen Plus ziehen.

...zur Antwort

Eine Laser-Geschwindigkeitsmessung ist nicht so sehr eine Microcontroller-Sache, sondern eine Frage der verwendeten Technik.

Entfernungsmessung durch Laser wird nicht durch die Laufzeit eines "Laser-Impulses" gemessen. Das wäre viel zu aufwändig und erforderte hochkomplexe schnelle Zählertechnik.

Es wird ein Laser mit einer Frequenz moduliert, z.B. 30MHz. Es wird nun die Phasenverschiebung des wieder empfangenen Lichtsignales gemessen. Dies wiederholt man mit verschiedenen weiteren Modulationsfrequenzen. Durch die verschiedenen Phasenverschiebungen kann man den Abstand der Quelle berechnen.

Dies kann man recht schnell durchführen und so auch Geschwindigkeiten messsen.

Aber der Schaltungsaufwand ist nach meiner Meinung nach enorm, da man das nicht mit einem Microcontrolle rund einer Laserled erreichen kann.

...zur Antwort

Nun, die Vorschau zeigt Materialien an, aber nicht die Ausleuchtung.

Für die Ausleuchtung setzt man am Besten die Render-Auflösung auf z.B. 20%, die Parameter für die Rasterung auf z.B. 16 oder 64 (statt 4096).

Dann rendert mand ie Szene. Ist es zu dunkel, so ist bei den Lichtquellen zu shcauen, ob die zu dunkel sind oder zu wenig Reichweite haben. Also Wattleistung der Lampe(n) deutlich erhöhen (steht da 20W, so 500W z.B.. wählen) und erneut rendern. So lange mit dem Licht rumspielen, bis es hell genug ist, dann die Auflösung wieder erhöhen (auch Rasterung) und komplett rendern.

...zur Antwort

Am Besten besorgt man sich ein Tool, welches die gesamte Festplatte (oder zumindestens die Eigenen Dateien) durchforstet und eine Anzeige bietet, die nach der Größe der Dateien sortiert ist. Man kann dann bei den größten Dateien nachschauen, ob das Daten sind, auf die man verzichten kann, oder die man ggf. auf eine externe Platte sichert, um sie danach zu löschen.

...zur Antwort

Also, wer hier rumnöhlt: "Man darf ja nix mehr sagen!" und dann die durch Russland bezahlte AfD wählt, ich lach mich schlapp...

Deutschland hat ein gut ausgeklügeltes System, was Meinungsäußerung hoch einschätzt, aber Beleidigung und Falschaussagen nachgeht.

...zur Antwort

Meiner Meinung nach macht es wenig Sinn die alten Videos zu löschen.

Sind die Hochformat, aber keine Shorts? Weil Shorts werden getrennt von den längeren Videos "ausgespielt"...

Wichtig ist, dass Deine Videos von Youtube ausgesucht und anderen angezeigt werden. Ob jemand Dein altes Video angezeigt bekommt ist erst einmal zweitrangig. Wenn das Hochformat-Video gut vom Inhalt ist, so kann jemand auf Deinen Namen werden und abonnieren oder bei Dir gezielt suchen.

Je mehr Videos Du in Deinem Portfolio hast, desto wahrscheinlicher wird eines ausgesucht.

...zur Antwort

Ich vermute, dass Du den Rechner durchgehend laufen lässt.

Früher gab es eine maximale Laufzeit von WIndows (95 wars so weit ich weiß), die war durch ein Überlaufen eines 32-bit-Zählers hervorgerufen. Das waren aber so 40 Tage. War ein Programmierfehler.

Irgend ein Bauteil in Deinem PC oder ein Treiber hat einen ähnlichen Programmierfehler. Es wird ein Wert mit einem Takt hochgezählt, und irgendwann läuft dieser Wert über, weil die Variable zu wenig Bits hat.

...zur Antwort

Das mit dem Linux ist denke ich eine gute Wahl. Linux und dann virtuelle Maschine.

Die Frage ist: Was hast Du dann davon? Die Programme werden auch in der virtuellen Maschine hölleschnell ausgeführt werden, mit den EInschränkungen, die so ein DOS mit sich gebracht hat. Nicht aller RAM-Speicher kann verwendet werden, der "wertvolle" DOS-Arbeitsspeicher (640KB) muss mühsam auf die zu ladenden Programme konfiguriert werden. Deine Grafikkarte ist Sondermüll, wird als Herkules/CGA/EGA/VGA-Karte verwurstet.

...zur Antwort

Nun, der Sozialismus/Kommunismus ist nicht die passende Antwort auf den Kapitalismus. Beides führt zu Dogmatismus und am Ende durch menschliche Eigenheiten zu Kapitalismus (China, Russland sind da gute Beispiele).

Nur Demokratie mit einigem Schutz kann dagegen helfen. Schutz vor Korruption, Missinformation, Dummheit. Schutz vor Machtmissbrauch durch Reiche.

...zur Antwort

Nimm doch den alten Akku auseinander, da ist dann ein Thermistor drinnen, den Du für den neuen Akku benutzen kannst.

...zur Antwort

Es gibt verschiedene NEMA-Motoren mit unterschiedlichen Belegungen. Es ist also möglich, dass Du zwei Kabel vertauschen musst. Also z.B. Kabel 2 mit Kabel 4.

Dies liegt daran, dass manche chinesischen Hersteller ihr eigenes Süppchen kochen, was die Belegung der Stecker angeht.

...zur Antwort

Der Pin der Pumpe liefert jetzt schon ein Rechtecksignal ans Mainboard. Du musst also den Arduino über Masse mit dem Mainboard verbinden und einen EIngang aktivieren, am besten ohne Pullup oder pulldown, da ja der PC dafür sorgt.

...zur Antwort
3D-Drucker verschiebt Layer nach hinten – was kann das sein?

Hallo zusammen,

ich habe seit Kurzem ein ziemlich frustrierendes Problem mit meinem 3D-Drucker (Anycubic i3 Mega). Beim Drucken passiert es immer wieder, dass sich das Druckobjekt plötzlich sichtbar nach hinten verschiebt – also in Y-Richtung. Der Anfang des Drucks sieht noch ganz normal aus, aber irgendwann „springt“ das Objekt plötzlich nach hinten, sodass die restlichen Layer versetzt weitergedruckt werden. Der Druck ist damit unbrauchbar.

Ich habe keine klare Regelmäßigkeit feststellen können. Manchmal passiert es schon früh, manchmal erst nach längerer Zeit – und manchmal überhaupt nicht. Es betrifft also nicht jeden Druck, aber wenn es passiert, ist es immer die gleiche Verschiebung in Y-Richtung nach hinten. Die anderen Achsen sind nicht betroffen. Der Versatz tritt plötzlich auf – nicht schleichend – und danach wird alles dauerhaft versetzt weitergedruckt.

Das Kuriose: Ich habe Testbewegungen mit G-Code geschrieben, um die Y-Achse gezielt zu belasten (z. B. 10× Y100/Y-100 mit verschiedenen Geschwindigkeiten wie 50, 80, 100 mm/s). Dabei läuft alles völlig sauber – keine Schrittverluste, keine komischen Geräusche. Die Achse bewegt sich weich und exakt. Aber beim echten Drucken mit Filament tritt das Problem dann plötzlich auf, obwohl sich die Bedingungen nur minimal unterscheiden.

Der Druck ist optisch einwandfrei – also keine Verstopfungen oder unsaubere Layer – aber eben an der falschen Stelle weitergeführt. Ich konnte auch keine mechanischen Blockaden oder ungewöhnliche Widerstände an der Achse feststellen.

Falls jemand von euch sowas schon mal hatte oder weiß, wie man sowas weiter eingrenzen kann – ich wäre sehr dankbar für jeden Hinweis!

Bei Rückfragen gerne melden.

Danke schon mal!

...zum Beitrag

Lass Dir keinen Müll zum Riemen hier erzählen. EIn solcher "Layer-Shift" wird stets durch ein "Überspringen" des Schrittmotors hervorgerufen. Dies kann zwar durch zu viel Reibung auf dem ANtrieb durch den Riemen hervorgerufen werden, aber Zähne springen da nicht über. Der Schrittmotor verliert einen Vollschritt.

Wie kann man das verhindern?

Gute Kühlung der Elektronik und auch der Schrittmotore (allerdings nur, wenn die Schrittverluste bei längeren Drucken nach längerer Zeit auftreten). Kühlung ist aber immer eine gute Sache.

Mehr Strom für den Schrittmotor. Der Schrittmotor-Treiber hat ein kleiens Poti, da kann man dran drehen und dem Motor mehr Strom zuweisen. Das ist aber nicht ganz unkritisch. Man sollte einen derart kleinen Schraubenzieher (metallisch) und ein Multimeter haben, welches die Vergleichsspannung misst. Zunächst die Spannung, die aktuell eingestellt ist (z.B. 0,8V oder 1,4V) und dann diese Spannung auf einen geringfügig höheren Wert stellen (z.B. 0,9V oder 1,5V).

Dannd rucken und testen. Je höher diese Vergleichsspannung ist, desto mehr Strom bekommt der Motor, und desto wärmer kann er werden. Da macht ein Lüfter, der den Motor anbläst durchaus Sinn.

...zur Antwort

Es gibt eine recht einfache Möglichkeit, Drucke wasser und auch Luftdicht zu bekommen, so dass selbst Druckluft funktioniert.

Dazu wird der Druck in eine Art Backform gegeben und die Zwischenräume zwischen Form und Druck mit feinem Salz ausgefüllt. Dann wird das gaze (möglichst in einem Umluft-Herd mit drehendem Teller) gebacken, bei PLA z.B. mit 60 bis 80 Grad.

...zur Antwort