Search Results (Searched for: raspberry)
- unknown
- unknown
10 Jun 2025 20:59
Replied by unknown on topic Raspberry Pi Kernel recompile for waveshare 1Gbit Network interface
Raspberry Pi Kernel recompile for waveshare 1Gbit Network interface
Category: Computers and Hardware
Shouldn't need recompiling as, our images use a kernel built from the Raspberry Pi GitHub sources.
The only difference being is choosing the kernel config option for real time.
If the standard kernel doesn't work give me a yell and I'll build an update image, as there are a few minor things I would like to add.
The only difference being is choosing the kernel config option for real time.
If the standard kernel doesn't work give me a yell and I'll build an update image, as there are a few minor things I would like to add.
- mediocre_chloride
10 Jun 2025 14:54
Raspberry Pi Kernel recompile for waveshare 1Gbit Network interface was created by mediocre_chloride
Raspberry Pi Kernel recompile for waveshare 1Gbit Network interface
Category: Computers and Hardware
Hi all
My goal is to setup a raspberry pi with ethercat.
I have a raspberry Pi 5 with an additional network interface from waveshare ( here )
its planned to use this additional ethernet port for connecting the machine to the network, and the native Port on the Pi for Ethercat.
to use this additional Interface, the kernel needs to be recompiled with some additions to the config file.
I am not familiar with recompiling a kernel, thats why i am seeking help here.
Has anyone encountered similar issues?
Is there maybe a fixed Kernel to download so i dont need to do the recompile?
greetings
Marc
My goal is to setup a raspberry pi with ethercat.
I have a raspberry Pi 5 with an additional network interface from waveshare ( here )
its planned to use this additional ethernet port for connecting the machine to the network, and the native Port on the Pi for Ethercat.
to use this additional Interface, the kernel needs to be recompiled with some additions to the config file.
I am not familiar with recompiling a kernel, thats why i am seeking help here.
Has anyone encountered similar issues?
Is there maybe a fixed Kernel to download so i dont need to do the recompile?
greetings
Marc
- farmer_mike
- farmer_mike
07 Jun 2025 17:59
Replied by farmer_mike on topic Experimental XML config generator
Experimental XML config generator
Category: EtherCAT
Thanks for the help everyone. I decided to move my project to a Raspberry Pi 4, so I made sure to use the latest versions of LinuxCNC and Ethercat. I think I have the experimental XML config working now. I am a little unsure what to do with the output file.
I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.
The experimental XML config generator recognized all three drives in order.
Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.
The experimental XML config generator recognized all three drives in order.
Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<!-- Joint 0 -->
<slave idx="0" type="generic" vid="00000a88" pid="0a880002" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="88 13"/></sdoConfig> <!-- Max motor current (5.0) -->
<sdoConfig idx="2007" subIdx="6"><sdoDataRaw data ="05"/></sdoConfig> <!-- Input 6 - Emergency Stop -->
<sdoConfig idx="2007" subIdx="5"><sdoDataRaw data ="05"/></sdoConfig> <!-- Input 3 - Home Function -->
<sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig> <!-- Closed loop -->
<sdoConfig idx="6098" subIdx="0"><sdoDataRaw data ="11 00"/></sdoConfig> <!-- Home mode 17 -->
<sdoConfig idx="607C" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig> <!-- Home offset 0 -->
<sdoConfig idx="609A" subIdx="0"><sdoDataRaw data ="F4 01"/></sdoConfig> <!-- Home accelleration 500 -->
<sdoConfig idx="6099" subIdx="01"><sdoDataRaw data ="C4 09"/></sdoConfig> <!-- Home fast speed 2500-->
<sdoConfig idx="6099" subIdx="02"><sdoDataRaw data ="F4 01"/></sdoConfig> <!-- Home slow speed 500 -->
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<!-- Target Position -->
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<!-- Target Velocity -->
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
<!-- Digtial Outputs (manufacturer's extension ECT86/ECT60)-->
<pdoEntry idx="204A" subIdx="0" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="out-1" halType="bit"/>
<complexEntry bitLen="1" halPin="out-2" halType="bit"/>
<complexEntry bitLen="14"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
<!-- Digtial_inputs (cia402 compatible) -->
<pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="in-home" halType="bit"/>
<complexEntry bitLen="13"/>
<complexEntry bitLen="1" halPin="in-1" halType="bit"/>
<complexEntry bitLen="1" halPin="in-2" halType="bit"/>
<complexEntry bitLen="1" halPin="in-3" halType="bit"/>
<complexEntry bitLen="1" halPin="in-4" halType="bit"/>
<complexEntry bitLen="1" halPin="in-5" halType="bit"/>
<complexEntry bitLen="1" halPin="in-6" halType="bit"/>
<complexEntry bitLen="10"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>
<masters>
<master idx="0">
<slave idx="0" type="ECT60" name="D1">
<!-- Enable support for Cyclic Synchronous Position mode. -->
<modParam name="enableCSP" value="true"/>
<!-- Enable support for Cyclic Synchronous Velocity mode. -->
<modParam name="enableCSV" value="false"/>
<!-- Maximum stepper Amps. -->
<modParam name="peakCurrent_amps" value="6.0"/>
<!-- Operation mode: openloop, closedloop, or foc. -->
<modParam name="controlMode" value="closedloop"/>
<!-- Number of encoder steps per revolution. -->
<modParam name="encoderResolution" value="4000"/>
<!-- Output 1 use: general, alarm, brake, in-place. -->
<modParam name="output1Func" value="alarm"/>
<!-- Output 2 use: general, alarm, brake, in-place. -->
<modParam name="output2Func" value="brake"/>
<!-- Input 3 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input3Func" value="cw-limit"/>
<!-- Input 4 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input4Func" value="ccw-limit"/>
<!-- Input 5 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input5Func" value="home"/>
<!-- Input 6 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input6Func" value="motor-offline"/>
</slave>
<slave idx="1" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D2">
<!--RS750E(COE)-->
<modParam name="ciaRxPDOEntryLimit" value="9"/>
<modParam name="ciaTxPDOEntryLimit" value="9"/>
<modParam name="enablePP" value="true"/>
<modParam name="enablePV" value="true"/>
<modParam name="enableTQ" value="true"/>
<modParam name="enableHM" value="true"/>
<modParam name="enableCSP" value="true"/>
<modParam name="enableCSV" value="true"/>
<modParam name="enableCST" value="true"/>
<modParam name="enableActualFollowingError" value="true"/>
<modParam name="enableActualTorque" value="true"/>
<modParam name="enableDigitalInput" value="true"/>
<modParam name="digitalInChannels" value="16"/>
<modParam name="enableDigitalOutput" value="true"/>
<modParam name="digitalOutChannels" value="16"/>
<modParam name="enableErrorCode" value="true"/>
<modParam name="enableFollowingErrorTimeout" value="true"/>
<modParam name="enableFollowingErrorWindow" value="true"/>
<modParam name="enableHomeAccel" value="true"/>
<modParam name="enableMaximumCurrent" value="true"/>
<modParam name="enableMaximumTorque" value="true"/>
<modParam name="enablePolarity" value="true"/>
<modParam name="enablePositionDemand" value="true"/>
<modParam name="enablePositioningTime" value="true"/>
<modParam name="enablePositioningWindow" value="true"/>
<modParam name="enableProbeStatus" value="true"/>
<modParam name="enableProfileAccel" value="true"/>
<modParam name="enableProfileDecel" value="true"/>
<modParam name="enableProfileMaxVelocity" value="true"/>
<modParam name="enableProfileVelocity" value="true"/>
<modParam name="enableTargetTorque" value="true"/>
<modParam name="enableTorqueDemand" value="true"/>
<modParam name="enableTorqueSlope" value="true"/>
<modParam name="enableVelocityErrorTime" value="true"/>
<modParam name="enableVelocityErrorWindow" value="true"/>
</slave>
<slave idx="2" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D3">
<!--RS750E(COE)-->
<modParam name="ciaRxPDOEntryLimit" value="9"/>
<modParam name="ciaTxPDOEntryLimit" value="9"/>
<modParam name="enablePP" value="true"/>
<modParam name="enablePV" value="true"/>
<modParam name="enableTQ" value="true"/>
<modParam name="enableHM" value="true"/>
<modParam name="enableCSP" value="true"/>
<modParam name="enableCSV" value="true"/>
<modParam name="enableCST" value="true"/>
<modParam name="enableActualFollowingError" value="true"/>
<modParam name="enableActualTorque" value="true"/>
<modParam name="enableDigitalInput" value="true"/>
<modParam name="digitalInChannels" value="16"/>
<modParam name="enableDigitalOutput" value="true"/>
<modParam name="digitalOutChannels" value="16"/>
<modParam name="enableErrorCode" value="true"/>
<modParam name="enableFollowingErrorTimeout" value="true"/>
<modParam name="enableFollowingErrorWindow" value="true"/>
<modParam name="enableHomeAccel" value="true"/>
<modParam name="enableMaximumCurrent" value="true"/>
<modParam name="enableMaximumTorque" value="true"/>
<modParam name="enablePolarity" value="true"/>
<modParam name="enablePositionDemand" value="true"/>
<modParam name="enablePositioningTime" value="true"/>
<modParam name="enablePositioningWindow" value="true"/>
<modParam name="enableProbeStatus" value="true"/>
<modParam name="enableProfileAccel" value="true"/>
<modParam name="enableProfileDecel" value="true"/>
<modParam name="enableProfileMaxVelocity" value="true"/>
<modParam name="enableProfileVelocity" value="true"/>
<modParam name="enableTargetTorque" value="true"/>
<modParam name="enableTorqueDemand" value="true"/>
<modParam name="enableTorqueSlope" value="true"/>
<modParam name="enableVelocityErrorTime" value="true"/>
<modParam name="enableVelocityErrorWindow" value="true"/>
</slave>
</master>
</masters>
- farmer_mike
- farmer_mike
07 Jun 2025 17:55
test post was created by farmer_mike
test post
Category: Off Topic and Test Posts
Thanks for the help everyone. I decided to move my project to a Raspberry Pi 4, so I made sure to use the latest versions of LinuxCNC and Ethercat. I think I have the experimental XML config working now. I am a little unsure what to do with the output file.
I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.
The experimental XML config generator recognized all three drives in order.
Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
I'll paste two files below. The first file is the ethercat-conf.xml from my CNC project when I had a single axis using an Rtelligent ECT 60 stepper motor.The single axis worked, so I have since bought two Rtelligent RS750E AC Servo drives. All I have done with the RS750E drives is power them up and connect the Ethernet. I haven't done any onboard parameter programming yet.
The experimental XML config generator recognized all three drives in order.
Is the output from the experimental XML config generator meant to be used to create the ethercat-conf.xml file?
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
<!-- Joint 0 -->
<slave idx="0" type="generic" vid="00000a88" pid="0a880002" configPdos="true">
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="88 13"/></sdoConfig> <!-- Max motor current (5.0) -->
<sdoConfig idx="2007" subIdx="6"><sdoDataRaw data ="05"/></sdoConfig> <!-- Input 6 - Emergency Stop -->
<sdoConfig idx="2007" subIdx="5"><sdoDataRaw data ="05"/></sdoConfig> <!-- Input 3 - Home Function -->
<sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig> <!-- Closed loop -->
<sdoConfig idx="6098" subIdx="0"><sdoDataRaw data ="11 00"/></sdoConfig> <!-- Home mode 17 -->
<sdoConfig idx="607C" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig> <!-- Home offset 0 -->
<sdoConfig idx="609A" subIdx="0"><sdoDataRaw data ="F4 01"/></sdoConfig> <!-- Home accelleration 500 -->
<sdoConfig idx="6099" subIdx="01"><sdoDataRaw data ="C4 09"/></sdoConfig> <!-- Home fast speed 2500-->
<sdoConfig idx="6099" subIdx="02"><sdoDataRaw data ="F4 01"/></sdoConfig> <!-- Home slow speed 500 -->
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<!-- Target Position -->
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<!-- Target Velocity -->
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
<!-- Digtial Outputs (manufacturer's extension ECT86/ECT60)-->
<pdoEntry idx="204A" subIdx="0" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="out-1" halType="bit"/>
<complexEntry bitLen="1" halPin="out-2" halType="bit"/>
<complexEntry bitLen="14"/>
</pdoEntry>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
<pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
<!-- Digtial_inputs (cia402 compatible) -->
<pdoEntry idx="60FD" subIdx="0" bitLen="32" halType="complex">
<complexEntry bitLen="1" halPin="CW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="CCW-limit" halType="bit"/>
<complexEntry bitLen="1" halPin="in-home" halType="bit"/>
<complexEntry bitLen="13"/>
<complexEntry bitLen="1" halPin="in-1" halType="bit"/>
<complexEntry bitLen="1" halPin="in-2" halType="bit"/>
<complexEntry bitLen="1" halPin="in-3" halType="bit"/>
<complexEntry bitLen="1" halPin="in-4" halType="bit"/>
<complexEntry bitLen="1" halPin="in-5" halType="bit"/>
<complexEntry bitLen="1" halPin="in-6" halType="bit"/>
<complexEntry bitLen="10"/>
</pdoEntry>
</pdo>
</syncManager>
</slave>
</master>
</masters>
<masters>
<master idx="0">
<slave idx="0" type="ECT60" name="D1">
<!-- Enable support for Cyclic Synchronous Position mode. -->
<modParam name="enableCSP" value="true"/>
<!-- Enable support for Cyclic Synchronous Velocity mode. -->
<modParam name="enableCSV" value="false"/>
<!-- Maximum stepper Amps. -->
<modParam name="peakCurrent_amps" value="6.0"/>
<!-- Operation mode: openloop, closedloop, or foc. -->
<modParam name="controlMode" value="closedloop"/>
<!-- Number of encoder steps per revolution. -->
<modParam name="encoderResolution" value="4000"/>
<!-- Output 1 use: general, alarm, brake, in-place. -->
<modParam name="output1Func" value="alarm"/>
<!-- Output 2 use: general, alarm, brake, in-place. -->
<modParam name="output2Func" value="brake"/>
<!-- Input 3 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input3Func" value="cw-limit"/>
<!-- Input 4 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input4Func" value="ccw-limit"/>
<!-- Input 5 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input5Func" value="home"/>
<!-- Input 6 use: general, cw-limit, ccw-limit, home, clear-fault, emergency-stop, motor-offline, probe1, probe2 -->
<modParam name="input6Func" value="motor-offline"/>
</slave>
<slave idx="1" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D2">
<!--RS750E(COE)-->
<modParam name="ciaRxPDOEntryLimit" value="9"/>
<modParam name="ciaTxPDOEntryLimit" value="9"/>
<modParam name="enablePP" value="true"/>
<modParam name="enablePV" value="true"/>
<modParam name="enableTQ" value="true"/>
<modParam name="enableHM" value="true"/>
<modParam name="enableCSP" value="true"/>
<modParam name="enableCSV" value="true"/>
<modParam name="enableCST" value="true"/>
<modParam name="enableActualFollowingError" value="true"/>
<modParam name="enableActualTorque" value="true"/>
<modParam name="enableDigitalInput" value="true"/>
<modParam name="digitalInChannels" value="16"/>
<modParam name="enableDigitalOutput" value="true"/>
<modParam name="digitalOutChannels" value="16"/>
<modParam name="enableErrorCode" value="true"/>
<modParam name="enableFollowingErrorTimeout" value="true"/>
<modParam name="enableFollowingErrorWindow" value="true"/>
<modParam name="enableHomeAccel" value="true"/>
<modParam name="enableMaximumCurrent" value="true"/>
<modParam name="enableMaximumTorque" value="true"/>
<modParam name="enablePolarity" value="true"/>
<modParam name="enablePositionDemand" value="true"/>
<modParam name="enablePositioningTime" value="true"/>
<modParam name="enablePositioningWindow" value="true"/>
<modParam name="enableProbeStatus" value="true"/>
<modParam name="enableProfileAccel" value="true"/>
<modParam name="enableProfileDecel" value="true"/>
<modParam name="enableProfileMaxVelocity" value="true"/>
<modParam name="enableProfileVelocity" value="true"/>
<modParam name="enableTargetTorque" value="true"/>
<modParam name="enableTorqueDemand" value="true"/>
<modParam name="enableTorqueSlope" value="true"/>
<modParam name="enableVelocityErrorTime" value="true"/>
<modParam name="enableVelocityErrorWindow" value="true"/>
</slave>
<slave idx="2" type="basic_cia402" vid="0x00000a88" pid="0x0a880013" name="D3">
<!--RS750E(COE)-->
<modParam name="ciaRxPDOEntryLimit" value="9"/>
<modParam name="ciaTxPDOEntryLimit" value="9"/>
<modParam name="enablePP" value="true"/>
<modParam name="enablePV" value="true"/>
<modParam name="enableTQ" value="true"/>
<modParam name="enableHM" value="true"/>
<modParam name="enableCSP" value="true"/>
<modParam name="enableCSV" value="true"/>
<modParam name="enableCST" value="true"/>
<modParam name="enableActualFollowingError" value="true"/>
<modParam name="enableActualTorque" value="true"/>
<modParam name="enableDigitalInput" value="true"/>
<modParam name="digitalInChannels" value="16"/>
<modParam name="enableDigitalOutput" value="true"/>
<modParam name="digitalOutChannels" value="16"/>
<modParam name="enableErrorCode" value="true"/>
<modParam name="enableFollowingErrorTimeout" value="true"/>
<modParam name="enableFollowingErrorWindow" value="true"/>
<modParam name="enableHomeAccel" value="true"/>
<modParam name="enableMaximumCurrent" value="true"/>
<modParam name="enableMaximumTorque" value="true"/>
<modParam name="enablePolarity" value="true"/>
<modParam name="enablePositionDemand" value="true"/>
<modParam name="enablePositioningTime" value="true"/>
<modParam name="enablePositioningWindow" value="true"/>
<modParam name="enableProbeStatus" value="true"/>
<modParam name="enableProfileAccel" value="true"/>
<modParam name="enableProfileDecel" value="true"/>
<modParam name="enableProfileMaxVelocity" value="true"/>
<modParam name="enableProfileVelocity" value="true"/>
<modParam name="enableTargetTorque" value="true"/>
<modParam name="enableTorqueDemand" value="true"/>
<modParam name="enableTorqueSlope" value="true"/>
<modParam name="enableVelocityErrorTime" value="true"/>
<modParam name="enableVelocityErrorWindow" value="true"/>
</slave>
</master>
</masters>
- UweSauter
- UweSauter
06 Jun 2025 16:29 - 06 Jun 2025 16:33
Umbau der Steuerung auf LinuxCNC + EtherCAT was created by UweSauter
Umbau der Steuerung auf LinuxCNC + EtherCAT
Category: Deutsch
Hallo miteinander,
ich habe mir vor einigen Jahren eine Portalfräse in XXYZ Konfiguration selbst gebaut. Damals hatte ich mich für eine Steuerung entschieden, die auf der Software Syntheos G2 [1] und CNCjs [2] aufbaut. Als Hardware dazu dient ein Arduino Due mit einer selbst entworfenen Platine, um an all die Ausgänge zu kommen.
Meine Achsen werden von JMC iHSV57-30-18-36 Servos angetrieben, meine Spindel ist eine Mafell FM1000PV. Außerdem ist ein Pilz PNOZ X3 Sicherheitsgerät verbaut, dass bei Nothalt u.a. die Spannungsversorgung von Spindel und Servos unterbricht.
Aus mehreren Gründen möchte ich jetzt meine Steuerung umbauen. Der wichtigste davon ist, dass die Steuerung manchmal ohne ersichtlichen Grund mitten im Programm stecken bleibt, die Spindel dann aber weiter läuft… keine gute Situation, da sie einem das Werkstück versauen kann.
Für meine neue Steuerung habe ich mich dazu entschieden, LinuxCNC einzusetzen und auf EtherCAT als etablierten Industriebus zu setzen. Seit einiger Zeit gibt es die JMC Servos auch in einer EtherCAT Variante, sodass ich auf Schnittstellenkarten zur Erzeugung von Schritt- und Richtungspulsen verzichten kann. Zusätzlich möchte ich meine Achsen noch mit einem zweiten Limit-Switch ausstatten und ein XHC WHB04b-6 Handrad hinzufügen.
Es steht allerdings noch die Entscheidung aus, ob ich einen Laptop (Thinkpad T400 oder T430) oder einen Raspberry Pi 4 oder 5 als Fräsrechner verwende.
Bevor ich jetzt allerdings meine funktionierende Fräse auseinander nehme möchte ich die neue Steuerung in einem Testaufbau in Betrieb nehmen.
Dank der guten Beschreibung hier im Forum hatte ich kein Problem, die grundsätzliche EtherCAT Funktionalität einzurichten. Ich sehe alle Schnittstellenkarten und Servos und kann den Status der Ein- und Ausgänge auslesen. Allerdings fehlt mir irgendwie noch ein kleines, aber entscheidendes Stück Verständnis, wie die INI und HAL Dateien aufzubauen sind… vielleicht wäre jemand so hilfsbereit und würde eine funktionierende Konfiguration veröffentlichen? Natürlich nur als Spickzettel, um daraus zu lernen.
Es folgt eine Detailübersicht über den aktuellen Aufbau der Steuerung:
1 Laptop oder Raspi, mit USB Empfänger für das XHC WHB04b-6 Handrad, verbunden mit
2 Beckhoff EK1100 Buskoppler
3 Beckhoff EL1018 8-fach Digitaleingangskarte 10µs
4 Beckhoff EL1018 8-fach Digitaleingangskarte 10µs
5 Beckhoff EL2008 8-fach Digitalausgangskarte 0,5A
6 Beckhoff EL2008 8-fach Digitalausgangskarte 0,5A
7 Beckhoff EL2024 4-fach Digitalausgangskarte 2,0A
8 Beckhoff EL4104 4-fach Analogausgangskarte 0-10V
9 Beckhoff EK1122 2-fach EtherCAT Abzweig
10 JMC iHSV57-30-18-36-EC für X1-Achse
11 JMC iHSV57-30-18-36-EC für X2-Achse
12 JMC iHSV57-30-18-36-EC für Y-Achse
13 JMC iHSV57-30-18-36-EC für Z-Achse
Die Ein- und Ausgänge sind wie folgt belegt:
3.1 Limit-Switch X1 Min+Referenz
3.2 Limit-Switch X1 Max
3.3 Limit-Switch X2 Min+Referenz
3.4 Limit-Switch X2 Max
3.5 Limit-Switch Y Min+Referenz
3.6 Limit-Switch Y Max
3.7 Limit-Switch Z Min+Referenz
3.8 Limit-Switch Z Max
4.1 Werkzeuglängensensor
4.2 Erkennung Nothalt (von Ausgang Sicherheitsgerät)
4.3 Überwachung Spannungsversorgung Servos
4.4 - 4.8 zur Zeit nicht belegt
5.1 - 5.8 zur Zeit nicht belegt
6.1 - 6.8 zur Zeit nicht belegt
7.1 Ansteuerung Spannungsversorgung Frässpindel
7.2 Ansteuerung Spannungsversorgung Absaugung
7.3 - 7.4 zur Zeit nicht belegt
8.1 Drehzahlsteuerung Frässpindel
8.2 - 8.4 zur Zeit nicht belegt
Für die Konfiguration der Servos habe ich hier im Forum letztlich zwei unterschiedliche Möglichkeiten gefunden. Zum einen als "normales" CIA402 kompatibles Gerät oder, indem man die Konfiguration über PDOs selber macht. Gibt es dazu Empfehlungen? Ich hänge mal beide XML dazu an.
Ich würde mich über jeden Schubs in die richtige Richtung und über jede Hilfe freuen.
Da ich mir sicher bin, dass ich nicht alle notwendigen Informationen hier im ersten Post mitgeliefert habe, lasst mich wissen, was noch fehlt. Bei Interesse mache ich auch gerne Bilder von Fräse und Testaufbau.
Vielen Dank für die Unterstützung,
Uwe
[1] github.com/synthetos/g2
[2] cnc.js.org/
ich habe mir vor einigen Jahren eine Portalfräse in XXYZ Konfiguration selbst gebaut. Damals hatte ich mich für eine Steuerung entschieden, die auf der Software Syntheos G2 [1] und CNCjs [2] aufbaut. Als Hardware dazu dient ein Arduino Due mit einer selbst entworfenen Platine, um an all die Ausgänge zu kommen.
Meine Achsen werden von JMC iHSV57-30-18-36 Servos angetrieben, meine Spindel ist eine Mafell FM1000PV. Außerdem ist ein Pilz PNOZ X3 Sicherheitsgerät verbaut, dass bei Nothalt u.a. die Spannungsversorgung von Spindel und Servos unterbricht.
Aus mehreren Gründen möchte ich jetzt meine Steuerung umbauen. Der wichtigste davon ist, dass die Steuerung manchmal ohne ersichtlichen Grund mitten im Programm stecken bleibt, die Spindel dann aber weiter läuft… keine gute Situation, da sie einem das Werkstück versauen kann.
Für meine neue Steuerung habe ich mich dazu entschieden, LinuxCNC einzusetzen und auf EtherCAT als etablierten Industriebus zu setzen. Seit einiger Zeit gibt es die JMC Servos auch in einer EtherCAT Variante, sodass ich auf Schnittstellenkarten zur Erzeugung von Schritt- und Richtungspulsen verzichten kann. Zusätzlich möchte ich meine Achsen noch mit einem zweiten Limit-Switch ausstatten und ein XHC WHB04b-6 Handrad hinzufügen.
Es steht allerdings noch die Entscheidung aus, ob ich einen Laptop (Thinkpad T400 oder T430) oder einen Raspberry Pi 4 oder 5 als Fräsrechner verwende.
Bevor ich jetzt allerdings meine funktionierende Fräse auseinander nehme möchte ich die neue Steuerung in einem Testaufbau in Betrieb nehmen.
Dank der guten Beschreibung hier im Forum hatte ich kein Problem, die grundsätzliche EtherCAT Funktionalität einzurichten. Ich sehe alle Schnittstellenkarten und Servos und kann den Status der Ein- und Ausgänge auslesen. Allerdings fehlt mir irgendwie noch ein kleines, aber entscheidendes Stück Verständnis, wie die INI und HAL Dateien aufzubauen sind… vielleicht wäre jemand so hilfsbereit und würde eine funktionierende Konfiguration veröffentlichen? Natürlich nur als Spickzettel, um daraus zu lernen.
Es folgt eine Detailübersicht über den aktuellen Aufbau der Steuerung:
1 Laptop oder Raspi, mit USB Empfänger für das XHC WHB04b-6 Handrad, verbunden mit
2 Beckhoff EK1100 Buskoppler
3 Beckhoff EL1018 8-fach Digitaleingangskarte 10µs
4 Beckhoff EL1018 8-fach Digitaleingangskarte 10µs
5 Beckhoff EL2008 8-fach Digitalausgangskarte 0,5A
6 Beckhoff EL2008 8-fach Digitalausgangskarte 0,5A
7 Beckhoff EL2024 4-fach Digitalausgangskarte 2,0A
8 Beckhoff EL4104 4-fach Analogausgangskarte 0-10V
9 Beckhoff EK1122 2-fach EtherCAT Abzweig
10 JMC iHSV57-30-18-36-EC für X1-Achse
11 JMC iHSV57-30-18-36-EC für X2-Achse
12 JMC iHSV57-30-18-36-EC für Y-Achse
13 JMC iHSV57-30-18-36-EC für Z-Achse
Die Ein- und Ausgänge sind wie folgt belegt:
3.1 Limit-Switch X1 Min+Referenz
3.2 Limit-Switch X1 Max
3.3 Limit-Switch X2 Min+Referenz
3.4 Limit-Switch X2 Max
3.5 Limit-Switch Y Min+Referenz
3.6 Limit-Switch Y Max
3.7 Limit-Switch Z Min+Referenz
3.8 Limit-Switch Z Max
4.1 Werkzeuglängensensor
4.2 Erkennung Nothalt (von Ausgang Sicherheitsgerät)
4.3 Überwachung Spannungsversorgung Servos
4.4 - 4.8 zur Zeit nicht belegt
5.1 - 5.8 zur Zeit nicht belegt
6.1 - 6.8 zur Zeit nicht belegt
7.1 Ansteuerung Spannungsversorgung Frässpindel
7.2 Ansteuerung Spannungsversorgung Absaugung
7.3 - 7.4 zur Zeit nicht belegt
8.1 Drehzahlsteuerung Frässpindel
8.2 - 8.4 zur Zeit nicht belegt
Für die Konfiguration der Servos habe ich hier im Forum letztlich zwei unterschiedliche Möglichkeiten gefunden. Zum einen als "normales" CIA402 kompatibles Gerät oder, indem man die Konfiguration über PDOs selber macht. Gibt es dazu Empfehlungen? Ich hänge mal beide XML dazu an.
Ich würde mich über jeden Schubs in die richtige Richtung und über jede Hilfe freuen.
Da ich mir sicher bin, dass ich nicht alle notwendigen Informationen hier im ersten Post mitgeliefert habe, lasst mich wissen, was noch fehlt. Bei Interesse mache ich auch gerne Bilder von Fräse und Testaufbau.
Vielen Dank für die Unterstützung,
Uwe
[1] github.com/synthetos/g2
[2] cnc.js.org/
- Lcvette
05 Jun 2025 06:12
Replied by Lcvette on topic Confused about how to set up Probe Basic on a Raspberry Pi
Confused about how to set up Probe Basic on a Raspberry Pi
Category: QtPyVCP
we do now have rpi4 apt installation, just need to follow the installation guide for it. it is built in our buildbot.
kcjengr.github.io/probe_basic/development_quick_start_apt.html
kcjengr.github.io/probe_basic/development_quick_start_apt.html
- rodw
05 Jun 2025 03:06
Replied by rodw on topic Confused about how to set up Probe Basic on a Raspberry Pi
Confused about how to set up Probe Basic on a Raspberry Pi
Category: QtPyVCP
I don't think there is a prebuilt Probe Basic for the Pi. You would need to build from source
- Kieran
- Kieran
04 Jun 2025 18:16 - 04 Jun 2025 18:17
Replied by Kieran on topic xml and hal - I am lost
xml and hal - I am lost
Category: EtherCAT
Im at about the same step as you. Last night I used the XMLconfiggen to make an xml for the 3 servos i had plugged in at the time. seems reasonable at first glance but might need some edits. My Hal and Ini are based on Hakan's ethercat Rpi video/forum post. getting errors indicating my ini and hal are not up to snuff.
forum.linuxcnc.org/ethercat/42048-notes-...at-on-raspberry-pi-4
Tonight I will bash my head against the keyboard some more and see if I can get a servo to move.
forum.linuxcnc.org/ethercat/42048-notes-...at-on-raspberry-pi-4
Tonight I will bash my head against the keyboard some more and see if I can get a servo to move.
- NT4Boy
- NT4Boy
02 Jun 2025 12:35
Replied by NT4Boy on topic HURCO KMB-1 Control Update
HURCO KMB-1 Control Update
Category: Milling Machines
I think this is a raspberry PI issue as there is no fast sample rate option in the halscope.
Hopefully won't affect what I am doing, other than spoil my pictures.
Hopefully won't affect what I am doing, other than spoil my pictures.
- Hypnotoad
- Hypnotoad
01 Jun 2025 16:35
Confused about how to set up Probe Basic on a Raspberry Pi was created by Hypnotoad
Confused about how to set up Probe Basic on a Raspberry Pi
Category: QtPyVCP
I have a working configuration with LinuxCNC using AXIS and would like to try switching to Probe Basic. I've gone thru the Pncconf trying to create a Probe Basic configuration and it seems to require configuration of Mesa cards which I don't have. I'm using direct GPIO into a Rpi hat, which isn't directly supported from the standard stepconf tool either, but I was hoping to do what I did with stepconf -- make a config that assumes normal Linux parallel port configuration, and then modify that to use the Rpi GPIO HAL.
I saw a reference to a Probe Basic sim configuration in another thread with the suggestion that someone with a working normal stepconf config could look at the Probe Basic sim config and see what modifications need to be made. But I can't find that sim config.
Could someone point me in the right direction?
I saw a reference to a Probe Basic sim configuration in another thread with the suggestion that someone with a working normal stepconf config could look at the Probe Basic sim config and see what modifications need to be made. But I can't find that sim config.
Could someone point me in the right direction?
- tommylight
27 May 2025 20:50
You are welcomed, always.
Replied by tommylight on topic Up grading Debian 12 rt
Up grading Debian 12 rt
Category: General LinuxCNC Questions
You are not, it is a remnance of a Debian f@kup that is still dragging on.How am I running a raspberry pi all of a sudden?
Most probably not, proprietary NVIDIA drivers did not work at all on RT-Preempt kernel last i tried over a year ago.Is it possible to install a nvidia graphics card and still use Linuxcnc?
You are welcomed, always.
- aaron
- aaron
27 May 2025 20:09
Replied by aaron on topic Up grading Debian 12 rt
Up grading Debian 12 rt
Category: General LinuxCNC Questions
Thank you for this. That did the trick, but I have a couple of questions.
How am I running a raspberry pi all of a sudden?
And
Is it possible to install a nvidia graphics card and still use Linuxcnc?
Thanks again
Aaron
How am I running a raspberry pi all of a sudden?
And
Is it possible to install a nvidia graphics card and still use Linuxcnc?
Thanks again
Aaron
- MRTtechnology
27 May 2025 17:56
Replied by MRTtechnology on topic 7i97T+7i74+7i84+7i73
7i97T+7i74+7i84+7i73
Category: Driver Boards
with this firware which version of linuxcnc works. does it work on raspberry PI?
Estou a usar linuxcnc 2.9.1 e Raspberry Pi 4 8g
Estou a usar linuxcnc 2.9.1 e Raspberry Pi 4 8g
- AndyCNC
- AndyCNC
26 May 2025 06:47
Replied by AndyCNC on topic Not able to get outputs on GPIO of Raspberry5
Not able to get outputs on GPIO of Raspberry5
Category: Installing LinuxCNC
Thanks. When I use the naming in the linked config instead of the naming from docu it works!
I can see dir and step signals now on the correct pins.
One last problem before I can test with the machine. I use an enable signal for the stepper driver. I see it on the pin, but inverted. Is there a possibility to invert output pins at raspberry pi 5 or should I better do it in hardware?
I can see dir and step signals now on the correct pins.
One last problem before I can test with the machine. I use an enable signal for the stepper driver. I see it on the pin, but inverted. Is there a possibility to invert output pins at raspberry pi 5 or should I better do it in hardware?
- unknown
- unknown
26 May 2025 01:02
Replied by unknown on topic Not able to get outputs on GPIO of Raspberry5
Not able to get outputs on GPIO of Raspberry5
Category: Installing LinuxCNC
Link to manpage
linuxcnc.org/docs/devel/html/drivers/hal_gpio.html
First hint is here:
The GPIO line PIN3 can not be found.
PIN3 isn't a name of a pin, pins are named as per man page.
linuxcnc.org/docs/devel/html/drivers/hal_gpio.html
First hint is here:
The GPIO line PIN3 can not be found.
PIN3 isn't a name of a pin, pins are named as per man page.
Time to create page: 0.502 seconds