Need help in choosing controller board from small honby cnc.

More
2 years 4 months ago #302138 by amanker
Few Things
Base Thread was available after I added entry in [EMCMOT] base_period 0 to 50000. in ini file.

That didnt changed the response scale and axis selector switch its still delayed by 20-30 secs. only selector switch signals are delayed. Not the encoder signals.

I have defined remora.PV.0 and verified recoder is counting. hall meter shows inc/dec integers.

couldnt figureout how to use conv_float_s32 thing

Please Log in to join the conversation.

More
2 years 4 months ago #302139 by amanker
New MPG HAL file with working PRUencoder
Code:
# Jog Pendant loadrt PRUencoder names=encoder.0 addf PRUencoder.capture-position servo-thread #addf PRUencoder.update-counters base-thread setp encoder.0.position-scale 1200.0 # connect the hal encoder to linuxcnc net encoder-count <= remora.PV.0 => encoder.0.raw_count loadrt conv_float_s32 count=1 addf conv-float-s32.0 servo-thread loadrt mux4 count=1 #addf encoder.capture-position servo-thread #addf PRUencoder.update-counters base-thread addf mux4.0 servo-thread # If your MPG outputs a quadrature signal per click set x4 to 1 # If your MPG puts out 1 pulse per click set x4 to 0 #setp encoder.0.x4-mode 0 # For velocity mode, set to 1 # In velocity mode the axis stops when the dial is stopped # even if that means the commanded motion is not completed, # For position mode (the default), set to 0 # In position mode the axis will move exactly jog-scale # units for each count, regardless of how long that might take, setp joint.0.jog-vel-mode 1 setp joint.1.jog-vel-mode 1 setp joint.2.jog-vel-mode 1 # This sets the scale that will be used based on the input to the mux4 setp mux4.0.in0 0.1 setp mux4.0.in1 0.01 setp mux4.0.in2 0.001 # The inputs to the mux4 component net scale1 mux4.0.sel0 <= remora.input.9 net scale2 mux4.0.sel1 <= remora.input.10 # The output from the mux4 is sent to each axis jog scale net mpg-scale <= mux4.0.out net mpg-scale => joint.0.jog-scale net mpg-scale => joint.1.jog-scale net mpg-scale => joint.2.jog-scale #net mpg-scale => axis.a.jog-scale #net mpg-scale => axis.c.jog-scale # The MPG inputs #net mpg-a encoder.0.phase-A <= remora.input.7 #net mpg-b encoder.0.phase-B <= remora.input.8 # The Axis select inputs net mpg-x joint.0.jog-enable <= remora.input.11 net mpg-y joint.1.jog-enable <= remora.input.12 net mpg-z joint.2.jog-enable <= remora.input.13 #net mpg-a axis.a.jog-enable <= remora.input.14 #net mpg-c axis.c.jog-enable <= remora.input.15 # The encoder output counts to the axis. Only the selected axis will move. net encoder-count   conv-float-s32.0.in net encoder-counts  conv-float-s32.0.out #net encoder-counts  <= encoder.0.counts net encoder-counts => joint.0.jog-counts net encoder-counts => joint.1.jog-counts net encoder-counts => joint.2.jog-counts #net encoder-counts => axis.c.jog-counts

Please Log in to join the conversation.

More
2 years 4 months ago #302140 by amanker

Please Log in to join the conversation.

More
2 years 4 months ago #302158 by amanker
Yes my setup is really unusual. Because most pf the users are professional users and they go for readymade and no fuss solutions.

My little hobby cnc more unusual than this. For making that work I had to churnout my brain so much. Its XYZAB configuration. Its my custom design. It has A Rotary as in usual 4 axis machines. And it has B rotary head. So spindle rotate in B axis. Most common config is XYZAC/BC. I searched net so much but didn't find a single machine or example like my setup. Till now I was using GRBL and made custom post processor for this for simultaneous 5 axis machining.
If you are interested in seeing my setup.
Here is link.
www.reddit.com/r/hobbycnc/s/xX7GVXm72c

Please Log in to join the conversation.

More
2 years 4 months ago #302178 by cakeslob
that looks awesome, good stuff!


can you give me some more detail on the estop? is it not turning on or not turning off?

The other things worked?

Please Log in to join the conversation.

More
2 years 4 months ago #302185 by amanker
What looks awesome? My little machine or my test setup?
Really problem will be creating kinamatics for my machine. I couldn't find any similar example.

About Estop. Hardware button does nothing. It doesn't matter its pressed or not.
I have to use gui estop and machine enable.

Please Log in to join the conversation.

More
2 years 4 months ago #302196 by cakeslob
lol i mean the machine,
but yeah the kins will be the hard part, but if you check out the advanced configuration section someone can help you

hmm ok the estop thing looks like a syntax issue, copy mine exactly
Code:
{ "Thread": "Servo", "Type": "eStop", "Comment": "estop pin", "Pin": "PF_3" },

Please Log in to join the conversation.

More
2 years 4 months ago #302225 by amanker
I think you have missed my last few post. I have posted every detail including all config files. Also asked some questions. Lastly I sent hal file for working PRUencoder. But still there is problem of delay in selector switches of axis and scale selection. And delay is 20-30secs. which is quite large enough.

Update 1:-
1. eStop working now. I have defined pin type "eStop Pin" instead of "eStop". So using type "eStop" fixed this. Is there any way I can toggle estop and machine on GUI using hardware buttons?
2. Removed base thread configs. Now I can reach speed of 1500mm/sec.
3. Still issue really slow switching of axis selector and scale selector switch. Please have a look at my configs, You might notice something. How to descide value of "setp encoder.0.position-scale 400.0"? encoder pins are working in wrong direction. I will exchange pin positions.

Update 2:-
Changing PRU_Freq to 80000 increased feed to 1500mm/sec approx.
Changing PRU_Freq to 120000 increased feed to 2200mm/sec approx.

Update 3:-
Problem of slow switching of axis selector and scale selector switch is due to I am using EXP1 pins, I have re arranged the pin connections and solved the issue of axis selection delay, But now I have to figure out suitable pins for scale selector.

Update 4:-
Found that jogging from MPG pendant is not working after Homing.
Solution.. Only joints were defined and enabled in config. After homing axis should enabled and used.
Now working after Homing.

Please Log in to join the conversation.

More
2 years 4 months ago #302284 by cakeslob
sorry, it is hard to keep track of everything

""setp encoder.0.position-scale 400.0""
yes, sorry i forgot its quad, you are right to put 1200 like in your file

lets make a list then

estop = good?
encoder = good?
PRU_freq 120000 = good?
jog scale = slow

im not sure why you are getting a delay. I use the pins on exp1 for my encoder/limit switch stuff usually, and i havent seen a delay before.

i cannot run qtdragon on my machine, so I only copied over mpg hal. I am not seeing any delay in the IO or on the mux. Where are you seeing a delay? For the qtdragon gui to change ? When I use halshow, they are responding instantly

start by doing this


Code:
#USER_COMMAND_FILE = usercommand_regularmac_800.py BASE_PERIOD = 0
 

Please Log in to join the conversation.

More
2 years 4 months ago #302293 by amanker
I have explained everything in last post. With update list.

1. Estop working. (Made mistake of defining as "estop pin")
2. Encoder Working. ( Used conv_float_s32 function)
3. PRU_Frequency = 12000. Working good with speed of upto 2400mm/min.
4. Jog scale slow. Its about jog and axis selector switch. ( I found its a problem of board pin compatibility issue. May be those pins of EXP1 has some interference and not suitable for inputs) So I changed to inputs to elsewhere and problem resolved. Pins of EXP1 was giving problem. I tried pins of BL_touch. That also had delay in input switching. So I changed location of pins and issue resolved.

Problem... ""setp encoder.0.position-scale 400.0"" if I change this value to anything else then also it changes nothing. Per click of encoder value is always same. I tried 100-2400 value.

If you have some time please have look at my previous post with updates.

I have attached PIC of new pin location. 

Attachment not found

Please Log in to join the conversation.

Time to create page: 0.131 seconds
Powered by Kunena Forum