![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| OpenSource Software For the Discussion of Opensource CAD/CAM and NC shareware software etc) |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#13
| |||
| |||
/ Disclaimer - I do work for KUKA Robotics and was the engineer supporting the PDC display. |
|
#14
| |||
| |||
Windows is notoriously inconsistent for motion control applications. I would not recommend attempting to update motor positions/velocities with a period less then 50 milliseconds. |
|
#15
| |||
| |||
| ok still working on it, got a little side tracked with all the .net 2.0 stuff, but its looking pretty good, converted all collections to generics which sped up the code a lot, worked a little bit on solid generation (although its still pretty crappy right now, its really just a surface the moves to lowest z on the tool path, im going to be taking a simulation course this semester so hopefully ill be able to get some sort of actual solids going, if anyone knows of a good tutoiral on solids from a programming perspective, it would be cool if you could post the links here) worked on the interface a little bit, .net 2.0's toolbars are soo much better then the originals, changed to only supporting 6 axes instead of a variable number for speed reasons and also GCode only supports 6 axes XYZABC, plus im sure most of the machines here arent running more then 6 axes heh, well heres a screenshot of what it looks like so far |
| Sponsored Links |
|
#16
| |||
| |||
| Greg, I need a little clarification. Is this a cam program or a motion control i.e., mach2/3/4? I first though you were doing a cam program but it seems now it is a motion controller. ?? Edited to add Duhhhhhh! I just went back and re-read your original post! Sorry. John_PE, Do I understand correctly that the program will control a robot like we see doing welding and things? Does it use gcodes, output signals for the motors? More info please,such as, is the program available, now and how expensive or affordable? Mike
__________________ No greater love can a man have than this, that he give his life for a friend. |
|
#17
| |||
| |||
| Just wanted to say that this project is not dead, its been put on hold for a while, Im taking a game programming class in college so most of my time lately has been working on that, probly going to order some motor controllers soon, so ill be able to actually test movement (atleast as rotation is concerned, dont know when im going to get around to building the actual machine, hopefully not too long after the semesters over though) |
|
#20
| |||
| |||
| Hi GregMM, I am working on a similar project, are you still working on this one? (last post is from 2009) I have come to the realization that what a lot of people say about the CLR and .Net is true: .Net is not ideally suited to real-time. After buying a dual parallel port card and spending a week nailing down parallel port control on my system (Windows 7 OS, 64bit) by altering the code from Levent Saltuklaroglu (see I/O Ports Uncensored - 1 - Controlling LEDs (Light Emiting Diodes) with Parallel Port - CodeProject) to talk to my motor driver (SOC Robotics MK5 5-axis) and finding the drivers and .dll that will work on 64 bit (if anyone wants this send me a message), I have run into the following problem: I cannot change messages to the port in less than a millisecond. If I want to pulse a step pin high I either need to Thread.Sleep(1 ms minimum) or spin for a machine dependent amount of time and completely tie up a processor before I make it low again and after that I need to wait at least another millisecond before I step again. This is resulting in slow rpms. The manual for the MK5 says I only need to hold the step pulse high for at least 10 micro seconds. this is not a downer post however, I plan to use a work-around. Page 12 of "Threading in C#" by Joseph Albahari has some very interesting things to say about real time but even he says "Even with an elevated process priority, there’s a limit to the suitability of the managed environment in handling hard real-time requirements. In addition to the issues of latency introduced by automatic garbage collection, the operating system may present additional challenges—even for unmanaged applications—that are best solved with dedicated hardware or a specialized real-time platform." Taking this advice I plan to go the dedicated hardware route. I have an Arduino Mega sitting around that seems perfectly suited to this. The mega has time granularity down to micro seconds (Arduino - Micros) and since I wont be driving anything besides logic it should be really stable. Besides, it will make a nice open-source statement and look cool stacked on top of the green MK5. My rough strategy is this: I will create a vector (x1(t), x2(t), x3(t), x4(t), x5(t)) on the pc with t = startTicks - Now.Ticks (System clock and Now.Ticks has granularity down to one hundred nanosecond intervals), I will send messages to the microcontroller telling it these goal positions, If the actual position is farther away from the goal than it was in the previous cycle then it will speed up, if its closer it will slow down, when a limit switch is closed for a given axis its position will be reset to 0 or max to account for miss-steps... I plan to use Math.Net to handle the symbolics, derivatives, and interpolations. I have not looked at the graphics part yet but what you have looks really good. I would be very interested to see the code that produced those renders. Any advise out there from people dealing with similar obstacles would be very appreciated. _PK Last edited by PatrickKeenan; 09-05-2011 at 11:14 AM. |
| Sponsored Links |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |