Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi Programmierung, Peripherie


von It E. (itet)


Lesenswert?

Einen guten Freitag Nachmittag allen!
Ich möchte die Peripherie des Raspberry PI mit maximaler Geschwindigkeit 
nutzen, die Programierung der Peripherie soll auf dem vorinstallierten 
Linux mit C/C++ erfolgen.
Das Datenblatt des Modells 4B habe ich mir runtergeladen und auch 
reingeschaut, die Infos erschlagen einen wenn man kein Profi ist. Ein 
Tutorial das mich durch das Datenblatt mit Schaltungs- und 
Programmierbeispielen leitet wäre da natürlich perfekt.

Projekt als Motivation:
Kleine Hobbyfräsmaschine mit 3 Achsen + eigene Bahnsteuerung.
Bedienung soll über eine GUI in Linux(Raspberry Pi bedingt) erfolgen, 
Programme werden als Textdatei eingelesen und verarbeitet.

P.S. Sollte es besser geeignete Plattformen als den RPI geben bin ich 
nicht abgeneigt. Den RPI habe ich gewählt wegen der großen Community, 
was nicht zu unterschätze ist denke ich.

von STK500-Besitzer (Gast)


Lesenswert?

Suchbegriff: wiringPi

von c-hater (Gast)


Lesenswert?

It E. schrieb:

> Kleine Hobbyfräsmaschine mit 3 Achsen + eigene Bahnsteuerung.

Vergiss es. Nicht unter Linux. Auch nicht mit RT-Kernel. Zwar Echtzeit, 
aber zu langsame Echtzeit für eine praktisch brauchbare Achsensteuerung.

Bare metal geht, aber dann kann man das auf anderer Hardwarebasis für 
viel weniger Geld umsetzen. Man profitiert dann schlicht nicht mehr von 
den Vorteilen eines Linux "dahinter".

Sprich: Mach' die eigentliche Steuerung mit unabhängiger Hardware ohne 
OS. Koppel das dann an einen RasPi.

Tipp: Viele Maschinensteuerungen auf PC-Basis funktionieren im Prinzip 
ganz genauso, sie haben eine dedizierte Hardware (ein µC-System) für den 
harten Echtzeitkram als Karte eingebaut.

von Timmo H. (masterfx)


Lesenswert?

Atmega mit Grbl gesteuert von einem RasPi über UART

von Gerald K. (geku)


Lesenswert?

STK500-Besitzer schrieb:
> Suchbegriff: wiringPi

Besser ist das I/O Handling über pigpio :

https://www.elektronik-kompendium.de/sites/raspberry-pi/2202121.htm

Vorteil  :  die Applikation, die PIGPIO vrwenden muss nicht über 
Root-Rechte verfügen.

von It E. (itet)


Lesenswert?

Timmo H. schrieb:
> Atmega mit Grbl gesteuert von einem RasPi über UART
Das ist ein sehr gutes Vorlagenprojekt! Ich müsste "nur" den Schaltplan 
abändern um Schrittmotoren bis 5A dranhängen zu können. Gefällt mir gut, 
dass man das mit AVRs realisieren kann.


c-hater schrieb:
> Tipp: Viele Maschinensteuerungen auf PC-Basis funktionieren im Prinzip
> ganz genauso, sie haben eine dedizierte Hardware (ein µC-System) für den
> harten Echtzeitkram als Karte eingebaut.
> ...
> Sprich: Mach' die eigentliche Steuerung mit unabhängiger Hardware ohne
> OS. Koppel das dann an einen RasPi.
Ja das GRBL-Projekt ist die ideale Vorlage!


Was könnte das kosten so eine Leiterplatte herstellen und bestücken zu 
lassen (ganz nach unten scrollen)?
http://www.jtronics.de/elektronik/xmega-tinyg-cnc-controller/

von Johannes S. (Gast)


Lesenswert?

Ersetze Mega durch STM32 oder LPC1768/9. Letzteren als SKR V1.4 fertig 
mit SM Treibern für ca. 60 €. Da läuft Smoothieware drauf, ein fertiges 
binary das zur Laufzeit aus einer Datei konfiguriert wird.
Für die STM32 gibt es grbl Adaptierungen die über 100 kHz 
Schrittfrequenz schaffen.

von Werner RT U. (Gast)


Lesenswert?

c-hater schrieb:
> It E. schrieb:
>
>> Kleine Hobbyfräsmaschine mit 3 Achsen + eigene Bahnsteuerung.
>
> Vergiss es. Nicht unter Linux.

Beim einem DMA funkt der Kernel wohl nicht dazwischen:

https://github.com/Nikolay-Kha/PyCNC

[code]
This module can copy bytes which represent GPIO states from RAM buffer 
directly to GPIO with some clock based on main chip internal oscillator 
without using CPU's cores.
[code]

von It E. (itet)


Lesenswert?

Kennt jemand Planet-CNC? Das sieht recht professionell aus und der Preis 
für Steuerung und Motortreiber sind eigentlich noch vertretbar fürs 
Hobby. Die Steuerung ist auch auf allen gängigen Plattformen zu haben:

https://planet-cnc.com/milling/

Das zweite der beiden Produktvideos ist beeindruckend.

: Bearbeitet durch User
von PittyJ (Gast)


Lesenswert?

Ich mache es immer zweigeteilt. Für Gui und Logik-Kontrolle nehme ich 
Linux. Aber wenn ich Echtzeit-Steuerung braucht, dann setze ich immer 
noch einen eigenen ARM-M0 oder FPGA daran. Da funkt dann nichts 
dazwischen oder stürzt ab.
Und so ein kleiner M0 kostet nicht viel.

von Schlaumaier (Gast)


Lesenswert?

It E. schrieb:
> Ein
> Tutorial das mich durch das Datenblatt mit Schaltungs- und
> Programmierbeispielen leitet wäre da natürlich perfekt.

Kauf die ein Buch wie z.b. "coole projekte mit raspberry pi". Was ich 
gemacht habe. Da wird alles wichtige erklärt.

Oder versuchs hiermit wenn du Englisch kannst. 
https://www.chip.de/downloads/Raspberry-Pi-Kostenloses-Tutorial-als-eBook_108843032.html

von It E. (itet)


Lesenswert?

PittyJ schrieb:
> Und so ein kleiner M0 kostet nicht viel.

Ist vielleicht genau der richtige Zeitpunkt mal endlich auf ARM 
umzusteigen. Er soll ja ziemlich einsteigerfreundlich sein.

von It E. (itet)


Lesenswert?

It E. schrieb:
> Ist vielleicht genau der richtige Zeitpunkt mal endlich auf ARM
> umzusteigen. Er soll ja ziemlich einsteigerfreundlich sein.

Ist halt nur die Frage ob M0 oder M3. Könntet ihr einen brauchbaren 
modernen Vertreter beider Typen benennen?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

It E. schrieb:
> Ist halt nur die Frage ob M0 oder M3. Könntet ihr einen brauchbaren
> modernen Vertreter beider Typen benennen?

STM32L031
STM32L073
STM32F303

Der letzte ist ein M4F, aber billiger und in vermutlich jeder Hinsicht 
besser als sein Vorgänger STM32F103... Nein doch nicht, seine Ausgänge 
sind etwas in Summe weniger hoch belastbar.

http://stefanfrings.de/stm32/index.html

von Johannes S. (Gast)


Lesenswert?

It E. schrieb:
> Ist halt nur die Frage ob M0 oder M3. Könntet ihr einen brauchbaren
> modernen Vertreter beider Typen benennen?

Brauchbar sind die glaube ich alle. Aber schon alleine bei ST hast du 
die unendliche Qual der Wahl. Und da eine FPU den µC gerade im 
Hobbybereich kaum nennenswert teurer macht, würde ich die M3 sowieso 
links liegen lassen.
https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html
Die STM32F3 haben mehr Gimmicks für analoge Signalverarbeitung, die F4 
einiges mehr an digitalen Interfaces wie Ethernet, SDIO, FSMC. Da muss 
man sich mal durch die Perfomance Klassen hangeln.

von It E. (itet)


Lesenswert?

Stefan ⛄ F. schrieb:
> http://stefanfrings.de/stm32/index.html

Sehr umfangreiche Informationssammlung!

: Bearbeitet durch User
von Zeno (Gast)


Lesenswert?

It E. schrieb:
> Was könnte das kosten so eine Leiterplatte herstellen und bestücken zu
> lassen (ganz nach unten scrollen)?

So eine Leiterplatte kostet beim Chinamann ca. 10$ + Versand. JLC z.B. 
bestückt auch, aber das kann man auch selber machen.

von It E. (itet)


Lesenswert?

Zeno schrieb:
> So eine Leiterplatte kostet beim Chinamann ca. 10$ + Versand. JLC z.B.
> bestückt auch, aber das kann man auch selber machen.

Bei 10 Euro denke ich gar nicht mehr dran es selbst zu machen :) Danke 
für die Hausnummer.

von Stefan F. (Gast)


Lesenswert?

Zeno schrieb:
> So eine Leiterplatte kostet beim Chinamann ca. 10$ + Versand. JLC z.B.
> bestückt auch, aber das kann man auch selber machen.

Wie sind da die Lieferzeiten? Auch 1-3 Monate?

von Timmo H. (masterfx)


Lesenswert?

Letzte Bestellung JLC war bei mir 8 Tage (DHL express). Brief ist meist 
12-20 Tage

von Stefan F. (Gast)


Lesenswert?

Timmo H. schrieb:
> Letzte Bestellung JLC war bei mir 8 Tage (DHL express). Brief ist
> meist 12-20 Tage

Klingt gut, danke.

von It E. (itet)


Lesenswert?

Ich habe einen relativ simplen Schaltplan für einen Steppermotor bis 30V 
und 2A Phasenstrom gefunden, man kann für knappe 4 Euro die 
vorgefertigte Platine kaufen, bestücken soll wohl auch flott gehen. 
Programmbeispiel ist auch dabei.

Website mit Artikel:
https://www.mikrocontroller-elektronik.de/schrittmotortreiber-rn-stepp297/

Ich denke damit mache ich mal meine ersten Gehversuche.

Wenn ich angenommen Holz und Aluminium damit fräsen können will, reicht 
dafür dieser Motor: Denki Schrittmotor Typ 103-770-1640?

Kann jemand eine ko konkrete Empfehlung aussprechen?

: Bearbeitet durch User
von It E. (itet)


Lesenswert?

It E. schrieb:
> Wenn ich angenommen Holz und Aluminium damit fräsen können will, reicht
> dafür dieser Motor: Denki Schrittmotor Typ 103-770-1640?
>
> Kann jemand eine ko konkrete Empfehlung aussprechen?

Habe eine Auslegungsseite für Schrittmotoren gefunden, damit sind meine 
beiden Fragen erstmal hinfällig.

von Stefan F. (Gast)


Lesenswert?

Ganz ehrlich: Ich würde diese Boards im 21. Jahrhundert nicht mehr 
verwenden. Die L29x Chips darauf scheinen uralte Restbestände zu sein.

Heute gibt es deutlich kompaktere Lösungen, weil sie weniger 
Wärmeverluste haben. Zum Beispiel:
https://www.amazon.de/Paradisetronic-com-DRV8825-Schrittmotor-Treiber-Modul-K%C3%BChlk%C3%B6rper-CNC-Shield/dp/B01JIW13RY

Damit bekommst du auch noch Microstepping ohne Aufpreis.

von Theor (Gast)


Lesenswert?

It E. schrieb:
> [...]
> Habe eine Auslegungsseite für Schrittmotoren gefunden, damit sind meine
> beiden Fragen erstmal hinfällig.

Vielleicht ist diese Seite von allgemeinem Interesse.
Magst Du mal den Link posten?

von It E. (itet)


Lesenswert?

Theor schrieb:
> Vielleicht ist diese Seite von allgemeinem Interesse.
> Magst Du mal den Link posten?

Das ist die Website:
https://www.precifast.de/spannkraft-schnittkraefte-berechnen/

Hier wird die Spankraft/Schnittkraft berechnet, aus welcher dann das 
erforderliche Motormoment berechnet wird:
https://www.precifast.de/schrittmotor-auslegung-und-auswahl/

Die Berechnung kommt fast ganz am Schluss der Website, daher hier die 
Formel: M_min = (F_min*p) / (2*pi)
F_min ist die Schnittkraft
p ist die Gewindesteigung der Spindel

Der aufwändige Teil ist aber die Berechnung der Schnittkraft.

von Theor (Gast)


Lesenswert?


von It E. (itet)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ganz ehrlich: Ich würde diese Boards im 21. Jahrhundert nicht mehr
> verwenden. Die L29x Chips darauf scheinen uralte Restbestände zu sein.
> Heute gibt es deutlich kompaktere Lösungen, weil sie weniger
> Wärmeverluste haben. Zum Beispiel:
> 
https://www.amazon.de/Paradisetronic-com-DRV8825-Schrittmotor-Treiber-Modul-K%C3%BChlk%C3%B6rper-CNC-Shield/dp/B01JIW13RY
>
> Damit bekommst du auch noch Microstepping ohne

Komme nicht aus der E-Technik Ecke, danke für den Hinweis und Link! 5€ 
pro Modul ist super, da bastel ich natürlich nix mehr.

von It E. (itet)


Lesenswert?

Nachdem ich nun einige Datenblätter durchgeschaut habe (Phytron, Isel, 
Trinamic), glaube ich sind Schrittmotoren nicht ideal für eine CNC-Fräse 
aus diesen einfachen Gründen:

- Schnelle Verfahrgeschwindigkeiten bedeuten hohe Drezhalen des 
Schrittmotors, dann bricht aber das Haltemoment sehr stark ein.
- Eine hohe Verfahrgeschwindigkeit durch niedrige Drehzahl und hohe 
Gewindesteigung zu erzielen ist wie man sich vorstellen kann auch nicht 
möglich. Selbst wenn das möglich wäre, steigt das erforderliche 
Haltemoment mit zunehmender Steigung an (Haltemoment_min = Schnittkraft 
* Steigung / (2*pi)

Ich habe die Berechnungsdaten von dieser Beispielrechnung als Basis 
genommen:
https://www.precifast.de/spannkraft-schnittkraefte-berechnen/

Fazit:
Wenn man sich damit zufrieden gibt max. 1mm in Alu zuzustellen 
(Stirnfräsen) und langsame Verfahrgeschwindigkeiten in Kauf nimmt, dann 
fährt man mit Schrittmotoren vermutlich doch ganz gut (müsste man aber 
nachrechnen).
Klar könnte man durch Übersetzungen auch noch viel rausholen, aber dann 
wird das ganze System ungleich komplizierter, ich finde Direktantriebe 
am besten.
Da ich kein Vermögen ausgeben will werde ich die Idee mit Schritmotoren 
vorerst nicht ganz verwerfen.

Eigentlich müsste man Servomotoren mit Getriebe verwenden. Ist das viel 
komplexer in der Ansteuerung? Dass man die Position auswerten muss ist 
klar, da ich hier ja nciht schrittwreise fahre. Könnt ihr mir 
weiterhelfen? Ich begebe mich dann auch mal auf die Suche in guugel.

: Bearbeitet durch User
von It E. (itet)


Lesenswert?

It E. schrieb:
> Wenn man sich damit zufrieden gibt max. 1mm in Alu zuzustellen
> (Stirnfräsen) und langsame Verfahrgeschwindigkeiten in Kauf nimmt, dann
> fährt man mit Schrittmotoren vermutlich doch ganz gut (müsste man aber
> nachrechnen).

Jetzt muss ich mich doch nochmal korrigieren, habe da etwas falsch 
verstanden. Zuerst muss man zwischen Halte- und Betriebsdrehmoment 
unterscheiden. Das Haltemoment ist zweitrangig, das Betriebsdrehmoment 
ist wichtig und das bekommt aus dem Datenblatt aus dem 
Drehmoment/Drehzahl Diagramm. Das Haltemoment ist das Betriebsdrehmoment 
bei Drehzahl 0.

Stellt man viel zu, muss man halt langsam verfahren, dann hat man das 
hohe Betriebsdrehmoment, im Eilgang oder bei wenig Zustellung oder bei 
Holz, braucht man nicht so viel Drehmoment, demnach kann man auch 
schneller verfahren.

Fazit: Man kann auch mit Schrittmotoren gute CNC-Fräsen bauen, aus 
meiner Sicht sollten die aber ein Drehmoment 4-5Nm oder mehr haben wenn 
man Alu ordentlich bearbeiten will.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

It E. schrieb:
> Fazit: Man kann auch mit Schrittmotoren gute CNC-Fräsen bauen

das scheint so zu sein, ich habe schon die ein- oder andere Fräse 
gesehen die Schrittmotoren in den Antrieben hatte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.