Need help in choosing controller board from small honby cnc.

More
2 years 5 months ago #301681 by amanker
I have bought RPI5 for performance boost. But Remora is not working on RPI5.

Please Log in to join the conversation.

More
2 years 5 months ago #301688 by cakeslob
Remora does not yet support RPi5 with SPI, nothing supports SPI yet with RPi5, because it is different than previous versions

Please Log in to join the conversation.

More
2 years 5 months ago #301703 by amanker
Oh no. Again my mistake, not reading or searching enough before buying rpi5. I bought it exclusively for remora-spi.
Can I try rpi-ethernet hooked to octopus 429 board with spi-ethernet w5500?.
Is there any chance of getting spi working?
I you guide then I might look into code and try at my level.

Please Log in to join the conversation.

More
2 years 5 months ago #301721 by cakeslob
At my skill level, the w5500 ethernet is closer than rpi5 spi, because I dont know how to do the spi thing.

Both will be supported in time, ill see what i can do for you with the ethernet, but the rpi4 spi is the most stable supported option so far.

Please Log in to join the conversation.

More
2 years 5 months ago #301726 by amanker
Yes, I have gone through searching and found that its much easier to go ethernet way for RPI5. Due to lack of support and documentation for RP1 chipset. It might only possible when RPI and LinuxCNC guys both support this.
Can you guide me how can to make w5500 working for 429 since you have already made it for 446.

"I seen the official LinuxCNC image for RPI5 and its stated that its for SPI and Ethernet. So I bought rpi5. But after installing official image I found its not working. Later in forum I found SPI working was wrongly mentioned."

Please Log in to join the conversation.

More
2 years 5 months ago #301982 by amanker
Can you guide in using generic mpg pendent with remora-spi?
I tried with using digital-input pins. It was kind pf working. But there is limitation of 16 input pins in remora, so i cant use jog for all 5 axis. And I got only x1, x10 working not x100.
Then I tried to define encoder pin. PV.0 but then same float and s32 pin type mismatch error. Using latest 9.2 stable version may that is giving this error.

Please Log in to join the conversation.

More
2 years 4 months ago #302038 by cakeslob
Are you trying to use the encoder with your mpg thing? post your halfile

for the rest of the mpg, i dont have a good answer.
personally i plan to do something like this with the hal_gpio module for the rpi 
community.carbide3d.com/t/cncjs-handwhee...owto-for-nerds/18726
linuxcnc.org/docs/stable/html/drivers/hal_pi_gpio.html  

Please Log in to join the conversation.

More
2 years 4 months ago #302050 by amanker
Here is my mpg.hal
Code:
# Jog Pendant loadrt encoder num_chan=1 loadrt mux4 count=1 addf encoder.capture-position servo-thread addf encoder.update-counters servo-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 0 setp joint.1.jog-vel-mode 0 setp joint.2.jog-vel-mode 0 # 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-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

As per linuxcnc example "addf encoder.update-counters servo-thread" should be base thread, If I use base thread it gives error.
This HAL is working on my pendant. But signals are lagging, if I change scale then it reflects late. If I release enable switch then also axis remains active for few seconds.

I have defined all inputs as normal digial inputs and its working. (There is limit of 16 digital input) so I want A,B defined as encoder input. This way 2 more digital inputs will be saved. But If I define A,B pins of encoder as encoder input remora.PV.0 then HAL gives float to s32 type mismatch error.

 

Please Log in to join the conversation.

More
2 years 4 months ago #302067 by amanker
Few more questions.
How to use hardware buttons for ESTOP and machine enable buttons.
I have defined ESTOP button as per your config and wired button accordingly. But its not working.

Why I cant move any axis faster than 650mm/min?

Please Log in to join the conversation.

More
2 years 4 months ago #302081 by cakeslob
I like that you arent doing the normal configuration, it keeps me sharp. But since you are doing unusual setups it may take some figuring out

ok, lets start with the encoder

this is your working (but slow) config yes?
theres a few things I think are happening here. linuxcnc doesnt use the same encoder as remora exactly

you need to download and install the remora encodeer unit and remove your other parts that ref the encoder

github.com/cakeslob/Remora/tree/main/Lin...omponents/PRUencoder

Code:
# Initialize the encoder (MPG) loadrt PRUencoder names=encoder.0 addf PRUencoder.capture-position servo-thread setp encoder.0.position-scale 400.0 # connect the hal encoder to linuxcnc net encoder-count <= remora.PV.0

ok, so thats the first part. set that up, and test your encoder using halshow. once you see your increments showing up in halshow under remora.pv.0

then we move on to the next thing

the remora encoder outputs as a float but joint.0.jog-counts is asking for an s32

linuxcnc.org/docs/stable/html/man/man9/conv_float_s32.9.html

looks like you need to feed your remora encoder count, into the conv-float-s32
this should change the signal, to s32 which should work with the jog counts

damn man you are making me work for this

Please Log in to join the conversation.

Time to create page: 0.063 seconds
Powered by Kunena Forum