Commit ac77fa02 by alok sethi

machine week initial

parent 8ece9e99
Pipeline #95928 passed with stages
in 33 seconds
......@@ -22,9 +22,11 @@ The idea is a straight ripoff from available commercial products. However, they
- [Slow Glass](http://fab.academany.org/2018/labs/fablabseoul/students/eunice-lee/final.html)
- [Lamp Bot](http://archive.fabacademy.org/2018/labs/fablabopendot/students/massimiliano-dangelo/project04.html)
Till now I haven't designed anything as part of weekly assignments for my final project.
<b>What will you design?</b>
A table lamp, roughly having a dimensions of 15cm X 15 cm X 20 cm and fulfilling the above mentioned specifications.
A table lamp, roughly having a dimensions of 15cm X 15 cm X 20 cm and fulfilling the above mentioned specifications. The outer casing will be cut using laser cutter. There will be atleast two circuit boards, one main controller and another power board.
<b>What materials and components will be used?</b>
......
# 17. Machine design
## Tasks
###Group assignment
- Design a machine that includes mechanism+actuation+automation.
- Build the mechanical parts and operate it manually.
- Document the group project.
Details of the group assignment are in the [group page](http://fabacademy.org/2019/labs/oulu/machine_projects/Team1/).
## Programming Environment
<table border="1" width="100%">
<tr>
<td>
<img src="../../images/week17/pygestalt_install.JPG" width="100%">
<figcaption>Installation of the pygestalt module in the virtual environment.</figcaption>
</td>
</tr>
<tr>
<td>
<img src="../../images/week17/pyserial_install.JPG" width="100%">
<figcaption>Installation of the pyserial module in the virtual environment.</figcaption>
</td>
</tr>
</table>
### Testing
I connected the single node with 12V power supply and used the `single_node.py` example. I just had to change the `portName` at the `def initInterfaces(self)` of the `virtualmachine` with my COM port number which was `COM4`.
```
def initInterfaces(self):
if self.providedInterface: self.fabnet = self.providedInterface #providedInterface is defined in the virtualMachine class.
else: self.fabnet = interfaces.gestaltInterface('FABNET', interfaces.serialInterface(baudRate = 115200, interfaceType = 'ftdi', portName = 'COM4'))
```
<table border="1" width="100%">
<tr>
<td>
<img src="../../images/week17/single_node.JPG" width="100%">
<figcaption>Testing the installation by moving a single node.</figcaption>
</td>
</tr>
</table>
## References
<style type="text/css">
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:black;}
.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top}
.tg .tg-7btt{font-weight:bold;border-color:inherit;text-align:center;vertical-align:top}
</style>
<table class="tg">
<caption>USB-RS485-WE Cable Signal Descriptions (taken from the datasheet)</caption>
<tr>
<th class="tg-7btt">Color</th>
<th class="tg-7btt">Name</th>
<th class="tg-7btt">Type</th>
<th class="tg-7btt">Description</th>
</tr>
<tr>
<td class="tg-c3ow">Black</td>
<td class="tg-c3ow">GND</td>
<td class="tg-c3ow">GND</td>
<td class="tg-c3ow">Device ground supply pin.</td>
</tr>
<tr>
<td class="tg-c3ow">Brown</td>
<td class="tg-c3ow">Terminator 1</td>
<td class="tg-c3ow">Input</td>
<td class="tg-c3ow">Pin 1 of 120R Terminating Resistor. Only Required if the USB-RS485-WE cable is the first or last device in a multi-drop RS485 System, to meet RS485 Termination Requirements.</td>
</tr>
<tr>
<td class="tg-c3ow">Red</td>
<td class="tg-c3ow">POWER</td>
<td class="tg-c3ow">Output</td>
<td class="tg-c3ow">Default output is +5V when active, 0V during suspend. Power output can be customized to 0V, if required, contact FTDI Sales Team (sales1@ftdichip.com). Switchable power to external device, 250mA max. OFF during suspend</td>
</tr>
<tr>
<td class="tg-c3ow">Orange</td>
<td class="tg-c3ow">Data+(A)</td>
<td class="tg-c3ow">Bi-Direction</td>
<td class="tg-c3ow">Data + (A) Signal</td>
</tr>
<tr>
<td class="tg-c3ow">Yellow</td>
<td class="tg-c3ow">Data-(B)</td>
<td class="tg-c3ow">Bi-Direction</td>
<td class="tg-c3ow">Data - (B) Signal</td>
</tr>
<tr>
<td class="tg-c3ow">Green</td>
<td class="tg-c3ow">Terminator 2</td>
<td class="tg-c3ow">Input</td>
<td class="tg-c3ow">Pin 2 of 120R Terminating Resistor. Only Required if the USB-RS485-WE cable is the first or last device in a multi-drop RS485 System, to meet RS485 Termination Requirements.</td>
</tr>
</table>
[Ilan's Master Thesis](http://pygestalt.org/VMC_IEM.pdf)
[Gestalt Tutorial](http://fabacademy.org/2019/docs/FabAcademy-Tutorials/week09_machine_building/gestalt_start.html)
Physical layer is called [Fabnet](http://mtm.cba.mit.edu/fabinabox/dev/fabnet/overview.html), which is a multi-drop network, i.e., multiple nodes share a single set of communication wires. Signaling is differential and is based on the RS-485 specification. A bridge between the [FTDI cable](https://www.ftdichip.com/Products/Cables/USBRS485.htm) and the gestalt node is required.
## Problems
- installing gestalt module from [imoyer](https://github.com/imoyer/gestalt) didn't work properly. I was not able to import the module, so I used [nadya's](https://github.com/nadya/pygestalt) version.
- It can run only on python 2.7 versions
- After finishing the desired movement, the motor is not getting turned OFF i.e., it is still taking current and stuck which causes the getstalt board to heat up a lot.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment