Ball Balancing Wheel Puts A Spin On Inverted Pendulums

If you march sufficiently deep into the wilderness of control theory, you’ll no doubt encounter the inverted pendulum problem. These balancing acts have emerged with a number of variants over the years, but just because it’s been done before doesn’t mean there’s no space for something new. Here, [David Gonzalez], has taken this classic problem and given it an original own spin–literally–where the balancing act is now a ball balanced precariously upon a spinning wheel. (Video, embedded below.) Mix in a little computer vision for sensing, a dash of brushless motor control, a bit of math, and you have yourself a closed-loop system that’s bound to turn a few heads.

[David’s] implementation is a healthy mix of classic control theory with some modern electronics. From the theory bucket, there’s a state-space controller to drive both the angle and angular velocity of the ball to zero. The “state” is a combination of four terms: the ball angle, the ball’s angular velocity, the wheel angle, and the wheel’s angular velocity. [David] weights each of these terms and sums them together to create an input value to adjust the motor velocity driving the wheel and balance the ball.

From the electronics bin, [David] opted for an ESP32 running Arduino, the custom Janus Brushless Motor Controller running SimpleFOC, and a Maix Bit Microcontroller with an added camera running MicroPython to compute the ball angle. Finally, if you’re curious to dig into the source code, [David] has kindly posted the firmware on Github.

We love seeing folks mix a bit of control theory into an amalgamation of familiar electronics. And as both precision sensors and motor controllers continue to improve, we’re excited to see how the landscape of projects changes yet again. Hungry for more folks closing the loop on unstable systems? Look no further than [UFactory’s] ball balancing robot and [Gear Down for What’s] two wheeled speedster.

Continue reading “Ball Balancing Wheel Puts A Spin On Inverted Pendulums”

Custom Controller Makes Turbomolecular Pump Suck

[Mark Aren] purchased a pair of Turbomolecular pumps (TMP) sans controllers, and then built an FPGA based BLDC controller for the Turbomolecular pumps. A TMP is similar to a jet turbine, consisting of several stages of alternating moving turbine blades and stationary stator blades, and having turbine rotation speeds ranging from 10,000 rpm to 90,000 rpm. TMP’s cannot exhaust directly to atmosphere, and must be combined with a backing (or roughing) pump to create a lower grade vacuum first. They find use in lots of applications such as electron microscopy, analytical sciences, semiconductors and lamp manufacturing. With the lamp industry rapidly embracing LEDs, many of the traditional lamp making lines are getting decommissioned, and if you are lucky, you can snag a TMP at a low cost – but it still will not be cheap by any means.

The two BOC-Edwards EXT255H Compound Molecular Pumps (PDF), that [Mark] bought did not have their accompanying EXC100E Turbomolecular Pump Controllers (PDF), and given pandemic related restrictions, he decided to build a controller of his own, using components and modules from his parts bin. The pump and controller user manuals offered only sketchy details about the sensored BLDC motor used in the pump. The low phase-to-phase resistance implied low drive voltage, and [Mark] decided to try running it at 24 V to start with. He already had experience using the Mitsubishi PS21245-E IGBT inverter bridge, and even though it was rated for much higher voltages, he knew that it would work just fine at 24 V too.

After figuring out a state machine for motor commutation that utilized PWM based adjustable current control, he implemented it on a 128 element FPGA board. Considering how expensive the TMP was, he wisely decided to first try out his driver on a smaller “expendable” BLDC motor. This whole process was non-trivial, since his available IGBT module was untested and undocumented, and required several tweaks before he could run it at the required 12 kHz PWM signals. His test motor was also undocumented, failing to run correctly when first hooked up. Fixing that issue meant having to disassemble the motor to check its internal wiring. Eventually, his efforts paid off, and he was able to safely run the TMP motor to confirm that his design worked.

With FPGA code, IGBT wiring and power supply issues sorted, the next step was to add a supervisory micro-controller, using an Arduino Nano. Its functions included interfacing with a touch screen LCD as a user interface, communicating with the FPGA module, and controlling several relays to switch power to the motor power supply, the roughing pump, TMP cooling fan, and a solenoid for the vacuum vent. Spindle current is calculated by measuring voltage drop across shunt resistors on the low side of the IGBT. Motor speed is measured using one of the motor hall sensors, and a thermistor provides motor temperature sensing. [Mark]’s PCB fabrication technique seems a bit different too. Using an Excellon drill file, he drills holes in a piece of plastic using a laser cutter to create a bare board, and then solders copper tracks by hand.

His initial tests at atmospheric pressure (although not recommended unless you monitor pump temperature), resulted in 7300 rpm while consuming about 7 Amps before he had to shut it down. In further tests, after adding a roughing pump to the test setup, he was able to spin the TMP to 20,000 rpm while it consumed 0.6 A. Obviously, the pump is rated to operate at a higher voltage, possibly 48 V based on the values mentioned in the TMP controller manual. The project is still “work in progress” as [Mark] hopes to eventually drive the pump up to its specified 60,000 rpm operating speed. What is not clear is what he eventually intends to do with this piece of exotic machinery. All he mentions is that “he has recently taken an interest in high-vacuum systems and is interested in exploring the high-vacuum world of electron guns.”

Maybe [Mark] can compare notes with the Open Source Turbomolecular Pump Controller that we featured some time back. And if you’d like to be a little bit more adventurous and build you own TMP, we got you covered with this DIY Everyman’s Turbomolecular Pump.

A Pet Robot, Just Like Boston Dynamics Makes

Every few months or so, a new video from Boston Dynamics will make the rounds on the Internet. This is their advertising, because unless the military starts buying mechanical mules, Boston Dynamics is going to be out of business pretty soon. You’ll see robots being kicked down the stairs, robots walking through doors, and robots acting like dogs. If a hundred or so highly skilled and highly educated roboticists, technologists, and other experts can put together a walking dog robot in a decade, obviously one person can cut through the cruft and build one in a basement. That’s what [Misha] is doing. It’s the Dizzy Wolf, a robotic wolf, or dog, or cat, we don’t actually know because there’s no fur (or head) yet. But it is interesting.

The key component for any quadruped robot is a high-torque, low-noise servo motor. This isn’t a regular ‘ol brushless motor, and for this application nine gram servos go in the trash. This means custom made motors, or DizzyMotors. You’re looking at a big brushless motor with a planetary gearset, all squished into something that could actually fit into the joint of a robotic wolf’s leg.

There’s a driver for these motors, strangely not called the DizzyDriver, that turns a BLDC into a direct drive servo motor. It is effectively a smart servo, that will move to a specific rotation, receive commands over RS-485, and write back the angular position. It also applies constant torque. Of course, there is a video of the DizzyMotor and servo driver below.

Building a robotic dog that will walk around the house is one of the hardest engineering challenges out there. You’ve got fairly crazy kinematics, you’ll need to think about the strength of the frame, control systems, and eventually how to fit everything in a compact design. This project is hitting all the marks, and we can’t wait to see the Dizzy Wolf do a backflip or chase a ball.

Continue reading “A Pet Robot, Just Like Boston Dynamics Makes”

Completely Scratch-Built Electronic Speed Controller

Driving a brushless motor requires a particular sequence. For the best result, you need to close the loop so your circuit can apply the right sequence at the right time. You can figure out the timing using a somewhat complex circuit and monitoring the electrical behavior of the motor coils. Or you can use sensors to detect the motor’s position. Many motors have the sensors built in and [Electronoobs] shows how to drive one of these motors in a recent video that you can watch below. If you want to know about using the motor’s coils as sensors, he did a video on that topic, earlier.

The motor in question was pulled from an optical drive and has three hall effect sensors onboard. Having these sensors simplifies the drive electronics considerably.

Continue reading “Completely Scratch-Built Electronic Speed Controller”

Hackaday Prize Entry: Smart Electric Bike Controller

One of the more interesting yet underrated technological advances of the last decade or so is big brushless motors and high-capacity batteries. This has brought us everything from quadcopters to good electric cars, usable cordless power tools, and of course electric bicycles. For his Hackaday Prize project, [marcus] is working on a very powerful electric bicycle controller. It can deliver 1000 Watts, it’s got Bluetooth, and there’s even an Android app for some neat diagnostics.

The specs for this eBike controller are pretty much what you would expect. It’s able to deliver a whole Kilowatt, can use 48 V batteries, has regenerative braking, Hall sensors, and has a nifty Android app for settings, displaying speed, voltage and power consumption, diagnostics, and GPS integration.

How is the project progressing? [marcus] has successfully failed a doping test. He lives on the French Riviera, and the Col de la Madonne is a famous road cycling road and favorite test drive of [Lance Armstrong]. The trip from Nice to Italy was beautiful and ended up being a great test of the eBike controller.