I remember a month and a half or so ago multiple people told me that it cannot be done in managed code. :whistle:
@ EvoMotors - Youāve given me an idea to draw the pcb stencil by plotting directly on the sensitized board. I just have to keep strong light away from it while itās plotting⦠Oh, I could also use transparencies! Iām going to do a transparent plot later. Actually, transfer paper works too.
Plotting on the sensitized board? I think itās easier to just print directly on the āInkjet Printable Transparency Filmā with Inkjet printer. I had a good success doing this before.
@ EvoMotors - Nah, one really needs a plotter to ensure there are no pin holes from the printing process that can cause pin holes in the copper traces afterwards. I use a photo resist film to do my artwork. It has a plastic backing that comes off only when you need to cure it. I could plot directly onto that plastic layer, if I had the correct pen ink.
@ EvoMotors - i have had a little go merging in some snippets of your code and made some huge improvements to my acceleration code. Your crazy FillArray routine has made a huge performance difference. I just need to fix a small bug with the starting speed and I will post a snippet. Many thanks.
Very interested to see it as I donāt have acceleration implemented.
@ EvoMotors - Running on the g120. You can here the delays between the button presses and movement. It used to take seconds to create the buffers. You can see on some of the combined XY moves that the two signal generators donāt start simultaniously despite being sequential line of code. Not so easy to spot on slower moves though. Without accel it wont go anywhere near this speed without skipping steps.Differential drive pan tilt using netMF - YouTube
createMotionBuffer(double maxSpeed, uint stepsToMove)
{
if (stepsToMove == 0) { return null; }
uint pulseLength = 10;//microseconds;
int arrayLength = (int)stepsToMove * 2 - 1;
uint[] timingBuffer;
timingBuffer = FillArray(arrayLength, pulseLength);
double a = accel / 1000000; //pre - scale accel to microseconds
double c = 1000000 / conversionFactor; //precalc this to speed things up //conversion factor depends on step angle and microstep setting
uint period = 0;
uint tCum = pulseLength *1000; //This is wrong
double currentSpeed = 0 ;
int endStart = timingBuffer.Length - 1;
for (int i = 1; i < stepsToMove - 1; i += 2)
{
currentSpeed = System.Math.Min(tCum * a, maxSpeed);
period = (uint)(c / currentSpeed);//accel control
tCum += period; //cummulative time
timingBuffer[i] = period; //accel control
timingBuffer[endStart - i] = period;//decel control
}
return timingBuffer;
}
I still need to sort the first and last pulse spacings out. But itās good enough.
Bit banging stepper motors. Classic.
[quote=āMr. John Smithā]Bit banging stepper motors. Classic.[/quote] How is this different to a 3D printer? Other than having to precalculate the timings up front to make use of the signal generator class.
@ hagster - that bot is awesome. I canāt figure out how the gearing works⦠How are you switching between the upper & lower gears on the servos? Are the files for that available somewhere?
One of the pinion gears on each stepper is just an idler. It helps keep the main gear cenered.
Not currently planning on releasing the files. Too mich work went into the mechanics to give it away for free.
Ah⦠So, one has an idler on top and the other has an idler on the bottom?
Thatās certainly your right. You might ask yourself how much work someone else put into the next piece of open source work you use. If nothing else you may want to put the files up on one of the sites that letās you charge for them. Regardless, I thank you for the knowledge. Iām sure Iāll find a use for this gear configuration sometime in the future.
@ ianlee74 - as a functional thing its not protected by copyright and there is prior art that would prevent a patent. So to release the files would give away the only protection I have on it. The only sites I know that charge for models(and protect the cad files) are shapeways and materialise.
As I said im not currently planning on open sourcing it, but that may change.
@ ianlee74 Here is an interesting new project for an open source robot arm that might be interesting to you. I havenāt drilled down into its capabilities yet
https://all3dp.com/bcn3d-moveo-open-source-3d-printed-robot/ but it certainly looks cool.
That looks fantastic! Iāve been waiting for someone to create a printable robotic arm like that. Thatās definitely on my short list of things to make. Thanks!
Back to the managed NETMF CNC deviceā¦
I think Iāll add automatic solder paste dispensing functionality to the list.
Sorry, I dragged it off topic for a bit there.
Orā¦Use a laser to cut the stencils out of kapton. Like https://www.oshstencils.com/ do :whistle:
Laser cutter is possible and already planned. I already got the 2.5W laser, but⦠The issue is that the beam is too thick in most of the hobby LED lasers. The one I got is 0.5mm.
Automatically dispensing solder paste is more fun. There are bunch of videos on YouTube where someone dispensing it using 3D printer. In a few of those videos it looks like they have a success.
@ EvoMotors - They use deposition needles for that. You will also need a peristaltic pump that is driven by stepper motor, to run the hydraulics, otherwise you wonāt get tight control of the amount of paste that is being dispensed. It will be good for some components but not for all. Further, you pads may have to be slightly oversized.
I had wanted to try dispensing solder like it was 3d printer filament, but the rosin core would boil off and cause it to splatter.