16. System integration
Assignment:
Design and document the system integration for your final project
Block diagram
I was a bit confused about how to start this week's assignment. So I decided to begin by making a block diagram to outline the main parts of my final project. This is a tentative diagram:
Description
1. Webcam Detects User's Position:
- The webcam captures real-time images and sends them to the computer.
2. Processing on the Computer:
- The computer analyzes the images to determine the user's position.
- It generates commands based on the detected position and sends them to the microcontroller via a USB or serial connection.
3. Microcontroller Receives Commands and Controls Servomotors:
- The XIAO RP2040 microcontroller receives the commands from the computer.
- It processes these commands and adjusts the servomotors to orient the audio monitors in the correct direction.
4. Servomotor Movements:
- The servomotors adjust the pedestal's orientation on two axes (pan and tilt) to point the audio monitors toward the user's position.
5. Power Supply:
- Provides the necessary power for the servomotors.
Design
It seemed more convenient for me to start working on the mechanism design. To begin with, since it appeared to be a fairly common mechanism, I looked for designs that I could adapt to my idea. Among these, the pan and tilt movements of a camera are the ones that best fit, so I downloaded a
design to start working on it. Using Fusion 360, I adapted the design to use HK15178 servomotors, among other details. This is how it turned out.
Testing
I had many doubts about the design and the mechanism that I could only address by conducting tests. For example, the use of a bearing for the pan movement (I wasn't sure if it was necessary), how the different parts would fit together considering the measurements I used (this was my main concern), among others. Considering this, I decided to print some parts and test the mechanism.
My major issues were with the fitting of the parts. Some parts had very tight measurements and didn't allow me to assemble them, so in the next design, I'll need to add an error factor of 0.5 to 1 mm depending on the part. For now, I used heat to fit the pieces together and test the mechanism. Also, for the next design, I'll need to change the servo mount used for the pan movement. The way it was designed doesn't allow it to fit due to the presence of the cable. Meanwhile, to test the mechanism, I solved it differently.
During the assembly, I realized that integrating a bearing into the mechanism will not only improve the performance of the servo responsible for the pan movement (as the weight will not be entirely supported by the servo, and the force will only be used for horizontal rotation), but it will also help support the horizontal axis. During the assembly, I noticed that without the bearing, the mechanism would be very unstable.
Testing the mechanism
To be able to continue with the design, I needed to test the mechanism. This will help me get a sense of how to integrate the system and improve the design starting from the basis of the mechanism's operation. Initially, the mechanism is simple, consisting of two movements performed by two servos. To test the movement of the servos, I decided to use an electronic board
previously designed, and the details of the board can be seen in the electronic design week. First, I tested each movement independently, and then I used code to test both movements. The test can be observed in the following video.
Things to consider for system integration
These are some things I will need to consider to continue working on my project, many of which stem from what was analyzed this week.
Improve socket dimensions
Design a cover for the servo tilt, in order to protect them and to make them more aesthetically.
Change the bracket for the servo pan
Use a bearing or similar mechanism for the pan movement
Evaluate what material the pedestal will be made from
Design support for the electronics
Decide what the interface will look like (add power buttons and LEDs to indicate system status)
Use nuts and bolts to assemble the servo shaft to the various moving parts (I was thinking of just gluing them together, but that will make it difficult to disassemble and reuse the parts).
Define which power supply I will use to power the servos
Check the weight that the system will be able to support
Downloads