EPS@ISEP | The European Project Semester (EPS) at ISEP


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
report [2015/06/22 13:26] – [7.3 Components] team4report [2015/06/23 12:06] (current) – [7.2 Architecture] team4
Line 14: Line 14:
 ^ Abbreviation ^ Description ^ ^ Abbreviation ^ Description ^
 |$a$|Constant for use for natural convection| |$a$|Constant for use for natural convection|
-|A|Ampere| 
 |$A$<sub>i</sub>|Inside area| |$A$<sub>i</sub>|Inside area|
 |$A$<sub>o</sub>|Outside area| |$A$<sub>o</sub>|Outside area|
Line 24: Line 23:
 |C++|General-purpose programming language| |C++|General-purpose programming language|
 |$c$<sub>p</sub>|Heat capacity| |$c$<sub>p</sub>|Heat capacity|
-|cm|Centimetre| 
 |CPU|Central Processing Unit|  |CPU|Central Processing Unit| 
 |CRM|Customer Relationship Management| |CRM|Customer Relationship Management|
Line 34: Line 32:
 |FMEA|Failure Modes and Effects Analysis| |FMEA|Failure Modes and Effects Analysis|
 |$g$|Gravitational acceleration| |$g$|Gravitational acceleration|
-|GB|Gigabyte| 
 |GHG|Greenhouse Gas| |GHG|Greenhouse Gas|
 |GPIO|General Purpose Input/Output| |GPIO|General Purpose Input/Output|
Line 42: Line 39:
 |$h$<sub>i</sub>|Film coefficient of heat transfer inside| |$h$<sub>i</sub>|Film coefficient of heat transfer inside|
 |$h$<sub>o</sub>|Film coefficient of heat transfer outside| |$h$<sub>o</sub>|Film coefficient of heat transfer outside|
-|h|Hour| 
 |HR|Human Resource| |HR|Human Resource|
 |HRM|Human Resource Management| |HRM|Human Resource Management|
Line 54: Line 50:
 |I/O|Input/Output| |I/O|Input/Output|
 |IEEE|Institute of Electrical and Electronics Engineers| |IEEE|Institute of Electrical and Electronics Engineers|
-|J|Joule| 
-|K|Kelvin| 
 |$k$<sub>PEHD</sub>|Thermal conductivity polyethylene high-density| |$k$<sub>PEHD</sub>|Thermal conductivity polyethylene high-density|
-|kg|Kilogram| 
 |LVD|Low Voltage Directive| |LVD|Low Voltage Directive|
 |$m$|Constant for use for natural convection| |$m$|Constant for use for natural convection|
-|m<sup>2</sup>|Square meter| 
-|MB|Megabyte| 
-|Mbit|Megabit| 
 |MCS|Management Control System| |MCS|Management Control System|
 |MD|Low Voltage EU Directive| |MD|Low Voltage EU Directive|
 |MD5|Message Digest algorithm| |MD5|Message Digest algorithm|
-|MHz|Megahertz| 
 |microSD|Micro Secure Digital| |microSD|Micro Secure Digital|
 |MIS|Management Information System| |MIS|Management Information System|
-|mm|Millimetre| 
 |MMC|MultiMediaCard | |MMC|MultiMediaCard |
 |$N$<sub>Nu</sub>|Nusselt number| |$N$<sub>Nu</sub>|Nusselt number|
 |$N$<sub>Pr</sub>|Prandtl number| |$N$<sub>Pr</sub>|Prandtl number|
 |$N$<sub>Gr</sub>|Grashof number| |$N$<sub>Gr</sub>|Grashof number|
-|l|Litre| 
 |$L$|Length in meters| |$L$|Length in meters|
 |LED|Light-Emitting Diode| |LED|Light-Emitting Diode|
Line 97: Line 84:
 |RoHS|Restriction of Hazardous Substances| |RoHS|Restriction of Hazardous Substances|
 |RPI|Risk Priority Index| |RPI|Risk Priority Index|
-|s|Second| 
 |SD|Secure Digital | |SD|Secure Digital |
 |SDHC|Secure Digital High-Capacity | |SDHC|Secure Digital High-Capacity |
Line 113: Line 99:
 |USB|Universal Serial Bus| |USB|Universal Serial Bus|
 |USD|US-Dollar| |USD|US-Dollar|
-|V|Volt| 
 |WAEE|Wisconsin Association for Environmental Education| |WAEE|Wisconsin Association for Environmental Education|
 |WBS|Work Breakdown Structure| |WBS|Work Breakdown Structure|
Line 125: Line 110:
 |$ρ$|Density| |$ρ$|Density|
 </WRAP> </WRAP>
 +
 +^ Units ^ ^ 
 +|A |Ampere|
 +|cm |Centimetre|
 +|GB |Gigabyte|
 +|h |Hour|
 +|J |Joule|
 +|K |Kelvin|
 +|kg |Kilogram|
 +|m2 |Square meter|
 +|MB |Megabyte|
 +|Mbit |Megabit|
 +|MHz |Megahertz|
 +|mm |Millimetre|
 +|l |Litre|
 +|s |Second|
 +|V |Volt|
 +|W|Watt|
 +
 ===== 1. Introduction ===== ===== 1. Introduction =====
  
Line 1372: Line 1376:
 __Website__ __Website__
  
-The website is the only interface with the user. The website serves as a hub to send and receive information about the system. When the user logs into the website they can view information from the tank sensors on the check status page. The user can then access a page to send changes to the system. There is an additional page to view a live video feed of the fish tank. The sitemap is displayed in Figure {{ref>flabel600}}.+The website is the only interface with the user. The website serves as a hub to send and receive information about the system. When the user logs into the website they can view information from the tank sensors on the check status page. The user can then access a page to send changes to the system. There is an additional page to view a live video feed of the fish tank. The sitemap is displayed in Figure {{ref>flabel71}}.
  
 The functionality of website is written in PHP. This language allows the website to communicate with the data server. The data server in other words is a MySQL database. The check status page reads the displayed information form the data server via the TankStatus table. The change status page allows the user to submit changes to the data server. This sends the changes to ChangePack table in the data server. The functionality of website is written in PHP. This language allows the website to communicate with the data server. The data server in other words is a MySQL database. The check status page reads the displayed information form the data server via the TankStatus table. The change status page allows the user to submit changes to the data server. This sends the changes to ChangePack table in the data server.
  
 <WRAP> <WRAP>
-<figure flabel7+<figure flabel71
 {{:sitemap.png?600|}} {{:sitemap.png?600|}}
 <caption>Sitemap</caption> <caption>Sitemap</caption>
Line 1476: Line 1480:
 __Arduino Sketch__ __Arduino Sketch__
  
-The Arduino runs a continuous sketch that has several functions to read values from the sensors while waiting for input from the serial port. The main idea behind the code was to turn the connected devices only when requested by Raspberry Pi. +The Arduino runs a continuous sketch consisting of several functions. Their tasks are to read values from the sensors and control devices connected to the microcontroller. The main idea behind the code was to turn the connected devices only when requested by Raspberry Pi. 
-Used libraries:+**Used libraries:**
  
   * One Wire – allows using waterproof temperature sensor DS18B20, is applied to detect the sensor and create monitoring instance.   * One Wire – allows using waterproof temperature sensor DS18B20, is applied to detect the sensor and create monitoring instance.
Line 1483: Line 1487:
   * Stepper – allows the control of stepper motor movement e.g. number and speed of rotations.   * Stepper – allows the control of stepper motor movement e.g. number and speed of rotations.
   * IRremote – library operating infrared shooting sensor and allowing to create modulated infrared signal emitted from the connected diode.   * IRremote – library operating infrared shooting sensor and allowing to create modulated infrared signal emitted from the connected diode.
 +
 +The code structure is presented below.
 +
 +<WRAP>
 +<figure flabel87> 
 +{{:flow-chart_vio.png?700|}}
 +<caption>Flow chart for Arduino code</caption>
 +</figure>
 +</WRAP>
  
 The initial setup for Arduino consists of defining the pin status and first temperature request in order to turn the heater on automatically if the water is too cold. The initial setup for Arduino consists of defining the pin status and first temperature request in order to turn the heater on automatically if the water is too cold.
  
-Further code flow is controlled by Raspberry Pi //i.e.// that the microcontroller only responds to the requests sent through the serial port. Firstly there is a ready check performed, then the several values are obtained from sensors, afterwards, the user input from website is applied //i.e.// the settings for feeder, pump, lamp and heater are uploaded and performed. The code runs in continuous loop.+Further code flow is controlled by Raspberry Pi //i.e.// that the microcontroller only responds to the requests sent through the serial port. Firstly there is a ready check performed, then the several values are obtained from sensors, and sent back to Raspberry Pi. afterwards, the user input from website is applied //i.e.// the settings for feeder, pump, lamp and heater are uploaded and applied. The code runs in continuous loop.
 ==== 7.3 Components ==== ==== 7.3 Components ====
  
Line 1842: Line 1855:
  
 $A$<sub>i</sub> = 3.424 m<sup>2</sup> \\ $A$<sub>i</sub> = 3.424 m<sup>2</sup> \\
-$A$<sub>o</sub> = 3.456 m<sup>2</sup \\+$A$<sub>o</sub> = 3.456 m<sup>2</sup\\
 $k$<sub>PEHD</sub> thermal conductivity = 0.48 [kJ/(kg·K)] [(pehdtc)]. \\ $k$<sub>PEHD</sub> thermal conductivity = 0.48 [kJ/(kg·K)] [(pehdtc)]. \\
 $A$<sub>Lm</sub> - log mean area \\ $A$<sub>Lm</sub> - log mean area \\
Line 2052: Line 2065:
 <caption>Website</caption> <caption>Website</caption>
 </figure> </figure>
 +
 +=== 7.4.4 Components ===
 +
 +The original automatic feeder didn’t fulfil the demanded requirements for the client. The purchased device at its original stage could not be connected and controlled via internet. For this purpose we redesigned the feeder. A stepper motor was bought for the modified version in order to control the food dispensation. \\ 
 +A plate was required so that the stepper could properly be installed in a fixed position. This is illustrated in the 3D drawing of Figure {{ref>flabel8881}}.\\ 
 +
 +<figure flabel8881> 
 +{{:plate_1.jpg?200|}}
 +<caption>Plate support</caption>
 +</figure>
 +
 +The final design with the integrated circuit providing the stepper motor is displayed in Figure {{ref>flabel8882}}.\\ 
 +
 +<figure flabel8882> 
 +{{:imag1749.jpg?300|}}
 +<caption>Modified feeder</caption>
 +</figure>
 +
 +A waterproof case was designed and built for the camera, so it would be possible to stream the fish’s activities under water. Perspex was used as the major component to construct this case as it is illustrated in Figure {{ref>flabel8883}}. Furthermore the support is visible around the perspex case.\\ 
 +
 +<figure flabel8883> 
 +{{:4.png?300|}}
 +<caption>Waterproof camera case</caption>
 +</figure>
 +
 +For the ultrasonic sensor, which measures the water level, it was necessary to create a case that could avoid water splash on the sensor’s circuit. For this purpose it was chosen to use perspex again. This model is displayed in Figure {{ref>flabel8884}}.\\
 +
 +<figure flabel8884> 
 +{{:3.png?300|}}
 +<caption>Ultrasonic sensor case</caption>
 +</figure>
 +
 +Initially it was planned to mount the heater vertically, for which a simple support was designed and built as it is shown in Figure {{ref>flabel8885}}.\\ 
 +
 +<figure flabel8885> 
 +{{:5.png?300|}}
 +<caption>Heater support</caption>
 +</figure>
 +
 +
 ==== 7.5 Functionalities ==== ==== 7.5 Functionalities ====
  
Line 2064: Line 2117:
 ==== 7.6 Tests and Results ==== ==== 7.6 Tests and Results ====
  
-In order to visualize the functionalities test and results Table {{ref>tlabel654}} shows this information.  Test column if simply to confirm the works as expected. The result column shows a status of pass, fail, or incomplete. A status of pass means the functionality performs as expected and needs no further development. A status fail means that in development and can be tested, but is not functioning as expected. This fail means that some further development is needed. A status in incomplete means that the function is in development and may need extensive work to earn a status of pass.+In order to visualize the functionalities test and results Table {{ref>tlabel654}} shows this information.  Test column if simply to confirm the works as expected. The result column shows a status of pass, fail, or incomplete. A status of pass means the functionality performs as expected and needs no further development. A status fail means that in development and can be tested, but is not functioning as expected. This fail means that some further development is needed. A status in incomplete means that the function is in development and may need extensive work to earn a status of pass.\\  
 +For the tests and results concerning the feeder, light and heater it was necessary to hook up the devices with the Arduino in order to test the code. For the next step the challenge was to control the devices through the serial port from Raspberry Pi to Arduino. The final step was to control all three components from our website via Wi-Fi.\\ 
  
 <table tlabel654> <table tlabel654>
Line 2097: Line 2151:
 The main success was staying under the budget threshold while keeping the product fully functional and sustainable. We managed to find cheap solutions offering the same as products even four times as expensive.\\ The main success was staying under the budget threshold while keeping the product fully functional and sustainable. We managed to find cheap solutions offering the same as products even four times as expensive.\\
 The biggest problems during development were the heating of the board which we solved by mounting the box in a specific position, the current consumption which was solved by Arduino coding turning the sensors and stepper motor on only when requested by Raspberry Pi.\\ The biggest problems during development were the heating of the board which we solved by mounting the box in a specific position, the current consumption which was solved by Arduino coding turning the sensors and stepper motor on only when requested by Raspberry Pi.\\
-The other issue was to integrate Arduino code with Raspberry Pi controls and the web application. That problem took a lot of trials to solve but the ultimate solution was to make Raspberry Pi the master device responsible for writing to database and controlling the slave – Arduino.+The other issue was to integrate Arduino code with Raspberry Pi controls and the web application. That problem took a lot of trials to solve but the ultimate solution was to make Raspberry Pi the master device responsible for writing to database and controlling the slave – Arduino.\\  
 +The final prototype was mounted in a used PC power supply box. There were multiple modifications to be undergone in order to make all components fit in the right way. The installed final system is displayed in Figure {{ref>flabel8886}}. 
 +Inside the box are the following components:  
 +  * Raspberry Pi 
 +  * Converter from 12 V to 5 V 
 +  * Arduino Uno 
 +  * 4-channel Relay 
 +  * Power supply 
 +  * Principle switch button 
 +  * Power light converter from 240 V to 25 V
  
 +
 +<figure flabel8886> 
 +{{:imag1759_1.jpg?450|}}
 +<caption>Final prototype</caption>
 +</figure>
 ===== 8. Conclusions ===== ===== 8. Conclusions =====
 ==== 8.1 Discussion ==== ==== 8.1 Discussion ====
QR Code
QR Code report (generated for current page)