LinuxCNC + Orange Pi (allwincnc)

More
5 years 1 month ago #221901 by Cncninja
I have the ALL-H3-CC 1gb from Amazon and was able to load and run with no problems. where i ran into a problem was getting the video gl driver working. it ran fine just the UI could be smoother due to no gl driver. I tried every trick I could find to get it loaded. I think the Libre board is fine and cheap and more importantly available. We just need to get a good clean load that has the gl driver from the start. Someone was able to load a Lima-enabled Ubuntu image on it but had following errors tho he only has 512 ram. If we could just get a mesa or lima enabled load of Armbian i think this would work out, if anyone has a sujestion im happy to try it out i have the H3 board just sitting.

Please Log in to join the conversation.

More
5 years 4 weeks ago #221968 by 109jb
Making progress. I now have it set up as floows:

1. Armbian and LinuxCNC installed on Orange Pi One H3 512 Mb SBC
2. WHB04B-6 wireless pendant installed
3. Limit switches set up in LinuxCNC
4. Step rates, accels, etc set up in LinuxCNC to match the GRBL settings.
5. Harness made to connect to the breakout board on the machine.
6. Notes of everything I have done so far is updated

Stuff left to do:

1. modify Axis interface for the 1200x600 display I bought.
2. implement drive fault detection for the closed loop stepper drives I have.
3. Connect to machine and test
4. Other?

Getting closer.

Please Log in to join the conversation.

More
5 years 4 weeks ago #222075 by 109jb
Got it running. Using a Orange Pi One with 512 Mb RAM. So far so good. Still some testing to do and have a lot to do to document what I have done to get to this point. Thanks for all the help from everyone.

<iframe width="640" height="360" src="
" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Please Log in to join the conversation.

More
5 years 3 weeks ago #222149 by 109jb
I need help again. I am apparently not understanding how to implement an encoder/MPG wheel. This isn't for my milling machine project but rather for the future lathe project. What I am trying to do to start with is just wire and use an encoder to step 0.001 machine units per click. The encoder I am using is like the one pictured below.  

 

Attachment not found



I have the VCC wired to 3.3v from the Orange Pi, 0V to ground, A to GPIO pin PG6, and B to GPIO pin PG7. Not sure if I should put VCC to 5v.

In my hal file I have added 

loadrt arisc encoders=1
setp arisc.encoder.0.A-port 6 # 6=PG
setp arisc.encoder.0.A-pin 6 # PG6
setp arisc.encoder.0.B-port 6 # 6=PG
setp arisc.encoder.0.B-pin 7 # PG7

setp axis.x.jog-vel-mode 0
setp axis.x.jog-scale 0.001
setp axis.x.jog-enable 1
net mpg-counts arisc.encoder.0.counts
net mpg-counts => axis.x.jog-counts

Not sure what I'm doing wrong. Can anyone help
 

Please Log in to join the conversation.

More
5 years 3 weeks ago #222165 by Cncninja
Looking good, waiting for your write-up. I'm interested in your config for the video drivers etc.

Please Log in to join the conversation.

More
5 years 3 weeks ago #222210 by 109jb
Regarding the video drivers, I didn't do anything special with them. I simply used whatever Armbian installed.

Please Log in to join the conversation.

More
5 years 3 weeks ago #222239 by Cncninja
Did you do the isolcpus=1,2,3 idle=poll and the speed forced to max

Please Log in to join the conversation.

More
5 years 3 weeks ago #222240 by Bari
This where sanely developed u-boot firmware should come in. The user should be expected to be using an adequate heat sink and power supply. Next u-boot should be locking the cores to the highest stable speed and not even allow user space to mess with any speed governors or power management.

Please Log in to join the conversation.

More
5 years 3 weeks ago #222248 by envyvan
Hi 109jb,
I use the MPG with 2 PC817 Optocoupler, convert 5V logic level to 3.3v.

Below is my MPG setting in .hal file:

# MPG setup
loadrt arisc pwm="p,p,p,v" out="PA12,PA11,PA1,PA10,PA9,PA13,PA14,PA0,PA3,PC4" in="PC0,PC1,PC2,PC3,PG6,PG7,PG8,PG9" encoders=1

loadrt conv_float_s32 count=1

setp arisc.encoder.0.enable 1
setp arisc.encoder.0.x4-mode 0
setp arisc.encoder.0.pos-scale 4
setp arisc.encoder.0.A-port 6 # 6=PG
setp arisc.encoder.0.A-pin 6 # PG6
setp arisc.encoder.0.B-port 6 # 6=PG
setp arisc.encoder.0.B-pin 7 # PG7
setp arisc.gpio.PG6-pull -1
setp arisc.gpio.PG6-multi-drive-level 0
setp arisc.gpio.PG7-pull -1
setp arisc.gpio.PG7-multi-drive-level 0

net conv0 conv-float-s32.0.in <= arisc.encoder.0.pos
net jog-counter <= conv-float-s32.0.out
net jog-counter => joint.0.jog-counts axis.x.jog-counts
net jog-counter => joint.1.jog-counts axis.y.jog-counts
net jog-counter => joint.2.jog-counts axis.z.jog-counts

I also setup pyvcp to select which axis I want to use with MPG.
loadrt mux16 count=1
addf mux16.0 servo-thread
# connect radiobutton to jog-enable
setp axis.x.jog-vel-mode 0
setp axis.y.jog-vel-mode 0
setp axis.z.jog-vel-mode 0
net jog-enable-x pyvcp.jog-enable.X axis.x.jog-enable
net jog-enable-y pyvcp.jog-enable.Y axis.y.jog-enable
net jog-enable-z pyvcp.jog-enable.Z axis.z.jog-enable

# connect jog scale selector
setp mux16.0.in00 0
setp mux16.0.in01 0.000
setp mux16.0.in02 0.100
setp mux16.0.in03 0
setp mux16.0.in04 0.010
setp mux16.0.in05 0
setp mux16.0.in06 0
setp mux16.0.in07 0
setp mux16.0.in08 0.001
setp mux16.0.in09 0
setp mux16.0.in10 0

net selected-jog-scale mux16.0.out-f => axis.x.jog-scale
net selected-jog-scale mux16.0.out-f => axis.y.jog-scale
net selected-jog-scale mux16.0.out-f => axis.z.jog-scale

net jog-sel1 pyvcp.jog-scale.OFF => mux16.0.sel0
net jog-sel2 pyvcp.jog-scale.0.100 => mux16.0.sel1
net jog-sel3 pyvcp.jog-scale.0.010 => mux16.0.sel2
net jog-sel4 pyvcp.jog-scale.0.001 => mux16.0.sel3

Please Log in to join the conversation.

More
5 years 3 weeks ago #222283 by 109jb
 

Did you do the isolcpus=1,2,3 idle=poll and the speed forced to max
 
I did do the "isolcpus-1,2,3 idle=poll", but don't know about the speed forced to max that you are referring to. How do you do this?

Please Log in to join the conversation.

Time to create page: 0.192 seconds
Powered by Kunena Forum