กลับไปหน้ารวมไฟล์
arduino-ping-pong-ball-cannon-abb8b3.md

Everyone needs a Ping Pong Ball Cannon!

Here's the Video

I had the desire to build a ping pong ball cannon. Cardboard being such a versatile material, I thought I'd use it for the barrel.

I started with two 13, 000 rpm 6V DC motors and some thin robot wheels. The results were encouraging but inconsistent. Sometimes the balls would shoot 20 feet, sometimes 4 feet.

I thought that wider flywheels with proper rubber treads would help. So I used TinkerCAD to design two 3cm diameter wheels that had a 1cm thickness. The centre was made to receive the gears mounted on the motors. For a tread, I used the thick rubber bands that broccoli comes bound in at the grocery store. They were glued to the wheels with Gorilla Super Glue. I found that without the glue the wheels spun so quickly that the rubber bands flew off!

The barrel is a cardboard 'trough' mounted on a piece of 1x3 wood with two holes drilled to mount the motors. The flywheels fit through the sides of the trough.

A potentiometer is used to adjust the speed of the flywheels.

An auto-feeder is made with a cardboard 'pusher' mounted to a small servo via a short length of reinforced wire as a pushrod.

The Arduino sketch spins up the motors for 2 seconds then the servo pushes the ping pong ball (in this case, practice golf ball) into the wheels and it's flung out of the barrel. The potentiometer allows you to vary the speed of the motors.

Note: The reason that the servo is attached and detached as needed is to reduce the 'chatter' that happens inside the servo when it's searching for neutral. That wastes power and it's also annoying to see the servo jittering while it's idle.

So build your own and start flingin'!

Update: February 6, 2019. Just learned that the cannon officially needs to fire foam practice golf balls. The flywheels with the rubber treads don't work. I removed the treads and cut sawtooth patterns into the wheels which improved performance. I then moved the flywheels about 7mm closer to each other providing more compression of the ball as it passed through the flywheels.

The modification worked very well and I've got about 17+ feet range on the cannon for a 7.4V battery. A 12V high amp hour battery provides marginally more range. So it's a great result overall!


🛠️ เจาะลึกเบื้องหลังการทำงาน (Deep Dive / Technical Analysis)

The Ping Pong Ball Cannon is an intense foray into advanced robotics. It requires balancing dual high-RPM motors (the firing mechanism) with the slow, precise movement of the pan/tilt geometry turret. It is the ultimate desk defense system.

The Friction Flywheel Launch Mechanism

You cannot launch a ping pong ball effectively by hitting it. You must squeeze it.

  1. The Flywheels: Two extremely fast Coreless DC motors or Brushless Drone Motors are mounted facing each other with 3D-printed rubberized wheels.
  2. The gap between them is slightly smaller than a ping pong ball (approx 38mm).
  3. The Arduino uses two powerful Logic Level MOSFETs (or an ESC for brushless motors) to spin both wheels inward at 10,000+ RPM.
  4. The Feeding Servo: When commanded to "Fire", a standard SG90 Servo hidden in the magazine tube pushes a single ball forward until it touches the spinning flywheels. The friction instantly grabs the ball and violently rips it out the barrel!

Turret Control and Targeting

  • The entire heavy assembly is mounted on a Pan/Tilt bracket powered by massive MG996R Servos.
  • The operator uses dual joysticks connected to the Arduino to aim the turret.
  • By varying the PWM speed of the top and bottom flywheels independently via a potentiometer dial, the operator can actively create "Topspin" or "Backspin" on the ball, altering its trajectory in mid-air!

Required Arsenal

  • Arduino Uno/Mega: The Fire Control Computer.
  • High-Speed DC Drone Motors (e.g., 8520 coreless) or Brushless Motors with ESCs.
  • Heavy Duty Servos for panning / Micro Servo for feeding.
  • A 3D printed barrel, magazine, and friction wheels.
  • LiPo Battery Pack: Essential for providing the immense Amp draw required for fast motor spool-up.

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino Ping Pong Ball Cannon"
description: "Grab a couple of motors, a servo and build a cannon!"
author: "GordPayne"
category: "Gadgets, Games & Toys"
tags:
  - "cannon"
  - "toy"
  - "ping pong ball"
views: 25666
likes: 8
price: 1120
difficulty: "Intermediate"
components:
  - "1x SG90 Micro-servo motor"
  - "1x Arduino UNO"
  - "1x 7.4V 1300 mAh LiPo Battery"
  - "1x Resistor 10k ohm"
  - "2x 13,000 rpm 6V DC motor"
  - "1x 1N4007 – High Voltage, High Current Rated Diode"
  - "1x 3D Printer (generic)"
  - "1x Hot glue gun (generic)"
  - "1x Power MOSFET N-Channel"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "fd48d6e366c877cb6e45a019d7bc118a179aec03c325ba2a9b658aac619fb55f"
encryptedPayload: "U2FsdGVkX18t3gtuvscs8+M0vWCyure3Sk/UWXR8tNkk2Oas5Jw1Rs8LBDFD8gEUUOwU+EAbNhK0Q2e/UmT28SSYEdoAIRPCRjiBwrJBrpY="
seoDescription: "Build an Arduino Ping Pong Ball Cannon with Motors and a Servo. A fun DIY project for all skill levels."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-ping-pong-ball-cannon-abb8b3_cover.jpg"
lang: "en"