LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

More
1 year 11 months ago #314071 by meister
You need only to lower the voltage a little bit for the Level-Shifter with a Diode or two Resistors,
the FPGA can handle up to 3.3V input and the Level-Shifter need to detect 1.8V as high.

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

More
1 year 11 months ago #314159 by mBender
I am trying to get Classicladder to work. When I start the machine, I get the following error. I can confirm that Classic Ladder on the same PC in my old LinuxCnc configuration (parallel port instead of FPGA) works. I even tried to copy all the classicladder lines from the parallel port .hal file, but still get the same error.

Shared memory conflict or RT component not loaded!
ERROR CLASSICLADDER- Ladder memory allocation error

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

More
1 year 11 months ago #314169 by mBender
I got a step ahead. If start Linuxcnc with the error, open the classicladder editor and load the program again, then close linuxcnc and start it again, classicladder starts with no error for one time! If I close linuxcnc and start it again, it doesn't work and I have to do the same procedure again.

Either way Classic ladder starting or not, the Modbus is still not working, it seems like for whatever reason it does not read the USB to RS485 adapter.

I confirmed, that when I start the old configuration, it starts and starts reading the modbus. Hal Configurations for modbus are in both cases identical.

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

More
1 year 11 months ago - 1 year 11 months ago #314171 by mBender
And another interesting thing. The Tang is performing way better as my parallel port! I can go high speed with much more microstepping. The motors sound better, but somehow I hit a wall when I wanted to go higher speeds. I am not sure what the reason for this is. If I run with the Tang, I can go up to 2000mm/min (400rpm on my motors) with my Y axis. No matter if I have 10 or 16 microsteps. If I go over the that speed the motor go for like 50mm than they start sounding weird until one of the 2 motors stalls. I first thought that was a mechanical issue and detached the gantry, but still same behavior. I checked with my osciloscope the output of the Tang, the level shifter, the BOB and finally I measured directly at the drives. All seems good. My drives need 2ns low period before the detect the next raising edge. All I measured was within the tolerance of the drives...

I almost gave up since it seems like independent from the microsteps. Then I tried my parallel port set up again and pushed as much as I could. I had to go down to 10 microsteps again and was able to achieve without the stalling around 2700mm/min. Could not go higher due to cycle time limitations, then I got a joint following error in linuxcnc.

I measured again at the drives and saw that the duty cycle high and low of the parallel port signal are almost equal at 50%. The tang produces 80% 20%. I believe this could be a reason why I can't go higher. Is it possible? and if so, change be changed?

In the picture of the parallel port you can see the jitter. Where the Tang performance is much better!

 
Last edit: 1 year 11 months ago by mBender.

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

More
1 year 11 months ago #314229 by meister
the stepgen from rio also has a duty cycle of 50%,
try measuring the signal at the FPGA pin

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

More
1 year 11 months ago #314286 by digiex_chris
I wonder if at that speed you're getting near the max speed of the level shifter? How does the tang look at the same speed as the paraport?

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

Time to create page: 0.108 seconds
Powered by Kunena Forum