Individual Assignment Rules

Complete your final project tracking your progress:

  1. What tasks have been completed?
  2. What tasks remain?
  3. What has worked? what hasn't?
  4. What questions need to be resolved?
  5. what will happen then?
  6. what have yuo learned?

Final Project Progress

The presentation day is approaching, and various of the planned activities have been completed. I have progress with the mechanical parts and electronics, testing individually the pherifericals functioning. However, the integration to test shelf's functionality, it the challeging part. Then Gantt shows the progress achieved.

What tasks have been completed?

  1. The Mechanical Parts development using 3D Printing Process
  2. I donwload the files to printed them, and to have an idea about dimensions. Because I need to test the diferent funko models, not every model present same characteristics. So I can decide if I could used packed or unpacked funkos. I have some problems when printing. i think that it was because my filament was expose to much time to humity.

    I test product dimensions using different kind of funkos, because some special design are wider or taller. So I can decide for which kind of funkos I will develop my final design. I also notice that build something for the unpacked funkos will need something bigger

    Base on testings I started the desing of the mobile top using Fusino 360. At the begining I made mistakes with 3D printing tolerances and the I couldn´t get a mobile desing like show in the photo bellow

    I redesigned the top and I've got a mobile desing and 3D printed it, like show in the following photos

    I also designed the Stepper Motor case like show in the following photos

    I've have to make several trials, due to dimensions that I did not consider at the begining,and that also to include to rectancular holes to incorporate the limit switches. But at the end, the final changes were made due to its high, because it need to be aligned with the mobile top. Like it can be observed in the following photo.

    The third mechanical components are the pair of the linear rail's belt holders. I have made several trials, mostly because I need to adequately place the hexs. You can see the different changes in the following photos that show front and back views of the holders.


    The final mechanical part are the pair of servo motors arms, because commercial design does not fit my design. I have made five trials due to length and width details, to adequately fit the servo and the top cavities.

  3. The Electronic Parts development
  4. First Components Layout

    With my instructor support, we review the components that I'm gonna need for my final project in order to decide which output could be the starting point. So I decide to start with a Servo motor that I'll probably use to open the hidden shelve. The following picture show the potential devices that I would use for my final project. I would use 2 Servo Motors, so the option could be to fabricate one or two boards. The initial idea was to use a switch or a remote control to control prototype motionI decide to fabricate one. However, I after analysing the motion system I need to include more limit switches. Thus my pherifericals would be:

    1. 1 Stepper motor (4DO)
    2. 3 Limit switch (1 DI)
    3. 2 Servomotors (2DO)

    Selecting the output device

    On week 9, with my instructor support, we review the components that I'm gonna need for my final project in order to decide which output could be the starting point. So I decide to start with a Servo motor that I'll probably use to open the hidden shelve. The following picture show the potential devices that I would use for my final project. I would use 2 Servo Motors, so the option could be tofabricate one or two boards. I decide to fabricate one.

    Board Components

    By acknowledging that servo motors function with 5V and common power supply sources provide 12V, we select the following components for this main board. It consists of the following:

    1. One terminal block 2x1
    2. Regulator LDO 5V 1A
    3. Male connector header 2x3
    4. Male connector header 90° 1x3 (GND+2DIO)
    5. 2 Servo Motors
    6. Capacitor 1uf

    This is the pcb design where you can see all the components. You can download design file and the SVG files here.

    I proceeded with machining and soldering the PCB board

    For functional testing I used a modified coding provided by Adrian-Torres

    The following photo shows all system connection to test. I used XIAO RP2040 from Week 8 to test the board and the output device (Servomotor)

    The final test was made runing the conding Arduino IDE and using a variable energy source, like shown in the following video

    Selecting the input device

    On week 12, with my instructor support, we review the components that I'm gonna need for my final project in order to select input device. The only input is a limit switch, that is going to activate all the complete system to stop the stepper motor that will show the funko. The following picture show the potential devices that I would use for my final project.

    Board Components

    By acknowledging that switch function we select the following components for this main board:

    1. One Micro Switch 3P SPDT 1A 125V AC
    2. Male connector header 90° 1x3 (GND+2DIO)
    3. Resistor 1k

    This is the schematic where you can see all the components. You can download Schematic design file and the PNG file here.

    This is the pcb design where you can see all the components. You can download design file and the SVG files here.

    The final PCB image is shown below

    The following photo shows all system connection to test. I used XIAO RP2040 from Week 8 to test the board and the output device (Servomotor)

    On 14th week, with my instructor support, we review the components that I'm gonna need for my final project in order to decide which could require a wifi or bluethooth communication. So I decide to start with a Servo motor that I'll intent to use for opening the hidden shelve. The following picture show the potential devices that I would use for my final project. I would use 2 Servo Motors, so I decide to execute a bluethooth connection, using an app to activate the servomotor.

    Servomotor Board Components

    I used the board design and fabricated at week 9 ,the following are its components:

    1. One terminal block 2x1
    2. Regulator LDO 5V 1A
    3. Male connector header 2x3
    4. Male connector header 90° 1x3 (GND+2DIO)
    5. 2 Servo Motors
    6. Capacitor 1uf

    This is the pcb design where you can see all the components. You can download design file and the SVG files here.

    Using Xiao ESP32C3 Board Components

    I used the board design and fabricated at week 8 , because its design includes a push bottom and a LED, and have DIO pins to connect the servo motor controller, and replaced the XIAO RP"=$= by XIAO ESP32C3. The following are its components:

    1. 01 Seeed Studio Xiao ESP32C3.
    2. 01 1kΩ resistor
    3. 01 499 Ω resistor
    4. 01 LED 1206
    5. 01 SW - Button >
    6. 01 Female horizontal row header
    7. 01 100 μf capacitor

    This is the pcb fabricated where you can see all the components. You can download design file and the SVG files here.

    First I decide to test the microcontroller following the steps suggested by Seeedstudio here. and use the LightBlue App to control my servomotor

    In the following images you can observe the process

    You can download the Bluetooth code using Arduino IDEhere.

    In the following video you can observe the final result when controlling the ServoMotor

    Interface for managing a ServoMotor

    On week 15, we first generated a code for a 180 arm movement. The code will need to recognize the serial imput that will come from the computer interface to control a microservo SG90

    1. We decide to use Xiao RP2040, considering that I develop a board to control a servomotor Week 9.
    2. After selecting the board, I decide to develop a specific code in Arduino IDE for the microcontroller and another in Python to connect by serial the microcontroller with the interface using Gaziro on Thonny.
    3. The interface produced two buttoms, a red one to generate a 180° arm movement and blue one to return to 0°, as shown on the image below
    4. You can download the Arduino Ide and Thonny Programing files here.

      In the follorwing video you can observe the final result when controlling the ServoMotor

      What tasks remain?

      Designing the Final Project Integration

      I have two options to develop my final project's main board, that does not change its general structure, but its interface to activate it.

      1. Use a Xiao RP2040, that would require to develop a PC screen interface, thus I could consider Week 14's activities
        Thus, I would need to develop an interface using Thonny-Guizero
        Its disadvantage relies on scalability because I will need a computer connected to the system to activate it.
      2. Use an ESP32C3, that would require to use a cellphone's app to activate the system
        Its advantage it is not only wireless control, but anyone that could use also LightBlue and introduce a string-value to activate it. Thus, I would need to develop an interface using MIT App Inventor
        Its advantage it is not only wireless control, but anyone that could use also LightBlue and introduce a string-value to activate it.

      Final project Selected Components

      After reviewing the mechanical and electronics requierements for my final project, I elaborate its schema integration that is shown in the following image.

      Thus, I would proceed to analyse system integration within mechanical design that I've already develop for the project

      What has worked? what hasn't?

      All the mechanical parts fail at the begining, and I had to modify them as follow:

      1. The Shelf's Top: At the begining I fail to consider the correct tolerance for the mobility feature. Then I correct it as you can see in the following video
      2. The stepper motor case: At the begining I measure the motor and the distance between hex holes. However, I forgot to use its Data Sheet. THus, in the second design the step motor fit, but I I have to modify it again because I have to do the same for the linear rail. Finally I made a last variation, due to the need to align its height with the Shelf's Top.
      3. The Linear Rail Holders: I made 4 iterations, because at the begining I considere to include into them the limit switches. But then I notice that it would be better to include them into the stepper motor case.
      4. The Servos' Arms: I made 4 iterations, to improve the fit with the servo motor and the shelf's top
      5. I have design, fabricate, and program the boards for:
        1. The 3 limit switches
        2. The 2 Servo Motors
        3. The stepper motor

        The following pictures shows the progress I have achieved until now

      You can download the fusion final design files in the following links:
      1. The Shelf's Top here.
      2. The Stepper Motor Case here.
      3. The Linear Rail's Holders here.
      4. The Servo Motor's Arm here.

      What questions need to be resolved?

      The things I need to resolved are the following:

      1. I still need to improve the programing for the servo motors, because they function individually but they need to operate simultaniously but in contrary directions, because they will be located at the Shelf's Top right and left sides
      2. I also need to integrate all the programing for the final test

      what will happen then?

      Once the servo motors programing would be resolved, I need to start with all electronic integration and joint all programs. Thus, I would generate a flow chart to better understand the communication between inputs and outputs

      Then I will need to test the integrated programing, but I will need to integrate a 12V poower source and a XL4015 5A Voltage and Current regulator, that would provide adequate energy for the electronic components

      After, I will be able to test the system, and when it runs I would fix every component to the Shelf's base and then place the shelf's cover

      what have you learned?

      After all the achived progress, I have learn that:

      1. It is necessary to design everything taking into account Data Sheets, otherwise, we will constantly fail, and we'll have to redesign multiple times
      2. It is necessary to closely understand the order of communication and be careful with delays between each pherifericals
      3. Reviewing electronics data sheets will bring assurance regarding power source to every component avoiding burning any of the components