Difference between revisions of "Team:Sherbrooke/Design"
Nicolas.noel (Talk | contribs) m |
Nicolas.noel (Talk | contribs) m |
||
Line 45: | Line 45: | ||
</p> | </p> | ||
<br/> | <br/> | ||
+ | |||
<h3>Specifications</h3> | <h3>Specifications</h3> | ||
<p> | <p> | ||
− | < | + | <h4>Mechanical</h4> |
− | < | + | <p> |
− | <th>Specification</th> | + | <table> |
− | + | <tr> | |
− | + | <th>Specification</th> | |
− | + | <th>Value</th> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Frame material</td> | |
− | + | <td>Aluminium extrusions</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Dimensions</td> | |
− | + | <td>160 cm x 120 cm x 130 cm</td> | |
− | <td>X axis movement precision</td> | + | </tr> |
− | + | <tr> | |
− | + | <td>Motion mean</td> | |
− | + | <td>Stepper motors coupled with endless screws</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>X axis movement precision</td> | |
− | + | <td style="color:red">0.25 mm</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>X axis movement speed</td> | |
− | + | <td style="color:red">50 mm/s</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | </tr> | + | <td>Y axis movement precision</td> |
− | </table> | + | <td style="color:red">0.25 mm</td> |
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Y axis movement speed</td> | ||
+ | <td style="color:red">50 mm/s</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Electrical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Motors' input voltage</td> | ||
+ | <td style="color:red">24V</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Language</td> | ||
+ | <td style="color:red">C++</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
</p> | </p> | ||
<br/> | <br/> | ||
Line 100: | Line 136: | ||
</p> | </p> | ||
<br/> | <br/> | ||
+ | |||
<h3>Specifications</h3> | <h3>Specifications</h3> | ||
<p> | <p> | ||
− | < | + | <h4>Mechanical</h4> |
− | < | + | <p> |
− | <th>Specification</th> | + | <table> |
− | + | <tr> | |
− | + | <th>Specification</th> | |
− | + | <th>Value</th> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Frame material</td> | |
− | + | <td>Aluminium extrusions</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Dimensions</td> | |
− | + | <td style="color:red">X cm x X cm x X cm</td> | |
− | <td>Z axis movement precision</td> | + | </tr> |
− | + | <tr> | |
− | + | <td>Motion mean</td> | |
− | + | <td>Stepper motors coupled with endless screws</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | </tr> | + | <td>Z axis movement precision</td> |
− | </table> | + | <td style="color:red">0.25mm</td> |
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Z axis movement speed</td> | ||
+ | <td style="color:red">50mm/s</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Electrical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Motors' input voltage</td> | ||
+ | <td style="color:red">24V</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Language</td> | ||
+ | <td style="color:red">C++</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
</p> | </p> | ||
<br/> | <br/> | ||
+ | |||
<h3>Parts list</h3> | <h3>Parts list</h3> | ||
<p> | <p> | ||
Line 162: | Line 235: | ||
<h3>Specifications</h3> | <h3>Specifications</h3> | ||
<p> | <p> | ||
− | < | + | <h4>Mechanical</h4> |
− | < | + | <p> |
− | <th>Specification</th> | + | <table> |
− | + | <tr> | |
− | + | <th>Specification</th> | |
− | + | <th>Value</th> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Dimensions</td> | |
− | + | <td style="color:red">258 mm x 75 mm x 97 cm</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Motors</td> | |
− | + | <td>Robotis' Dynamixel AX and MX servomotors</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Fingertip precision</td> | |
− | + | <td>0.7 mm</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Fingertip speed</td> | |
− | + | <td>from 0 to 680 mm/s</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Fingertip torque</td> | |
− | + | <td>from 0 to 1.5 N*m</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | + | <td>Rotation precision</td> | |
− | + | <td>0.088°</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | </tr> | + | <td>Rotation speed</td> |
− | </table> | + | <td>from 0 to 470 rpm</td> |
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Electrical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Servos' input voltage</td> | ||
+ | <td>12V</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Language</td> | ||
+ | <td style="color:red">C++</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
</p> | </p> | ||
<br/> | <br/> | ||
Line 230: | Line 334: | ||
</p> | </p> | ||
<br/> | <br/> | ||
+ | <h3>Specifications</h3> | ||
+ | <p> | ||
+ | <h4>Mechanical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Dimensions (Length x Width x Heigth)</td> | ||
+ | <td style="color:red">À valider Xmm x Ymm x Ymm</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Rotation Speed</td> | ||
+ | <td>X rpm</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>G Force applied</td> | ||
+ | <td>18000 G</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Tube capacity</td> | ||
+ | <td>8x 1.5mL tubes and 4x 5mL tubes</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Electrical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Servos' input voltage</td> | ||
+ | <td>12V</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Language</td> | ||
+ | <td style="color:red">C++</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | </p> | ||
+ | <br/> | ||
+ | |||
+ | |||
<h3>Specifications</h3> | <h3>Specifications</h3> | ||
<p> | <p> | ||
Line 329: | Line 492: | ||
</p> | </p> | ||
− | <h4> | + | <h4>Mechanical</h4> |
<p> | <p> | ||
<table> | <table> | ||
Line 448: | Line 611: | ||
</p> | </p> | ||
− | <h4> | + | <h4>Mechanical</h4> |
<p> | <p> | ||
<table> | <table> | ||
Line 607: | Line 770: | ||
</p> | </p> | ||
− | <h4> | + | <h4>Mechanical</h4> |
<p> | <p> | ||
<table> | <table> | ||
Line 684: | Line 847: | ||
<hr/> | <hr/> | ||
<h3>Description</h3> | <h3>Description</h3> | ||
− | <p> | + | <p> |
− | ... | + | With so many different independent modules, it would have been a real struggle to design a Printed Circuit Board (PCB) for each of them. Yet, when you compare modules to each other, you can notice that there is similarities between them. We therefore decided to design a single PCB (that we named BananaBoard)that has all the electrical and software capabilities to supply every modules individually. Yet, the PCB is still functional even if some component are not soldored on it. For example, the BananaBoard has a 24V output connectors. The gripper doesn't need this electrical supply but the MC1.5 and the TAC need it. So the component for this output will not be soldered on the PCB for the gripper, but they will be for the MC1.5 and the TAC's PCB. This allowed us to save design time and reduce complexity during the PCB assembly and debugging. |
− | </p> | + | </p> |
<br/> | <br/> | ||
<h3>Specifications</h3> | <h3>Specifications</h3> | ||
<p> | <p> | ||
− | ... | + | <h4>Mechanical</h4> |
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Dimensions (with all component soldered)</td> | ||
+ | <td>107.9 mm x 80.4 mm x 35.8 mm</td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Electrical</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Input voltage</td> | ||
+ | <td style="color:red">24V</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Output voltages</td> | ||
+ | <td><strong>12-24V / 60A:</strong> Half H-Bridges and Stepper Motors<br/> | ||
+ | <strong>5V / 1A:</strong> Logic Circuit, LED, Sensors<br/> | ||
+ | <strong>3.3V / 100mA:</strong> Accelerometer</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Microcontrôleur</td> | ||
+ | <td>Cypress' PSoC5 CYC5868AXI-LP034</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Other components</td> | ||
+ | <td><ul> | ||
+ | <li>8x Half H-Bridges</li> | ||
+ | <li>CAN, SPI and UART communications capabilities</li> | ||
+ | <li>2x Stepper motors control modules</li> | ||
+ | <li>Many various digital and analogue inputs and outputs</li> | ||
+ | </ul></td> | ||
+ | </tr> | ||
+ | <table> | ||
+ | </p> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | <p> | ||
+ | <table> | ||
+ | <tr> | ||
+ | <th>Specification</th> | ||
+ | <th>Value</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>Language</td> | ||
+ | <td>C++</td> | ||
+ | </tr> | ||
+ | <table> | ||
</p> | </p> | ||
<br/> | <br/> |
Revision as of 20:01, 6 September 2015
Design
Our robotic platform is composed of many modules, each with their own specifications, concept and functionalities. Each module is designed to be independent so they can operated alone or jointly with other modules. The teamwork between every module is managed by the Main Administrator that communicates with all of them, and controls them via a bus CAN and custom controller boards, named BananaBoard. In its entirety, the project has seven distinct modules: The platform, the tool holder, the gripper, the centrifuge, the magneto caloric module for 96-well plate, the magneto caloric module for 1.5mL tube and the turbido agitator caloric module for glass tube. Additionaly, most of these module are controlled by our custom controller board. The global architecture of the robotic platform is as follows:
Biobot Project Global Architecture
In this page you will learn all there is to know about each module, whether it is for the electrical, mechanical or software design. Scroll down or choose one module to learn about it.
Modules
- Platform
- Tool Holder
- Gripper
- Centrifuge
- Magneto Caloric 96 (MC96)
- Magneto Caloric 1.5 (MC1.5)
- Turbido Agitator Caloric (TAC)
- BananaBoard
- Controller
Platform
Description
The physical platform consists of everything related to the structure on which the movements take place. It is equipped with a motor and traction mechanism for the XY plane of movement, as well as indicators to locate the home position of each axis. Atop the structure is the travelling bridge and trolley, with the tool holder. The movements and limit detection of the platform are supervised by a bought controller board: the SmoothieBoard. The robot does smooth and precise movements and gives feedback on its position on demand. Our first version of the platform was the robot bought from OpenTrons. Since the beginning of the project, we build a completely new platform, which is bigger and stronger. The redesigned platform was quadrupled in size, the motors was changed for a stronger and faster model, and the original work area with rails was changed for a pegboard for easier placement of the modules.
Biobot Project Physical Platform (La changer pour une récente avec les modifications)
The frame is made up of aluminium extrusions. Aluminium extrusions were selected due to their lightness, rather low cost and simplicity to sterilize, which is a great advantage for a platform used in a biology lab. When designing the platform, we sometimes created a first version using a 3D printer to validate our concept. After validation, most of those parts were replaced by a machined metal version.
Movements of the different axes are ensured by stepper motors to perform translations of the travelling bridge and of the trolley. For movements relative to the XY plane, two NEMA 23 stepper motors, model 17HS3001-20B, were used. They offer fast speeds, while still being precise as to 200 microns, which is useful to move the tools to a precise position without slowing down the whole process. These motors are attached to an endless screw which makes the assembly moves as it spins. The are also used because they are durable and reliable. Those two assets are significant since repetitive movements occur in the XY plane, which consequently deals more wear and tear.
Specifications
Mechanical
Specification | Value |
---|---|
Frame material | Aluminium extrusions |
Dimensions | 160 cm x 120 cm x 130 cm |
Motion mean | Stepper motors coupled with endless screws |
X axis movement precision | 0.25 mm |
X axis movement speed | 50 mm/s |
Y axis movement precision | 0.25 mm |
Y axis movement speed | 50 mm/s |
Specification | Value |
---|---|
Motors' input voltage | 24V |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Frame material | Aluminium extrusions |
Dimensions | X cm x X cm x X cm |
Motion mean | Stepper motors coupled with endless screws |
Z axis movement precision | 0.25mm |
Z axis movement speed | 50mm/s |
Specification | Value |
---|---|
Motors' input voltage | 24V |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Dimensions | 258 mm x 75 mm x 97 cm |
Motors | Robotis' Dynamixel AX and MX servomotors |
Fingertip precision | 0.7 mm |
Fingertip speed | from 0 to 680 mm/s |
Fingertip torque | from 0 to 1.5 N*m |
Rotation precision | 0.088° |
Rotation speed | from 0 to 470 rpm |
Specification | Value |
---|---|
Servos' input voltage | 12V |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Dimensions (Length x Width x Heigth) | À valider Xmm x Ymm x Ymm |
Rotation Speed | X rpm |
G Force applied | 18000 G |
Tube capacity | 8x 1.5mL tubes and 4x 5mL tubes |
Specification | Value |
---|---|
Servos' input voltage | 12V |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Weight | À valider g |
Dimensions (Length x Width x Heigth) | À valder Xmm x Ymm x Ymm |
Rotation Speed | X rpm |
G Force applied | 18000 G |
Tube capacity | 8x 1.5mL tubes and 4x 5mL tubes |
Parts list
...
Assembly
...
Back to top
Magneto Caloric 96 (MC96)
Description
MC96 3D Plan
The first module is called Magneto Caloric 96 (MC96) because it has to manage magnetism and temperature cycling (caloric) of a 96-well plate. The main use of the MC96 is to apply a specific temperature on different liquids (e.g. cell cultures) in the context of biological research.
The module has the possibility to concentrate particles in these solutions by applying an electromagnetic field that will bring particles on the wall of the well. This is explained by the magnetic attraction of microscopic magnetic beads to which particles are agglomerated. The beads are to be introduced into the well during the procedure and this can also be automated.
To apply the electromagnetic field, neodymium magnets are moved to the side of the wells. To do so, the magnets are assembled in a frame that is moved by a linear actuator. So, when the actuator raises the frame, the magnets are moved near the wells and the beads are brought on the well’s wall.
To implement thermal cycling, a Peltier element is used because it can heat or cool the 96-well plate depending on the current’s direction. A heat sink is stick to the other side of the Peltier element to eliminate the heat produced by the Peltier element. The fan is used to create a forced convection thus, increasing the efficiency of the heat sink.Specifications
These characteristics are the specifications required by the client or part’s characteristics because no prototype has been built yet.
Thermal
Specification | Value |
---|---|
Range | 0 to 80°C |
Precision | ±1.5°C |
Heating speed | 0.5-1°C/s |
Cooling speed | 0.5-1°C/s |
Specification | Value |
---|---|
Material | 96-well mold : Aluminium Frames and Module base : Plastic |
Dimensions | Width x Length x Heigth cm |
Linear actuator speed | 12mm/s |
Linear actuator stroke | 2cm |
Specification | Value |
---|---|
Input voltage | 24V |
Maximal power consumption | ≈800 Watts |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Range | 0 to 80°C |
Precision | ±1.5°C |
Heating speed | 0.5-1°C/s |
Cooling speed | 0.5-1°C/s |
Specification | Value |
---|---|
Material | 1.5ml test tube mold : Aluminium Frames and Module base : Plastic |
Demensions | Width x Length x Heigth cm |
Linear actuator speed | 12mm/s |
Linear actuator stroke | 2cm |
Specification | Value |
---|---|
Input voltage | 24V |
Maximal power consumption | ≈800 Watts |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Range | 0 to 37°C |
Precision | ±1.5°C |
Heating speed | Achieved 1.2°C/s |
Cooling speed | Achieved 0.3°C/s if tube temperature above room temperature Achieved 0.21°C/s if tube temperature below room temperature |
Specification | Value |
---|---|
Material | 25mm test tube mold : Aluminium Frames and Module base : Plastic |
Demensions | Width x Length x Heigth cm |
DC motor speed | 60 to 600 rpm |
Specification | Value |
---|---|
Input voltage | 24V |
Maximal power consumption | ≈400 Watts |
Turbidity measurement precision | ±5% from a reference turbidimeter |
Specification | Value |
---|---|
Language | C++ |
Specification | Value |
---|---|
Dimensions (with all component soldered) | 107.9 mm x 80.4 mm x 35.8 mm |
Specification | Value |
---|---|
Input voltage | 24V |
Output voltages | 12-24V / 60A: Half H-Bridges and Stepper Motors 5V / 1A: Logic Circuit, LED, Sensors 3.3V / 100mA: Accelerometer |
Microcontrôleur | Cypress' PSoC5 CYC5868AXI-LP034 |
Other components |
|
Specification | Value |
---|---|
Language | C++ |