Don Stanley wrote: > > setp mux2.0.in0 [SPINDLE]LOW_GEAR_V_RPM # 10 volts/350 RPM = 0.0285714 > setp mux2.0.in1 [SPINDLE]HIGH_GEAR_V_RPM # 10 volts/3000 RPM = 0.00333333 > #setp scale.0.offset 0.0 > #setp ppmc.0.DAC8.00.scale 300. > net spindle-rpm-cmd motion.spindle-speed-out => scale.0.in > net spindle-higear ppmc.0.din.06.in-not => mux2.0.sel > net spindle-gain mux2.0.out => scale.0.gain > net spindle-volts scale.0.out => ppmc.0.DAC8.00.value > net spindle-fwd motion.spindle-forward => ppmc.0.dout.00.out > net spindle-rev motion.spindle-reverse => ppmc.0.dout.01.out > > Your _io.hal works fine with the Axis Display on my system. > That's the sum of my knowledge to this point. > Are you saying that if you use "my" univstep_io.hal file, you get smoothly varying voltages out of the DAC? If so, that clearly indicates that something is getting integer-ized in your hal file.
OK, first thing I see is that you have commented out the scale value for ppmc.o.DAC8.00.scale Why did you do this? Without a specific value set to that parameter, it is allowed to default to something - who knows what? Looking in the code, I see it is supposed to default to 1.0, but maybe for some reason that isn't happening. Maybe it would be better to set it to a known value. The driver code sets output voltage to value / scale and then maps the magnitude of that onto a 0..255 value to send to the DAC. Looking at the hal components, mux2 and scale are certainly both float components. I just tested my standard PWM setup (which uses the same driver) and all seems to be working fine here. I went up in 50 RPM steps, and the voltage from the DAC went up in small steps of about 100 mV per step. Using your value of 0.33666 as the input value to the DAC, and assuming the 1.0 default of scale works, then you should get (0.336666/10) * 255 rounds up to 9 as the digital value sent to the DAC. That should come out as (9/255)*10 = 353 mV Your second value of 0.66999 computes to a digital value of 17, and that should give 667 mV. Oh, you should check that SSR1 is turned on, even for low spindle speeds! There may be some value below which the specified spindle speed is assumed to be close enough to zero, and the spindle run commands are not turned on. That will force a zero output no matter what is sent to the DAC's digital inputs. Jon ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
