Jack Crossfire's blog View Details
Archive for September, 2020
Posted by Jack Crossfire | Sep 28, 2020 @ 03:38 PM | 4,106 Views
The STM32F405 is now $12, 25% higher than it was 10 years ago, despite newer ARMs being around & single board confusers being less. They're charging for the realtime & the ADC.

There are much cheaper STM32 derivatives if you just need to control a 3 phase motor, don't want the hassle of juggling timers in software, different architectures, or bit banging UARTs. They can do everything that an ATMega does. The Feiyu gimbal used STM32F103's.

As the apartment inventory of 10 years ago declines & the time to order new micros approaches, there's sort of a junction between buying new STM32F's for everything or continuing to buy ATmegas & PICs to be like everyone else. The lion kingdom definitely isn't going to buy any more PICs & the 8 bit age generally seems over.

Interestingly, there's never been an open source J-link/SWD/DAP programmer, as popular as it is. There is an openocd option which uses the st-link chip on an stm discovery board to program a variety of ARMs. There is a library for generating SWD codes but not flashing firmware:

The lion kingdom once made an openocd driver which used a PIC as a JTAG emulator but not SWD. The trick is openocd already had to do everything above the bit banging level.
Posted by Jack Crossfire | Sep 28, 2020 @ 02:40 AM | 4,456 Views
It was after laying this out that the lion kingdom realized how much its philosophy changed in the last 20 years. An ARM is seriously overkill for controlling a 3 phase motor & receiving packets from the radio.

20 years ago, a lion would have used an 8 bit PIC, developed the routines required to generate 3 PWM waveforms in software & receive packets from the radio. It's just so much easier to get that working on an ARM & there are enough spare ARM chips in the apartment, it's no longer worth the trouble. If it was 20 years ago & lions had only PIC's, it would have been done the old way.

Then, after playing with the spectrum analyzer, it was revealed that the giant loop antennas lions used for the last 11 years are unnecessary. They were seen as a way to use balanced antenna pins without a balun. In reality, a monopole gives good results with just a 16nH inductor shorting the outputs & a 100nH inductor in the 3V supply position. If a loop antenna is used, it doesn't need the 16nH inductor.

Lions had always based their usage on the balun circuit in the MRF49XA datasheet & never tested the signal strength of different antennas, even with the RSSI functionality built into the radios. They just spread the radios apart on a golf course until they stopped receiving.

The extra parts for the MRF49XA may have been to match a 50 ohm load. When this part was rebranded later as the SI4421, the new datasheet only showed a loop with no inductors, but lions never saw it. They even left out the 100nH inductor that supposedly chokes the RF from entering the 3V rail. The 100nH would only be needed for transmitting & FCC certification. Not sure where the 16nH came from. The MRF49XA datasheet showed a 22nH.
Posted by Jack Crossfire | Sep 24, 2020 @ 11:39 PM | 3,596 Views
This would be a really shmick set of carbon fiber farsteners if it was on amazon.com. Lions never were impressed by 3D printed prototypes from startups, but carefully designed & manufactured parts can look really professional. The mane test is still if it stays together in the field.
Posted by Jack Crossfire | Sep 19, 2020 @ 05:17 PM | 3,516 Views
A new filter, maximum load test, & the nozzle actually worked. The blower didn't entirely fit in the nozzle, but going halfway seemed to be enough.

The outlet was left scotched on so if the air comes out too fast, the outlet diameter can be changed. A motorized outlet was deemed unnecessary & would have required upsizing the rest of the nozzle. A bayonet mount for the outlet would have been nice.

The only glitches were the IR getting obstructed by the cables & no protection from the nozzle hitting the wall. The air comes out faster than expected. The bearings & contortions didn't impede the airflow as much as expected, but that's why it's a fighter jet nozzle.
Posted by Jack Crossfire | Sep 19, 2020 @ 02:48 AM | 3,817 Views
Cable guards installed, hall effect sensors rearranged, & cables farstened. Getting those cable guards to fit around the motor modules & attach to the tubes required some of the gnarliest CAD modeling. A revision would definitely involve screwing them onto the tubes instead of gluing them.

Wrapping the cable in captain tape & hot gluing the captain to the plastic proved to be the best way to farsten it. A 6mm diameter proved to be the narrowest PLA worm size before it crumbled.

The cable guards still aren't perfect. The laminations have to be smoothed. A heavier cable snags less than a skinny wire, so a bundle of captain where the cable meets the cable guard helps.
Posted by Jack Crossfire | Sep 15, 2020 @ 03:14 AM | 3,850 Views
After building a distributed board & discovering just how intrusive it would be to hang 1 off each motor, the decision was made that a bundle of cables could be made less intrusive through careful bundling, so the monolithic board was rebuilt again. The monolithic board was also a lot closer to working, while a distributed board would require a serial protocol on top of the motor control.

All wired up, after a full day. The monolithic confuser also got some enhancements, a 2A buck regulator instead of a 0.5A linear regulator, dedicated pins for all the Vcc's, no more kill switch. The kill switch is all over IR.

The wiring trick was to mock up the sensor harness outside the robot, but it was too late to mock up the motor harness. The motor wires will need a splicing to adjust their length after it's actuated a few times. Still have yet to find a way to bind the cables to the PLA, but no tape sticks to PLA.

It's leaning towards hot gluing captain tape to the PLA, but hot glue has to be applied really quickly to avoid melting the PLA. Ideally, cable mounting screw mounts would be printed into the plastic, but the cable routing couldn't be known before mocking it up. The whole thing may actually get printed again.
Posted by Jack Crossfire | Sep 13, 2020 @ 07:13 PM | 3,236 Views
So the lion kingdom uses vintage microcontrollers because they look cool, there's an abundant supply in the apartment, the current task needs hardly any computing power, & modern C compilers don't tie your program to a specific chip. It wasn't that way 20 years ago when these microcontrollers 1st arrived. They all have dead pins which are normally labeled.

Helas, partway through the wiring process, the lion kingdom decided to abandon this effort. The cables were prone to snagging in those complicated rotating joints & weighed a lot. Each motor required 6 wires, leading to a bundle of 12 wires following a serpentine path to the mane board.

As much as lions love the look of vintage electronicals, the happy path was not a single microcontroller controlling all 3 motors but a separate board for each motor. Each board gets 2 wires for power & a 3rd wire for communication. They all attach to the same 3 wires. It'll be another while to regain today's state.
Posted by Jack Crossfire | Sep 11, 2020 @ 10:10 PM | 2,686 Views
It was a battle to choose between more accuracy & finishing it. The rest of it was only an F-135 in spirit rather than accuracy, so the decision was made to stop the detail at just the chevrons & the inset diameter. It's not as detailed Chinese models of the outlet or the nozzles on the gootubes. Lions were limited by synthesizing it from equations rather than CAD software. It's something Freecad might have been able to synthesize faster.
Posted by Jack Crossfire | Sep 11, 2020 @ 01:24 AM | 2,667 Views
The last functional part rolled off the printer after 3 full days of printing. The last part took 14 hours because the lion kingdom forgot its motor mount. It was supposed to take 16 hours. That was the 1st PLA bodge job. Things would print a lot faster if they were solid instead of isogrids, but lions wanted everything to have isogrids.

Final assembly revealed how the home position & initialization would work. Home position has the segments straight. Fully deflected has it at 90 degrees. The boundary magnets have to be out of the range of functional movement so it knows which way to turn to reset.

Since the mane gears are split & the nozzle is supposed to face sideways, it should be installed so home position has the gear splits on the sides.

This experience revealed the bottom side is absolutely horrendous when using supports & rafts. Those should only be used when necessary.

The pinion/encoder gears using rafts came out absolutely horrendous. They should be done with no adhesion, but with supports. Ideally, they would have a 0.2mm nozzle. Pinions only burn 20 cents of material.

There is quite a bit of sticking when it's horizontal. It'll need plumber's grease to start & maybe have to be rebuilt using ball bearings. Using isogrids definitely lessened the friction.

If this was a manually operated nozzle with friction brakes, it would be done, but the whole show now starts over with the electronicals.

The power LED should ideally be red & inside the nozzle, but to make it more visible, it may have to go on the outside.
Posted by Jack Crossfire | Sep 09, 2020 @ 03:34 PM | 2,879 Views
The largest isogrid not pictured burns $1.56 of filament & takes 16 hours to print. That goes last, when all the bugs are fixed. If the printer runs continuously, it'll burn through a spool of filament in 7 days. With delivery times of 7 days, keeping a spare spool around is a way to never run out.

Besides what's on the gootubes, only the $170 printer & $20 of filament were required to get started. It's so affordable nowadays, it's going to change everything. Lions would consider Lipo, 2.4Ghz, autopilots, action cams, brushless gimbals, & 3D printing to be the mane RC innovations of the last 20 years.
Posted by Jack Crossfire | Sep 08, 2020 @ 02:24 PM | 5,819 Views
Finally got enough filament to make complete parts.

As much as it's an enormous improvement in capability, 3D printing still reminds lions of extremely sketchy, low budget startups. Up close, stuff looks terrible & breaks. Would lions find similar 3D printed parts in an A startup like neuralink?
A startups get all the best gear for free. They'll use stronger materials than PLA & faster machines which can do .2mm extrusion in a lot less time. It took 7 hours to print the isogrid tube with .4mm extrusion.

As much as the internet extolls how a 3D printer will change your life, it's the very end of a long process of CAD design. How much better a 3D printer does than wood carving depends on your investment in CAD design. A 3D printer doesn't make flat plastic become an isogrid.
Posted by Jack Crossfire | Sep 06, 2020 @ 09:36 PM | 6,891 Views
Still a long way from being done, but another long day yielded a chevroned exit nozzle from pure equations.

Freecad is so limited, it's definitely not up to this task. An off the shelf motor encoder would eliminate 1 quagmire, but the boundary sensor would remane.

The mane limitations today were no booleans with part containers, no ability to change the contents of a boolean, no ability to create fusions with just 1 object, trying to rotate the view causes translation to glitch. You can change the contents of a fusion inside a boolean, but not create a fusion with 1 object as a placeholder. It can create booleans with compounds.

1 way to work around the limitations might be to create placeholders for different modules to figure out the alignments & use those to make detailed models in another file. The aligment of the motor requires everything to be assembled in a single file.

The mane limitation in 3D printing isn't the printer but the CAD software & the CAD skills of the operator. You're not going to fully exploit 3D printing with freecad or without some advanced scripting. Most people 3D print scans of something someone else made or 2D enclosures they could make from wood.
Posted by Jack Crossfire | Sep 05, 2020 @ 03:43 PM | 5,625 Views
The 1st isogrid print was a disaster. It seems opposing faces in the X direction cause Cura to print seams, no matter how much the polygons overlap. You can't construct objects with multiple polygons unless the polygons are fused.

Apparently, isogrids only started entering production in the 1950's. Lions think of early radio telescopes & zeppelins, but those were made of trusses rather than isogrids.

Another day of isogrid testing yielded better results, at great expense. It definitely would be smarter to run solidworks in a virtual machine than develop all the manual equations required to do it in Linux. The only option in Linux is to write a program that outputs an STL file with the complete part. All Freecad can do is view it. That was all of the included filament.
Posted by Jack Crossfire | Sep 03, 2020 @ 09:00 PM | 5,950 Views
It's amazing how far you can get on $170. Early adopters paid $750 for a Makerbot Cupcake in 2009.
You'd never guess the greasyality worked as well as it did from assembling it.

Out popped a pinion gear with very little fussing after the bed leveling. A part like this was impossible for a lion to make with paw tools, even if it's as fragile as paper in the lamination direction. It might be able to print smaller gears. The mane limitation is the size of magnets used for encoding position & the need for the magnets to clear the motor diameter.