Skip to content
Snippets Groups Projects
Commit f10c3e03 authored by omaralaqtash's avatar omaralaqtash
Browse files

updating the electronics production documentation

parent 73eee409
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 137 additions and 172 deletions
...@@ -24,49 +24,50 @@ ...@@ -24,49 +24,50 @@
</div> </div>
<h3 id="ultimaker-2-3d-printer-settings"><em>Ultimaker 2</em> 3D printer settings</h3> <h3 id="ultimaker-2-3d-printer-settings"><em>Ultimaker 2</em> 3D printer settings</h3>
<p>Before turning on the machine we have to clean it, Mr. Fran told us that <strong><em>when the machine is clean, people will respect the machine</em></strong>. We used alcohol based cleaners to clean the 3D printer. Also, make sure that all the rods are fixed and the belts are tied.<br /> <p>Before turning on the machine we have to clean it, Mr. Fran told us that <strong><em>when the machine is clean, people will respect the machine</em></strong>. We used alcohol based cleaners to clean the 3D printer. Also, we have to make sure that all the rods are fixed and the belts are tied.<br />
After we cleaned the printer and checked it out we turned it on and made the following procedures:</p> After we cleaned the printer and checked it out we turned it on and made the following procedures:</p>
<ul> <ul>
<li><p>Insert material.</p></li> <li><p>Insert material.</p></li>
<li><p>Make sure that the filament are not stock while you pull him out.</p></li> <li><p>But firstly I have to make sure that the filament are not stock while pulling him out.</p></li>
</ul> </ul>
<div class="figure"> <div class="figure">
<img src="images/resized/fila1.jpg" /> <img src="images/resized/fila1.jpg" />
</div> </div>
<ul> <ul>
<li>Put the filament roll on the machine.</li> <li>I have to put the filament roll on the machine.</li>
</ul> </ul>
<div class="figure"> <div class="figure">
<img src="images/resized/fila2.jpg" /> <img src="images/resized/fila2.jpg" />
</div> </div>
<ul> <ul>
<li>Cut the head of the filament and make it sharp to make it easy for inserting.</li> <li>Also, I have to cut the head of the filament and make it sharp to make it easy for inserting.</li>
</ul> </ul>
<div class="figure"> <div class="figure">
<img src="images/resized/fila3.jpg" /> <img src="images/resized/fila3.jpg" />
</div> </div>
<ul> <ul>
<li><p>set the layer height in the printer through build plate option.</p></li> <li><p>Then I set the layer height in the printer through build plate option.</p></li>
<li>Rotate the button until the nozzle is a millimeter away from the build-plate.</li> <li>I Rotated the button until the nozzle was 1mm away from the build-plate.</li>
<li>repeat the above step for all the corners.</li> <li>I repeated the previous step for all the corners.</li>
<li>Repeat the same step, but now use a sheet of paper to fine tune build-plate level.</li> <li>Then I repeated the same step, but now I used a sheet of paper in order to fine tuning the build-plate level.</li>
<li><p>Slide a paper between a build-plate and nozzle until you feel a bit resistance.</p></li> <li><p>After that I slided the paper between the build-plate and the nozzle until I felt a bit resistance.</p></li>
</ul> </ul>
<div class="figure"> <div class="figure">
<img src="images/resized/mmm.jpg" /> <img src="images/resized/mmm.jpg" />
</div> </div>
<ul> <ul>
<li><p>Choose move the material option and start rotating the button, then feel the filament to see if it smooth. if the it is smooth, then the printer is ready to print.</p> <li><p>Then I chose <em>move the material</em> option and started rotating the button, and once it out from the nozzle I have to touch the filament to see if it is smooth. It was smooth, so my printer now is ready to print.</p>
<div class="figure"> <div class="figure">
<img src="images/resized/aaa.resized.jpg" /> <img src="images/resized/aaa.resized.jpg" />
</div></li> </div></li>
</ul> </ul>
<p>Precautions :</p> <h4 id="precautions">Precautions :</h4>
<p>I have summarized all the precautions that I have heard from Mr. Fransisco during working on the 3D-printers.</p>
<ul> <ul>
<li>Don't put glow on the build-plat of the 3D printer.</li> <li>Don't put glow on the build-plat of the 3D printer.</li>
<li>Don't use carbon fiber filaments unless if you need a strong product; because it could harm the nozzle. Instead of carbon fiber use PLA filament which is the most type of filament used on 3D printers.</li> <li>Don't use carbon fiber filaments unless if you need a strong product; because it could harm the nozzle. Instead of carbon fiber use PLA filament which is the most type of filament used on 3D printers.</li>
...@@ -80,12 +81,12 @@ After we cleaned the printer and checked it out we turned it on and made the fol ...@@ -80,12 +81,12 @@ After we cleaned the printer and checked it out we turned it on and made the fol
</ul> </ul>
<h2 id="d-scanning">3D Scanning</h2> <h2 id="d-scanning">3D Scanning</h2>
<p>A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape. The collected data can then be used to construct digital 3D models.</p> <p>A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape. The collected data can then be used to construct digital 3D models.</p>
<p>download the scanning software on window's operating system by accessing <a href="https://www.3dsystems.com/shop?redirectFrom=cubify">cubify.com</a>, then make the following procedure:</p> <p>I download the scanning software on window's operating system by accessing <a href="https://www.3dsystems.com/shop?redirectFrom=cubify">cubify.com</a>, then I made the following procedure:</p>
<ul> <ul>
<li>Download sense software.</li> <li>I download the sense software.</li>
<li>Plug in scanner to USB.</li> <li>I plugged in the scanner to the USB.</li>
<li>Launch sense software.</li> <li>Then I launched the sense software.</li>
<li>Start scanning.</li> <li>Finally, I started the scanning process.</li>
</ul> </ul>
</body> </body>
</html> </html>
...@@ -20,37 +20,39 @@ If a piece on the shape inclined at an angle <= 45 degree from the surface of th ...@@ -20,37 +20,39 @@ If a piece on the shape inclined at an angle <= 45 degree from the surface of th
### _Ultimaker 2_ 3D printer settings ### _Ultimaker 2_ 3D printer settings
Before turning on the machine we have to clean it, Mr. Fran told us that **_when the machine is clean, people will respect the machine_**. We used alcohol based cleaners to clean the 3D printer. Also, make sure that all the rods are fixed and the belts are tied. Before turning on the machine we have to clean it, Mr. Fran told us that **_when the machine is clean, people will respect the machine_**. We used alcohol based cleaners to clean the 3D printer. Also, we have to make sure that all the rods are fixed and the belts are tied.
After we cleaned the printer and checked it out we turned it on and made the following procedures: After we cleaned the printer and checked it out we turned it on and made the following procedures:
* Insert material. * Insert material.
* Make sure that the filament are not stock while you pull him out. * But firstly I have to make sure that the filament are not stock while pulling him out.
![](images/resized/fila1.jpg) ![](images/resized/fila1.jpg)
* Put the filament roll on the machine. * I have to put the filament roll on the machine.
![](images/resized/fila2.jpg) ![](images/resized/fila2.jpg)
* Cut the head of the filament and make it sharp to make it easy for inserting. * Also, I have to cut the head of the filament and make it sharp to make it easy for inserting.
![](images/resized/fila3.jpg) ![](images/resized/fila3.jpg)
* set the layer height in the printer through build plate option. * Then I set the layer height in the printer through build plate option.
* Rotate the button until the nozzle is a millimeter away from the build-plate. * I Rotated the button until the nozzle was 1mm away from the build-plate.
* repeat the above step for all the corners. * I repeated the previous step for all the corners.
* Repeat the same step, but now use a sheet of paper to fine tune build-plate level. * Then I repeated the same step, but now I used a sheet of paper in order to fine tuning the build-plate level.
* Slide a paper between a build-plate and nozzle until you feel a bit resistance. * After that I slided the paper between the build-plate and the nozzle until I felt a bit resistance.
![](images/resized/mmm.jpg) ![](images/resized/mmm.jpg)
* Choose move the material option and start rotating the button, then feel the filament to see if it smooth. if the it is smooth, then the printer is ready to print. * Then I chose _move the material_ option and started rotating the button, and once it out from the nozzle I have to touch the filament to see if it is smooth. It was smooth, so my printer now is ready to print.
![](images/resized/aaa.resized.jpg) ![](images/resized/aaa.resized.jpg)
Precautions : #### Precautions :
I have summarized all the precautions that I have heard from Mr. Fransisco during working on the 3D-printers.
* Don't put glow on the build-plat of the 3D printer. * Don't put glow on the build-plat of the 3D printer.
* Don't use carbon fiber filaments unless if you need a strong product; because it could harm the nozzle. Instead of carbon fiber use PLA filament which is the most type of filament used on 3D printers. * Don't use carbon fiber filaments unless if you need a strong product; because it could harm the nozzle. Instead of carbon fiber use PLA filament which is the most type of filament used on 3D printers.
...@@ -66,9 +68,9 @@ Precautions : ...@@ -66,9 +68,9 @@ Precautions :
A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape. The collected data can then be used to construct digital 3D models. A 3D scanner is a device that analyses a real-world object or environment to collect data on its shape. The collected data can then be used to construct digital 3D models.
download the scanning software on window's operating system by accessing [cubify.com](https://www.3dsystems.com/shop?redirectFrom=cubify), then make the following procedure: I download the scanning software on window's operating system by accessing [cubify.com](https://www.3dsystems.com/shop?redirectFrom=cubify), then I made the following procedure:
* Download sense software. * I download the sense software.
* Plug in scanner to USB. * I plugged in the scanner to the USB.
* Launch sense software. * Then I launched the sense software.
* Start scanning. * Finally, I started the scanning process.
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<img src="images/resized/mills.resized.jpg" /> <img src="images/resized/mills.resized.jpg" />
</div> </div>
<h2 id="print-circuit-boards">Print Circuit boards</h2> <h2 id="printed-circuit-boards">Printed Circuit boards</h2>
<p>After the settings of the machine has been done, Mr. Fransisco started guiding us to use the machine for printing circuit boards. The steps we followed in order to git a functional circuit boards can be summarized as follow:</p> <p>After the settings of the machine has been done, Mr. Fransisco started guiding us to use the machine for printing circuit boards. The steps we followed in order to git a functional circuit boards can be summarized as follow:</p>
<ul> <ul>
<li>First of all we have to download the software which will run the machine. so, we accessed <a href="http://startup.rolanddg.com/">startup.rolanddg</a> to download the software. we downloaded the software at windows operating system.<br /> <li>First of all we have to download the software which will run the machine. so, we accessed <a href="http://startup.rolanddg.com/">startup.rolanddg</a> to download the software. we downloaded the software at windows operating system.<br />
...@@ -84,7 +84,17 @@ ...@@ -84,7 +84,17 @@
</div> </div>
<p>Then I turned on the machine <strong>SRM-20</strong> in order to print the board and we connected it with the computer through USB cable and we controlled it through the software.<br /> <p>Then I turned on the machine <strong>SRM-20</strong> in order to print the board and we connected it with the computer through USB cable and we controlled it through the software.<br />
First of all I have to move the milling bit through the (x+,x-),(y+,y-) and (z+,z-) buttons and put it at the point that I am going to start milling from. Mr. Fransisco has told us that once we are going o move the milling bit in the z- we have to activate the steps x100 or x10 or x1 mm and deactivate the continue choice to avoid breaking the milling bit by hitting it on the base. and once the milling bit is 1mm far away from the FR1 paper we have then to untight the screw and down the milling bit by hand until it touch the FR1 paper then re-tightening the milling bit . after doing this I have to write down on the notebooks the machine coordinate system points, to use them in case I need them. for example if the electricity outage is happened. and then going back to the user coordinate system and reset the x,y and z points. Then I started milling by press the cut button and uploading the <strong>.rml</strong> file.</p> First of all I have to insert the 1/64 milling bit because we make the traces at beginning. But before that I have to put a peace of cartoon on the base in order to protect the milling bit from breaking in case it fallen down. And I have to insert around 80% of the milling bit on the head of the machine.</p>
<div class="figure">
<img src="images/resized/mbit.resized.jpg" />
</div>
<p>Then I have to move the milling bit through the (x+,x-),(y+,y-) and (z+,z-) buttons and put it at the point that I am going to start milling from. Mr. Fransisco has told us that once we are going o move the milling bit in the z- we have to activate the steps x100 or x10 or x1 mm and deactivate the continue choice to avoid breaking the milling bit by hitting it on the base. and once the milling bit is 1mm far away from the FR1 paper we have then to untight the screw and down the milling bit by hand until it touch the FR1 paper then re-tightening the milling bit.</p>
<div class="figure">
<img src="images/resized/starting.resized.jpg" />
</div>
<p>After doing this I have to write down on the notebooks the machine coordinate system points, to use them in case I need them. for example if the electricity outage is happened. and then going back to the user coordinate system and reset the x,y and z points. Then I started milling by press the cut button and uploading the <strong>.rml</strong> file.</p>
<p>After the machine had milled the traces and cut the board, I removed it out of the FR1 paper.</p> <p>After the machine had milled the traces and cut the board, I removed it out of the FR1 paper.</p>
<div class="figure"> <div class="figure">
<img src="images/resized/remove.resized.jpg" /> <img src="images/resized/remove.resized.jpg" />
...@@ -132,9 +142,9 @@ First of all I have to move the milling bit through the (x+,x-),(y+,y-) and (z+, ...@@ -132,9 +142,9 @@ First of all I have to move the milling bit through the (x+,x-),(y+,y-) and (z+,
<li>Solder contains lead, which is a poisonous metal. So, we have to wash our hands after using solder.</li> <li>Solder contains lead, which is a poisonous metal. So, we have to wash our hands after using solder.</li>
</ul></li> </ul></li>
</ul> </ul>
<h2 id="programming-the-attiny-45-board">Programming the ATtiny 45 board</h2> <h2 id="attiny-45-programming">ATtiny 45 Programming</h2>
<p>After I finished soldering the components on the programmer circuit board I started programming it to use it later as an interface between the computer and the micro controller circuits. To program the board I followed the procedures on this <a href="http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html">link</a>.</p> <p>After I finished soldering the components on the programmer circuit board I started programming it to use it later as an interface between the computer and the micro controller circuits. To program the board I followed the procedures on this <a href="http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html">link</a>.</p>
<h1 id="attiny-44-micro-controller-circuit-board">ATtiny 44 Micro-controller Circuit Board</h1> <h2 id="attiny-44-micro-controller">ATtiny 44 Micro-controller</h2>
<p>Mr. Fransisco asked us to think about a circuit using the ATtiny 44 micro-controller with one input and one output. After discussing we agreed to use push button as an input and LED as an output. And we started designing the circuit board by kokopelli software, which is an open-source tool for computer-aided design and manufacturing (CAD/CAM).</p> <p>Mr. Fransisco asked us to think about a circuit using the ATtiny 44 micro-controller with one input and one output. After discussing we agreed to use push button as an input and LED as an output. And we started designing the circuit board by kokopelli software, which is an open-source tool for computer-aided design and manufacturing (CAD/CAM).</p>
<ul> <ul>
<li>We downloaded the kokopelli software by hitting the clone or download button on this <a href="https://github.com/mkeeter/kokopelli">link</a>.</li> <li>We downloaded the kokopelli software by hitting the clone or download button on this <a href="https://github.com/mkeeter/kokopelli">link</a>.</li>
...@@ -171,95 +181,51 @@ pcb = IC1.add(pcb,x+.47,y+.59,z) ...@@ -171,95 +181,51 @@ pcb = IC1.add(pcb,x+.47,y+.59,z)
J1 = header_ISP(&#39;J1\nISP&#39;) J1 = header_ISP(&#39;J1\nISP&#39;)
pcb = J1.add(pcb,IC1.x+.05,IC1.pad[7].y-.22,z,angle=90) pcb = J1.add(pcb,IC1.x+.05,IC1.pad[7].y-.22,z,angle=90)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[8],J1.pad[1])
IC1.pad[8],
J1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[9],J1.pad[3])
IC1.pad[9],
J1.pad[3])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[7],point(IC1.pad[7].x+.01,J1.y-.02,z),J1.pad[4])
IC1.pad[7],
point(IC1.pad[7].x+.01,J1.y-.02,z),
J1.pad[4])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[4],J1.pad[5])
IC1.pad[4],
J1.pad[5])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[14],point(J1.x-.05,J1.y+.02,z),point(J1.x+.05,J1.pad[2].y-.08,z),J1.pad[6])
IC1.pad[14],
point(J1.x-.05,J1.y+.02,z),
point(J1.x+.05,J1.pad[2].y-.08,z),
J1.pad[6])
J2 = header_FTDI(&#39;J2 FTDI&#39;) J2 = header_FTDI(&#39;J2 FTDI&#39;)
pcb = J2.add(pcb,x+width-.08,IC1.y-.0,z,angle=0) pcb = J2.add(pcb,x+width-.08,IC1.y-.0,z,angle=0)
pcb = wire(pcb,w, pcb = wire(pcb,w,J1.pad[2],point(J2.x+.08,J2.pad[3].y,z),J2.pad[3])
J1.pad[2],
point(J2.x+.08,J2.pad[3].y,z),
J2.pad[3])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[13],point(IC1.pad[13].x+.35,J2.pad[4].y,z),J2.pad[4])
IC1.pad[13],
point(IC1.pad[13].x+.35,J2.pad[4].y,z),
J2.pad[4])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[12],point(IC1.pad[12].x+.3,J2.pad[5].y,z),J2.pad[5])
IC1.pad[12],
point(IC1.pad[12].x+.3,J2.pad[5].y,z),
J2.pad[5])
XTAL1 = XTAL_EFOBM(&#39;XTAL1\n20 MHz&#39;) XTAL1 = XTAL_EFOBM(&#39;XTAL1\n20 MHz&#39;)
pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.008,z,angle=-90) pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.008,z,angle=-90)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[2],point(XTAL1.x+.12,XTAL1.pad[1].y,z),XTAL1.pad[1])
IC1.pad[2],
point(XTAL1.x+.12,XTAL1.pad[1].y,z),
XTAL1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,J1.pad[6],point(J1.pad[6].x,J1.pad[6].y-.08,z),point(XTAL1.x-.12,XTAL1.pad[2].y,z),XTAL1.pad[2])
J1.pad[6],
point(J1.pad[6].x,J1.pad[6].y-.08,z),
point(XTAL1.x-.12,XTAL1.pad[2].y,z),
XTAL1.pad[2])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[3],XTAL1.pad[3])
IC1.pad[3],
XTAL1.pad[3])
R1 = R_1206(&#39;R1\n10k&#39;); R1 = R_1206(&#39;R1\n10k&#39;);
pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1,z) pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1,z)
pcb = wire(pcb,w, pcb = wire(pcb,w,R1.pad[1],IC1.pad[1])
R1.pad[1],
IC1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,J2.pad[3],point(J2.pad[3].x+.08,R1.y+.06,z),R1.pad[1])
J2.pad[3],
point(J2.pad[3].x+.08,R1.y+.06,z),
R1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,R1.pad[2],J1.pad[5])
R1.pad[2],
J1.pad[5])
C1 = C_1206(&#39;C1\n1uF&#39;); C1 = C_1206(&#39;C1\n1uF&#39;);
pcb = C1.add(pcb,IC1.pad[14].x,R1.y,z) pcb = C1.add(pcb,IC1.pad[14].x,R1.y,z)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[14],C1.pad[2])
IC1.pad[14],
C1.pad[2])
pcb = wire(pcb,w, pcb = wire(pcb,w,C1.pad[1],point(C1.pad[1].x,C1.y+.06,z))
C1.pad[1],
point(C1.pad[1].x,C1.y+.06,z))
pcb = wire(pcb,w, pcb = wire(pcb,w,J2.pad[1],C1.pad[2])
J2.pad[1],
C1.pad[2])
BU1 = button_6mm(&#39;BU1&#39;); BU1 = button_6mm(&#39;BU1&#39;);
pcb = BU1.add(pcb,XTAL1.x+0.02,J1.y+0.1,z,90); pcb = BU1.add(pcb,XTAL1.x+0.02,J1.y+0.1,z,90);
...@@ -273,8 +239,9 @@ R2 = R_1206(&#39;R2&#39;); ...@@ -273,8 +239,9 @@ R2 = R_1206(&#39;R2&#39;);
pcb = R2.add(pcb, LED1.x+0.06,LED1.y-0.2,z,90) pcb = R2.add(pcb, LED1.x+0.06,LED1.y-0.2,z,90)
pcb = wire(pcb,w,IC1.pad[10],LED1.pad[2]) pcb = wire(pcb,w,IC1.pad[10],LED1.pad[2])
pcb = wire(pcb,w,LED1.pad[1],R2.pad[2]) pcb = wire(pcb,w,LED1.pad[1],R2.pad[2])
pcb = wire(pcb,w,J1.pad[2],R2.pad[1])</code></pre> pcb = wire(pcb,w,J1.pad[2],R2.pad[1])
<p>The following picture the resulted circuit board of the above code:</p> </code></pre>
<p>The following picture is the resulted circuit board of the above code:</p>
<div class="figure"> <div class="figure">
<img src="images/resized/micro.resized.png" /> <img src="images/resized/micro.resized.png" />
...@@ -291,5 +258,20 @@ pcb = wire(pcb,w,J1.pad[2],R2.pad[1])</code></pre> ...@@ -291,5 +258,20 @@ pcb = wire(pcb,w,J1.pad[2],R2.pad[1])</code></pre>
<li><strong>LED</strong> is the a LED that I have used as an output. _ Because the diode is polarized component it's clear to see that the pads of the LED are named by <strong>A</strong> &amp; <strong>C</strong> which standing for anode and cathode respectively. So, we have to be care for the polarization of the LED during the soldering process._</li> <li><strong>LED</strong> is the a LED that I have used as an output. _ Because the diode is polarized component it's clear to see that the pads of the LED are named by <strong>A</strong> &amp; <strong>C</strong> which standing for anode and cathode respectively. So, we have to be care for the polarization of the LED during the soldering process._</li>
</ul> </ul>
<p>On PCBs, It's clear to see that <strong>R</strong> refers to resistors, <strong>D</strong> refers to diodes, <strong>C</strong> refers to capacitors and <strong>J</strong> refers to connectors. For more info about PCB markings we could access this <a href="https://electronics.stackexchange.com/questions/25308/what-do-the-pcb-markings-mean">link</a>.</p> <p>On PCBs, It's clear to see that <strong>R</strong> refers to resistors, <strong>D</strong> refers to diodes, <strong>C</strong> refers to capacitors and <strong>J</strong> refers to connectors. For more info about PCB markings we could access this <a href="https://electronics.stackexchange.com/questions/25308/what-do-the-pcb-markings-mean">link</a>.</p>
<p>This is the board after finishing the soldering process.</p>
<div class="figure">
<img src="images/resized/microcont-board.resized.rotated.jpg" />
</div>
<p>After I had finished soldering the board, I made a cable which will connect the programmer board with the microcontroller board in order to upload programs from the computer to the microcontroller circuit.</p>
<div class="figure">
<img src="images/resized/cable.resized.png" />
</div>
<p>And finally, here is the microcontroller and the programmer boards.</p>
<div class="figure">
<img src="images/resized/pcbs.resized.jpg" />
</div>
</body> </body>
</html> </html>
...@@ -28,7 +28,7 @@ Mr. Fransisco has told us that we will use the **1/64 milling bit for traces** a ...@@ -28,7 +28,7 @@ Mr. Fransisco has told us that we will use the **1/64 milling bit for traces** a
![](images/resized/mills.resized.jpg) ![](images/resized/mills.resized.jpg)
## Print Circuit boards ## Printed Circuit boards
After the settings of the machine has been done, Mr. Fransisco started guiding us to use the machine for printing circuit boards. The steps we followed in order to git a functional circuit boards can be summarized as follow: After the settings of the machine has been done, Mr. Fransisco started guiding us to use the machine for printing circuit boards. The steps we followed in order to git a functional circuit boards can be summarized as follow:
...@@ -61,8 +61,15 @@ Because this the first time for us to print circuit boards and to test the machi ...@@ -61,8 +61,15 @@ Because this the first time for us to print circuit boards and to test the machi
![](images/resized/pcb.resized.png) ![](images/resized/pcb.resized.png)
Then I turned on the machine **SRM-20** in order to print the board and we connected it with the computer through USB cable and we controlled it through the software. Then I turned on the machine **SRM-20** in order to print the board and we connected it with the computer through USB cable and we controlled it through the software.
First of all I have to move the milling bit through the (x+,x-),(y+,y-) and (z+,z-) buttons and put it at the point that I am going to start milling from. Mr. Fransisco has told us that once we are going o move the milling bit in the z- we have to activate the steps x100 or x10 or x1 mm and deactivate the continue choice to avoid breaking the milling bit by hitting it on the base. and once the milling bit is 1mm far away from the FR1 paper we have then to untight the screw and down the milling bit by hand until it touch the FR1 paper then re-tightening the milling bit . First of all I have to insert the 1/64 milling bit because we make the traces at beginning. But before that I have to put a peace of cartoon on the base in order to protect the milling bit from breaking in case it fallen down. And I have to insert around 80% of the milling bit on the head of the machine.
after doing this I have to write down on the notebooks the machine coordinate system points, to use them in case I need them. for example if the electricity outage is happened. and then going back to the user coordinate system and reset the x,y and z points. Then I started milling by press the cut button and uploading the **.rml** file.
![](images/resized/mbit.resized.jpg)
Then I have to move the milling bit through the (x+,x-),(y+,y-) and (z+,z-) buttons and put it at the point that I am going to start milling from. Mr. Fransisco has told us that once we are going o move the milling bit in the z- we have to activate the steps x100 or x10 or x1 mm and deactivate the continue choice to avoid breaking the milling bit by hitting it on the base. and once the milling bit is 1mm far away from the FR1 paper we have then to untight the screw and down the milling bit by hand until it touch the FR1 paper then re-tightening the milling bit.
![](images/resized/starting.resized.jpg)
After doing this I have to write down on the notebooks the machine coordinate system points, to use them in case I need them. for example if the electricity outage is happened. and then going back to the user coordinate system and reset the x,y and z points. Then I started milling by press the cut button and uploading the **.rml** file.
After the machine had milled the traces and cut the board, I removed it out of the FR1 paper. After the machine had milled the traces and cut the board, I removed it out of the FR1 paper.
...@@ -107,12 +114,12 @@ Actually, I have an experience in soldering for both through hole and surface mo ...@@ -107,12 +114,12 @@ Actually, I have an experience in soldering for both through hole and surface mo
- Solder contains lead, which is a poisonous metal. So, we have to wash our hands after using solder. - Solder contains lead, which is a poisonous metal. So, we have to wash our hands after using solder.
## Programming the ATtiny 45 board ## ATtiny 45 Programming
After I finished soldering the components on the programmer circuit board I started programming it to use it later as an interface between the computer and the micro controller circuits. After I finished soldering the components on the programmer circuit board I started programming it to use it later as an interface between the computer and the micro controller circuits.
To program the board I followed the procedures on this [link](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html). To program the board I followed the procedures on this [link](http://fab.cba.mit.edu/classes/863.16/doc/projects/ftsmin/index.html).
# ATtiny 44 Micro-controller Circuit Board ## ATtiny 44 Micro-controller
Mr. Fransisco asked us to think about a circuit using the ATtiny 44 micro-controller with one input and one output. After discussing we agreed to use push button as an input and LED as an output. And we started designing the circuit board by kokopelli software, which is an open-source tool for computer-aided design and manufacturing (CAD/CAM). Mr. Fransisco asked us to think about a circuit using the ATtiny 44 micro-controller with one input and one output. After discussing we agreed to use push button as an input and LED as an output. And we started designing the circuit board by kokopelli software, which is an open-source tool for computer-aided design and manufacturing (CAD/CAM).
...@@ -130,6 +137,7 @@ After running the software the following picture is appear. ...@@ -130,6 +137,7 @@ After running the software the following picture is appear.
The left side is where I wrote the code that will sketch the circuit board while the right side is where the circuit board is appear. The left side is where I wrote the code that will sketch the circuit board while the right side is where the circuit board is appear.
In order to design the circuit board I have copied the code text where all the components are defined from this [link](https://pub.pages.cba.mit.edu/libraries/kokompe/pcb.cad). Then I started writing my own code text for designing in **define board** section. The text for my circuit design was as follow: In order to design the circuit board I have copied the code text where all the components are defined from this [link](https://pub.pages.cba.mit.edu/libraries/kokompe/pcb.cad). Then I started writing my own code text for designing in **define board** section. The text for my circuit design was as follow:
``` ```
# define board # define board
...@@ -150,95 +158,51 @@ pcb = IC1.add(pcb,x+.47,y+.59,z) ...@@ -150,95 +158,51 @@ pcb = IC1.add(pcb,x+.47,y+.59,z)
J1 = header_ISP('J1\nISP') J1 = header_ISP('J1\nISP')
pcb = J1.add(pcb,IC1.x+.05,IC1.pad[7].y-.22,z,angle=90) pcb = J1.add(pcb,IC1.x+.05,IC1.pad[7].y-.22,z,angle=90)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[8],J1.pad[1])
IC1.pad[8],
J1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[9],J1.pad[3])
IC1.pad[9],
J1.pad[3])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[7],point(IC1.pad[7].x+.01,J1.y-.02,z),J1.pad[4])
IC1.pad[7],
point(IC1.pad[7].x+.01,J1.y-.02,z),
J1.pad[4])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[4],J1.pad[5])
IC1.pad[4],
J1.pad[5])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[14],point(J1.x-.05,J1.y+.02,z),point(J1.x+.05,J1.pad[2].y-.08,z),J1.pad[6])
IC1.pad[14],
point(J1.x-.05,J1.y+.02,z),
point(J1.x+.05,J1.pad[2].y-.08,z),
J1.pad[6])
J2 = header_FTDI('J2 FTDI') J2 = header_FTDI('J2 FTDI')
pcb = J2.add(pcb,x+width-.08,IC1.y-.0,z,angle=0) pcb = J2.add(pcb,x+width-.08,IC1.y-.0,z,angle=0)
pcb = wire(pcb,w, pcb = wire(pcb,w,J1.pad[2],point(J2.x+.08,J2.pad[3].y,z),J2.pad[3])
J1.pad[2],
point(J2.x+.08,J2.pad[3].y,z),
J2.pad[3])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[13],point(IC1.pad[13].x+.35,J2.pad[4].y,z),J2.pad[4])
IC1.pad[13],
point(IC1.pad[13].x+.35,J2.pad[4].y,z),
J2.pad[4])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[12],point(IC1.pad[12].x+.3,J2.pad[5].y,z),J2.pad[5])
IC1.pad[12],
point(IC1.pad[12].x+.3,J2.pad[5].y,z),
J2.pad[5])
XTAL1 = XTAL_EFOBM('XTAL1\n20 MHz') XTAL1 = XTAL_EFOBM('XTAL1\n20 MHz')
pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.008,z,angle=-90) pcb = XTAL1.add(pcb,IC1.pad[4].x-.2,IC1.pad[13].y+.008,z,angle=-90)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[2],point(XTAL1.x+.12,XTAL1.pad[1].y,z),XTAL1.pad[1])
IC1.pad[2],
point(XTAL1.x+.12,XTAL1.pad[1].y,z),
XTAL1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,J1.pad[6],point(J1.pad[6].x,J1.pad[6].y-.08,z),point(XTAL1.x-.12,XTAL1.pad[2].y,z),XTAL1.pad[2])
J1.pad[6],
point(J1.pad[6].x,J1.pad[6].y-.08,z),
point(XTAL1.x-.12,XTAL1.pad[2].y,z),
XTAL1.pad[2])
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[3],XTAL1.pad[3])
IC1.pad[3],
XTAL1.pad[3])
R1 = R_1206('R1\n10k'); R1 = R_1206('R1\n10k');
pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1,z) pcb = R1.add(pcb,IC1.pad[1].x,IC1.pad[1].y+.1,z)
pcb = wire(pcb,w, pcb = wire(pcb,w,R1.pad[1],IC1.pad[1])
R1.pad[1],
IC1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,J2.pad[3],point(J2.pad[3].x+.08,R1.y+.06,z),R1.pad[1])
J2.pad[3],
point(J2.pad[3].x+.08,R1.y+.06,z),
R1.pad[1])
pcb = wire(pcb,w, pcb = wire(pcb,w,R1.pad[2],J1.pad[5])
R1.pad[2],
J1.pad[5])
C1 = C_1206('C1\n1uF'); C1 = C_1206('C1\n1uF');
pcb = C1.add(pcb,IC1.pad[14].x,R1.y,z) pcb = C1.add(pcb,IC1.pad[14].x,R1.y,z)
pcb = wire(pcb,w, pcb = wire(pcb,w,IC1.pad[14],C1.pad[2])
IC1.pad[14],
C1.pad[2])
pcb = wire(pcb,w, pcb = wire(pcb,w,C1.pad[1],point(C1.pad[1].x,C1.y+.06,z))
C1.pad[1],
point(C1.pad[1].x,C1.y+.06,z))
pcb = wire(pcb,w, pcb = wire(pcb,w,J2.pad[1],C1.pad[2])
J2.pad[1],
C1.pad[2])
BU1 = button_6mm('BU1'); BU1 = button_6mm('BU1');
pcb = BU1.add(pcb,XTAL1.x+0.02,J1.y+0.1,z,90); pcb = BU1.add(pcb,XTAL1.x+0.02,J1.y+0.1,z,90);
...@@ -253,8 +217,10 @@ pcb = R2.add(pcb, LED1.x+0.06,LED1.y-0.2,z,90) ...@@ -253,8 +217,10 @@ pcb = R2.add(pcb, LED1.x+0.06,LED1.y-0.2,z,90)
pcb = wire(pcb,w,IC1.pad[10],LED1.pad[2]) pcb = wire(pcb,w,IC1.pad[10],LED1.pad[2])
pcb = wire(pcb,w,LED1.pad[1],R2.pad[2]) pcb = wire(pcb,w,LED1.pad[1],R2.pad[2])
pcb = wire(pcb,w,J1.pad[2],R2.pad[1]) pcb = wire(pcb,w,J1.pad[2],R2.pad[1])
``` ```
The following picture the resulted circuit board of the above code:
The following picture is the resulted circuit board of the above code:
![](images/resized/micro.resized.png) ![](images/resized/micro.resized.png)
...@@ -268,3 +234,15 @@ The following picture the resulted circuit board of the above code: ...@@ -268,3 +234,15 @@ The following picture the resulted circuit board of the above code:
* **LED** is the a LED that I have used as an output. _ Because the diode is polarized component it's clear to see that the pads of the LED are named by **A** & **C** which standing for anode and cathode respectively. So, we have to be care for the polarization of the LED during the soldering process._ * **LED** is the a LED that I have used as an output. _ Because the diode is polarized component it's clear to see that the pads of the LED are named by **A** & **C** which standing for anode and cathode respectively. So, we have to be care for the polarization of the LED during the soldering process._
On PCBs, It's clear to see that **R** refers to resistors, **D** refers to diodes, **C** refers to capacitors and **J** refers to connectors. For more info about PCB markings we could access this [link](https://electronics.stackexchange.com/questions/25308/what-do-the-pcb-markings-mean). On PCBs, It's clear to see that **R** refers to resistors, **D** refers to diodes, **C** refers to capacitors and **J** refers to connectors. For more info about PCB markings we could access this [link](https://electronics.stackexchange.com/questions/25308/what-do-the-pcb-markings-mean).
This is the board after finishing the soldering process.
![](images/resized/microcont-board.resized.rotated.jpg)
After I had finished soldering the board, I made a cable which will connect the programmer board with the microcontroller board in order to upload programs from the computer to the microcontroller circuit.
![](images/resized/cable.resized.png)
And finally, here is the microcontroller and the programmer boards.
![](images/resized/pcbs.resized.jpg)
participants/ahmad.omar/images/resized/cable.resized.png

1.04 MiB

participants/ahmad.omar/images/resized/mbit.resized.jpg

169 KiB

participants/ahmad.omar/images/resized/microcont-board.resized.rotated.jpg

46.5 KiB

participants/ahmad.omar/images/resized/pcbs.resized.jpg

112 KiB

participants/ahmad.omar/images/resized/starting.resized.jpg

62.1 KiB

...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
<li><a href="laser.html">Laser Cutter.</a></li> <li><a href="laser.html">Laser Cutter.</a></li>
</ul> </ul>
<h1 id="final-project">Final Project</h1> <h1 id="final-project">Final Project</h1>
<p><a href="final-project.html">Final Project.</a></p> <ul>
<li><a href="final-project.html">First Iteration.</a></li>
</ul>
</body> </body>
</html> </html>
...@@ -18,4 +18,4 @@ Passionate for working in a multidisciplinary field with a multidisciplinary tea ...@@ -18,4 +18,4 @@ Passionate for working in a multidisciplinary field with a multidisciplinary tea
# Final Project # Final Project
[Final Project.](final-project.html) * [First Iteration.](final-project.html)
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
</div> </div>
<p>A Fab Lab (fabrication laboratory) : is a small workshop offering personal digital fabrication. Thus, fab labs are equipped with an array of computer controlled machines that help you to get a prototypes of your ideas because you can make almost anything by using the fab lab facilities.</p> <p>A Fab Lab (fabrication laboratory) : is a small workshop offering personal digital fabrication. Thus, fab labs are equipped with an array of computer controlled machines that help you to get a prototypes of your ideas because you can make almost anything by using the fab lab facilities.</p>
<p>PreFab Academy is a 4 weeks training aims to help you to get a hands on experience in all the fab lab machines as well as it will introduce you to electronic circuit production and low level programming.</p> <p>PreFab Academy is a 4 weeks training aims to help you to get a hands on experience in all the fab lab machines as well as it will introduce you to electronic circuit production and low level programming.</p>
<p>We were starting off our prefab academy by Mr. Fransisco introducing himself to us and briefing about prefab academy and fab academy. Also, he talked about the importance of fab labs and how it helps people to make their own prototypes and tools in the lowest effort and cost. Then all the participants introduced themselves.</p> <p>We were started off our prefab academy by Mr. Fransisco introducing himself to us and briefing about prefab academy and fab academy. Also, he talked about the importance of fab labs and how it helps people to make their own prototypes and tools in the lowest effort and cost. Then all the participants introduced themselves.</p>
<p>I found Mr. Fransisco a very nice down to earth guy. He told us that he is not came to teach us everything about fab labs but to change our minds.</p> <p>I found Mr. Fransisco a very nice down to earth guy. He told us that he is not came to teach us everything about fab labs but to change our minds.</p>
<p>After that Mr. Fransisco started talking about the importance of open source softwares as well as the importance of the documentation process and he gave us a very useful instructions to follow during the documentation process, summarized as follow:</p> <p>After that Mr. Fransisco started talking about the importance of the open source softwares as well as the importance of the documentation process and he gave us a very useful instructions to follow during the documentation process, summarized as follow:</p>
<ul> <ul>
<li>Include date and time for each day.</li> <li>Include date and time for each day.</li>
<li>Include what are you doing.</li> <li>Include what are you doing.</li>
......
...@@ -6,11 +6,11 @@ A Fab Lab (fabrication laboratory) : is a small workshop offering personal digit ...@@ -6,11 +6,11 @@ A Fab Lab (fabrication laboratory) : is a small workshop offering personal digit
PreFab Academy is a 4 weeks training aims to help you to get a hands on experience in all the fab lab machines as well as it will introduce you to electronic circuit production and low level programming. PreFab Academy is a 4 weeks training aims to help you to get a hands on experience in all the fab lab machines as well as it will introduce you to electronic circuit production and low level programming.
We were starting off our prefab academy by Mr. Fransisco introducing himself to us and briefing about prefab academy and fab academy. Also, he talked about the importance of fab labs and how it helps people to make their own prototypes and tools in the lowest effort and cost. Then all the participants introduced themselves. We were started off our prefab academy by Mr. Fransisco introducing himself to us and briefing about prefab academy and fab academy. Also, he talked about the importance of fab labs and how it helps people to make their own prototypes and tools in the lowest effort and cost. Then all the participants introduced themselves.
I found Mr. Fransisco a very nice down to earth guy. He told us that he is not came to teach us everything about fab labs but to change our minds. I found Mr. Fransisco a very nice down to earth guy. He told us that he is not came to teach us everything about fab labs but to change our minds.
After that Mr. Fransisco started talking about the importance of open source softwares as well as the importance of the documentation process and he gave us a very useful instructions to follow during the documentation process, summarized as follow: After that Mr. Fransisco started talking about the importance of the open source softwares as well as the importance of the documentation process and he gave us a very useful instructions to follow during the documentation process, summarized as follow:
* Include date and time for each day. * Include date and time for each day.
* Include what are you doing. * Include what are you doing.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment