New Products Flash Sale
Jack Crossfire's blog View Details
Posted by Jack Crossfire | Aug 07, 2016 @ 10:10 PM | 3,410 Views
Soldered it in a stereo configuration with a pair of 4R speakers. This went down like a lead weight. Despite the LM324 providing both sides of the waveform thanks to its actively driven virtual ground of 5V, the TDA1517 only put out the bottom half. The TDA1517 didn't even turn on at the vehicle's 8.4V. The input protection diode dropped it to 7.7V & this was below the minimum. It needed 9V to turn on, which the diode dropped to 8.3V.

For some reason, wiring the speakers in series to give 8R got both sides of the waveform. This only amplified a single channel, but seemed to be loud enough to do the job. The circuit needed 0.25A, so a tiny 350mAh cell would boost the vehicle's voltage enough for it to work. The mane problem is enclosing it all in a module suitable for attaching to the vehicle.

It's theorized that the speakers can use the cargo bay as a resonator instead of requiring their own box.
Posted by Jack Crossfire | Aug 06, 2016 @ 02:40 AM | 1,325 Views
If only lions knew 20 years ago what they know now. Of course, there was no way to look up how to connect a TDA1517. Sadly, lions have no interest in building audio amplifiers anymore. If the interest of the 25 year old lion was combined with the knowledge of today, it would have saved a lot of money & grief.

It was an experiment to get more sound reinforcement for less weight, but speaker drivers have to be heavy to be loud. The TDA1517 can get plenty of loudness from large, heavy speakers but the same job can be done by a $10 bluetooth speaker.

An LM324 inverting amplifier with virtual ground can boost the phone output to the 1V peak to peak that the TDA1517 does best with. Key to the preamp is actively driving the virtual ground with a voltage regulator. If the virtual ground is passive or a follower output, the LM324 will only generate the negative side of the waveform.
Posted by Jack Crossfire | Aug 04, 2016 @ 05:30 PM | 1,857 Views
There's no obvious sign of a 16" sink. There are cracks not unlike all the other streets. The windows are a bit closer to the ground than the neighbors, but they're not visually misaligned from the neighbors. The only smoking gun is a wall outlet right next to street level. Either the entire street has sunk or there have been a lot of repairs to keep it looking normal.
Posted by Jack Crossfire | Aug 03, 2016 @ 11:28 PM | 1,732 Views
The metal bearings arrived after 7 days, got installed, & the steering was suddenly rock solid. Months of dicking with PID constants were suddenly proven meaningless. The internet wasn't kidding about plastic bearings being no good. Steering wobble is the mane symptom of worn bearings. The metal bearings should last forever, but the plastic axles also wore down a bit. There's always going to be some wobble.

Went up to 10mph with a shirt payload & didn't get any wobbling. This should get much better video. The new bearings & new differential are much noisier than before. The next step would be a metal differential, so the noise is a fact of durability.
Posted by Jack Crossfire | Aug 03, 2016 @ 01:51 AM | 1,804 Views
So basically, detecting motion via difference keying was a total failure. The noise from the webcam in indoor conditions was too close to the noise from the motion. Furthermore, indoor light sources always overwhelmed any other objects. It couldn't tell whether a subject or the camera was moving because color changes by indoor points of light overwhelmed any global color changes.

The next, super simple idea, was to use the old XV-11 lidar module to detect motion.

Motion detection by LIDAR (2 min 26 sec)

The XV-11 tries to detect a lion walking around the room. A window reflects the LIDAR in 1 place, but doesn't affect its ability to detect motion. The soundings are shown in polar coordinates, then in X-Y coordinates. It does 4.9 revolutions per second. 4 revolutions are stacked to try to reduce the noise, but it doesn't look good for LIDAR motion detection. The lion goes 3m away. Another project is sharing the tripod with the LIDAR.

The problem was once again noise. It would have a hard time differentiating the bubbling of the stationary wall 3.5m away from a slowly moving subject. Of course, there's still a chance common differentiation between the LIDAR plots will prove more robust than feared, but that's another commute away.

The X-Y or the polar plots could be differentiated. The X-Y plot would detect motion tangential to the camera better than motion towards the camera. The polar plot would probably do better in both axes.

Since the camera is stationary, another method is taking a long LIDAR exposure & just subtracting it like a static scene. It would have a hard time with furniture & pillows changing position.
Posted by Jack Crossfire | Jul 31, 2016 @ 11:15 PM | 1,389 Views
So with the Feiyu busted, there's nothing to do than try some other project. The latest idea with the Feiyu was to replace the MOSFETs with some other motor controller which didn't have the reluctance problem. Perhaps it would mean running 9 extra wires outside the gimbal, making it so cumbersome as to defeat the purpose of using a Feiyu in the 1st place. Ideally, there would be replacement MOSFETs with lower deadband, but the same form factor. The means by which the Chinese overcame the reluctance is another great mystery which you just have to forget about in the name of having something work.

It was finally time to go ahead with the motion tracking camera. The motion tracking camera could always have been a very compact Gopro deal, using standard servos. The supply of standard servos is now considered consumable, as the lunchbox destroys them all. The X-Y platform had been around for 3 years with something like this in its future. It was decided to go for the maximum dynamic range of the DSLR.

A webcam would provide the machine vision to the computer, since capturing the DSLR's analog video would take more space. The entire X-Y platform is lighter than the Giotto head, so it was decided to mock it up in place of the tripod head. Designing the mockup & attaching it to the tripod took 2 days.

The mane problem is any motion tracking algorithm depends on a camera that moves to track the motion. It can't detect motion when the camera is moving. There are some ideas for solving this.
Posted by Jack Crossfire | Jul 29, 2016 @ 12:17 AM | 1,414 Views
3 months after landing it.

Landed Falcon 9 First Stage Test Firing (2 min 43 sec)

Now that's something which has never been done before. They didn't say how many engines were the ones which flew on the last mission, but there's always hope it is legit. Also intriguing is how they strap it down from the top, instead of holding it down from the bottom like liftoff.

We all know about the work hardening of metal as it's repeatedly contracted & expanded. It remanes to be seen if the 1st stage can survive all the stresses of a 2nd launch, the aerodynamic stresses of max Q, the vibration, the heating of reentry. Metal contracts & expands quite a bit as it goes from -340F to thousands of degrees.

The shuttle components were reused, but it took years. The mane engines had to be completely disassembled, boroscoped, checked for cracks, tested again. The boosters needed to be completely disassembled, packed with solid propellant & parachutes, transported across the country twice & stacked again. Auxillary power units, landing gear, & wiring usually was only good for 1 mission.

The only way they could launch every 3 months was by processing many components from past launches in parallel. The orbiter had to be rebuilt from scratch using components from many launches.
Posted by Jack Crossfire | Jul 27, 2016 @ 01:37 AM | 1,758 Views
So the front differential was never used since it was converted to 2WD mode. It came out in a single piece suitable for directly inserting in the rear. The mane spur gear was on the right. This got it driving in the right direction again, with no grinding.

The wheel base of the Ruckus is about 1/2 of the Lunchbox, so the Lunchbox wouldn't be a good replacement. The Ruckus is just narrow enough to fit on curbs in the city. The day job probably won't last another 400 miles, so the Lunchbox may still be a suitable replacement wherever the next day job is.

For better stability, a stiffer suspension would be the next idea. Metal gears would solve the differential issues. It's going to need new tires by 800 miles. Helas, the plastic wheel bearings are completely worn out. It can't steer with the current wheel bearings, so like any servicing of an old car, what started as a grinding sound turned into a stream of endless repairs.
Posted by Jack Crossfire | Jul 26, 2016 @ 02:43 PM | 1,679 Views
3 days of dissection between commutes revealed the differential to be stripped. 400 miles in 2WD mode was all it lasted. In 4WD mode, it might have lasted longer. After all the effort to extend the range by converting it to 2WD mode, it never went over 1/2 its range. At least this left a spare differential full of parts. The decision was made to get another 400 miles out of the spare differential parts. With the tires going bald, it'll then be time for another vehicle.

The thought had occurred of using a hoverboard or a boosted board as the next vehicle, but before hoverboards went out of style, they couldn't balance themselves. Boosted boards can't steer themselves. Any other vehicle would require a new motor. The answer most likely is another ECX Ruckus left in 4WD mode to protect the differentials.
Posted by Jack Crossfire | Jul 23, 2016 @ 03:06 AM | 1,848 Views
So SpaceX has been varying the MECO for all of its LEO missions, based on payload. Each mission is customized to get the most reserve for landing, but they might leave margin for engine failures. CRS-9 had the lightest payload, which made a big difference in the burn marks. They could have burned the 2nd stage longer & MECOed sooner, but didn't.

Mane engine cutoff times for the LEO missions:

2m25s 6012km/h 74.3km return to land
6m50s stage 2

2m34s 6658km/h 67.5km return to ocean
7m7s stage 2

2m22s 5688km/h 59.6km return to land
6m29s stage 2

The only trend is they got lower. Speed wasn't on a downward trend. Perhaps they experimentally found lower & lower altitudes where drag could be managed by the 2nd stage, so they could save fuel by accumulating velocity lower in the atmosphere.
Posted by Jack Crossfire | Jul 17, 2016 @ 10:18 PM | 1,727 Views
Revisiting the anticogging table generated a few months ago revealed a bug in its calculation. Measured again the hall sensor readout for a wide range of rotation & found the cogging was fairly consistent around the motor's entire range & power levels. A little manual tweeking just might make a table which defeats the cogging.

Calculated a new table of phase offsets to correct the cogging. This looked a lot more ordered than the previous table. With the new table applied, the rotation was a lot smoother. It still wasn't perfect, but the months had proven any other method would be inferior.

Recursively creating a new anticogging table by testing itself didn't improve the results. A plot of a complete rotation using the anticogging table didn't show any areas where an equal offset could be applied to all parts of the rotation.

Finally, making an anticogging table for the motor's entire rotation rather than a single sine wave period showed some improvement but took too much memory. It means there's some variability in the reluctance or the stiction for different parts of the rotation.

Anticogging a brushless gimbal (0 min 28 sec)

Posted by Jack Crossfire | Jul 03, 2016 @ 06:17 PM | 12,865 Views
It wasn't surprising that a piecewise linear scaling of the PWM could fix the current for all but its least negative point. That was only for a single winding with no rotor. Adding a rotor or changing the angle of the rotor changed the scale factors.

To simultaneously smooth out the 3 sine waves of 3 windings would be a bit harder. The parameters of 1 PWM's linear scaling depend on the linear scaling of the other 2 PWM's. The easiest way was to have the computer shift all 3 sine waves in time so they would play back the desired waveforms. The shift amounts could hopefully be translated into a piecewise linear scaling. With only 2 current sense resistors, there was no way to know the 3rd sine wave or what the positive half looked like. There was only the hope a sensible linear scaling would emerge that could be applied to all the sine waves.

That got 1 sine wave to play back as a sine wave, but not the other 2. The time shifting ended up a messy curve instead of a simple linear scaling.
Posted by Jack Crossfire | Jun 29, 2016 @ 01:01 AM | 2,852 Views
Finally decided to reduce the Feiyu to the simplest possible circuit: a single P MOSFET feeding an N MOSFET through a single motor winding. This gave the same knee graph, current getting less negative as the N MOSFET duty cycle approached the P MOSFET duty cycle, then stalling at around 870. The stall region occupied more of the curve as the deadband increased.

The only way to see all the voltages involved was compositing multiple 2 channel scope views to make 4 channels. On the unknown Feiyu part, the MOSFETs are inverted so they're off if the gate is 0.

Strange physics (0 min 56 sec)

The time of N turning on is ramped from before P turning on to after P turning off. Reverse current happens when both MOSFETs are off, then breaks down when the N off time hits a certain point after P turning on. For later N on times, the behavior is expected. The length of both N & P at 6V increases because there's no place for the charge to go when both MOSFETS are off. The reverse current didn't happen with a purely resistive load.

Basically, the reverse current is a function of the duration of the current flowing from P to N & breaks down accordingly when the P to N is reduced. When N is on with P off, flux in the motor core is trying to send current from N to P, which only flows when N turns off. This is reluctance cogging.
Posted by Jack Crossfire | Jun 26, 2016 @ 08:55 PM | 2,546 Views
The last experiments with The Feiyu involved feeling the amount of torque as the phase changed. This revealed the torque dropping to 0 & the motor stalling exactly where there was a glitch in the current sensed by the resistors. That was where the current of a phase reversed direction or where the PWM on any of the phases crossed halfway.

The next step was holding 1 phase at a constant PWM while ramping a 2nd phase from 0 to the 1st phase. The 3rd phase was disconnected. This started with strongly negative current through the current sense resistor. The current approached 0 as the 2 phases got closer.

This revealed the same glitch when the variable PWM started approaching the fixed PWM & 0 current. It was more clear that the current approached 0 faster than it should have as the PWM increased, then leveled off until it hit 0.

Tried the 2 phase test with different values of the constant PWM. That varied the point of inflection in the variable current to match where the stationary PWM was.
Posted by Jack Crossfire | Jun 23, 2016 @ 11:17 PM | 2,541 Views
Another bit of video surfaced from USlaunchreport. To someone who works in industrial plants, this kind of piping looks normal, but it's quite outside the normal human experience.

Of mane interest is how they routed propellant to 9 engines in the most efficient way, how they prevented cavitation, & the enormous number of wires heading to where the intake pipe is. That would be where the ground service arm attaches. 1st stage tanks would be filled from the base. 2nd stage tanks would be filled by pipes higher up. All pipes are as short & narrow as possible, yet it still takes a very big pipe of LOX running down the middle of the fuel tank. The pipe would be completely full at liftoff, forming a significant part of the total capacity.

The manufacturing of the manifold would be quite a sight, from above. More likely the top side can only be seen after an explosion, since parts would be added from the fuel tank down.
Posted by Jack Crossfire | Jun 22, 2016 @ 01:02 AM | 2,918 Views

The rumors of Paul Allen's death were greatly exaggerated. Stratolaunch is still around, though over the years they've lost all the partners who could have provided the rocket & slowed construction way down. Now, it's just a platform for carrying a large payload to 30,000ft. It can't fly higher, probably because of pressurization limits. It's shorter than a passenger jet but slightly wider. It's mane difference is being much lighter for its size.

If SpaceX bailed out years ago because of differing opinions, they've definitely bailed out of air launched rockets now. The Falcon 9 can reuse everything up to 5000mph & 224000ft. The stratolaunch can reuse everything up to 500mph & 30,000ft. The laws of physics have made vertically launched rockets cheaper than horizontally launched air breathers. Perhaps atmospheric drag costs more than the benefits of the Bernoulli effect. Orbit requires a lot more speed than lift, so it's more important to get above the atmosphere as fast as possible than get as high as possible with the least power.

Their other problem is no existing launch system can be bolted on the stratolauncher. There isn't enough money to invent a new rocket just for that, even with Janet Yellen hurling free money.

Interestingly, a review of all of the SpaceX stage separations showed higher speed with higher orbit, but lower altitude with higher orbit:

Orbcommmm LEO SUCCESS: 6012km/h 74km
JASON-3 POLAR FAIL: 6147km/h 66.5km
SES-9 GTO FAIL: 8325km/h 64.6km
CRS-8 LEO SUCCESS: 6608km/h 71km
JCSAT-14 GTO SUCCESS: 8355km/h 66.6km
THAICOM 8 GTO SUCCESS: 8343km/h 65.6km
Eutelsat/ABS GTO FAIL: 8361km/h 65.7km
Posted by Jack Crossfire | Jun 19, 2016 @ 07:50 PM | 2,289 Views
He does indeed crash them, even though it's rarely shown in the videos. Instead of attempting repairs, he just buys new ones, brushless gimbal, remote control, electronics, & all. So the navigation is a whole lot better than 10 years ago, with more GPS satellites, accelerometer fusion, fusion of sonar & optical flow, but crashes are still a fact of life. The rumors of bulletproof obstacle detection & weather avoidance are greatly exaggerated.

He never says how often he crashes into people, but he probably has the fine lettering of the law arranged to place liability on his company instead of himself. Everything he buys himself is written off as a business expense, because it all goes to making videos which promote his business.


Posted by Jack Crossfire | Jun 18, 2016 @ 11:20 PM | 2,645 Views
Graphed the 2 current resistors for all phase & got the same nonsensical wave. They should have been sine waves, but looked more like sine waves with humps. From these 2 resistors, it should be possible to derive the current in the 3rd winding, revealing the total current of the motor. The total current should be constant, but the waveforms said otherwise.

Graphed the resistors with no current, but instead of 0, got values near the top of the waveforms. These were virtual grounds, revealing the waveforms were the bottom half of sine waves. They got a little above virtual ground, but quickly broke down.

The mowtimeter showed the MOSFETs providing current in both directions, but the resistors didn't. The resistors only measured current going into ground. Why did they bother with a virtual ground if they only showed the bottom half?
Posted by Jack Crossfire | Jun 18, 2016 @ 12:32 AM | 2,454 Views
Finally found the hackaday nugget about anti cogging algorithms.

Not sure why it was written in the form of a research paper with grants, long after Chinese perfected anticogging in their gimbals. At least, it is very math intensive & if it wasn't published, it would have remaned a Chinese secret forever.

A simple algorithm tabulating phase offsets for each angle did indeed make the motor slightly smoother but not perfect. The hall effect sensor was key to developing the anticogging table. It became clear that anticogging was still a science project, not useful in commercial products. Another key was the motor doesn't have any cogging with no current.

Also, any anti cogging based on the current sensors isn't useful because any closed loop is too slow. The needle pointed back to the electronics rather than the motor being the problem.

At least, it made a graph of phase offset vs angle.