thank you
I hope to put it into use .
if I have any problems or ideas can I ask you for help? :rainfro:
Hi, I built this last year but thought it may be of some use to others...
It's basically a stand alone PIC based indexer for use with rotary tables, it's pretty cheap - can be put together for 50ukp or so, it outputs step and direction to a suitable controller (I used a cheap controller off eBay - see internal.jpg in pics folder).
I built it to save using index plates and because I don't want to use a fully blown computer for simple indexing.
Written in HiTech C and based on a PIC18F452, source is included for the curious amongst you - please read the document 'legal and instructions.doc' file.
Electronics folder contains a pcb layout and overlay as .bmp files - also a .LYT file for use with Proteus, partslist and circuit diagram.
Pictures folder contains a few images of the completed controller.
Source contains the C files.
In the root there's a keypad template that can be used with the recommended keypad, use instructions and the final .HEX file to program the PIC with.
Hope it's of some use!
Steve.
P.S Should be RotaryTableIndexer.zip attached to this thread
Similar Threads:
thank you
I hope to put it into use .
if I have any problems or ideas can I ask you for help? :rainfro:
Sweet. Thanks for sharing it.
As a quick addendum, some notes for those that are wondering why - or would like to strip it down to a minimum for building on vero-board.
For a psu I used an old laptop supply, depending on the voltage requirements of your driver I'd recommend a min 15v to no more than 25v, anything more and you'll need to make sure to fit a small heatsink to the 5v regulator (due to the current used by the backlight). If your controller and PSU is external then a small 8v (or more) wall-wart will be more than enough to run the controller.
I really wouldn't recommend getting carried away with PSU's and steppers, for this application speed isn't necessary...
I've noticed the Limit1 & 2 inputs aren't checked in this version of the software, easy to fix but you should be aware in case you're relying on them to stop the table...
The sense and ack lines provide feedback with similar devices, pulling the sense low is the same as pressing [>>] the controller will advance. Whilst advancing the open collector transistor connected to the ack will be switched on.
If required all the components around this connector can be omitted - however leave the pull-up resistors in place and Pin 2 of the PIC will need connecting to ground.
The vref output isn't used in this design so the RC filter feeding it can be removed - originally I used a L298 and used the internal PWM to generate a voltage to set the stepper output current. Whilst the PWM is currently running - there's no option in the setup to change it (and hence the output voltage). If you look at the source in the interrupt handler you'll see some legacy code still trying to generate the H bridge control signals - this has been left in because it stretches the clock output to a reasonable value...
The 'sensor' input isn't used either - I experimented with thread cutting ,the sensor input providing a once per rev input from the lathe head and the stepper driving the saddle.
If the keypad feedback beeper isn't required obviously all the components around it can be left off.
If I think of anything else I'll post it here.
Regards
Steve.
I have a request if it's possible to include. I have a 1 meter dia rotary table that I use with a welding robot. The idea of this table is for the robot to weld up components on one half of the table while an operator loads/unloads components on the other half. When both operator and robot are ready, then table turns 180 deg and then the process is repeated. I have a small circut board that receives an input from the operator and the robot and when both are 'set' then it closes a contact for output to an external controller. I presently use a Rutex step and dir servo product and his pcut software on a pc to control the table, but this setup is quite cumbersome. All that I require would be a product like this , but have one input to move 180 deg, but when pressed again to move -180deg and so on. Is this something that you can program in?
Thanks
David
D. Paulson
Hi David,
Yeah, that's a pretty trivial change - although including it so it's a more 'generic' change for general consumption is a bit more challenging. (A nice generic change would be to make the device programmable.)
Question though, does the table need to always rotate (say) clockwise 180 then anticlockwise 180 or can it rotate the same direction always?
If it can rotate the same direction then you could simply drive the sense input (the ack line will tell you that the table is still moving).
If the rotation has to alternate then you could use a tiny bit of logic around the [<<] && [>>] keys.
Finally if you do build the device I could tweek a couple of lines as a one off to get the sense input to rotate in alternate directions.
Changing the following lines in keypad.c should do the trick.
Code:static bool gFlipDir = true; if (SenseIn && Keypad == NOKEY) { if (gFlipDir) Keypad = KEYNEXT; else Keypad = KEYPREV; gFlipDir= !gFlipDir; }
Hi kwackers
That change looks like it'll work perfectly. I'm going to get the parts rounded up right away. The table must rotate +180 and then -180 as not to wind up other hydraulic hoses etc. that is used in the clamping with my welding jigs. If I'm successful with this one, I think I may build others to run the backguage on my shear and brake.
Thanks
David
D. Paulson
O cool! Can it be used like an indexing wheel too? trigger the input and it rotates a certain number of degrees?
Indeedy it can. There's a description in the instructions file but in a nutshell.
It supports the following modes:-
Division: 2 to 9999 parts, you can then rotate 1 div CW or CCW or go direct to the nth division.
Angle: 0 - 359.99 degrees, you can then rotate CW or CCW by that angle each time or go directly to an angle.
Jog: for positioning. In 0.01 to 10.0 degree steps.
Continuous: For machining, table rotates continuously CW or CCW until stopped.
The device allows you set the worm ratio (1 to 9999:1)
min/max/acceleration for steppers (to give 5 speeds)
You can set upto 5 profiles - table, table#2, dividing head, lathe head indexer etc
It automatically allows for backlash (for CCW rotations - all rotations finish CW).
All the information is clearly presented on a 20x4 line LCD (see images in pictures folder).
It's fairly simple to build, even on vero-board. Several have been successfully by the local model engineering club.
That is most eggregiously excellent!! Might you, by any chance, have circuit boards available? Though if not, a bit of point to point wiring shall be my friend for a weekend.
I don't have boards as such. The boards I make are etched using photo sensitive board and a hi-res positive. They're quite labour intensive to make (although very good quality) but don't have any of the niceties like silk screen legends etc. Given that you're in the U.S, by the time I've made it and posted it to you I'm not sure it would be a viable option...
If enough people were interested it might be possible to get some commercially made...
Steve,
On the pcb.bmp
Is this to be scaled down in size before printing ?
Thanks
Ken
Hi Ken,
I'd imagine you'd need to scale the .bmp (I don't think it has any sizing information in it) - if you go the .bmp route then do a test print and compare it to the size of the 40 pin socket, then scale/print until the socket pins line up with the 'holes' on the printout.
However - I'd recommend using the shareware version of proteus and using the proteus file I've included. Proteus can be downloaded here http://www.proteuslite.com/. Load the file and output just the copper layer to your printer. It should be possible to convert one of these files to a format suitable for cutting on a cnc machine - although I haven't done this myself.
Steve
Last edited by kwackers; 11-25-2007 at 11:14 AM.
If you print the PCB from Proteus to a .pdf file it retains the size information and then it can be printed directly from the pdf at the correct size. Also, 'silkscreening' can be done with a laser printer and an iron, very easily since you use Proteus, just have proteus print the silkscreen layer in mirror image, then iron it on- works really well.
Kwackers,
I am interested in creating a PIC program similar to yours. Can you tell me where to find documentation on creating these "ramping" signals you used in your program? Can these be used in the C language (not C+)?
Thanks,
Rob
hello,
I have completed the component installation on the PCB, but I have some difficulties to start.
Using a brand new 18F452, I have used the HEX file with IcProg 1.06A, but about Config bits ?
What values must be entered ?
Thanks for your help.
Rebus,
I see you are brand new to this board, welcome aboard, so we won't get on your case too much, but it is required that you post lots of assembly pictures and detail