😀 How do you construct a PCB Stator? If possible, I would like your help if you have a moment. I have the design and would like to convert it to PCB Stator for a project.
can you please help me with my design? I also designed a PCB motor with a 120mm diameter 6 coil 2 layer and 3 phase delta connection but after assembling it with the rotor and the magnets that can't move after given supply with the BLDC controller.
I am sure you have never heard of an induction motor. Or have you? My PCB motor uses induction and NO magnets at all and it's even thinner than your design.
Hi, Cool project. You might be interested of this : ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Tb2oOq6OG-A.htmlsi=YfThYjIwEmmJy7u9 It's BLDC controller using ESP32, made in Fusion.
Have you tried to make this same design by hand? I was thinking of getting an electrolysis kit and building up my own multilayer boards. Maybe start with a thin sheet of fiberglass and then use solder mask between layers. This probably sounds nuts, but then again, I might just be crazy.
Getting a silicon steel backplate (or several thinner ones, to reduce eddy currents) for the stator PCB laser cut shouldn't add much cost or complexity, but may greatly improve the magnetic flux density produced by the stator. Anything you can do to reduce the air gap between the rotor and stator will also improve performance. It may also be advantageous to use a laser-cut polycarbonate or FR4 rotor to improve balance and and tighten your tolerances (parallelism, coplanarity of magnet surfaces and concentricity especially). I would also consider using wedge-shaped magnets, assuming you can find a low-cost source.
@@joshuaplank883 It closes the magnetic poles on itself => make flux gap smaller => flux greater. Better to use two rotors with steel backplates behind the magnets. But silicon steel is not needed because there is(into backplates) a constant magnetic flux and no eddy currents.
Odd choice to go for a TO packaged mosfer for an obviously thermally constrained layout. If anything, you would at least want to place them upside down to have contact with the lower thermal resistance side of the package. I also designed a 1.5kva bldc driver in a similar space, with a stacked esp32 no less. I used some irf7749l1, pricey, but one of the lowest thermal impedance package out there.
Furthermore, you also don't seem to have any gate drivers for your mosfets. That is a dangerous situation to be in, switching will create a lot of ringing, overdriving your mosfets. Easy way to kill them. Also, if you plan on using the mcpwm module, save yourself the time, use the the ledc one instead, especially if you plan on doing quasi sin control. Also, the esp32 adc is not fast enough to do back emf sensing, so you need an external comparator. Fov is also pretty much out of scope for anything above 2krpm.
Good luck. I designed a 2kW BLDC driver in the same space and it survived 4.8kW peaks (100A per phase). Your biggest problem will be cross conduction, then thermals and EMI which I can see in your schematic you have basically ignored. 6 layers, parallel copper.
Great job, @365 Robots!! Can you tell me what kind of software you are configuring, and also what kind of ESC board do you use? I will be very grateful, I am just doing a similar project now and there are difficulties in connecting.
Can you please let me know what kind of SMD LED light source and receivers are you using? Brand and dimensions as I am not able to procure them. Also which all components would be necessary in the signal conditioning apart from filtering and Schmitt trigger? . . Also loved to watch the development of your project from scratch, Not many RU-vidrs show such a detailed explanation. Keep the good work up!!
I really appreciate that you liked the video series. It's a 0805 IR photodiode form Würth Electronics (1540801EEA300). I also used their 15408094BA400 IR LED. The most important part of the signal processing is the TIA (trans-impedance amplifier). You can go with a comparator or Schmitt trigger after that. Go and rewatch this video to catch the details: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-RPo8U-ANzYs.htmlsi=Q-IzgmdpiUuXu1Dd
I have something like a "data ready" on my mind, where an extra detector with a very short hole tells the CPU to "read now". This has the disadvantage of not knowing, where the encoder is when the system is powered on. But the reading of the position while it's moving will always be at the best position - the center of a obscured or open area. And who will stop you from implementing a Hamming code here too together with the Grey code 😀
Great job @365 Robots, Would you share more details on the PCB design? Did you try multi layer like 8 or more layers in comparison to 2 layer PCB? Would love to see a video explaining the PCD coil design if possible.
I only tried 2 layer pcbs for now. For the latest Video I attempted to stack multiple thin 2 layer PCBs together. This resulted in a decent torque increase. Sadly never got to measure the difference in torque on those designs.
I believe this could work better with rotors and magnets on both sides of one PCB stator instead of PCB stators on both sides of the rotor. The reason for that is that all of the field lines would then pass through the rotors instead of half being outside of the rotor/stator assembly.
do you know how someone is able to make an encoder code disk the size of a penny? im trying to build something for a video game controller and the disc holes need to be around .40mm and the disc it self has to be around 10mm
just cannot reach very high resolution, not properly for motor control itself. for some limited application, for example, after the reduced gearbox, if the motor already equipped with a high resolution encoder.
Hi, thank you for the effort on this series; my use case would be a much lower frequency application as a wind vane position indicator to show and record wind direction. bye
Hi, very good start and impressive assembly but as others have already said an optically solid disk may solve most of the signal to noise issues. also Grey code is designed specifically for this application. bye
I'm interested in a really cheap absolute linear position encoder. It doesn't need to be particularly fast, since it is tracking the movement of a 3d printed mechanism being positioned by a servo motor. This approach seems like it could be adapted to this use case, and it could be implemented by PCBs with surface mount components, so it would be cheap to prototype. Do you think this approach would be feasible and yield the results that I'm looking for? Anybody have an open source example of somebody doing something similar?
I'd want an absurd amount of these to use for smart home stuff, but I'd hide them in innocuous items and decorations. Then I get to have fun controlling light or volume or whatever by interacting with my room in a weird way
I did this too, except I used an old optical mouse sensor and pattern printed by a regular laser printer, it took 20 minutes to setup (few hours on sw) and cost $1, I didn't push it, but it was able to do absolute position resolution of 2048 at 60fps.
Go and check out the update implementing Gray code and copper-patch-based patterns in this video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-O8CtjtqY2iI.htmlsi=OhyIqiVN8XmEPFhG
This is nice project!. I see you are using STM32, i would highly recommend you to learn and use reading GPIO port over DMA. You can attach the DMA reading of GPIO port to the update event or even interrupt. This way all the reading is done by hardware with almost zero software overhead and you can access the graycode value whenever you want as it is automatically updated by the timer and DMA. Also the speed of update is really high. To see the values i am getting two ideas. One is to use Analog output and measure that pin with osciloscope. Also there are methods how to plot live data using STM32 in debugging mode, unfornutelly i dont have much experience with this, but there is a ton of tutorials how to set this up. Also you can jsut watch the value in Live Expression in a debbuging mode. Anyway, great work! :)