Support for AS5311 High Resolution Linear Encoder
-
@Phaedrux I'm new at this Forum. I need to votes before I can add links in my messages. I need to wait
-
@Phaedrux Thanks
(1) https://www.youtube.com/watch?v=DABF_JWJdXY
(2) http://cirqwizard.org/docs/intro.html
(3) https://www.pintoelettronica.com/files/np_Files/DocFiles/000/000/094/Cirqoid_user_manual_EN-20140610.pdf
(4) https://ams-osram.com/products/sensor-solutions/position-sensors/ams-as5311-linear-sensor
(5) https://ams-osram.com/products/sensor-solutions/position-sensors/ams-as5047p-high-resolution-position-sensor -
In 2016, I bought a Cirqoid CNC milling machine to produce prototype circuit boards. Only 1 month after bought this machine, the manufacturer closed their website and disappeared. I could not get it to work and had other things to do. So it sat in a box for too long. It is build very well. And while looking at the controller it was ahead of its time, unfortunately too far ahead. Here is a video(1) of this wonderful machine. And here a link(2) to the software. And a ,link(3) to the manual. This is not a commercial message! The manufacturer went out of business and I am trying to make it work with Duet3d stuff.
Now I have bought a Duet 3 Mini 5+ and start to upgrade this CNC machine.
There are Magnetic Linear Encoders on this machine. The Osram AS5311(4) High Resolution Linear Encoder are at tiny prints in the machine near the magnetic strips.
- On the X axis there is one Nema 14 stepper and one time a Linear Encoder
- On the Y axis are two Nema 14 steppers and 2 times Linear Encoders
- On the Z axis there is one Nema 14 stepper and one time a Linear Encoder
The AS5311 has SPI and PWM outputs.
Now my questions;
Is it possible to add support for the AS5311 to the Duet 3 Expansion 1HCL?
Bye,
Guus
Links:
(1) https://www.youtube.com/watch?v=DABF_JWJdXY
(2) http://cirqwizard.org/docs/intro.html
(3) https://www.pintoelettronica.com/files/np_Files/DocFiles/000/000/094/Cirqoid_user_manual_EN-20140610.pdf
(4) https://ams-osram.com/products/sensor-solutions/position-sensors/ams-as5311-linear-sensor
(5) https://ams-osram.com/products/sensor-solutions/position-sensors/ams-as5047p-high-resolution-position-sensor -
@Guus Please don't create duplicate threads.
According to the specification sheet, the AS5311 has a "standardized quadrature output interface". The 1HCL should be able to support this, as it supports "a linear quadrature encoder that tracks position on a linear axis" (https://docs.duet3d.com/en/Duet3D_hardware/Duet_3_family/Duet_3_Expansion_1HCL#compatible-encoders). So it may work, but we have not tested this specific encoder.
To use a linear encoder in closed loop mode on the 1HCL, you also need a motor shaft encoder on the stepper motor to handle the motor commutation, and it needs to be an encoder like the Duet3D Magnetic encoder, to be able to use the SPI encoder input on the 1HCL, as the linear encoder will already be using the quadrature input.
I note you added a link to a second encoder, the AS5047p. Is this the shaft encoder supplied with the Cirqoid? It looks like there may be a rotary encoder in each of the motor mounts. This encoder says it has a "standard 4-wire SPI serial interface". Again, I'm not sure if this makes it already compatible with the SPI encoder input on the 1HCL. @dc42 may be able to tell you if both of these are already supported.
If you haven't already, have a look at OpenPNP for controlling the pick-and-place aspect of this machine: https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_OpenPnP
Ian
-
The AS5047P is at the "Duet3D Magnetic Encoder".
Can I use the "Duet3D Magnetic Encoder" as an linear encoder instead of on the back of a stepper motor?
If yes:
Then I can make new pcb's for the AS5047P to use at this machine. (not at the back of the steppers)
and
Then I can make new pcb's who fit on nema 14 steppers.Bye
Guus -
@Guus you need an encoder on the back of the motor. the linear encoder would be a second encoder for the axis position. Currently we have only tested the LM10 linear encoder but the OSRAM one may well work.
-
@T3P3Tony The machine uses sturdy spindles and I do not expect any backlash. So once I have mounted the encoder on the back of the steppers, the linear encoders will no longer be needed. All I have to do is to fit end stops. Because the function of end stop was also done with the linear encoders. This way I don't need any new code, or testing new things. I keep 100% to the actual design of Duet3d. I'm learning! Thanks for the support! Up to the next step: ordering stuff;-)
-
@Guus said in Support for AS5311 High Resolution Linear Encoder:
The AS5047P is at the "Duet3D Magnetic Encoder".
Ah, yes, so it is! https://github.com/Duet3D/Duet3-Magnetic-Encoder/blob/main/Duet 3 Magnetic Encoder v0.3/MagEnc_Schematic_v0.3.pdf
Can I use the "Duet3D Magnetic Encoder" as an linear encoder instead of on the back of a stepper motor?
No. It communicates via an SPI interface. As far as I know, the 1HCL expects the rotary encoder on the SPI input, and the linear encoder on the quadrature input. You need both for the linear composite encoder that the 1HCL supports.
I would think you could shrink the size of the PCB to NEMA 14, there seems to be a lot of spare space on the PCB. You could also mount the NEMA 17 size Duet 3 Magnetic Encoder on a NEMA 14 motor with a suitable adapter.
Are you sure there is no encoder on the motor shaft already?
Ian
-
@Guus I've taken a look at the AS5311 sensor data sheet. It appears to me that, the quadrature outputs it provides could be used. They would need to be buffered from 3.3V to 5V because the 1HCL board includes pullup resistors to 5V on the A and B inputs. A bi-colour LED should be driven from the MagINCn and MagDECn outputs to indicate whether the magnet strength is in range.
Alternatively, the serial output could be used, provided that it can be guaranteed that this output is read at least three times per pole pair. Unfortunately the maximum clock rate of the serial output is only 1MHz, which is rather low (much lower than for the AS5047).
-
I made a mistake. The steppers for Z and X are Nema 17. So the "Duet3D Magnetic Encoder" will fit.
Only the stepper for Z is Nema 10. I will make an adapter for the "Duet3D Magnetic Encoder" and try to get it working.
The steppers have only 4 wires and were directly connected to stepper drivers. No SPI or anything else.
-
@dc42 I decided not to use the Linear encoder for the time being. I will install end stops. Thanks for the answers.
HHmm. Maybee the linear encoders are only used as end stops.
Question: Can I use the PWM signal from the AR5311 as end-stop signals in RRF?
-
@Guus The processing board and the driver board where not that complex. I don't see it being used with closed-loop steppers.
-
@Guus These are the steppers. atv the X axis. at the two Y steppers and at the Z stepper.
-
@Guus said in Support for AS5311 High Resolution Linear Encoder:
Can I use the PWM signal from the AR5311 as end-stop signals in RRF?
No, but those encoder have an Index output, if that index pulse is at the right point on the axis it might be possible to use that.See DC42's response below. -
@Guus the index pulse is generated once every pole pair (see page 10 of the datasheet), so it's not much use as an endstop. I guess you could use it to detect the passing of a magnet, but a Hall effect device would do that more simply.
-
@Guus The controller board is interesting. It looks like it has an ARM MCU, and the encoder plugs in directly to that. The stepper drivers are standard 'stepstick' plug-in modules, and are probably Allegro A4988 drivers. I'd guess the firmware reads the motor position from the encoder, and maybe adjusts the position, but this isn't quite closed loop, as it's not taking the motor commutation into account, which allows for accurate positioning. The drivers on the Mini 5+, even though in open loop mode, will be nicer!
Interesting that there are 5 drivers on the motor board. I guess it uses three for X, Y and Z. Does it use the driver with 8 output pins for Y? What does it use the other drivers for? I did see it comes with other tools, eg paste dispenser and pick-and-place toolhead, so I assume those.
Ian
-
Here are more photo's. This will explain many questions very fast.
The boards;
MCU board front side
MCU board rear side
Driver board front side with ET4988 chips.
Driver board rear
Bottom with Duet Mini 5. You can see 2 tubes with compressed air and a vacuum pump.
Solder paste head
PnP head The 5the driver is for the motor for positioning
Mill and drill head
This was sold in 2016. It is really not badly designed. But I could not work with the software and never used this machine. Now have to mill small microstrip antennas. And that requires a lot of testing and milling. So this machine would speed up my development time for antennas a lot.
-
@Guus Interesting! As it has an STM32F407, you might be able to run RepRapFirmware on it via the STM port of the firmware: https://teamgloomy.github.io/.
@jay_s_uk might know if it would work, though it may take some effort to get it working, because you would have to define what the pins do. And the linear encoders would still not be supported in firmware.
And you have a Mini 5+ now, so probably not much point.
Ian
-
@droftarts it won't run i'm afraid as it only has 512kb flash. not enough to fit RRF into (we're at about 730kb without the bootloader (another 32kb))
-
@droftarts said in Support for AS5311 High Resolution Linear Encoder:
@Guus The controller board is interesting. It looks like it has an ARM MCU, and the encoder plugs in directly to that. The stepper drivers are standard 'stepstick' plug-in modules, and are probably Allegro A4988 drivers. I'd guess the firmware reads the motor position from the encoder, and maybe adjusts the position, but this isn't quite closed loop, as it's not taking the motor commutation into account, which allows for accurate positioning. The drivers on the Mini 5+, even though in open loop mode, will be nicer!
Interesting that there are 5 drivers on the motor board. I guess it uses three for X, Y and Z. Does it use the driver with 8 output pins for Y? What does it use the other drivers for? I did see it comes with other tools, eg paste dispenser and pick-and-place toolhead, so I assume those.
Ian
There must have been many problems with this early design of the machine. The manufacturer panicked and stopped the production and closed down his company.
By installing a Duet 3 mini 5+ in this machine I have the latest and greatest controller and support!!!!! Thanks!!!!!
I won't be using the linear encoder for the time being. I will install 3 end stops on the machine. And I will install 4 Duet 3 Expansion 1HCL boards and 4 Duet 3 magnetic encoders. This way I will have a closed loop. The machine has robust spindles and I think the linear encoders are no longer necessary. So no new c code is needed.
If this setup is not accurate enough, I will try to figure out how to add the linear encoders to the machine.
Guus