Advanced Search

Search Results (Searched for: )

  • rodw
  • rodw's Avatar
04 Dec 2024 11:02
Replied by rodw on topic 10.5 x 25 cnc plasma table retrofit

10.5 x 25 cnc plasma table retrofit

Category: Computers and Hardware

75 pages of build thread and I can't find what I want so this will have to do.
forum.linuxcnc.org/show-your-stuff/32029...ild?start=310#124765

I suggest you slats are only mounted each side and in the middle. Then you can put a bend in them and have the slat ends pushed against the frame which stiffens them up so they don't wobble. I copied this design from a swiftcut machine on the show room floor.
The slots holding the slats here are very  shallow, maybe only 10-15mm laser cut into some 16mm strips
 
  • rodw
  • rodw's Avatar
04 Dec 2024 10:29
Replied by rodw on topic Original Gmoccopy setting all gone

Original Gmoccopy setting all gone

Category: General LinuxCNC Questions

Try setting isolcpus=1
I use grub-customizer to do this. It is installed on the linuxcnc ISO's
  • swepeter
  • swepeter
04 Dec 2024 10:01
Replied by swepeter on topic Issue with while loop

Issue with while loop

Category: O Codes (subroutines) and NGCGUI

In this case I need it to retry a thing if it done succeed the first time so L0 seams great for now.
but so many possibilities when started to understand this! haha
  • ississ
  • ississ's Avatar
04 Dec 2024 09:44

Asrock Q1900M: Unexpected Realtime Delay, but Good Latency Values

Category: General LinuxCNC Questions

I had an asrock Q1900B-ITX and it liked to have two identical memory modules. May also help with latency.

Test results (copied from here: forum.linuxcnc.org/18-computer/29224-asrock-q1900b-itx#128103 ):
Quick ~30-60min test with 6x glxgears and a hd video, only memory module(s) were changed between tests.
servo / base latency, ram
11035 / 11234 2x 8G Hynix HMT41GS6BFR8A-PB 1600 CL11
9380 / 11482 2x 8G Corsair CMSO8GX3M2A1333C9 1333 Mhz CL9
10747 / 12206 8G Micron MT16KTF1G64HZ-1G6E1 + 8G Samsung M471B1G73QH0-YK0
9886 / 17090 4G Micron MTBKTF51264HZ-1G6E1 + 4G Samsung M471B5173QH0-YK0
11618 / 17726 1x 8G Samsung M471B1G73QH0-YK0
11898 / 20126 1x 2G Ramaxel RMT3190ME76F8F-1600
11693 / 22918 1x 4G Micron MTBKTF51264HZ-1G6E1
10440 / 23242 1x 8G Hynix HMT41GS6BFR8A-PB 1600 CL11
11627 / 24188 1x 8G Micron MT16KTF1G64HZ-1G6E1
11257 / 28173 1x 4G Samsung M471B5173QH0-YK0 PC3L-12800S-11-12-B4
10107 / 28223 1x 8G Corsair CMSO8GX3M2A1333C9 1333 Mhz CL9


 
  • SOLD
  • SOLD
04 Dec 2024 09:13 - 04 Dec 2024 09:37
Replied by SOLD on topic AX58100

AX58100

Category: EtherCAT

My update encpos is working
- Pin PA0 PA1 PA3 checked with oscillator scope, when no pulse, it is high 5V and low 0V when pulse (test both pull up and pull down)
- Manage Txpdo Rxpdo according to EaserCAT-2000 example
- Improve Hal according to EaserCAT-2000 example
- I tried debugging with Chinese ST-Link, failed
- I monitor with TWINCAT, no change of IndexStatus when motor shaft rotated
I updated STM32 / ESI /EEPROM / XML, but still no change of index

Hal
loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt metalmusings_encoder

addf lcec.read-all            servo-thread
addf metalmusings-encoder.0     servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread

setp lcec.0.1.scale [SPINDLE_9]ENCODER_SCALE
#setp lcec.0.1.enc-pos-scale [SPINDLE_9]ENCODER_SCALE

net spindle-revs <= lcec.0.1.encpos
#net spindle-revs <= lcec.0.1.Encoder Position
loadrt invert 
loadrt mult2    names=mult2.rps,mult2.rpm
addf   invert.0   servo-thread
addf   mult2.rps  servo-thread
addf   mult2.rpm  servo-thread

setp invert.0.in          [SPINDLE_9]ENCODER_SCALE
setp mult2.rpm.in0        -60.0
setp mult2.rpm.in0        60.0
net  enc-invert-pos-scale mult2.rps.in0  <= invert.0.out
#net  enc-get-freq-rps     mult2.rps.in1  <= lcec.0.1.encfrequency
#net  spindle-vel-fb-rps   mult2.rpm.in1  <= mult2.rps.out
net  spindle-vel-fb-rpm   mult2.rpm.out
#net  spindle-index-enable lcec.0.1.indexstatus

net  spindle-vel-fb-rps   mult2.rpm.in1  <= lcec.0.1.encfrequency
net  spindle-vel-fb-rpm   mult2.rpm.out

net  to_encoder           metalmusings-encoder.0.index-latch-enable lcec.0.1.indexlatchenable
net  from_encoder         metalmusings-encoder.0.index-status       lcec.0.1.indexstatus
net  spindle-index-enable metalmusings-encoder.0.index-c-enable

main.cpp
///////// Spindle Encoder
#include "MyEncoder.h"
volatile uint16_t encCnt = 0;
void indexPulseEncoderCB1(void);
MyEncoder Encoder1(TIM2, PA3, indexPulseEncoderCB1);  
void indexPulseEncoderCB1(void)
{
   encCnt++;
   Encoder1.indexPulse();
}

////// EtherCAT routines called regularly, to read data, do stuff and write data
void cb_set_outputs(void) // Get Master outputs, slave inputs, first operation
{
   for (int i = 0; i < min(sizeof(Obj.Outputs), sizeof(OUTPUTS)); i++)
      digitalWrite(OUTPUTS[i], Obj.Outputs[i] == 1 ? HIGH : LOW);
   analogWrite(DAC1_pin, Obj.Voltage);
   Encoder1.setLatch(Obj.IndexLatchEnable);
   // Encoder1.setScale(2000);
   Step->stepgen_array[0].pos_scale = -Obj.StepsPerMM1; // Scale perhaps changed
   Step->stepgen_array[1].pos_scale = -Obj.StepsPerMM2;
   Step->stepgen_array[2].pos_scale = -Obj.StepsPerMM3;
   Step->stepgen_array[3].pos_scale = -Obj.StepsPerMM4;
   posCmd1 = Obj.CommandedPosition1; // The position update
   posCmd2 = Obj.CommandedPosition2;
   posCmd3 = Obj.CommandedPosition3;
   posCmd4 = Obj.CommandedPosition4;
}
void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation
{
   Obj.Velocity = Obj.Scale * FrequencyMeasured;
   float scale = 1;
   if (Obj.Scale != 0.0)
      scale = Obj.Scale;
   Obj.Velocity = scale * sin(ESCvar.Time * 1e-8 * 6.28); // Test
   for (int i = 0; i < min(sizeof(Obj.Inputs), sizeof(INPUTS)); i++)
      Obj.Inputs[i] = digitalRead(INPUTS[i]) == HIGH ? 1 : 0;
#if 1
   Obj.IndexStatus = Encoder1.indexHappened();
   Obj.EncPos = Encoder1.currentPos();
   Obj.EncFrequency = Encoder1.frequency(longTime.extendTime(micros()));
   Obj.IndexByte = Encoder1.getIndexState();
   Obj.Velocity = Obj.Scale * FrequencyMeasured;
#endif
   Obj.ActualPosition1 = Step->stepgen_array[0].pos_fb;
   Obj.ActualPosition2 = Step->stepgen_array[1].pos_fb;
   Obj.ActualPosition3 = Step->stepgen_array[2].pos_fb;
   Obj.ActualPosition4 = Step->stepgen_array[3].pos_fb;
}

utypes.c
   /* Inputs */
   float Velocity;
   uint8_t Inputs[8];
   float Frequency;
   float ActualPosition1;
   float ActualPosition2;
   float ActualPosition3;
   float ActualPosition4;
   float EncPos;
   float EncFrequency;
   uint16_t DiffT;
   uint32_t IndexByte;
   uint8_t IndexStatus;
   /* Outputs */
   float Scale;
   uint8_t Outputs[4];
   float CommandedPosition1;
   float CommandedPosition2;
   float CommandedPosition3;
   float CommandedPosition4;
   int32_t StepsPerMM1;
   int32_t StepsPerMM2;
   int32_t StepsPerMM3;
   int32_t StepsPerMM4;
   float Voltage;
   uint8_t IndexLatchEnable;
 
  • MaHa
  • MaHa
04 Dec 2024 08:35
Replied by MaHa on topic Issue with while loop

Issue with while loop

Category: O Codes (subroutines) and NGCGUI

Maybe the loop is not even needed.  It should be possible, to just work with wait mode type Ln  and if conditional to check value of #5399, depending on what you want to do
  • flexbex
  • flexbex
04 Dec 2024 08:10

Tandem axis Can not unhome while homing joint 0

Category: PnCConf Wizard

That worked at least now I get
Home switch active before start of latch move

I saw somewhere else this could be because of bouncing homeswitch. Mine are real simple switches. So that might be true
  • swepeter
  • swepeter
04 Dec 2024 07:46
Replied by swepeter on topic Issue with while loop

Issue with while loop

Category: O Codes (subroutines) and NGCGUI

Brilliante thanks.

Will try when I get back home from work.
Displaying 22216 - 22223 out of 22223 results.
Time to create page: 1.066 seconds
Powered by Kunena Forum