Spindel problems in Gmoccapy

More
9 years 6 months ago - 9 years 6 months ago #92275 by newbynobi
Replied by newbynobi on topic Spindel problems in Gmoccapy
The changed code
Code:
########################################################## # Spindeldrehzahl messen / mesurement spindle revolution # ########################################################## loadrt encoder num_chan=1 addf encoder.update-counters servo-thread addf encoder.capture-position servo-thread setp encoder.0.position-scale 1 # Anzahl der Impulse je Umdrehung setp encoder.0.counter-mode 1 # Wenn 1 gesetzt, wird B-Signal ignoriert # disable 4 times encoder, otherwise each klick will ingreas jogwheel-count by 4 instead of 1 # 4-fach-Auswertung vom Encoder ausschalten, sonst wird jogwheel-count bei jedem Klick um 4 statt um 1 erhoeht setp encoder.0.x4-mode FALSE loadrt scale count=1 # Wird gebraucht, um U/Sekunde in U/min umzurechnen addf scale.0 servo-thread setp scale.0.gain 60 # Ausgang = 60 x Eingang net spindle_index parport.0.pin-10-in => encoder.0.phase-A => encoder.0.phase-Z net spindle-index-enable motion.spindle-index-enable <=> encoder.0.index-enable net spindle-rps encoder.0.velocity => scale.0.in net spindle-rpm scale.0.out # Zum Erkennen ob Geschwindigkeit erreicht wurde # For at Speed detection loadrt near addf near.0 servo-thread # Stellt fest ob zwei Werte in etwa gleich sind # Wahr wenn, in1/scale <= in2 <= in1*scale # oder wenn |in1-in2| <= difference # prooves if two values are roughly the same # true if in1/scale <= in2 <= in1*scale # OR |in1-in2| <= difference setp near.0.scale 1.2 setp near.0.difference 10 net spindle-cmd => near.0.in1 net spindle-rpm => near.0.in2 net spindle-at-speed near.0.out => motion.spindle-at-speed

In your postgui.hal file you need:
Code:
net spindle-rpm gmoccapy.spindle_feedback_bar net spindle-at-speed gmoccapy.spindle_at_speed_led


Norbert
Last edit: 9 years 6 months ago by newbynobi.

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

More
9 years 6 months ago - 9 years 6 months ago #92276 by tecno
Replied by tecno on topic Spindel problems in Gmoccapy


Line 43

net spindle-index => encoder.1.phase-Z => encoder.1.phase-A
Attachments:
Last edit: 9 years 6 months ago by tecno.

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

More
9 years 6 months ago #92277 by newbynobi
Replied by newbynobi on topic Spindel problems in Gmoccapy
Hallo bengt,

please use the changed code.
See my last post.

Norbert

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

More
9 years 6 months ago - 9 years 6 months ago #92278 by Todd Zuercher
Replied by Todd Zuercher on topic Spindel problems in Gmoccapy
I believe you only have one encoder so the pin names should be:
net spindle-index => encoder.0.phase-Z => encoder.0.phase-A

(There were also other places where encoder.1 should be changed to encoder.0, but Norbert corrected them while I was typing.)
Last edit: 9 years 6 months ago by Todd Zuercher.

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

More
9 years 6 months ago - 9 years 6 months ago #92279 by tecno
Replied by tecno on topic Spindel problems in Gmoccapy

File Attachment:

File Name: Blomqvist_...4-28.hal
File Size:4 KB
Still something wrong

Attachments:
Last edit: 9 years 6 months ago by tecno.

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

More
9 years 6 months ago - 9 years 6 months ago #92281 by Todd Zuercher
Replied by Todd Zuercher on topic Spindel problems in Gmoccapy
You have 3 lines that are essentially trying to do the same thing twice.
These two lines
net spindle-index => encoder.0.phase-Z => encoder.0.phase-A
net spindle-index <= parport.0.pin-10-in
and this one line are functionally equivalent, except for the signal name.
net spindle_index parport.0.pin-10-in => encoder.0.phase-A => encoder.0.phase-Z

Here I've deleted the offending line and reconnected the original parallel port pin line.
Code:
# Generated by stepconf 1.1 at Mon Apr 17 15:16:45 2017 # 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 num_joints=[TRAJ]AXES loadrt hal_parport cfg="0x378 out" setp parport.0.reset-time 5000 loadrt stepgen step_type=0,0,0 ctrl_type=p,p,v loadrt charge_pump setp charge-pump.enable 1 net charge-pump <= charge-pump.out loadrt encoder num_chan=1 loadrt scale count=1 loadrt near net spindle-cmd-rpm => stepgen.2.velocity-cmd setp stepgen.2.position-scale 0.9 #steps/RPM setp stepgen.2.steplen 5000 setp stepgen.2.stepspace 5000 #setp stepgen.2.dirdelay 35000 setp stepgen.2.maxaccel 5000 addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf charge-pump base-thread addf parport.0.write base-thread addf parport.0.reset base-thread addf encoder.update-counters base-thread addf encoder.capture-position servo-thread addf scale.0 servo-thread addf near.0 servo-thread addf stepgen.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf stepgen.update-freq servo-thread net spindle-index => encoder.0.phase-Z => encoder.0.phase-A net spindle-cmd-rpm <= motion.spindle-speed-out net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs net spindle-cmd-rps <= motion.spindle-speed-out-rps net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs net spindle-at-speed => motion.spindle-at-speed net spindle-enable <= motion.spindle-on => stepgen.2.enable net spindle-cw <= stepgen.2.step net spindle-ccw <= stepgen.2.dir #setp encoder.0.counter-mode 1 setp encoder.0.position-scale 1 setp encoder.0.counter-mode 1 setp encoder.0.x4-mode FALSE setp scale.0.gain 60 setp near.0.scale 1.2 setp near.0.difference 10 net spindle-cmd => near.0.in1 net spindle-rpm => near.0.in2 net spindle-at-speed near.0.out => motion.spindle-at-speed net coolant-flood <= iocontrol.0.coolant-flood 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-04-out-invert 1 net zstep => parport.0.pin-04-out setp parport.0.pin-04-out-reset 1 setp parport.0.pin-05-out-invert 1 net zdir => parport.0.pin-05-out net spindle-cw => parport.0.pin-06-out net spindle-ccw => parport.0.pin-07-out net coolant-flood => parport.0.pin-09-out net charge-pump => parport.0.pin-14-out net spindle-index <= parport.0.pin-10-in net home-z <= parport.0.pin-11-in-not net home-x <= parport.0.pin-12-in-not net estop-ext <= parport.0.pin-15-in-not net spindle-index-enable motion.spindle-index-enable <=> encoder.0.index-enable net spindle-rps encoder.0.velocity => scale.0.in net spindle-rpm scale.0.out setp stepgen.0.position-scale [AXIS_0]SCALE setp stepgen.0.steplen 1 setp stepgen.0.stepspace 0 setp stepgen.0.dirhold 35000 setp stepgen.0.dirsetup 35000 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 home-x => axis.0.home-sw-in setp stepgen.1.position-scale [AXIS_2]SCALE setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 35000 setp stepgen.1.dirsetup 35000 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 home-z => axis.2.home-sw-in net estop-ext => 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
Last edit: 9 years 6 months ago by Todd Zuercher.

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

Moderators: newbynobi, HansU
Time to create page: 1.310 seconds
Powered by Kunena Forum