Simple Autonomy with an RC Boat

[Vlad] wrote in to tell us about his latest project—an RC boat that autonomously navigates between waypoints. Building an autonomous vehicle seems like a really complicated project, but [Vlad]’s build shows how you can make a simple waypoint-following vehicle without a background in autonomy and control systems. His design is inspired by the Scout autonomous vehicle that we’ve covered before.

[Vlad] started prototyping with an Arduino, a GPS module, and a digital compass. He wrote a quick sketch that uses the compass and GPS readings to control a servo that steers towards a waypoint. [Vlad] took his prototype outside and walked around to make sure that steering and navigation were working correctly before putting it in a boat. After a bit of tweaking, his controller steered correctly and advanced to the next waypoint after the GPS position was within 5 meters of its goal.

boatgifNext [Vlad] took to the water. His first attempt was a home-built airboat, which looked awesome but unfortunately didn’t work very well. Finally he ended up buying a $20 boat off of eBay and made a MOSFET-based motor controller to drive its dual thrusters. This design worked much better and after a bit of PID tuning, the boat was autonomously navigating between waypoints in the water. In the future [Vlad] plans to use the skills he learned on this project to make an autopilot for the 38-foot catamaran his dad is building (an awesome project by itself!). Watch the video after the break for more details and to see the boat in action.

Continue reading “Simple Autonomy with an RC Boat”

Hackaday Prize Entry: DC Motor Controller

There are a lot of cheap Chinese CNC machines out there with okay mechanics and terrible electronics. The bearings aren’t complete crap, but the spindle of these CNC machines is a standalone PWM controller with a pot to control the speed. This means you can’t control the spindle speed with LinuxCNC or Mach3.

For his Hackaday Prize entry, [SUF] is building a DC motor controller for a Chinese spindle motor that doesn’t use any kind of encoder. The first part of that project is fairly easy; [SUF] has already built a high current driver. The second bit is a little it harder – because these spindles don’t have an encoder, [SUF] will have to read voltage spikes on the motor poles, giving him the RPM of the spindle. From there, it’s a bit of PID code to get this spindle running at a desired RPM and connecting it to a CNC control box.

So far, [SUF] has a second version of his board waiting for assembly. In the first version of the board, the switching time for the MOSFET was a little slow, but that’s all corrected in the current revision. It’s a great project to extend the capability of these cheap CNC machines, and perfect project for the Hackaday Prize.

The 2015 Hackaday Prize is sponsored by:

BLDC Controller With The Teensy 3.1

[Will] is on the electric vehicle team at Duke, and this year they’re trying to finally beat a high school team. This year they’re going all out with a monocoque carbon fiber body, and since [Will] is on the electronics team, he’s trying his best by building a new brushless DC motor controller.

Last year, a rule change required the Duke team to build a custom controller, and this time around they’re refining their earlier controller by making it smaller and putting a more beginner-friendly microcontroller on board. Last years used an STM32, but this time around they’re using a Teensy 3.1. The driver itself is a TI DRV8301, a somewhat magical 3 phase 2A gate driver.

The most efficient strategy of driving a motor is to pulse the throttle a little bit and coast the rest of the time. It’s the strategy most of the other teams in the competition use, but this driver is over-engineered by a large margin. [Will] put up a video of the motor controller in action, you can check that out below.

Continue reading “BLDC Controller With The Teensy 3.1″

Brushless Motor Controller Shield for Arduino

Brushless motors are ubiquitous in RC applications and robotics, but are usually driven with low-cost motor controllers that have to be controlled with RC-style PWM signals and don’t allow for much customization. While there are a couple of open-source brushless drivers already available, [neuromancer2701] created his own brushless motor controller on an Arduino shield.

[neuromancer2701]’s shield is a sensorless design, which means it uses the back-EMF of the motor for feedback rather than hall effect sensors mounted on the motor. It may seem strange to leave those sensors unused but this allows for less expensive sensorless motors to work with the system. It also uses discrete FETs instead of integrated driver ICs, similar to other designs we have covered. Although he is still working on the back-EMF sensing in his firmware, the shield successfully drives a motor in open-loop mode.

The motor controller is commanded over the Arduino’s serial interface, and will support a serial interface to ROS (Robot Operating System) in the future. This shield could be a good alternative to hobby RC controllers for robots that need a customizable open-source motor controller. The PCB design and source code are available on GitHub.

Continue reading “Brushless Motor Controller Shield for Arduino”

Ride, Captain, Ride Aboard Your Arduino-Controlled Autopiloted Sailboat

[Jack], a mechanical engineer, loom builder, and avid sailor wanted an autopilot system for his 1983 Robert Perry Nordic 40 sailboat with more modern capabilities than the one it came with. He knew a PC-based solution would work, but it was a bit out of reach. Once his son showed him an Arduino, though, he was on his way. He sallied forth and built this Arduino-based autopilot system for his sloop, the Wile E. Coyote.

He’s using two Arduino Megas. One is solely for the GPS, and the other controls everything else. [Jack]’s autopilot has three modes. In the one he calls knob steering, a potentiometer drives the existing hydraulic pump, which he controls with a Polulu Qik serial DC motor controller. In compass steering mode, a Pololu IMU locks in the heading to steer (HTS).  GPS mode uses a predetermined waypoint, and sets the course to steer (CTS) to the same bearing as the waypoint.

[Jack]’s system also uses cross track error (XTE) correction to calculate a new HTS when necessary. He has fantastic documentation and several Fritzing and Arduino files available on Dropbox.

Autopilot sailboat rigs must be all the rage right now. We just saw a different one back in November.

Continue reading “Ride, Captain, Ride Aboard Your Arduino-Controlled Autopiloted Sailboat”

Microslice: The Tiny Arduino Laser Cutter

[SilverJimmy] already had a full-sized 50 watt laser cutter, but he decided to try his hand at putting together something smaller and microcontroller-driven. The result is this adorable little engraver: the MicroSlice.

To keep the design simple, [SilverJimmy] opted for a fixed cutting table, which meant moving the cutting head and the X-Axis as a unit along the Y-Axis. The solution was to take inspiration from gantry cranes. He snagged a couple of stepper motors with threaded shafts, designed the parts in Inkscape, then fired up his full-size cutter to carve out the pieces. An Arduino Uno and the relays for the laser and fans sit on the MicroSlice’s bottom platform, and two EasyDriver motor controllers sit above them on the next layer.

Swing by the Instructables for more details including the source code, and to see a video of the engraver below. [SilverJimmy] sourced his laser from eBay, but check out the engraver from earlier this year that used a DVD diode.

Continue reading “Microslice: The Tiny Arduino Laser Cutter”

Talkbot: an Arduino-driven robot for beginners


It isn’t exactly WALL-E, but [Bithead’s] affordable introduction to robots — Talkbot — is made out of a trash can. This little guy runs off an Arduino and comes packed with features, including a voice chip, a motor shield, and a pair of bump sensors. Talkbot will cruise around until a bump sensor slams into an obstacle. One of his prerecorded messages will then play through the speaker while he backs up, turns, and tries to find a clearer path.

According to [Bithead’s] build log, tracking down the right bargain voice chip was a bit of a hassle; he skipped over the text-to-speech options only to be stalled by vendor issues. He finally settled on a clone of Sparkfun’s WTV020SD chip sourced from eBay, which allows you to access pre-recorded WAV files stored on a Micro-SD card. The robot’s body comes straight off the hardware store shelf, with PVC pipe for arms and a polystyrene base to hold all the parts.  At the bargain price of $110, [Bithead’s] students will have a true hacker experience cobbling the Talkbot together rather than using a prefab kit.

Be sure to see Talkbot  in a video below, performing either his green-eyed “friendly mode” or red-eyed “grumpy mode,” which dictates how pleasantly he responds to obstacles. Need something more advanced? Check out the tentacle robot, just in time for Halloween.

Continue reading “Talkbot: an Arduino-driven robot for beginners”