Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| report [2015/06/22 13:11] – team4 | report [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$< | |$A$< | ||
| |$A$< | |$A$< | ||
| Line 24: | Line 23: | ||
| |C++|General-purpose programming language| | |C++|General-purpose programming language| | ||
| |$c$< | |$c$< | ||
| - | |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/ | |GPIO|General Purpose Input/ | ||
| Line 42: | Line 39: | ||
| |$h$< | |$h$< | ||
| |$h$< | |$h$< | ||
| - | |h|Hour| | ||
| |HR|Human Resource| | |HR|Human Resource| | ||
| |HRM|Human Resource Management| | |HRM|Human Resource Management| | ||
| Line 54: | Line 50: | ||
| |I/ | |I/ | ||
| |IEEE|Institute of Electrical and Electronics Engineers| | |IEEE|Institute of Electrical and Electronics Engineers| | ||
| - | |J|Joule| | ||
| - | |K|Kelvin| | ||
| |$k$< | |$k$< | ||
| - | |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< | ||
| - | |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$< | |$N$< | ||
| |$N$< | |$N$< | ||
| |$N$< | |$N$< | ||
| - | |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| | ||
| </ | </ | ||
| + | |||
| + | ^ 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. | ||
| < | < | ||
| - | < | + | < |
| {{: | {{: | ||
| < | < | ||
| Line 1476: | Line 1480: | ||
| __Arduino Sketch__ | __Arduino Sketch__ | ||
| - | The Arduino runs a continuous sketch | + | The Arduino runs a continuous sketch |
| - | 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. | ||
| + | |||
| + | < | ||
| + | <figure flabel87> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| 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, |
| ==== 7.3 Components ==== | ==== 7.3 Components ==== | ||
| Line 1645: | Line 1658: | ||
| ^Price [€]|185.92|58.96|12.24|**11.19**| | ^Price [€]|185.92|58.96|12.24|**11.19**| | ||
| </ | </ | ||
| - | |||
| - | The flow sensor in Figure {{ref> | ||
| - | |||
| - | < | ||
| - | <figure flabel550> | ||
| - | {{ : | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| * Depth sensor | * Depth sensor | ||
| Line 1787: | Line 1791: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β} =& {\frac{\rho_{25} - \rho_{22.5}}{\rho_{22.5}(T_{22.5}-T_{25})}} = \\ | {β} =& {\frac{\rho_{25} - \rho_{22.5}}{\rho_{22.5}(T_{22.5}-T_{25})}} = \\ | ||
| - | {β} =& {\frac{997.1-997.7}{997.7-(22.5-25)}} = 2.4 \cdot 10^{-4} \\ | + | {β} =& {\frac{997.1-997.7}{997.7-(22.5-25)}} = 2.4 \cdot 10^{-4} K^{-1} \\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 1822: | Line 1826: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β}= & {\frac{\rho_{15} - \rho_{17.5}}{\rho_{17.5}(T_{17.5}-T_{15})}} \\ | {β}= & {\frac{\rho_{15} - \rho_{17.5}}{\rho_{17.5}(T_{17.5}-T_{15})}} \\ | ||
| - | {β}= & {\frac{1.219-1.216}{1.216-(17.5-15)}} = 9.9 \cdot 10^{-4} \\ | + | {β}= & {\frac{1.219-1.216}{1.216-(17.5-15)}} = 9.9 \cdot 10^{-4} K^{-1} \\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 1851: | Line 1855: | ||
| $A$< | $A$< | ||
| - | $A$< | + | $A$< |
| $k$< | $k$< | ||
| $A$< | $A$< | ||
| Line 1907: | Line 1911: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β}= & {\frac{\rho_{25} - \rho_{15}}{\rho_{15}(T_{25}-T_{15})}} \\ | {β}= & {\frac{\rho_{25} - \rho_{15}}{\rho_{15}(T_{25}-T_{15})}} \\ | ||
| - | {β}= & {\frac{1.183-1.227}{1.227-(25-15)}} = 3.6 \cdot 10^{-3} \\ | + | {β}= & {\frac{1.183-1.227}{1.227-(25-15)}} = 3.6 \cdot 10^{-3} K^{-1}\\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 2061: | Line 2065: | ||
| < | < | ||
| </ | </ | ||
| + | |||
| + | === 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> | ||
| + | |||
| + | <figure flabel8881> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | The final design with the integrated circuit providing the stepper motor is displayed in Figure {{ref> | ||
| + | |||
| + | <figure flabel8882> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | 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> | ||
| + | |||
| + | <figure flabel8883> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | 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> | ||
| + | |||
| + | <figure flabel8884> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | 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> | ||
| + | |||
| + | <figure flabel8885> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | |||
| ==== 7.5 Functionalities ==== | ==== 7.5 Functionalities ==== | ||
| Line 2073: | Line 2117: | ||
| ==== 7.6 Tests and Results ==== | ==== 7.6 Tests and Results ==== | ||
| - | In order to visualize the functionalities test and results Table {{ref> | + | In order to visualize the functionalities test and results Table {{ref> |
| + | 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 2106: | 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> | ||
| + | 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> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| ===== 8. Conclusions ===== | ===== 8. Conclusions ===== | ||
| ==== 8.1 Discussion ==== | ==== 8.1 Discussion ==== | ||