Need help in choosing controller board from small honby cnc.

More
28 May 2024 15:37 #301681 by amanker
I have bought RPI5 for performance boost. But Remora is not working on RPI5.

Please Log in or Create an account to join the conversation.

More
28 May 2024 17:09 #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 or Create an account to join the conversation.

More
28 May 2024 19:33 #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 or Create an account to join the conversation.

More
29 May 2024 02:58 #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 or Create an account to join the conversation.

More
29 May 2024 04:53 - 29 May 2024 04:57 #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."
Last edit: 29 May 2024 04:57 by amanker.

Please Log in or Create an account to join the conversation.

More
31 May 2024 18:58 #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 or Create an account to join the conversation.

More
01 Jun 2024 04:53 #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 or Create an account to join the conversation.

More
01 Jun 2024 10:00 #302050 by amanker
Here is my mpg.hal
# 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 or Create an account to join the conversation.

More
01 Jun 2024 15:29 #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 or Create an account to join the conversation.

More
01 Jun 2024 18:00 #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

# 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 or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.097 seconds
Powered by Kunena Forum