Vor einiger Zeit bin ich auf einen Artikel auf heise.de aufmerksam geworden: https://www.heise.de/ratgeber/Bauanleitung-fuer-den-einfachsten-Plotter-der-Welt-4684153.html
Ich fand die Idee eines preiswerten und einfachen Plotters recht witzig und hatte beschlossen, das Projekt nachzubauen. Hier eine kleine Zusammenfassung und Hinweise dazu.
Hardware - Voraussetzungen:
- Raspberry Pi 3 oder 4
- dünne Holzplättchen oder Eisstiele
- 3 Servos
- Verbindungskabel
- evtl. Steckplatine
- Heißkleber
- stabile Unterlage
Software - Vorausetzungen:
- Python 3.6+
Es bietet sich an, auf dem Rasberry Pi ein aktuelles Raspbian (Buster) am Laufen zu haben. Ansonsten muss man anders sicherstellen, dass ein aktuelles Python installiert ist.
Sofern man der Anleitung folgt, kann eigentlich nichts schief gehen. Der Plotter ist schnell gebaut. Allerdings muss man aufpassen, dass der Plotterarm wagerecht ausgerichtet ist. Ansonsten verändert sich der Abstand des Stiftes zum Untergrund je nach Position des Arms. Das kann aber gut durch den Heißkleber kontrolliert werden.
Am Ende erfolgte der Plot des Beispielbildes - und wie ich finde gar nicht mal so viel schlechter als aus der Anleitung.
Mit dem folgendem Dockerfile kann man sich ein passendes Docker-Image auf Basis des Heise-Artikels [1] mit allen notwendigen Softwarekomponenten erstellen:
FROM arm32v7/debian:bullseye-slim
MAINTAINER Ronny Friedland
RUN apt-get update
RUN apt-get install -y git wget unzip python3-pip build-essential libjpeg-dev zlib1g-dev
WORKDIR /tmp
RUN wget https://github.com/joan2937/pigpio/archive/master.zip
RUN unzip master.zip
WORKDIR /tmp/pigpio-master
RUN make
RUN make install
WORKDIR /plotter
RUN git clone https://github.com/MakeMagazinDE/BrachioGraph /plotter
RUN pip3 install --upgrade -r requirements.txt
ENV sourcefile tesla.json
CMD pigpiod && python3 -c "from brachiograph import BrachioGraph;BrachioGraph(inner_arm=8, outer_arm=8, bounds=(-8, 4, 4, 13), servo_1_degree_ms=-10, servo_2_degree_ms=10, servo_1_centre=1500, servo_2_centre=1500, pw_down=1850, pw_up=1500).plot_file('${sourcefile}')"
- Docker-Image bauen: docker build -f Dockerfile -t plotter .
- Docker-Container starten: docker run -it --rm --privileged --device /dev/gpiomem -e sourcefile=<plot-datei> plotter
[1] | https://www.heise.de/ratgeber/Bauanleitung-fuer-den-einfachsten-Plotter-der-Welt-4684153.html |