6XD - AC Servo drive (single-ended and differential signal)
-
@Zdenko try leaving rhe first two T values at 1.3 and increasing the last two back to 2.7.
If that doesn't work, try T1.0:1.6 :2.7:2.7.
-
@dc42 Hi,
T1.3:1.3 :2.7:2.7 is not working, the same random shifts unfortunately.
T1.0:1.6 :2.7:2.7 works much better, I am getting on Long-distance move around 0.01mm shift on X-Axis in negative (so it is losing steps), so in 10 Long-distance moves I lose around 0.1mm in X axis.
Long-distance movement is machine Max Diagonal travel, so both X and Y axis are moving at rapid speed.
The thing I noticed with T1.0:1.6 :2.7:2.7 after around 30mins of testing, 2 times I had like motor "stall", motors on Long-distance rapid speed in the middle of movement lost the acceleration and continued to move which resulted in a position shift, and in all other cases it was like I mentioned above.
Thank you,
-
@Zdenko thanks, the fact that 1.0:1.6 works better than 1.3:1.3 confirms that the issue is that the STEP optocoupler in your driver does not turn off fast enough.
RRF on the 6XD allows you to configure the first value (step pulse width) very precisely, however the second value (step pulse interval) will be rounded up so that the first+second value is a multiple of 1.33us. So you could try e.g. 0.8:1.8 or 0.6:2.0.
Send M569 P0 to see what the T values you specified have been rounded up to.
-
@dc42 Hi,
I tested:
0.8:1.8:2.7:2.7 (M569 P0 actual 0.8:1.9:4.0:3.2us) - again some minor shifts
0.6:2.0:2.7:2.7 (M569 P0 actual 0.6:2.0:4.0:3.4us) - can not even move the X motor, but Y is moving, strange...
0.8:2.0:2.7:2.7 (M569 P0 actual 0.8:3.2:4.0:3.2us) - just tested to see what would hapen, no improvements.Does maybe grace period have anything to with this, I am shooting blind now?
M595 P120 R3
I will need to spend a lot of time probably on this during a weekend to try and find sweet spot.
Thank you,
-
@dc42 Hello,
After some time I settled for now on T1.0:1.6:3.0:3.0 on all 6 outputs on 6XD, but I ran into another issue.
6XD is controlling two external servo drivers, and over CAN-FD I have two 3HCs where I have a total of 6 stepper motors and this is all working well.
I want to implement the conveyor system for the PCBs, There will be 3 zones:
- First zone "Loader" - I need two additional stepper motors working in parallel
- Second zone "Placement" - I need two additional stepper motors working in parallel
- Third zone "Unloader" - I need two additional stepper motors working in parallel
- Conveyor Width - one additional motor
So a total 7 new stepper motors are needed, my plan was to use three outputs from 6XD to control 6 external drivers for "zones" as they will work in pairs and one output for Conveyor Width.
A problem in what I ran was on testing the Conveyor Width is, with all outputs on 6XD setup to T1.0:1.6:3.0:3.0 external driver is too slow to process the step/direction as the signal is too fast, and if I change the settings only of the output that is controlling the external driver for Conveyor Width and get it to work, servo outputs get slow and I can not reach the 3k RPM any more, only around 1750.
Is there a way to set it up, or do I need to buy another 6XD just for the complete conveyor system?
Thank you,
-
@Zdenko the way the step pulse timings work means that you can't set separate timings on each one. One option, for the Conveyor width, is to use a 1XD.
-
@T3P3Tony Hi!
I was considering that, as all would be on the same COM port in the end:
USB COM_1 ---> 6XD ---> 3HC ---> 3HC --->1XD --->1XD --->1XD --->1XD
There is an option in OpenPnP to have multiple controllers, in that case, I would go with:
USB COM_1 ---> 6XD ---> 3HC ---> 3HC
USB COM_2 ---> 6XD ---> External driversOr even:
USB COM_1 ---> 6XD ---> 6XD ---> 3HC ---> 3HC
When I compare prices of another 6XD or 4 pieces of 1XD, 6XD would be a better choice as it would be in the end same price but I would get many more options and I/O-s, so I am not smart here what to choose, hmm.
Are there any limitations that I do not see?
Thank you,
-
@Zdenko I recommended a 1XD because it sounded like you only needed 1 output for the conveyor width:
and one output for Conveyor Width.
-
@T3P3Tony Hi!
I only tested one output where I discovered that issue and that was for "Conveyor Width".
But as mentioned I need a total 7 new stepper motors, my plan was to use three outputs from 6XD to control 6 external drivers for "zones" as these steppers will work in pairs and one output for Conveyor Width, so a total of 4 outputs are needed.
I think the most cost-effective solution would be to go with an additional 6XD.
-
@Zdenko yes that does sound like the case, and as you say you get a lot more IO. Each 6XD will have the same set of timings.
Regarding controlling each one on its own USB vs using one as a expansion board depends on if you need to synchronise the motion. if you do then use the second 6XD as an expansion board.
-
@T3P3Tony Hi!
Yes, you are correct, it would give me more options and even connectivity as a separate controller on its own USB or over CAN-FD, so I am positive I will go in that direction.Thank you for your support.
-
@T3P3Tony Hi!
Quick question, If I would connect one more 6XD on the CAN-FD line as a "slave", I would love to connect it like this:
6XD -> 6XD(Slave) ----------- Longer CAN cable to the head of the machine ------------>3HC -> 3HC(Termination)
But as mentioned in Duet Documentation, 6XD has only one CAN-FD connection and it should be connected last in line if used as Slave, in that case, I would need to run a new cable from the head of the machine back to the enclosure where the rest of the electronic is and I don't like that, is there any other option?
Thank you,
-
@Zdenko it's acceptable to have short stub connections on the CAN bus. You should cut the CAN termination jumper trace on the 6XD that is not at the end of the bus.
Is there a reason why you want to use external drivers for all these motors?
-
@dc42 Hi,
I am looking for a way to connect 7 more steppers, as I can not use the 6XD which has timings set for two axis (X and Y) for external AC Servo Drivers, and as these timings are too fast external stepper motor drivers I need to find another solution that is cost-effective.
Now I basically have 4 STEP/DIR outputs on 6DX that can not be used because of this setup, so I need a way to have at least an additional 4 STEP/DIR outputs that are not "triggered" by those timings for X and Y Servo axis.
I would need 4 STEP/DIR outputs, or some combination of Duet 3 hardware to reach 7 integrated motor drivers, in that case, I would not need 7 external drivers.
If I go in the direction of Duet hardware, I would need two additional 3HC and one 1HC to have 7 integrated motor drivers, and that is in the end more expensive than one additional 6XD and 7 external drivers (where I need to buy 5 more only as I already have two)
With an additional 6XD, I would probably be more flexible, and I would only use 4 STEP/DIR from the board.
3 - Step/Dir outputs for (Two Stepper Drivers in parallel) = 6 drivers
1 - Step/Dir output for Conveyor Width Driver = 1 driverIf there is any other solution, I would be happy to hear.
-
@Zdenko what size stepper motors are they? A Duet 3 Mini and Duet 3 Mini 2+ used as an expansion board to the 6XD might be an option.
-
@dc42 Hi!
6pcs - Nema 17 26Ncm(36.82oz.in) 1.2A 42x42x30mm
1pc - Dual Shaft Nema 17 Nominal Voltage: 4.83V 1.5A 42x42x60mm -
@Zdenko yes Duet 3 Mini with the Mini2+ expansion can easily drive those.
-
@dc42 Hi,
Thank you, that makes sense, it would be the best solution, all would be integrated into the Duet3 Eco system, no external drivers would be required, space in an enclosure will be saved, and no additional wiring would be needed.
When it comes to connecting Duet 3 Mini 5+ with the rest of the Duet3 hardware in my case with 6XD and 2 pieces of 3HCs, to connect it on the CAN-FD line I would only need a short "stub" for CAN-FD and configure the Duet 3 Mini 5 config.g with M954 and set the CAN-FD ID, all other is then configured in 6XD config.g right?
As I have motors that are working in parallel, in config.g, drivers should have the same "letter of axis" assigned to Drivers that are moving at the same time, is that correct?
-
@Zdenko yes that's correct. Declare the axis motors using the M584 command.
The CAN bus needs to be terminated at both ends and there should be no terminators on other boards. If both the 6XD and the Duet 3 Mini will be physically at one end of the bus then I suggest you disable the termination resistor on the 6XD. So electrically the Duet 3 Mini will be at the end of the bus and the 6XD will be on a stub.
-
@dc42 Hi!
Ok, will place an order for the additional Duet HW, hopefully I will manage all connections without any issues.
Thank you,