My Fab Academy Final Project in 14 days¶
Schedule for this two weeks
🟨 20220601
15 June 2022, is my Fab Academy Final Project Presentation.
So I want to record my process of the Final Project 14 days before the presentation.
Actually, I only have about two or three hours to use today 🤦🏻♂️ (It turns out that in addition to eating and bathing, and complete last week’s homework and help answer some questions from my classmates)
Today’s goal is to use Fusion 360 to design the core part of my Project Q1 core - a robot control board with ESP32 as MCU, my requirements for this board are as follows
- ESP32 as MCU
- 8 servos pins
- 8 angle feedback pin
- 1 LED shows status
- 1 programme switch
- 1 reset button
✏️ Design circuit diagram¶
Based on the circuit diagram of the previous version, so the circuit diagram was changed in about half an hour.
✏️ Board Layout¶
This is the third version of Q1 core! It took me three hours to sort out the wiring.
Then it is necessary to export the two png of trace and outline for use.
By the way, let’s take a look at the evolution of the Q1 core.
Q1 core 0.0.1
Q1 core 0.0.2
Q1 core 0.0.3 (lastest version)
Pin layout
00:42 Completed today’s goal!
Tomorrow’s goal is to use CNC Milling Machine to engrave PCB, hold materials, and weld parts.
🟨 20220602
My Final Project is an open-source project of a bionic quadruped robot not just to make a robot. Finally, I will publish this project to the world and hope to get the assistance of Fab Lab Hong Kong CMASS iSPACE, so that I can promote this project in the academic.
There is also a little easter egg: I designed a fighting sumo game for Q1 fab. Friends can make and make change their own robots, and then compete in the arena!
✏️ CNC made circuit board¶
To start the milling of the circuit board, choose a suitable bit first, I usually use a 10-degree 0.1mm bit, although it is easier to wear, the advantage is that it is easy to carve clear lines.
Very careful when installing.
Attach the PCB to the pre-leveled dunnage with double-sided tape.
To adjust the bit head’s X Y Z Home, I’ll use a microscope to help determine if the bit head is just right on the surface of the board.
Connect to CNC milling machine via USB Serial.
I use the EdytorNC software to connect the CNC milling machine.
Just make simple settings to get started, and then just send the nc file to the CNC milling machine to milling what you need.
Trace and outline png files that were exported yesterday. The trace is used to milling the PCB, and the outline is to cut out the PCB. Go to mods.cba.mit.edu to use the mods tool to generate nc file, the summoning method is very simple, click the right mouse button in the blank area of the mods screen and select program > open server program > mill 3D PCB png
The nc file needs to be made two, one is for trace.png, and the other is the outline.png for cutting. The main steps are to select png file in the first grid, select mill traces or outlines in the second grid, input the diameter of the bit tip, the depth of each cut, the total cut depth, the number of edge circles offset and other information in the third grid, and then press calculate The nc file can be generated.
The outline is same, just press mill outlines in the second grid and changes the total cut depth to the board thickness.
Finally, press sends to transfer the nc file to the CNC milling machine.
After starting Milling, just wait…
Yeah! Complete the trace and outline!
The machine must be kept clean.
Finally got two PCB! (One for spare, this is very importmant!)
The next step is to use a cutter, a tweezer, and a sanding stick to remove the unwanted copper foil from the PCB.
If you don’t want to clear it by hand, you can actually set the offset numbers in the third grid of mods to 0, so that cnc will clear it all for you, but the time it takes will be several times. I think it is faster to do it yourself.
Two PCBs are ready.
✏️ Solder parts to PCB¶
Prepare the material first. Here are two sets, of which two pieces of ESP32 are removed from the old work. Use a piece of paper to write down what parts are, and stick it with double-sided tape, so you won’t regret doing it.
Before soldering, check any short circuit or open circuit on the PCB.
Don’t taken out any parts before use.
After soldering, check again for short circuits or open circuits.
If there is no problem, you can use the USB to UART bridge to connect the PCB.
USB to UART | Q1 core board |
---|---|
5V+ | VCC (5V) |
GND | GND |
TX | RX |
RX | TX |
The most important moment has come! Turn on the PROG switch on the Q1 core first, then connect the USB to UART to the computer, and try to upload a blank program to the Q1 core in the Arduino IDE.
Uploaded successfully!
11:30 I was really tired, and the progress was okay, so I went to bed early!
🟨 20220603
06:00 Wake up, today’s goal is to design and print 3D printed robotic parts.
✏️ 3D Modeling and Printing¶
Because of the urgency, I use the rapid development process. My method is to print one piece as soon as it is finished and continue to draw the next piece during the printing period. I estimate that the 3D Print Parts should be completed within today.
I am using Fusion 360 for 3D modeling.
After making the 3D file, I use the sliceing software Cura to convert the 3D file to Gcode for printing on the 3D Printer.
Since the limitations of 3D Printer printing have been considered in the design, it is possible to reduce the use of support and make printing more successful.
00:30 Very tired, so let’s take a rest first. The goal of tomorrow is to complete the 3D components and assemble the Q1 fab.
🟨 20220604
Wake up at 06:45 today, while designing the back armor, reprinting the parts that were not perfect.
✏️ Assembly Robot¶
While there are still some parts to print, start preparing to modify the SG90D Servo to have angle feedback capabilities!
The method is very simple, just jump a cable from potentiometer in the Servo.
All servo need modification.
Since I want the wires to be stored better, I need to change the position of the servo buttom.
A new exit needs to be cut at the servo.
The way to install is like this.
As long as the exit door is in the correct position, the wires will be smoothly stored in the bottom armor.
The wires for the four servos are completely invisible.
It is best to test the rotation and angle feedback functions before and after installing the servo.
The battery adopts the 6V rechargeable lithium battery used in this remote control model.
When purchasing rechargeable batteries, ask the store for a USB charger.
Continue with assembly.
If possible, good cable management will make the robot feel better and make debugging easier.
The assembly of the Q1 fab development mode is temporarily completed!
Today, I have time to prepare the site for the Q1 fab sumo. The goal is to use CNC Machine to cut plates and a Laser cutting machine to engrave in 6 Jun 2022.
Also, get ready to use Vinyl Cutter to cut stickers to Q1 fab in 6 Jun 2022.
Tomorrow’s goal is to take some time to complete the homework for week 19, and then write the Q1 fab program.
23:45 go to bed
🟨 20220605
It was a rare day to wake up at 07:30 today.
I also completed the homework for week 19 before lunch, mainly to report on the progress of the Final project and whether there were any difficulties.
✏️ Programming¶
Add a lot of comments to the code to facilitate publishing in the community.
The entire Final Project will be released under the CC-BY-NC-SA 4.0 license.
The angles of the robot joints and their limitations.
Reading the value from the Analog input pin, the actual angle of the servo can be easily derived from the map statement.
Completed the Servo angle feedback function.
This is a demonstration of Servo’s angle feedback feature in action.
Servo angle feedback feature let me finished editing the robot motion in less time.
Tomorrow’s goal is to make the Q1 fab sumo venue, make the body sticker, and complete the ESP32 web server program.
23:45 go to bed
🟨 20220606
Sleep not well, wake up at 06:15 for work.
I want to complete all the programming tasks today and tomorrow. The remaining difficulties are mainly the preparation of the web control interface and the improvement of the smoothness of the movements.
✏️ Programming - Web Server¶
Q1 fab provides two WiFi connection methods for users to choose, just modify the WiFi_AP_Mode parameter in the User define value area.
The first is that the control device (such as a mobile phone/tablet) is directly connected to the AP Mode of the Q1 fab.
AP Mode will make the Q1 fab become a WiFi AP waiting for the control device to connect.
On the control device side, you will see the SSID of Q1 fab.
You can start using it by browsing the IP of the Q1 fab on the control device.
The second is that the control device is connected to the same WiFi SSID as the Q1 fab, which is suitable for use in an environment where multiple Q1 fabs can be controlled at one time in the same WiFi network. (For example, if multiple Q1 fabs work together, they need to be set in this mode and connected to the same SSID.
Q1 fab will connect to WiFi
Simply browse the IP of the Q1 fab with a control device within a WiFi network to get started.
✏️ CNC cutting¶
Q1 fab is not only a robot project, but also includes a small competition game, Q1 fab sumo. This game is to use the Q1 fab made and modified by friends to play sumo on the table, in order to create a competition arena. I need to use a CNC machine to cut this rather large circular field.
The material must be firmly fixed on the workbench.
I am using Easel, an online CNC control software, to control this Tiger CNC. Easel software can also control other CNC Machines of different brands and models.
Set the body model.
Set the material type, size, and thickness.
Set the cutting speed and infeed depth.
Set the cutting path on the periphery of the graphic to ensure that the cut material will not be lost due to the cutting path as designed.
Then start cutting, please wear eye protection and ear protection to ensure safety.
Almost done!
It seems to be a little more beautiful to spray some color.
✏️ Vinyl Cutting¶
Use Brother’s ScanNCut to make stickers on robot today.
With stickers attached, the robot becomes even more handsome!
✏️ Programming - Control Interface¶
I usually use W3School’s Tryit Editor for simple web editing. The advantage is that I can edit online and see the actual effect in real-time.
The operation interface has also been completed, and the rest is the action of the Fine-tune robot.
Sumo Arena’s Laser Engraving will be continue tomorrow.
🟨 20220607
✏️ Programming - Action Test¶
Today, I can control the Q1 fab through the control interface for action testing! So moving!
I can even control the Q1 fab with your Apple Watch!
Great! These actions can be done smoothly!
✏️ Laser Engraving¶
Now engraved the Q1 fab logo for the center of the sumo arena
Use a vector graphics editing tool like CorelDraw to put the finishing touches on your sculpted graphics.
Then adjust the appropriate power to start carving.
The engraved lines are very clear!
This will be the playing field for Q1 fab sumo.
Mysterious Easter Egg - this is one of the arena designs under consideration, but due to the extremely complicated process, it will not appear in my Final Project! But the good news is that the blueprints will be released to the public in furture.
🟨 20220608
I got up at 05:45 today and continued to deal with the battery that had a problem yesterday. Since it is difficult to buy it on the market, it may be a good opportunity to try supercapacitors.
Also, pre-prepare the web page and Repo for posting Q1 fab today.
Connect two 2.4V supercapacitors in series to turn it into a 4.8V battery pack. Fortunately, the robot can start smoothly!
✏️ Casting¶
In sumo game need some bonus point to let player to get it, I will use casting to make it.
Bonus Point in Sumo Game!
✏️ Poster Design - Final Version¶
Draft Poster version 0.0.1
Draft Poster version 0.0.2
Japanese stylus poster.
The final version of the poster was finish!
✏️ Final Motion Test¶
Finally completed the basic actions of Q1 fab!
Even the shell is done!
🟨 20220609
✏️ Taking photos for Q1 fab¶
✏️ Interaction fuction¶
If you push up Q1 fab hand, it will do somthing…
✏️ Presentation Video Final Final¶
It took me five hours to edit in just one minute video!
01:00 sleep
🟨 20220610
06:15 Wake up
You may find that there are fewer and fewer words. The reason is actually that you are getting more and more hurried, I must work hard to catch up!
✏️ Q1 fab website¶
Today, I complete the Q1 fab homepage, which is relatively easy to complete.
http://jasonworkshop.com/q1fab
✏️ Q1 fab github¶
The official GitHub of Q1 fab has also been established. Now upload everything that can be store on GitHub.
https://github.com/jasonworkshop/q1fab
🟨 20220611, 20220612
Update Fab Academy Final Project repo
Update Fab Academy Final Project in 14 days repo (This page)
🟨 20220613
Making Handbook
🟨 20220614
Prepare a presentation script
✏️ Useful links and tools¶
-
I hope to be able to help me with the markdown platform for recording daily things
http://hackmd.io -
Fusion 360 can also be used to make circuit diagrams and design PCBs in addition to drawing stereograms
https://www.autodesk.com/products/fusion-360/overview?term=1-YEAR&tab=subscription -
Fab Academy’s online library
https://mods.cba.mit.edu -
Programmer connected to CNC equipment (portable version available)
https://sourceforge.net/projects/edytornc -
3D Print layering software Cura
https://ultimaker.com/software/ultimaker-cura -
Arduino IDE for programming
https://www.arduino.cc -
Tool to quickly convert video to gif - gifski (Windows, macOS, Linux)
https://gif.ski -
Add the following URL to Arduino IDE \ Preferences \ Additional Boards Manager URLs to install ESP32 in Arduino Boards Manager.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json -
Affinity Designer
https://affinity.serif.com/en-gb -
Easel (Online CNC control software)
https://easel.inventables.com -
CanvasWorkspace (Brother ScanNCut bundled software)
https://support.brother.com/g/b/downloadtop.aspx?c=hk&lang=en&prod=hf_cm550dxeas -
W3School Tryit Editor (web editor with instant effects)
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default_default -
µBrowser (Micro browser for your Apple Watch)
https://apps.apple.com/us/app/µbrowser/id1590622755 -
CorelDraw (Vector image designer)
https://www.coreldraw.com