Advanced Search

Search Results (Searched for: )

  • bnet
  • bnet's Avatar
19 Jan 2025 19:03

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

Thanks for confirming this, I haven't used multiple Mesa boards at once before. What a great system.
  • Aciera
  • Aciera's Avatar
19 Jan 2025 18:53 - 19 Jan 2025 18:57
Replied by Aciera on topic Custom scara kinematic.

Custom scara kinematic.

Category: General LinuxCNC Questions

For a simple example of a custom kinematic see
'configs/sim/axis/vismach/millturn'

The kinematic file used is this one:
github.com/LinuxCNC/linuxcnc/blob/master...onents/millturn.comp

These .comp files can be compiled and installed using the 'halcompile' tool.

[edit]
For a more complex example see:
github.com/LinuxCNC/linuxcnc/blob/master.../xyzab_tdr_kins.comp
 
  • chrischan
  • chrischan
19 Jan 2025 18:40
Replied by chrischan on topic Maus funktioniert nicht bei Spindel Start

Maus funktioniert nicht bei Spindel Start

Category: Deutsch

Also manchmal ist die "Lösung" doch simpler als gedacht. Sicherlich ist trotzdem eine Störung durch Spindel und Relais in Verbindung vorhanden. Aber keiner weiß wie gravierend diese ist. Ergebnis ist jedoch, dass eine andere Mouse mein Problem beseitigt.

Ich habe eine andere kabelgebundene Mouse getestet und diese funktioniert problemlos.

Danke an alle. Werde trotzdem noch den Ferrit einsetzen der die Tage kommt. Und damit belasse ich es vorerst.
  • PCW
  • PCW's Avatar
19 Jan 2025 18:33 - 19 Jan 2025 18:55
Replied by PCW on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

HAL_BIT type definitely works as this tested, working configuration:


static const hm2_modbus_chan_descriptor_t channels = {
/*  {TYPE,    FUNC, ADDR,   COUNT, pin_name} */
    {HAL_BIT, 1,  0x0000, 8,     "state"},
    {HAL_BIT, 2,  0x0000, 8,     "input"},
    {HAL_BIT, 5,  0x0000, 1,     "relay-0"},
    {HAL_BIT, 5,  0x0001, 1,     "relay-1"},
    {HAL_BIT, 5,  0x0002, 1,     "relay-2"},
    {HAL_BIT, 5,  0x0003, 1,     "relay-3"},
};

Can you post your .mod file?

The inverted enable pin may not be recognized by 2.9.3 but it
should still work.
 
  • vre
  • vre
19 Jan 2025 18:28 - 19 Jan 2025 18:29
Replied by vre on topic Mesa modbus and pktUart

Mesa modbus and pktUart

Category: Other User Interfaces

2.9.3 version
I have tried many config combinations nothing works
HAL_BIT type not supported by linuxcnc
Unsupported HAL pin type (1) in mesa_modbus definition file
  • Stanislavz
  • Stanislavz
19 Jan 2025 18:19
Replied by Stanislavz on topic Is it worth it to buy larger stepper drivers?

Is it worth it to buy larger stepper drivers?

Category: General LinuxCNC Questions

RMS is not "true" amps for some static amps for holding. But if yiu can test it now and its holds yout torque and it is not too hot - all is ok.
  • Stanislavz
  • Stanislavz
19 Jan 2025 18:13 - 19 Jan 2025 18:38
Replied by Stanislavz on topic Custom scara kinematic.

Custom scara kinematic.

Category: General LinuxCNC Questions

 Like this one, but here it is mid arm with parallelogram. And  i will need to modify this one code : github.com/LinuxCNC/linuxcnc/blob/master...nematics/scarakins.c 
  • tommylight
  • tommylight's Avatar
19 Jan 2025 18:11 - 19 Jan 2025 18:14
Replied by tommylight on topic Custom scara kinematic.

Custom scara kinematic.

Category: General LinuxCNC Questions

The attachment is inside the code section, hence it does not show.
Here is the image from the above post, just in case.
  • Stanislavz
  • Stanislavz
19 Jan 2025 18:06 - 19 Jan 2025 18:08
Custom scara kinematic. was created by Stanislavz

Custom scara kinematic.

Category: General LinuxCNC Questions

Hello. Could some-one point me how to implent non-standart kinematic for robots ?

As in photo below - scara with one arma at 1200 length and other with 1500, but able to swing up and down for some z movement ?

And yes - due to z movement of outer arm, project length is chaniged and needs to be recalculated for each z position. I did all math side for both forward and inverse kinematics.
[attachment=67048]2025-01-1918_53_54-_scara-FreeCAD1.0.0.png[/attachment]

[code]import math
import linuxcnc

def forward_kinematics(joint):
    """
    Forward kinematics for SCARA with parallelogram mechanism and tension-controlled Z movement.
    joint[0] = Theta1 (Base rotation)
    joint[1] = Theta2 (Second arm rotation)
    joint[2] = Z movement via parallelogram
    """
    L1 = 1.2  # First arm length (m)
    L2 = 1.5  # Second arm length (m) to achieve 1.8m z reach
    Z_parallelogram = 0.6  # Parallelogram tension control length (m)
    Z_min, Z_max = -0.9, 0.9  # Define valid Z range
    
    # Clamp Z within limits
    z = max(Z_min, min(joint[2], Z_max))
    
    # Compute effective second arm length with bidirectional movement
    L2_projected = math.sqrt(L2**2 - z**2)
    
    # Compute correct tension-controlled parallelogram movement
   delta_z = math.sqrt((Z_parallelogram - z)**2 + L2_projected**2)
    
    # Compute end-effector position
    x = L1 * math.cos(joint[0]) + L2_projected * math.cos(joint[0] + joint[1])
    y = L1 * math.sin(joint[0]) + L2_projected * math.sin(joint[0] + joint[1])
    
    return (x, y, delta_z)

def inverse_kinematics(x, y, z):
    """
    Inverse kinematics for SCARA with parallelogram mechanism and tension-controlled Z movement.
    """
    L1 = 1.2  # First arm length (m)
    L2 = 1.5  # Second arm length (m) for 1.8m reach
    Z_parallelogram = 0.6  # Parallelogram tension control length (m)
    Z_min, Z_max = -0.9, 0.9  # Define valid Z range
    
    # Clamp Z within limits
    z = max(Z_min, min(z, Z_max))
    
    # Adjust for parallelogram tension effect using correct formula
    L2_projected = math.sqrt(L2**2 - z**2)
    adjusted_z = math.sqrt((Z_parallelogram - z)**2 + L2_projected**2)
    
    # Compute effective second arm length with bidirectional movement
    L2_eff = math.sqrt(L2**2 - adjusted_z**2)
    
    # Compute inverse kinematics
    D = (x**2 + y**2 - L1**2 - L2_eff**2) / (2 * L1 * L2_eff)
    
    if abs(D) > 1:
        raise ValueError("Position out of reach")
    
    theta2 = math.acos(D)
    theta1_1 = math.atan2(y, x) - math.atan2(L2_eff * math.sin(theta2), L1 + L2_eff * math.cos(theta2))
    theta1_2 = math.atan2(y, x) - math.atan2(-L2_eff * math.sin(theta2), L1 + L2_eff * math.cos(theta2))
    
    return [(theta1_1, theta2, adju [attachment=67048]2025-01-19 18_53_54-_ scara - FreeCAD 1.0.0.png[/attachment]sted_z), (theta1_2, theta2, adjusted_z)]  # Two possible solutions



And Z axis should be controlled by some rope wire tensioning paralelogram part.

 
[/code]
  • Aciera
  • Aciera's Avatar
19 Jan 2025 17:52
Replied by Aciera on topic rotation plane around y axis in g18

rotation plane around y axis in g18

Category: G&M Codes

For a basic example have a look at the 'configs/sim/axis/vismach/millturn' for a similar use case.

The kinematic file used is this one:
github.com/LinuxCNC/linuxcnc/blob/master...onents/millturn.comp

For a simple vertical/horizontal kinematic you would only need to change this:
        case 0:
            pos->tran.x = j[0];
            pos->tran.y = j[1];
            pos->tran.z = j[2];
            pos->a      = j[3];
            break;
        case 1:
            pos->tran.x = j[2];
            pos->tran.y = -j[1];
            pos->tran.z = j[0];
            pos->a      = j[3];
            break;
    }
    // unused coordinates:
    pos->b = 0;
    pos->c = 0;
    pos->u = 0;
    pos->v = 0;
    pos->w = 0;
to
        case 0:
            pos->tran.x = j[0];
            pos->tran.y = j[1];
            pos->tran.z = j[2];
            break;
        case 1:
            pos->tran.x = -j[0];
            pos->tran.y = j[2];
            pos->tran.z = j[1];
            break;
    }
    // unused coordinates:
    pos->a = 0;
    pos->b = 0;
    pos->c = 0;
    pos->u = 0;
    pos->v = 0;
    pos->w = 0;
  • papagno-source
  • papagno-source
19 Jan 2025 17:15
Replied by papagno-source on topic rotation plane around y axis in g18

rotation plane around y axis in g18

Category: G&M Codes

Thanks for reply.

Please can write a example for orientation plane in Gcode.

Much thanks.
Displaying 19921 - 19932 out of 19932 results.
Time to create page: 0.378 seconds
Powered by Kunena Forum