Hello All First of all, sorry for the late response. Only today, I got some time to work on this project again.
Thanks for all the responses! @Chris: changing to "velocity mode" did not help (setp axis.0.jog-vel-mode true) :-( Now, I try to explain more what I try to do and what I use for it: The idea is to replace the original (broken) CNC controller of Schaublin 125 lathe. (http://www.wfrauenfelder.ch/LAP2005/LAP2005.htm, here you can see some picture from an other guy how rebuilt the same type of lathe with Siemens components). On the lathe I am working on, only the original CNC controller is broken. Everything else works (Drives, Spindle, tool changer, sensors, general electric, ...). So, I use EMC2 to control the original parts. I use a INTEL D945GCLF MB with Atom processor and 2 Gig of RAM (but only 1 Gig of RAM is seen by the kernel). I installed from the EMC2 Ubuntu 6.06 Live CD to the HD. Full update with update-manager (or "sudo apt-get update; sudo apt-get upgrade). Now, "lsb_release -a" shows "Ubuntu 6.06.2 LTS" and EMC2 is version 2.2.8. At the moment, the connection to the machine parts is done through the parallel port with a high speed opto coupler board. First, I work on the X and Z axis only. The original Schaublin drives consists of a Servo or DC motor with resolver and a big drive controller. The interface to these drive controller (from the control signal view) is fairly simple, +5V, GND, puls, direction and one signal called "precis" (Schaublin is located in the French part of Switzerland). Therefor, I call this drives "pseudo stepper". I am using +5V, GND, puls and direction signal at the moment. From the manual of the lathe, the highest speed for the z axis is 3000 mm/min. and for the X axis 1500 mm/min. The resolution for the Z axis is 0.005 mm and for the X axis 0.0025 mm. The .ini and .hal file can be found at the end of this post. After writing almost everything what I am know and what I try to do, I will try to explain the problem again: I can move both axis in jog mode. Homing does work and I tried G00 and G01 commands which work, too. I use the soft buttons on the axis GUI or the arrow keys of the keyboard to jog. When I jog in low speed the axis will stop as soon as release either the soft button or the arrow key. When I do the same thing in high speed, the axis will still move for several mm after I released the key / soft button. So, it does not matter what I use, soft key or arrow key on the keyboard. I think the axis should stop as soon as I release the key, doesn't matter what speed I use. But this is not the case. Today I measured the time (with a stop watch) to move 200 mm in full speed (G00 Z-200.0) and got +8 seconds. Looks like the it does not move at 3000 mm / min. After writing so much, I hope you don't get tired reading it ;-) Thomas schaublin.ini: # Generated by stepconf at Thu Jan 15 19:14:21 2009 # If you make changes to this file, they will be # overwritten when you run stepconf again [EMC] MACHINE = schaublin NML_FILE = emc.nml DEBUG = 0 [DISPLAY] DISPLAY = axis EDITOR = gedit POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 1.2 INTRO_GRAPHIC = emc2.gif INTRO_TIME = 1 PROGRAM_PREFIX = /home/rollak/emc2/nc_files INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm PYVCP = panel.xml LATHE = 1 [TASK] TASK = milltask CYCLE_TIME = 0.010 [RS274NGC] PARAMETER_FILE = emc.var [EMCMOT] EMCMOT = motmod SHMEM_KEY = 111 COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 BASE_PERIOD = 100000 SERVO_PERIOD = 1000000 [HAL] HALFILE = schaublin.hal POSTGUI_HALFILE = postgui.hal [TRAJ] AXES = 3 COORDINATES = X Z LINEAR_UNITS = mm ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 10.00 MAX_LINEAR_VELOCITY = 50.00 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl [AXIS_0] TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 300.0 STEPGEN_MAXACCEL = 0.0 SCALE = 400.0 FERROR = 0 MIN_FERROR = 10000.0 MIN_LIMIT = -360.0 MAX_LIMIT = 0.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 10.0 HOME_LATCH_VEL = -0.200000 HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 [AXIS_2] TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 300.0 STEPGEN_MAXACCEL = 0.0 SCALE = 200.0 FERROR = 0 MIN_FERROR = 10000.0 MIN_LIMIT = -400.0 MAX_LIMIT = 0.0 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 20.0 HOME_LATCH_VEL = -1.00000 HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 schaublin.hal: # Generated by stepconf at Thu Jan 15 19:14:21 2009 # If you make changes to this file, they will be # overwritten when you run stepconf again loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]SERVO_PERIOD key=[EMCMOT]SHMEM_KEY num_joints=[TRAJ]AXES loadrt probe_parport loadrt hal_parport cfg=0x378 setp parport.0.reset-time 40000 loadrt stepgen step_type=0,0 loadrt encoder num_chan=1 loadrt pwmgen output_type=0 addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf encoder.update-counters base-thread addf pwmgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread addf stepgen.capture-position servo-thread addf encoder.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf stepgen.update-freq servo-thread addf pwmgen.update servo-thread net spindle-cmd <= motion.spindle-speed-out => pwmgen.0.value net spindle-enable <= motion.spindle-on => pwmgen.0.enable #net spindle-pwm <= pwmgen.0.pwm setp pwmgen.0.pwm-freq 100.0 setp pwmgen.0.scale 1166.66666667 setp pwmgen.0.offset 0.114285714286 setp pwmgen.0.dither-pwm true net spindle-cw <= motion.spindle-forward net spindle-ccw <= motion.spindle-reverse setp encoder.0.position-scale 400.000000 net spindle-position encoder.0.position => motion.spindle-revs net spindle-velocity encoder.0.velocity => motion.spindle-speed-in net spindle-index-enable encoder.0.index-enable <=> motion.spindle-index-enable net spindle-phase-a encoder.0.phase-A net spindle-phase-b encoder.0.phase-B net spindle-index encoder.0.phase-Z net estop-out => parport.0.pin-01-out net xstep => parport.0.pin-02-out setp parport.0.pin-02-out-reset 1 net xdir => parport.0.pin-03-out setp parport.0.pin-03-out-invert 1 net zstep => parport.0.pin-04-out setp parport.0.pin-04-out-reset 1 net zdir => parport.0.pin-05-out setp parport.0.pin-05-out-invert 1 net spindle-cw => parport.0.pin-06-out net spindle-ccw => parport.0.pin-07-out #net spindle-pwm => parport.0.pin-08-out net both-home-x <= parport.0.pin-10-in-not net both-home-z <= parport.0.pin-11-in-not net spindle-index <= parport.0.pin-12-in net spindle-phase-a <= parport.0.pin-13-in net spindle-phase-b <= parport.0.pin-15-in setp stepgen.0.position-scale [AXIS_0]SCALE setp stepgen.0.steplen 40000 setp stepgen.0.stepspace 40000 setp stepgen.0.dirhold 100000 setp stepgen.0.dirsetup 100000 setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb net xstep <= stepgen.0.step net xdir <= stepgen.0.dir net xenable axis.0.amp-enable-out => stepgen.0.enable net both-home-x => axis.0.home-sw-in #net both-home-x => axis.0.neg-lim-sw-in #net both-home-x => axis.0.pos-lim-sw-in setp stepgen.1.position-scale [AXIS_2]SCALE setp stepgen.1.steplen 40000 setp stepgen.1.stepspace 40000 setp stepgen.1.dirhold 100000 setp stepgen.1.dirsetup 100000 setp stepgen.1.maxaccel [AXIS_2]STEPGEN_MAXACCEL net zpos-cmd axis.2.motor-pos-cmd => stepgen.1.position-cmd net zpos-fb stepgen.1.position-fb => axis.2.motor-pos-fb net zstep <= stepgen.1.step net zdir <= stepgen.1.dir net zenable axis.2.amp-enable-out => stepgen.1.enable net both-home-z => axis.2.home-sw-in #net both-home-z => axis.2.neg-lim-sw-in #net both-home-z => axis.2.pos-lim-sw-in net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in loadusr -W hal_manualtoolchange net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
