How to configure tubular linear motor

I have 49 magnets, 6coils ,2 poles per phase.
I don’t know the torque (it’s home brew)
It doesn’t turn, it’s linear.
Incremental magnetic encoder linear.
And want to use the step direction interface from duet , for 3d printer.

How many counts per metre is your encoder? This is your ‘cpr’ for the encoder
How many pole pairs per metre is your stator? This is the pole_pairs for the motor.

Thanks I’ll look into it tomorrow.
Is the 5.3 version stable.
I’ve yet to configure or update .
Will start tomorrow.
I was wanting to implement thermistor. read that you need to make a voltage devider
And not part of the board.
Is this correct

Er yes, that’s correct, you need to add a 10k resistor to AGND, and then connect your thermistor to the other resistor, the input, and AVCC

1 Like

Do you know anything about calibration sequence with incremental linear magnetic encoder.

Calibration should be the same - what’s happening?

check dump_errors(odrv0) etc

Thanks for replying.
I’m a bit fudled with enormity of what I’m trying to do.
I’m just about to start to do update of odrive and do the configuration.
I’m trying to think ahead of time how to merge the two systems.
I have a incremental linear magnetic encoder.
I’ve previously been told I can use the end point of the magnetic strip as a indent or set end position.
Then it should run through calibration sequence.

This has to then run on duet 2 Wi-Fi.
Which will require a homing cycle.
I’ve fitted a standard micro switch for that purpose.
But in order to do the initial calibration, the end stop would get in the road.
I thought of putting in a spring bump stop so it could go to the other end of the magnetic strip .
Then I thought of just putting the odrive and the duet endstop plugs in series,
But that I’m sure is a bad idea.

To put it blunt I’m learning to not trust myself ,and if asking stupid questions at least clears up
What not to do.
It already looks like I’m going to have to drop the resistance of the motor to get it to work properly .
It’s currently 11 ohms and designed it to run on three amps.
That’s not a problem, just trying to get heat down.
Thanks in advance.

Well, the first step is axis.requested_state = AXIS_STATE_MOTOR_CALIBRATION (you don’t need to do the full sequence at once)
This will just measure the resistance and inductance. (you’ll hear a ‘beep’ as it measures the inductance, It won’t move the motor yet)
(you’ll need to set motor.config.resistance_calib_max_voltage=10 or more for your motor - otherwise you’ll see ERROR_PHASE_RESISTANCE_OUT_OF_RANGE)

But yes you are right, you will probably have to re-wind the motor with some thicker wire (or use several strands of your existing wire in parallel: i’d probably suggest using three strands - if you keep the same overall amount of wire, then the length drops by a factor of 3, and you have 3 strands in parallel, so the resistance drops by a factor of 9 and 3A becomes 27A - much more in ODrive’s range)

If they share a ground, you may be able to put the same switch “in parallel” with the two drives, if the Duet schematics are available, one could check them against ODrive to make sure they are both “pull up” or both “pull down”. Otherwise you will need some circuit to adapt it. Also maybe the Duet has some absolute-positioning mode where it uses the ODrive’s home position…?
But that’s for later - get the ODrive working first. :slight_smile:

Thank you.
Thank you.

Is it OK if I message you again.
Thanks in advance