Introduction and New Build
04 Jul 2015 01:01 #60391
by Hunter
Introduction and New Build was created by Hunter
Hey guys, just saying hello and giving a rundown of my project that I've kicked off. Decided to post here since this is where I've spent most of my time researching hardware.
Mill:
Taig mill with rotary axis that I've blown the dust off of in the corner of my shop.
Control Hardware:
I'd originally planned to go with Mesa for building the control hardware as I have some experience from school with Altera FPGA development and understand the advantages that configurable logic systems provide both in terms of flexibility and adaptation. However after more thorough reflection on how this system was going to come together I switched gears to Pico systems as it seems to be a more straightforward setup to get running. So the Mesas will have to be a second project. Perhaps get involved in figuring out how the ethernet and high-speed USB interfaces could be made to work as the small form factor PCs take over and leave these as the only comm option.
Universal PWM Controller
4x BLDC Drivers
1x Brake board
Motors:
4x Nema 23 BLDC with 1000cpr encoders from Pico
PC:
A used/refurbished Dell Precision 390 with Core 2 Duo and external ATi card that I should be able to post latency numbers for in the coming days. Keeping my fingers crossed that a workstation class machine will produce better numbers than the enterprise machines that are reported currently.
Power:
12V will be handled by a Pico supply. No decision made on the motor driver supply
Electrical Cabinet:
No selection yet.
Coolant system:
No selection yet
I look forward to learning from all of you!
Mill:
Taig mill with rotary axis that I've blown the dust off of in the corner of my shop.
Control Hardware:
I'd originally planned to go with Mesa for building the control hardware as I have some experience from school with Altera FPGA development and understand the advantages that configurable logic systems provide both in terms of flexibility and adaptation. However after more thorough reflection on how this system was going to come together I switched gears to Pico systems as it seems to be a more straightforward setup to get running. So the Mesas will have to be a second project. Perhaps get involved in figuring out how the ethernet and high-speed USB interfaces could be made to work as the small form factor PCs take over and leave these as the only comm option.
Universal PWM Controller
4x BLDC Drivers
1x Brake board
Motors:
4x Nema 23 BLDC with 1000cpr encoders from Pico
PC:
A used/refurbished Dell Precision 390 with Core 2 Duo and external ATi card that I should be able to post latency numbers for in the coming days. Keeping my fingers crossed that a workstation class machine will produce better numbers than the enterprise machines that are reported currently.
Power:
12V will be handled by a Pico supply. No decision made on the motor driver supply
Electrical Cabinet:
No selection yet.
Coolant system:
No selection yet
I look forward to learning from all of you!
Please Log in or Create an account to join the conversation.
- tommylight
-
- Offline
- Moderator
-
Less
More
- Posts: 18562
- Thank you received: 6218
04 Jul 2015 05:43 #60400
by tommylight
Replied by tommylight on topic Introduction and New Build
I can not help much at this point, except i have a lot of experience with computer hardware so your dell should be fine as far as latency is concerned, i have tested and use several optiplex series and they all have latency under 15000, but not so good on the laptop front, i have Latitude 4200x1, 4300x1, 6400x1 and 6510x1 and they all have bad latency ( first 3 in the 3000000 region, yes 3 milion, the latter around 300000 ) so they have a limited use ( i have docking stations for all of them hence the parallel port ).
I have read lots of times here to avoid IBM/Lenovo laptops, but i had and still have lots of them in use, T40 series latency under 15000, x60 under 30000, x220 never ever goes above 4000!!!! but it does not have a paraport (T40 has one, X60 has one on a docking station ), all this ONLY after disabling serial ports and infrared ports and other stuff i do not need or use.
Tom
I have read lots of times here to avoid IBM/Lenovo laptops, but i had and still have lots of them in use, T40 series latency under 15000, x60 under 30000, x220 never ever goes above 4000!!!! but it does not have a paraport (T40 has one, X60 has one on a docking station ), all this ONLY after disabling serial ports and infrared ports and other stuff i do not need or use.
Tom
The following user(s) said Thank You: Hunter
Please Log in or Create an account to join the conversation.
05 Jul 2015 02:01 #60412
by Hunter
Replied by Hunter on topic Introduction and New Build
Tommy, the Precision has been only a moderate improvement over the numbers reported in the latency tests for the Optiplex machines. I'm looking into what I can do to possibly improve it. Currently, I occasionally get a peak as high as 200-300us when I open and play 8 HD mpegs at once while also running some filter scripts on a large (256MB) gradient image in GIMP. It doesn't happen every time this combination of load is added, more often it peaks to mid ~70uS. I question the interaction with SMI because the peak is not as periodic as SMI documentation indicates, yet the magnitudes of the latency do match SMI symptoms. It may just be HDD access delays as it doesn’t seem to happen if the scenario is attempted again before giving enough time for that data to possibly leave RAM.
Just an overview of where I am with tweaks:
All BIOS settings related to power savings features were disabled:
1) Virtualization turned off
2) Onboard audio turned off
3) Onboard NIC turned off
4) Serial port disabled ( though may need to re-enable as doing killed my front USB ports)
5) Disabled processor stepping
6) Hyperthreading not available to turn off on the E6300
There may be 1 or 2 more but the power is out at the moment, and I can’t confirm the settings. Will need to get a UPS for this computer for sure!
Isolating 1 core via isolcpus GRUB settings for dedication to RTAI. I’ll need to switch back and forth a few times to really understand if this setting is making a difference. Though I can clearly see CPU0 sitting at less than 10% load during all testing, and CPU1 swinging from 20-100%.
With all of the above changes, running the command line latency test indicates averages under 10uS, and frequently ventures into negative values (predictive processing?
) when average load increases (yes, increase of average load seems to indicate lower latencies). This makes me think that there is some throttling mechanism that is kicking the CPU speed up. I do not have measurement of CPU clock at the moment. My computer is not networked so getting patches to meet hardware requirements requires moving things back and forth with a USB.
Then of course there is the fact that this may all be for not since I'll be using the Pico external PWM generator over the parallel port. I’ve seen Servo drive control loop requirements range from 1-50kHz, and given the numbers above I’d likely only be able to control reliably at 1-10kHz. I hope I never find out what a 200us burp can do to the machine.
Just an overview of where I am with tweaks:
All BIOS settings related to power savings features were disabled:
1) Virtualization turned off
2) Onboard audio turned off
3) Onboard NIC turned off
4) Serial port disabled ( though may need to re-enable as doing killed my front USB ports)
5) Disabled processor stepping
6) Hyperthreading not available to turn off on the E6300
There may be 1 or 2 more but the power is out at the moment, and I can’t confirm the settings. Will need to get a UPS for this computer for sure!
Isolating 1 core via isolcpus GRUB settings for dedication to RTAI. I’ll need to switch back and forth a few times to really understand if this setting is making a difference. Though I can clearly see CPU0 sitting at less than 10% load during all testing, and CPU1 swinging from 20-100%.
With all of the above changes, running the command line latency test indicates averages under 10uS, and frequently ventures into negative values (predictive processing?
![:woohoo: :woohoo:](/media/kunena/emoticons/w00t.png)
Then of course there is the fact that this may all be for not since I'll be using the Pico external PWM generator over the parallel port. I’ve seen Servo drive control loop requirements range from 1-50kHz, and given the numbers above I’d likely only be able to control reliably at 1-10kHz. I hope I never find out what a 200us burp can do to the machine.
Please Log in or Create an account to join the conversation.
05 Jul 2015 02:34 #60414
by PCW
Replied by PCW on topic Introduction and New Build
The Dell E6420 seems to work pretty well under Preempt-RT:
freeby.mesanet.com/e6420.png
(about 4 hours running videos over WIFI etc)
Linuxcnc running real time Ethernet I/O on same:
freeby.mesanet.com/linuxcnc.png
freeby.mesanet.com/e6420.png
(about 4 hours running videos over WIFI etc)
Linuxcnc running real time Ethernet I/O on same:
freeby.mesanet.com/linuxcnc.png
Please Log in or Create an account to join the conversation.
05 Jul 2015 02:45 #60415
by Hunter
Replied by Hunter on topic Introduction and New Build
With an i5 I'd hope so! These Core2 Duos are in a different class.
Please Log in or Create an account to join the conversation.
05 Jul 2015 02:54 #60416
by PCW
Replied by PCW on topic Introduction and New Build
Not terribly different, Heres a desktop Core Duo with Preemt-RT:
freeby.mesanet.com/e8500-preemt-rt.png
freeby.mesanet.com/e8500-preemt-rt.png
The following user(s) said Thank You: Hunter
Please Log in or Create an account to join the conversation.
05 Jul 2015 03:31 #60417
by Hunter
Replied by Hunter on topic Introduction and New Build
That may be enough evidence to swap this 1.86 with 3+ GHz Core2. I see that the E8500 3.167GHz might be a drop in, and are available for 65$. Probably pushing my luck in thinking the Q9500 Quad would swap without headaches, and for 160$ I might as well be looking at a new board.
Please Log in or Create an account to join the conversation.
05 Jul 2015 03:42 #60418
by PCW
Replied by PCW on topic Introduction and New Build
I think mine was $13, heres one for $12
www.ebay.com/itm/INTEL-CORE-2-DUO-PROCES...&hash=item4198184e0c
With Preempt-RT one of the latency determiners is cache size and the E8500 has 6M
www.ebay.com/itm/INTEL-CORE-2-DUO-PROCES...&hash=item4198184e0c
With Preempt-RT one of the latency determiners is cache size and the E8500 has 6M
The following user(s) said Thank You: Hunter
Please Log in or Create an account to join the conversation.
05 Jul 2015 03:46 #60419
by Hunter
Replied by Hunter on topic Introduction and New Build
Thanks, you've peaked my curiosity on Preempt. Need to learn more about it.
Please Log in or Create an account to join the conversation.
05 Jul 2015 05:00 - 05 Jul 2015 05:37 #60424
by Hunter
Replied by Hunter on topic Introduction and New Build
So here are the final values after beating this up as much as I could today:
Debian Wheezy, 2 GB Ram, ATI RV530, 160GB SATA, isolcpus 1, All BIOS power savings disabled, on board audio disabled, running 20x HD Mpeg videos, applying cubism filter to 6400 X 4000 image in GIMP
Max Servo Jitter: 167411
Max Base Jitter: 144924
EDIT: These numbers are also producing overruns. Sitting at 20 after about 1 hour of the test.
These numbers really have me asking the question, "How much load is too much for the latency test?" Those (20) videos I had running pretty brought the system to a halt graphically. The average jitter stayed less than 70us, but the peaks that you see were when opening batches (10 at a time) of the videos. GIMP would become unresponsive before completing the full rendering.The CPU that is dedicated to the RTAI however never moves beyond 10% load. Or am I misunderstanding the use of this isolcpus feature?
Has there ever been work to develop a standard benchmark load based on what LinuxCNC is expected to induce on a host system? I understand that this couldn't account for peripheral loads like ethernet, audio, accessing drives, etc that would vary widely between instances, but it should be known what the relative maxmimum load that LinuxCNC can add to a system during maximum capacity operation (high number of axis, 3D rendering, closed loop control, etc.)
This post has evolved into a discussion that should probably be moved to Computers and OSs....
Debian Wheezy, 2 GB Ram, ATI RV530, 160GB SATA, isolcpus 1, All BIOS power savings disabled, on board audio disabled, running 20x HD Mpeg videos, applying cubism filter to 6400 X 4000 image in GIMP
Max Servo Jitter: 167411
Max Base Jitter: 144924
EDIT: These numbers are also producing overruns. Sitting at 20 after about 1 hour of the test.
These numbers really have me asking the question, "How much load is too much for the latency test?" Those (20) videos I had running pretty brought the system to a halt graphically. The average jitter stayed less than 70us, but the peaks that you see were when opening batches (10 at a time) of the videos. GIMP would become unresponsive before completing the full rendering.The CPU that is dedicated to the RTAI however never moves beyond 10% load. Or am I misunderstanding the use of this isolcpus feature?
Has there ever been work to develop a standard benchmark load based on what LinuxCNC is expected to induce on a host system? I understand that this couldn't account for peripheral loads like ethernet, audio, accessing drives, etc that would vary widely between instances, but it should be known what the relative maxmimum load that LinuxCNC can add to a system during maximum capacity operation (high number of axis, 3D rendering, closed loop control, etc.)
This post has evolved into a discussion that should probably be moved to Computers and OSs....
Last edit: 05 Jul 2015 05:37 by Hunter. Reason: added overrun data
Please Log in or Create an account to join the conversation.
Time to create page: 0.171 seconds