3d Scanner

During our Principals in Integrated Engineering class we were tasked to create a miniature scanner consisting of a distance sensor mounted to two servos that could pan and tilt it to detect objects. We were unsatisfied with the scanner as it would only be able to map out a single face of an object due to the restrictive nature of a stationary sensor. Instead of completing the assignment, our team created a 3D scanner capable of capturing all faces of an object. We achieved this by mounting the sensor to a swing arm on a servo, then mounting that servo on another swing arm that rotates perpendicular to the first arm.

Before CADing the design in SolidWorks, I completed the necessary torque calculations for the weight of each swing arm and the hardware mounted to them to ensure that the servos would have sufficient torque to move the arm smoothly through its travel. After 3D printing the necessary components I assembled the scanner and soldered all connections to ensure that no matter how much the wiring loom moves the connections would not come free from the Arduino board.

We control the arm to collect distance data at 1 degree intervals through 170 degrees in the vertical axis and 360 degrees in the horizontal axis using code written within the Arduino IDE. Each of the 61,200 distance measurements and servo angles is sent to a laptop through the serial point which is then converted to cartesian coordinates using trigonometry and plotted within a point cloud using a Python script.