← All work

Auto-Tracking Fan Simulator

A browser simulator that tests a wall-mounted fan that follows people with a camera, from vision and motor control to structural loads.

CONCEPT / DEMO2026Simulation3D / WebGLMechanical Design

The project

A design entry for a mechanical high school competition: a wall-mounted fan that turns toward the person in the room and switches itself off when they leave. A camera finds people, a stepper motor pans the head and a servo tilts it.

Before anything was 3D-printed, the design had to be checked. Would the motor keep up with someone walking across the room? Would the tilt servo hold the head when it points down? Would the wall anchors hold?

What we built

A simulator that runs in the browser, built around the real CAD assembly.

  • Tracking. A virtual person you can drag around a room, a virtual camera feed with detection boxes, and PID control driving the pan and tilt. Leave the room and the fan searches, then turns off after eight seconds.
  • People, not mannequins. A mannequin looks like a person to the detector, so the simulator also checks body temperature and movement and ignores it.
  • Step response test. Measures rise time, settling time and overshoot.
  • Fault injection. Skip motor steps on purpose and watch the home sensor correct the angle the next time the head passes 0°.
  • Structure and torque. Enter masses and distances and get bearing loads, bracket stress, anchor pull-out, motor acceleration torque and servo torque, each marked pass or fail.

What it changed

The simulator found that the first design would not work as drawn. The directly driven pan motor could only accelerate the head at about 101°/s², and the tilt servo was short of torque when the fan pointed down. The second design added a 1:3 belt reduction for pan (351°/s² available) and a 1:2 gear for tilt (safety factor 1.63), plus a home sensor and mechanical stops.

Details

  • Competition entry, design and simulation
  • Masses and centres of gravity are estimates until the parts are weighed
  • Runs entirely in the browser, with a Python webcam version for real camera tests

Thinking about building something similar?

Start a Conversation →