Advanced Search

Search Results (Searched for: )

  • andypugh
  • andypugh's Avatar
22 Jun 2025 19:04

M6 shuts off spindle, but no UI confirmation, and program doesn't pause

Category: Basic Configuration

M3 probably _could_ be remappable. It would just need the hooks adding to the code. After literally seconds of contemplation I can't think of anything that means it fundamentally couldn't be remapped if the code was modified to handle it.
  • lex200
  • lex200
22 Jun 2025 19:04

Issue with Inverse Kinematics Failing During Homing – 3-Axis Robot with LinuxCNC

Category: HAL

The issue is that I'm not even able to move the robot arm, because it requires me to perform a 'Home All' operation before initiating any movement. I'm 90% sure that the problem lies in the incorrect application of DH parameters on my part. The tricky part is that it's so simple, I have no further idea what could be going wrong. I've been stuck at this point for a couple of days now, and still no progress. Later, I plan to rebuild the project from scratch to avoid any unnecessary correlations with the original Puma source files. Maybe that will help.
  • andypugh
  • andypugh's Avatar
22 Jun 2025 18:46
Replied by andypugh on topic Error compiling modbus configuration file

Error compiling modbus configuration file

Category: Advanced Configuration

My guess would be that you lost the { at the end of
static const hm2_modbus_chan_descriptor_t channels[] = {
or possibly the one that terminates that set.

If you still have the good and bad files, then could you attach them? I don't think that I can make the compiler more helpful in it's error messages, but possibly the preprocessor could be.
  • Creative25
  • Creative25
22 Jun 2025 18:36
Replied by Creative25 on topic TB 6600 getting hot

TB 6600 getting hot

Category: Driver Boards

How good are the clones they sell o AliExpress?

Has anyone tried one of these on a Nena 23 motors.

embeddedtronicsblog.wordpress.com/2020/06/24/tmc2160/
  • andypugh
  • andypugh's Avatar
22 Jun 2025 18:36

Issue with Inverse Kinematics Failing During Homing – 3-Axis Robot with LinuxCNC

Category: HAL

Note that all that I know about kinematics is that it confuses me...

Forward kinematics takes the joint positions and calculates the end effector position. This will always work and will always return exactly one solution.

Inverse kins takes the required end effector position and calculates the joint positions to achieve that. Sometimes there is no solution (because the arm simply can't reach that point). Sometimes there are multiple solutions (in fact there _generaly_ are.
So, the kins has to choose a solution. And sometimes it can lock itself in a corner, where there are solutions for the current position, and for the next position, but it would have to pass through a "wrong" position to get there.
This isn't just robots. I am sure you have been in this position with your own arms.... The difference is that you have a brain and are not blindly following what is basically a relatively simple mathematical equation which has no predictive capability.

So, back to your questiion: Homing happens in joint space, using forward kinematics. So presumably you only see the error after homing is completed, and the system switches to "world mode" and inverse kins.
Maybe your home position (in XYZABC rather than joint angles) simply isn't reachable? (or, doesn't _actually_ correspond to the joints-homed position?)
  • Aciera
  • Aciera's Avatar
22 Jun 2025 18:34 - 22 Jun 2025 18:38

Axis view options are not persistant between sessions. Any thoughts?

Category: AXIS

I see.
Looking at line 2968 makes me think that 'hide pyvcp' was simply not intended to be persistent by the original author:
github.com/LinuxCNC/linuxcnc/commit/6948...6d967654a7R250-R2968
  • wm56
  • wm56
22 Jun 2025 17:56 - 22 Jun 2025 17:58

Probe Basic Not Remembering Current Pocket Number

Category: QtPyVCP

Cześć.
Jak udało Ci się wyświetlić paski obciążenia servo w Probe Basic? Czy zrezygnowałeś z nich? Ja również używam tej karty od Dmitry'ego i jestem ciekaw, jak to rozwiązałeś.
  • lex200
  • lex200
22 Jun 2025 17:50

Issue with Inverse Kinematics Failing During Homing – 3-Axis Robot with LinuxCNC

Category: HAL

Hi,I am currently developing control software for a 3-axis robotic arm using LinuxCNC together with a Mesa 7i96S motion controller. Everything has worked well so far, until I ran into issues related to the Denavit-Hartenberg (DH) parameters defined in the HAL file.As a base, I used the Puma560 example, which worked correctly with the default DH parameters. However, after replacing them with my own DH values, I started encountering problems. Specifically, I’m unsure how to properly handle fixed theta values within LinuxCNC’s DH parameter structure, since there seems to be no direct way to set them.I have created a precise mechanical model of the robot and derived the necessary DH parameters accordingly. Despite this, I consistently receive an "Inverse Kinematics Failed" error whenever I attempt to run the "Home All" sequence for the joints.I’ve attached both the DH parameter values and a visual representation of the robot. The actual robot has 5 axes, but for the purposes of this project, I am controlling only 3 of them using stepper motors to keep the setup simple. I would be very grateful for any advice or guidance on how to resolve this issue.Best regards,
Lex 
  • endian
  • endian's Avatar
22 Jun 2025 17:48

Problems switching PDO assignments (EP5101-0011)

Category: EtherCAT

in the lower left corner you has the 2 check boxes ... check both and do the restart solution and activate solution ... 

everything should be written in the local memory ... but maybe you will probably need the initCmds file 

do not forget to activate DC .. because it is not active from default .. just SM synchro

if you are lazy, just use the console   to generate right configuration ... double click on the .exe ... then "c -i" enter .. then drag and drop your full master config export... 
  • cakeslob
  • cakeslob
22 Jun 2025 17:20

Axis view options are not persistant between sessions. Any thoughts?

Category: AXIS

hes talking about some of the options in view menu are persistent across reboots and save settings with .axis_preference , but some options , like " Hide PYVCP" are not persistent, and pyvcp needs to be hidden every boot.

The inches/mm one should be something in ini file thought. there are default configs that load with inches, and some mm.
  • kubes
  • kubes
22 Jun 2025 16:32
Replied by kubes on topic Probing alert on missing parameters

Probing alert on missing parameters

Category: QtPyVCP

Yes as stated they are being saved to the .var file.

How do I know what release of Probe Basic I am running, the about does not have any release versions listed. I installed via the repositories. I did upgrade via apt....

python3-qtpyvcp/develop,now 5.0.2-19.dev amd64 [installed]
python3-probe-basic/develop,now 0.6.0-118.dev amd64 [installed]

The github pages shows 0.4.0, so not sure if I have the correct release.
  • Hakan
  • Hakan
22 Jun 2025 16:26

Problems switching PDO assignments (EP5101-0011)

Category: EtherCAT

I don't know anything about this device, but it doesn't hurt do a "ethercat rescan" after you made changes to the device.
  • meister
  • meister
22 Jun 2025 16:15

LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

Category: Computers and Hardware

in general, FPGAs and microcontrollers also have undefined outputs at startup, so there should be a pullup or donw resistor on each one (all are floating by default).

in the case of the shift register, i'm not sure right now :(
they are always set to output and i thought that they are always set to 0 at first.

you can use as many of the same plugins next to each other as you want and as much space as you have :)

for modbus (frame IO), it should always be on the master FPGA,
I'm not sure if it works properly on a slave.
For encoders with index I have to check again, because there is an inout pin.

the uart plugin for connecting several FPGAs doesn't have much to do with modbus, it can simply use RS485, so that's not a problem either.
  • workshop54
  • workshop54
22 Jun 2025 16:13 - 22 Jun 2025 16:14

7i77 +-10V outputs: unexpected voltage with analogena, no output with analogout

Category: Driver Boards

Ah, yes. ping (3,4) indeed do show the correct voltage. But now I'm completely confused where the ground from the drive and the cable shielding should be connected. 

If I understand the manual correctly:

  1. The twisted pair wiring shield should be connected to the 7i77 GNDN (pin 3), which is now used for the +-10V signal
  2. The drives common or GND signal should be connected to the 7I77 power GND with a separate wire. Where is the power GND on the 7i77? 

    Perhaps I'm miisreading something but that's what I got out of it.

     

     
  • PedPEx
  • PedPEx
22 Jun 2025 16:09

Problems switching PDO assignments (EP5101-0011)

Category: EtherCAT

Hello all :D

i'm trying to implement a Beckhoff EP5101-0011 incremental encoder input into LinuxCNC with its 32bit counter. I need to read glass scale inputs with around 520 mm in length and a resolution of 1 µm. For that i need atleast 19 bit, and its standard PDO assignment with the "compact" 16bit encoder-value doesn't cut it. 

I can easily change the PDO assignment in the EtherCAT-Configurator application and the EP5101 activates the 32bit counter, after reconnecting the LinuxCNC machine it is also able to use the bigger counter, but after power cycling the device, it defaults back to the 16bit counter. So i tried to set the correct PDO assignments via SDO uploads, but that did also not work, it doesn't want to change in the "big counter mode" via LinuxCNC. 

It also complained about the other SDO uploads (settings), but that's a problem for later.
What exactly do i have to change, to initialize the encoder input to its 32bit PDO setting?

Thank you in advance for your help :)
<!-- EP5101 - Incr. Encoder Input -->
        <slave idx="9" type="generic" vid="0x00000002" pid="0x13ed4052" name="0571_EP5101">
            <!-- configure counter for 32bit -->
                <sdoConfig idx="1C12" subIdx="1"><sdoDataRaw data ="00 16"/></sdoConfig>  <!-- switch to 32bit RxPDO assign-->
                <sdoConfig idx="1C13" subIdx="1"><sdoDataRaw data ="00 1A"/></sdoConfig>  <!-- switch to 32bit TxPDO assign-->
            <!-- overall configuration -->
                <!-- Enable C reset -->
                <sdoConfig idx="8000" subIdx="01"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Enable extern reset -->
                <sdoConfig idx="8000" subIdx="02"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Enable up/down counter -->
                <sdoConfig idx="8000" subIdx="03"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Gate polarity -->
                <sdoConfig idx="8000" subIdx="04"><sdoDataRaw data ="01 00 00 00"/></sdoConfig>
                <!-- Disable filter -->
                <sdoConfig idx="8000" subIdx="08"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Enable micro increments -->
                <sdoConfig idx="8000" subIdx="0A"><sdoDataRaw data ="00"/></sdoConfig>
                <!-- Open cicruit detection A -->
                <sdoConfig idx="8000" subIdx="0B"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Open cicruit detection B -->
                <sdoConfig idx="8000" subIdx="0C"><sdoDataRaw data ="01"/></sdoConfig>
                <!-- Open cicruit detection C -->
                <sdoConfig idx="8000" subIdx="0D"><sdoDataRaw data ="00"/></sdoConfig>
                <!-- Reversion of rotation -->
                <sdoConfig idx="8000" subIdx="0E"><sdoDataRaw data ="00"/></sdoConfig>
                <!-- Extern reset polarity -->
                <sdoConfig idx="8000" subIdx="10"><sdoDataRaw data ="01 00 00 00"/></sdoConfig>
                <!-- Frequency window -->
                <sdoConfig idx="8000" subIdx="11"><sdoDataRaw data ="10 27"/></sdoConfig>
                <!-- Frequency scaling -->
                <sdoConfig idx="8000" subIdx="13"><sdoDataRaw data ="64 00 00 00"/></sdoConfig>
                <!-- Period scaling -->
                <sdoConfig idx="8000" subIdx="14"><sdoDataRaw data ="64 00 00 00"/></sdoConfig>
                <!-- Frequency resolution -->
                <sdoConfig idx="8000" subIdx="15"><sdoDataRaw data ="64 00 00 00"/></sdoConfig>
                <!-- Period resolution -->
                <sdoConfig idx="8000" subIdx="16"><sdoDataRaw data ="64 00 00 00"/></sdoConfig>
                <!-- Frequency wait time -->
                <sdoConfig idx="8000" subIdx="17"><sdoDataRaw data ="40 06"/></sdoConfig>
            <!-- configure SyncManagers -->
            <syncManager idx="0" dir="in"/>
            <syncManager idx="1" dir="out"/>
            <syncManager idx="2" dir="out">
                <!-- ENC RxPDO-Map Control -->
                <pdo idx="1601">
                    <!-- Enable latch C -->
                    <pdoEntry idx="7000" subIdx="01" bitLen="1" halPin="enable-latch-C" halType="bit"/>
                    <!-- Enable latch extern on positive edge -->
                    <pdoEntry idx="7000" subIdx="02" bitLen="1" halPin="ena-latch-ext-on-pos_edge" halType="bit"/>
                    <!-- Set counter -->
                    <pdoEntry idx="7000" subIdx="03" bitLen="1" halPin="set-counter" halType="bit"/>
                    <!-- Enable latch extern on negative edge -->
                    <pdoEntry idx="7000" subIdx="04" bitLen="1" halPin="ena-latch-ext-on-neg_edge" halType="bit"/>
                    <!-- Set counter value -->
                    <pdoEntry idx="7000" subIdx="11" bitLen="32" halPin="set-counter_value" halType="u32"/>
                </pdo>
            </syncManager>
            <syncManager idx="3" dir="in">
                <!-- ENC TxPDO-Map Status -->
                <pdo idx="1a01">
                    <!-- Latch C valid -->
                    <pdoEntry idx="6000" subIdx="01" bitLen="1" halPin="latch-c-valid" halType="bit"/>
                    <!-- Latch extern valid -->
                    <pdoEntry idx="6000" subIdx="02" bitLen="1" halPin="latch-extern-valid" halType="bit"/>
                    <!-- Set counter done -->
                    <pdoEntry idx="6000" subIdx="03" bitLen="1" halPin="set-counter-done" halType="bit"/>
                    <!-- Counter underflow -->
                    <pdoEntry idx="6000" subIdx="04" bitLen="1" halPin="counter-underflow" halType="bit"/>
                    <!-- Counter overflow -->
                    <pdoEntry idx="6000" subIdx="05" bitLen="1" halPin="counter-overflow" halType="bit"/>
                    <!-- Status of input status -->
                    <pdoEntry idx="6000" subIdx="06" bitLen="1" halPin="status-of-input-status" halType="bit"/>
                    <!-- Open circuit -->
                    <pdoEntry idx="6000" subIdx="07" bitLen="1" halPin="open-circuit" halType="bit"/>
                    <!-- Extrapolation stall -->
                    <pdoEntry idx="6000" subIdx="08" bitLen="1" halPin="extrapolation-stall" halType="bit"/>
                    <!-- Status of input A -->
                    <pdoEntry idx="6000" subIdx="09" bitLen="1" halPin="status-A" halType="bit"/>
                    <!-- Status of input B -->
                    <pdoEntry idx="6000" subIdx="0a" bitLen="1" halPin="status-B" halType="bit"/>
                    <!-- Status of input C -->
                    <pdoEntry idx="6000" subIdx="0b" bitLen="1" halPin="status-C" halType="bit"/>
                    <!-- Status of input gate -->
                    <pdoEntry idx="6000" subIdx="0c" bitLen="1" halPin="status-gate" halType="bit"/>
                    <!-- Status of extern latch -->
                    <pdoEntry idx="6000" subIdx="0d" bitLen="1" halPin="status-ext_latch" halType="bit"/>
                    <!-- Sync error -->
                    <pdoEntry idx="1c32" subIdx="20" bitLen="1" halPin="sync-error" halType="bit"/>
                    <!-- TxPDO State -->
                    <pdoEntry idx="1800" subIdx="07" bitLen="1" halPin="TxPDO-state" halType="bit"/>
                    <!-- TxPDO Toggle -->
                    <pdoEntry idx="1800" subIdx="09" bitLen="1" halPin="TxPDO-toggle" halType="bit"/>
                    <!-- Counter value -->
                    <pdoEntry idx="6000" subIdx="11" bitLen="32" halPin="counter_value" halType="u32"/>
                    <!-- Latch value -->
                    <pdoEntry idx="6000" subIdx="12" bitLen="32" halPin="latch_value" halType="u32"/>
                </pdo>
            </syncManager>
        </slave>
Displaying 166 - 180 out of 25749 results.
Time to create page: 0.404 seconds
Powered by Kunena Forum