cooked / kimotor

KiCad plugin for the design of parametric PCB motors
54 stars 12 forks source link

BUG: package not working #45

Closed hstarmans closed 11 months ago

hstarmans commented 1 year ago

I checked this package. There is a version which works for Kicad 7 shared on https://forum.kicad.info/t/kimotor-plugin-fix/40836/1 .

I was able to get some results. The coils are nicely packed but:

cooked commented 1 year ago

Hi @hstarmans , appreciate the feedback. Can you provide some context to the issue? it would help to troubleshoot the problems you're experiencing if you can provide:

hstarmans commented 12 months ago

Settings: I adapted your program so I could enter these settings. settings

Issues

Overlapping / broken tracks wiresmixed

4 layers All layers connect to this point. allviasconnectedhere In a normal electromagnet all coils are in series. In your boards, part of the coils are in parallel. This increases current. Magnetic strength is linear with current. Heat dissipation goes via the square. As such, your board might not be optimal if heat is the limiting factor. Furthermore, in your board in2 goes against front copper. As a result, it does not work.

Weird start The start here is weird. It first goes left and then right. This is not ideal. highlighted

Summarizing, I decided to use https://github.com/atomic14/kicad-coil-plugins. My motor is shared here https://github.com/hstarmans/firestarter/tree/master/lasermodule/pcbmotor_spiraloptimized

What I liked about your plugin;

Still, atomic is able to provide systems with more layers and 12 coils. He also provides an approximation of the electromagnetic field and did build a motor. If you want to go further with this, I would look at his work. Also look at the notes in my markdown here https://github.com/hstarmans/pcb-motor Especially this link https://things-in-motion.blogspot.com/2019/01/selecting-best-pole-and-slot.html

cooked commented 12 months ago

Hey @hstarmans , thanks a lot for taking the time and sharing, you gave me really valuable info. I'll make a list of GitHub issues tonight, to plan the work a bit. I'll start removing hard limits on the input fields, which is a common request, and try to reproduce your layout and possibly adjust the code to fix that first.

hstarmans commented 12 months ago

@cooked I would also setup pre-commit. Here you see an example of a config file. You can auto format your code with black and ruff.

Once you " finished" you can automate the checks with https://github.com/INTI-CMNB/KiBot, i.e. check ERC/DRC. Furthermore, try to keep it minimal, focus on one thing and do it well.

cooked commented 11 months ago

@hstarmans over the weekend I finally managed to spare few hours for coding. the elephant in the room was the algo that would handle the "wiring" of high slots count motors. I've run it only on Linux so far, but with the new code, also the coil generation seems to have improved a bit.

any feedback is always appreciated :-)

I put here sample for 15 and 18 "slots" on 6-layers PCB...still quite large outline motors compared to your case, but next I will test smaller ones image

image

here the details of the terminals, poles connection segments and star connection on the inner rings (inner layers hidden as all the connections happen on F and B)

image

One thing to note is that for layers >2 the coils jump across layers with buried vias...you can check that navigating to the inner layers and right click on the via

image

weenerplasticsgroup commented 11 months ago

Apologies, replying from a different account. The package improved a lot. On windows 10, my setttings look slightly truncated (seems to be problem with how gui is shown). kisettingscapture The coils look indeed much better. I checked the four layer board and cannot see a lot of mistakes. I do think the red line above the via 1-2 should be removed in the picture shown below. It also shows up in the DRC checks, with a warning unconnected end.

image

I have more issues in my Design Rules Checker. I got a couple (Isolated copper fill, annular width board setup constrains 0,05, actual -0.0750). This might be something too look at. Anyhow, great work! I will probably use it in my next laser scanner. Also note that atomic has a biot-savart simulation (see https://github.com/atomic14/kicad-coil-plugins/blob/main/simulations/biot_savart_v4_3.py)

cooked commented 11 months ago

Hi @hstarmans , you might want to check the latest commits, I've been doing some work to fix the via issue + other fixes for the DRC sake. Still some works remain for co-located vias (on 4+ layers) for which I have to implement some staggering algorithm.

regarding the compressed GUI on Win, is this maybe your situation https://github.com/cooked/kimotor/issues/37 ? I do have tested the plugin on Win10 (1920x1080) here and it shows just fine

cooked commented 11 months ago

closing, since most is taken care of. I've moved your suggestions/improvements to new issues https://github.com/cooked/kimotor/issues/54 https://github.com/cooked/kimotor/issues/55 https://github.com/cooked/kimotor/issues/51 https://github.com/cooked/kimotor/issues/56 and added the problem with the GUI in https://github.com/cooked/kimotor/issues/37