@o_lampe Check this one.. opensource design with files on github.. Uses a BLDC motor + encoder.
Weight is just below 90g.
Demo of it in use.
https://www.youtube.com/watch?v=f0SuaIMxAs0
Assembly video
https://www.youtube.com/watch?v=wmcOtlD_yG0
@o_lampe Check this one.. opensource design with files on github.. Uses a BLDC motor + encoder.
Weight is just below 90g.
Demo of it in use.
https://www.youtube.com/watch?v=f0SuaIMxAs0
Assembly video
https://www.youtube.com/watch?v=wmcOtlD_yG0
@o_lampe I2C is polled by the MCU, so it's up to the MCU to decide when to read. If using interrupts from a encoder the cpu would be forced to handle every pulse when it pulses. This is why i previously stated that a high interrupt count may be problematic for the MCU.
The I2C standard do support multiple masters on the same bus, but that depends on all masters listening for the clock and not trying transfers when another master is communicating. They would also need to handle collisions on the I2C bus.
If the Duet FW has strict timing of when it needs data that might also be an issue. Second issue would be to figure out how fast the FOC algo needs to get feedback after moving the motor, and 40ms is only 25 updates per second. If reading the filament sensor there would also be quite a large lag between moving the motor and the filament moving but not sure if that's a huge problem at the speeds needed here. (25 updates per second at 1rpm = 14 degrees)
If we get to a point of a working PoC i might do a spin of the simplefoc-mini and embed a tiny MCU that can do CAN-bus and/or i2c to keep all the motor-control/monitoring in the same place.
I'm running my smarteffector together with a Manta M8P on a DIY delta so have a bit more freedom myself.
My main knowledge related to this subject is in electronics and embedded development.
I'm not affiliated with Duet3D so cannot make any official statement, just interested in the extruder.
@o_lampe
That was exactly what i was thinking of, but with a external counter.
Give me a shout if you are thinking about ordering some of those boards. Can do all the soldering/flashing if needed. Don't have a resin-printer myself to print the extruder so maybe we can do a colab.
Would probably be possible to use something existing like this instead of printing that disc. (steps and size would of course need to be matched with the extruder/motor/pcb)
@o_lampe Of course. I'm fully booked with work right now so it won't happen in at least 2-3 months. I live in Sweden so fairly close
The one i posted was stainless steel as a reflector. Only a non-reflective background would be needed.
Other option is a non-reflective slotted disk with a reflective background.
But not sure what field of depth the sensor has so using a non-reflective disk with a reflective background may be problematic.
Either way i would recommend using a disk-material that won't wobble too much with the vibrations.
If you got a laser that would be perfect, and cheaper!
@tombrazier said in Hollow shaft extruder:
Thanks @pakar. I have not explored the topology of BLDC motors so I have no idea how 12 coils and 14 motors would result in 8.5°. Part of me thinks wow, that's intriguing tell me more and part of me just wants to take it as read!
14 pole, 12 stator = 7 * 6 = 42 steps = 8.571 degrees.
I of course assume that it's a 3-phase motor and the number of stators need to be a multiple of the number of the number of phases.
I tried looking for a good introduction but only found this, and that may be a bit too much as a introduction.
https://what-when-how.com/electric-motors/stator-winding-design-considerations-electric-motors/
@o_lampe
That was exactly what i was thinking of, but with a external counter.
Give me a shout if you are thinking about ordering some of those boards. Can do all the soldering/flashing if needed. Don't have a resin-printer myself to print the extruder so maybe we can do a colab.
Would probably be possible to use something existing like this instead of printing that disc. (steps and size would of course need to be matched with the extruder/motor/pcb)
Just a free-standing optical disk and reader.
Search for "optical encoder disc" to get some more details.
This was just the first one on ali i found.
@o_lampe I2C is polled by the MCU, so it's up to the MCU to decide when to read. If using interrupts from a encoder the cpu would be forced to handle every pulse when it pulses. This is why i previously stated that a high interrupt count may be problematic for the MCU.
The I2C standard do support multiple masters on the same bus, but that depends on all masters listening for the clock and not trying transfers when another master is communicating. They would also need to handle collisions on the I2C bus.
If the Duet FW has strict timing of when it needs data that might also be an issue. Second issue would be to figure out how fast the FOC algo needs to get feedback after moving the motor, and 40ms is only 25 updates per second. If reading the filament sensor there would also be quite a large lag between moving the motor and the filament moving but not sure if that's a huge problem at the speeds needed here. (25 updates per second at 1rpm = 14 degrees)
If we get to a point of a working PoC i might do a spin of the simplefoc-mini and embed a tiny MCU that can do CAN-bus and/or i2c to keep all the motor-control/monitoring in the same place.
I'm running my smarteffector together with a Manta M8P on a DIY delta so have a bit more freedom myself.
My main knowledge related to this subject is in electronics and embedded development.
I'm not affiliated with Duet3D so cannot make any official statement, just interested in the extruder.
@o_lampe Accuracy is not too good without having a encoder.
12 coils and 14 magnets would get you to ~8.5°. The more coils/magnets you have the more "steps" you will have. This is why a encoder is "required" for anything with high accuracy.
If you get a encoder with above 200 pulses per rotation it would be the same as a 1.8° stepper. With a AMT103 optical encoder (holethru) for $20 you can have up to 8192 pulses per rotation, but that is definitely overkill for this usecase, and may be problematic for the MCU. Aim for something like 200-500 pulses per rotation.
If you are really wanting to cut down on weight you could probably go with something like:
https://www.aliexpress.com/item/1005004559035047.html
but that would require you to build a chamber that it would sit in, and tolerances so the disk never touches the sensor is also quite critical, and when you start printing you will get quite a bit of vibration. Have not proofread if this specific one is compatible with the ArduinoFOC lib.
Edit: Should have been a reply to @tombrazier
34g motor (€4).. but torque might be an issue on these at low rpm.
https://www.aliexpress.com/item/1005004901867829.html
or
110g motor
https://www.aliexpress.com/item/1005004516876627.html
with hall-sensor, but unsure about what accuracy you can get with the built in hall-sensors.
@o_lampe
Option for the o-dive.
https://github.com/simplefoc/Arduino-FOC
Mini (<3A board)
https://www.simplefoc.com/simplefoc_mini_product_v1
Available for €12 from https://www.simplefoc.com/simplefoc_mini_product_v1
@o_lampe it was mainly to spark some ideas.
A possibility with this type of design could be to flip it around with the BLDC on top and then use a larger bore where you get some insulating air around the filament. A open style BLDC would also have more surface area to dissipate heat compared with a enclosed stepper.
Quick look gave me these two:
https://www.aliexpress.com/i/4001147807182.html
Outer diameter : 68mm
Bore : 22mm
https://www.aliexpress.com/i/33008455482.html
Outer diameter : 40mm
Bore : 10mm
With a planetary reduction gearbox might be possible to use a higher rpm motor (more volts & RPM but lower amps), but not too good myself at calculating forces for those things and how much weight that would add. (igus plastic gears?)
If sticking with steppers there are some larger-bore steppers out there too. Found this one but without pricing.
https://www.faulhaber.com/en/products/series/dm66200h/
@o_lampe Check this one.. opensource design with files on github.. Uses a BLDC motor + encoder.
Weight is just below 90g.
Demo of it in use.
https://www.youtube.com/watch?v=f0SuaIMxAs0
Assembly video
https://www.youtube.com/watch?v=wmcOtlD_yG0