diff --git a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.out b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.out index 55e111f..5fdf015 100644 --- a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.out +++ b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.out @@ -13,3 +13,4 @@ \BOOKMARK [3][-]{subsubsection.2.3.1}{\376\377\000I\000n\000p\000u\000t\000\040\000r\000e\000g\000i\000s\000t\000e\000r\000s}{subsection.2.3}% 13 \BOOKMARK [3][-]{subsubsection.2.3.2}{\376\377\000H\000o\000l\000d\000i\000n\000g\000\040\000r\000e\000g\000i\000s\000t\000e\000r\000s}{subsection.2.3}% 14 \BOOKMARK [1][-]{section.3}{\376\377\000M\000e\000c\000h\000a\000n\000i\000c\000a\000l\000\040\000D\000i\000m\000e\000s\000i\000o\000n\000s}{}% 15 +\BOOKMARK [1][-]{section.4}{\376\377\000S\000c\000h\000e\000m\000a\000t\000i\000c}{}% 16 diff --git a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf index 66e8ac3..46221d9 100644 Binary files a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf and b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.pdf differ diff --git a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.tex b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.tex index 9365974..71e008b 100644 --- a/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.tex +++ b/Documentation/Datasheet/IAQ_Wired_Sensor_Datasheet.tex @@ -1,9 +1,10 @@ -\documentclass[a4paper,12pt,oneside]{article} +\documentclass[12pt,oneside,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[english]{babel} \usepackage{fancyhdr} \usepackage{graphics} \usepackage{graphicx} +\usepackage{geometry} \usepackage{multicol} \usepackage{capt-of} \usepackage[table]{xcolor} @@ -34,10 +35,11 @@ \setlength{\headheight}{35pt} \begin{document} -%TODO: TITLEPAGE - +% TITLE PAGE \begin{multicols*}{2} +\begin{center} \includegraphics[width=0.45\textwidth]{./fig/iaq_wired_sensor.png} +\end{center} \section*{Features} \begin{itemize} \setlength\itemsep{0cm} @@ -52,23 +54,21 @@ \item VOC (volatile organic compounds) index range 1 - 500 VOC index points \item Fully opensource \end{itemize} +\vfill \section*{Description} -\sensor{} is a wired indoor air quality sensor measuring temperature, relative humidity, carbon dioxide and volatile organic compounds. Communication over RS-485 using Modbus RTU protocol makes it easy to interface with the sensor using PLC or any PC with RS-485 to USB converter. Open-source Python libraries are available to ease sensor configuration and readout using PC and embedded computers (e.g. Raspberry Pi). - -On-board RGB LED enables user to quickly assess air quality with single glance. Two quality-to-color schemes are available: continuous color change and tri-state (semaphore) mode. Thresholds for color change are user-configurable. - -Wide input voltage range makes it possible to integrate sensor to many different systems, ranging from house-wide 12V bus to 5V USB connected to local computer. - -Extended version of this sensor \sensor{}-PM adds particulate matter (dust) measurement option. - -Fully open-source ecosystem: sensor hardware, case, firmware and connected Python libraries are open-sourced under permissive licence. - -\section*{Application} -\begin{itemize} -\setlength\itemsep{0cm} -\item IAQ measurement for home and office spaces, ventilation control -\end{itemize} +\sensor{} is a wired indoor air quality sensor measuring temperature, relative humidity, carbon dioxide and volatile organic compounds. Communication over RS-485 using Modbus RTU protocol makes it easy to interface with the sensor using PLC or any PC with RS-485 to USB converter. Open-source Python libraries are available to ease sensor configuration and readout using PC and embedded computers (e.g. Raspberry Pi).\\ +\\ +On-board RGB LED enables user to quickly assess air quality with single glance. Two quality-to-color schemes are available: continuous color change and tri-state (semaphore) mode. Thresholds for color change are user-configurable.\\ +\\ +Wide input voltage range makes it possible to integrate sensor to many different systems, ranging from house-wide 12V bus to 5V USB connected to local computer.\\ +\\ +Extended version of this sensor \sensor{}-PM adds particulate matter (dust) measurement option.\\ +\\ +Fully open-source ecosystem: sensor hardware, case, firmware and connected Python libraries are open-sourced under permissive licence.\\ +%\\ +%Can be used in many applications such as monitoring of home and office spaces, ventilation control or for smart greenhouse applications. \end{multicols*} +\vfill \pagebreak \tableofcontents @@ -85,7 +85,7 @@ Fully open-source ecosystem: sensor hardware, case, firmware and connected Pytho \hline \rowcolor{lightgray}\textbf{Parameter} & \textbf{Symbol} & \textbf{Min.} & \textbf{Typ.} & \textbf{Max.} & \textbf{Unit} \\ \hline Input voltage & $\mathrm{V_{DD}}$ & 5 & 12 & 24 & V \\ \hline -Average supply current & $\mathrm{I_{DD}}$ & & 50 & & mA \\ \hline +Average supply current & $\mathrm{I_{DD}}$ & & & 50 & mA \\ \hline RS485 Single-Ended Output High & $\mathrm{V_{OH}}$ & 2.2 & & & V \\ \hline RS485 Single-Ended Output Low & $\mathrm{V_{OL}}$ & & & 0.8 & V \\ \hline RS485 Differential Output & $\mathrm{V_{OD}}$ & 2.0 & & & V \\ \hline @@ -140,6 +140,8 @@ Stop Bits & 1 \\ \hli \subsection{Connectors Pinout} \subsubsection{Main Connector Pinout} +The main connector is Sullins Connector Solutions SWR204-NRTN-D02-RA-GA connector. The matching connector for the cable is SWH204-NULN-D02-UU-WH with SWT204-UPTN-S01-UU-UU crimping pins.\\ +The pinout can be seen in figure \ref{fig:connector_pinout} and table \ref{tab:connector_pinout}. \begin{figure}[h] \begin{minipage}[c]{0.5\linewidth} \centering @@ -165,6 +167,8 @@ Stop Bits & 1 \\ \hli \end{figure} \subsubsection{Programming Connector Pinout} +The sensor can be programmed through Serial Wire Debug (SWD) interface using an ST-Link. ST-Link can be connected to the sensor using pads for spring-loaded pins in the bottom layer of the PCB. +The pinout can be seen in table \ref{tab:swd_connector_pinout}. The first pin of the connector is marked with a square pad. \begin{table}[h] \scriptsize \centering @@ -231,16 +235,27 @@ Input registers contain measured values. They are read-only and 16-bit in size. \centering \begin{tabular}{|p{4cm}|p{2.5cm}|p{2cm}|p{3.6cm}|} \hline - \rowcolor{lightgray} \textbf{Register name} & \textbf{Register address} & \textbf{Dimension} & \textbf{Note} \\ \hline - Temperature & 30010 & °C & \\ \hline - Temperature & 30011 & °F & \\ \hline - Relative humidity & 30012 & \% & \\ \hline - $\mathrm{CO_2}$ concentration & 30013 & ppm & \\ \hline - VOC index & 30014 & VOC index & see \hyperref[inputReg:note1]{Note 1} \\ \hline - VOC ticks & 30015 & raw VOC ticks & Raw value from VOC sensor \\ \hline - Temperature from $\mathrm{CO_2}$ sensor & 30028 & °C & \\ \hline - Temperature from $\mathrm{CO_2}$ sensor & 30029 & °F & \\ \hline - RH from $\mathrm{CO_2}$ sensor & 30030 & \% & \\ \hline + \rowcolor{lightgray} \textbf{Register name} & \textbf{Register address} & \textbf{Unit} & \textbf{Note} \\ \hline + Serial Number HI & 30001 & - & \\ \hline + Serial Number LO & 30002 & - & \\ \hline + Temperature & 30003 & °C & \\ \hline + Temperature & 30004 & °F & \\ \hline + Relative humidity & 30005 & \% & \\ \hline + $\mathrm{CO_2}$ concentration & 30006 & ppm & \\ \hline + VOC index & 30007 & VOC index & see \hyperref[inputReg:note1]{Note 1} \\ \hline + VOC ticks & 30008 & raw VOC ticks & raw value from VOC sensor \\ \hline + PMC Mass 1.0 & 30009 & TODO & if connected \\ \hline + PMC Mass 2.5 & 30010 & TODO & if connected \\ \hline + PMC Mass 4.0 & 30011 & TODO & if connected \\ \hline + PMC Mass 10.0 & 30012 & TODO & if connected \\ \hline + PMC Number 0.5 & 30013 & TODO & if connected \\ \hline + PMC Number 1.0 & 30014 & TODO & if connected \\ \hline + PMC Number 2.5 & 30015 & TODO & if connected \\ \hline + PMC Number 4.0 & 30016 & TODO & if connected\\ \hline + PMC Number 10.0 & 30017 & TODO & if connected \\ \hline + Temperature from $\mathrm{CO_2}$ sensor & 30019 & °C & \\ \hline + Temperature from $\mathrm{CO_2}$ sensor & 30020 & °F & \\ \hline + RH from $\mathrm{CO_2}$ sensor & 30021 & \% & \\ \hline \end{tabular} \caption{Modbus input registers for \sensor{}} \label{tab:modbus_input_registers} @@ -260,15 +275,15 @@ Holding registers can be written to by master node. Sensor \sensor{} offers foll \begin{tabular}{|p{4cm}|p{2cm}|p{6.5cm}|} \hline \rowcolor{lightgray} \textbf{Register name} & \textbf{Address} & \textbf{Note} \\ \hline - LED on & 40001 & set to 0 to turn off LED; set to 1 to turn LED on \\ \hline - LED brightness & 40002 & range from 0 (off) to 100 (full intensity) \\ \hline - LED smooth & 40003 & see \hyperref[holdingReg:note1]{Note 1} \\ \hline - $\mathrm{CO_2}$ alert limit 1 & 40004 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline - $\mathrm{CO_2}$ alert limit 2 & 40005 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline - $\mathrm{CO_2}$ temperature offset & 40006 & see \hyperref[holdingReg:note2]{Note 3} \\ \hline - Device Modbus address & 40007 & see \hyperref[holdingReg:note2]{Note 4} \\ \hline - Modbus baudrate & 40008 & see \hyperref[holdingReg:note2]{Note 5} \\ \hline - Reset device & 40100 & see \hyperref[holdingReg:note2]{Note 6} \\ \hline + Device Modbus address & 40001 & see \hyperref[holdingReg:note2]{Note 4} \\ \hline + Modbus baudrate & 40002 & see \hyperref[holdingReg:note2]{Note 5} \\ \hline + LED on & 40003 & set to 0 to turn off LED; set to 1 to turn LED on \\ \hline + LED brightness & 40004 & range from 0 (off) to 100 (full intensity) \\ \hline + LED smooth & 40005 & see \hyperref[holdingReg:note1]{Note 1} \\ \hline + $\mathrm{CO_2}$ alert limit 1 & 40006 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline + $\mathrm{CO_2}$ alert limit 2 & 40007 & see \hyperref[holdingReg:note2]{Note 2} \\ \hline + $\mathrm{CO_2}$ temperature offset & 40008 & see \hyperref[holdingReg:note2]{Note 3} \\ \hline + Reset device & 49999 & see \hyperref[holdingReg:note2]{Note 6} \\ \hline \end{tabular} \caption{Modbus holding registers for \sensor{}} \label{tab:modbus_holding_registers} @@ -280,7 +295,7 @@ Setting LED smooth register to 1 will turn on LED color interpolation, meaning L \paragraph{Note 2} \label{holdingReg:note2} -Registers $\mathrm{CO_2}$ alert limit 1 and 2 set threshold for LED color change (see \hyperref[holdingReg:note1]{Note 1}). Limit 1 is threshold between green and yellow color, limit 2 is threshold betweek yellow and red color. +Registers $\mathrm{CO_2}$ alert limit 1 and 2 set threshold for LED color change (see \hyperref[holdingReg:note1]{Note 1}). Limit 1 is threshold between green and yellow color, limit 2 is threshold between yellow and red color. \paragraph{Note 3} \label{holdingReg:note3} @@ -299,5 +314,8 @@ Modbus baudrate in bits/s. May be one of: 4800, 9600, 14400, 19200, 28800, 38400 Writing magical constant 0xABCD to this device will instruct device to soft-reset. \vfill \section{Mechanical Dimesions} -\includegraphics[angle=90,origin=c,scale=0.99]{./fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf} +\includegraphics[scale=0.75]{./fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf} +\pagebreak +\section{Schematic} +\includegraphics[angle=90,origin=c,scale=0.7]{./../../PCB/Project_Outputs/Schematic/iaq_wired_sensor.pdf} \end{document} \ No newline at end of file diff --git a/Documentation/Datasheet/fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf b/Documentation/Datasheet/fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf index 76ac5bb..f310f83 100644 Binary files a/Documentation/Datasheet/fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf and b/Documentation/Datasheet/fig/IAQ_Sensor_Enclosure-Enclosure_TOP.pdf differ diff --git a/Documentation/Datasheet/fig/iaq_wired_sensor.png b/Documentation/Datasheet/fig/iaq_wired_sensor.png index 0ff57e1..9b68b0a 100644 Binary files a/Documentation/Datasheet/fig/iaq_wired_sensor.png and b/Documentation/Datasheet/fig/iaq_wired_sensor.png differ diff --git a/Enclosure/IAQ_Sensor_Enclosure.FCStd b/Enclosure/IAQ_Sensor_Enclosure.FCStd index bc2dfad..1867135 100644 Binary files a/Enclosure/IAQ_Sensor_Enclosure.FCStd and b/Enclosure/IAQ_Sensor_Enclosure.FCStd differ