Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
pmod:pmodaqs:reference-manual [2022/09/13 17:07] – changed forum.digilentinc.com to forum.digilent.com Jeffreypmod:pmodaqs:reference-manual [2024/04/02 19:44] (current) Martha
Line 1: Line 1:
 +====== Pmod AQS Reference Manual ======
  
 +<WRAP center round important 60%>
 +The Pmod AQS is retired and no longer for sale in our store. 
 +</WRAP>
 +
 +The Digilent Pmod AQS (Revision A) is a digital gas sensor for monitoring indoor air quality at low power. With the {{https://ams.com/ccs811| AMS CCS811}}, you can detect a
 +wide range of Volatile Organic Compounds (VOCs) using the micro-hotplate technology enables a highly reliable solution for gas sensors with very fast cycle times.
 +
 +{{Digilent Image Gallery 
 +| image = {{:reference:pmod:pmodaqs:pmod_aqs-obl.jpg?direct |}}
 +| image = {{:reference:pmod:pmodaqs:pmod_aqs-top.jpg?direct |}}
 +| image = {{:reference:pmod:pmodaqs:pmod_aqs-bottom.jpg?direct |}}
 +| image = {{:reference:pmod:pmodaqs:pmod_aqs-in-use.jpg?direct |}}
 +}} 
 +
 +
 +----
 +
 +===== Features =====
 +  * Optimized low-power modes
 +  * Integrated MCU with ADC
 +  * The Total Volatile Organic Compound (TVOC) output range is from 0ppb to 1187ppb.
 +  * 10-bit measurement resolution
 +  * 6-pin Pmod connector with I²C interface
 +  * Pass-through Pmod host port for daisy chaining
 +
 +
 +----
 +=====Functional Description =====
 +The Pmod AQS is designed to digitally report the Volatile Organic Compounds (VOCs) upon request by the host board. Up to 10-bits of resolution collected by allowing for longer conversion times. Micro-hotplate technology which enables a highly reliable solution for gas sensors, very fast cycle times and a significant reduction in average power consumption.
 +----
 +
 +=====Specifications =====
 +^  Parameter                        ^  Min        Typical  ^  Max  ^  Units  ^
 +|  Power Supply Voltage              1.8                  3.3  |  V      |
 +|  Serial Clock Frequency            10        | 100        400  |  kHz    |
 +^  Parameter                        ^  Value                       ||^  Units  ^
 +|  eCO2 output range                |  400-8192                    |||  ppm    |
 +|  TVOC output range                |  0-1187                      |||  ppb    |
 +|  Sleep Mode Current Draw at 1.8V  |  19                          |||  uA     |
 +
 +----
 +===== Interfacing with the Pmod=====
 +The Pmod AQS communicates with the host board via the [[pmod:communication_protocols:I2C|I²C protocol]]. By first sending the 7-bit I²C address of 1011011 (0x5B) and then a read/write bit (high/low logic level, respectively), followed by the register address of interest at a maximum clock frequency of 400 kHz, users can both configure and read from the Pmod AQS. [[pmod:pmodaqs:#J2 Pinout|Header J2]] on the Pmod AQS passes through all of the signals present on the main [[pmod:pmodaqs:#J1 Pinout|Header J1]] to allow for the daisy chaining of multiple I²C compatible modules. 
 +
 +==== Application Register Map ====
 +//Application registers for the Pmod AQS//
 +
 +{{:reference:pmod:pmodaqs:application_register_map.jpg?800}}
 +
 +
 +==== Quick data acquisition ====
 +Here is the series of commands to acquire relative humidity and temperature data from the Pmod AQs in pseudo I²C code.
 +
 +  - Power on the Pmod AQS and wait at least 15 ms.
 +  - Call the device ID with a write bit<code>I2CBegin(0x5B); //device ID 0x81 with a write (0) bit</code>
 +  - Wait to receive an ACK from the Slave Device
 +  - Write the device address that you want to talk to<code>I2CWrite(0x01); //address 0x01 corresponds to the Meas_mode</code>
 +  - Wait to receive an ACK from the Slave Device
 +  - Delay at least 12.85 ms (6.35 ms for the Temperature Sensor and 6.50 ms for the Humidity Sensor)
 +  - Read 4 bytes from the temperature and humidity registers (two 8 byte samples from each, MSB then LSB)<code>I2CReadMultiple(4); //read four bytes, sending an ACK to the slave after each byte received and a NACK after the last byte</code>
 +  - Read up to 8 bytes from the Alg_result_data register (two 8 byte samples MSB then LSB for eCO2 and two 8 byte samples MSB then LSB for VOC)<code>I2CReadMultiple(8)); //read up to 8 bytes, sending an ACK to the slave after each byte received and a NACK after the last byte</code>
 +
 +==== Pinout Table Diagram ====
 +
 +^  Header J1                                      ||^  Header J2                                      ||^  Jumper Blocks                                                                       |||
 +^  Pin        ^  Signal    Description            ^  Pin        ^  Signal    Description            ^  Jumper          State          Description                                        ^
 +|  1          | IO/INT    | IO or Interrupt         | 1           | IO/INT    | IO or INterrupt         | JP1             | Enable Left    | Set to RST                                          |
 +|  2          | WAKE/RST  | WAKE or RESET           | 2           | WAKE/RST  | WAKE or RESET           | JP1             | Enable Right   | Set to WAKE                                         |
 +| 3           | SCL       | Serial Clock            | 3           | SCL       | Serial Clock            | JP2             | Both Enabled   | 2.2 kΩ resistors enabled on the SDA and SCL lines   |
 +| 4           | SDA       | Serial Data             | 4           | SDA       | Serial Data             | JP2             | Both Disabled  | 2.2 kΩ resistors disabled on the SDA and SCL lines  |
 +| 5           | GND       | Power Supply Ground     | 5           | GND       | Power Supply Ground     | JP3             | Enabled        | IO/INT enabled                                      |
 +| 6           | VCC       | Power Supply (1.8V/3.3V)  | 6           | VCC       | Power Supply (1.8V/3.3V)  |                                |                                                     |
 +
 +The PmodAQS Jumper setting when using the Demo's are JP1: //WAKE Enabled//, JP2: //Both Enabled//, JP3: //Enabled//.
 +
 +The %%Pmod AQS%% is an ideal Pmod to use in long term Air quality application. As a very low power Pmod between measurements, long term data to measure VOC changes in an environment can easily be collected.
 +
 +Any external power applied to the Pmod AQS must be within 1.8 V and 3.3 V to ensure that the on-board chips operate correctly; however, it is recommended that Pmod is operated at 3.3 V.
 +
 +==== Timing Diagram ====
 +
 +A sample diagram for writing to and reading from the Pmod AQS taken from the CCS811 datasheet are provided below:
 +
 +//Example writing to the Pmod AQS//
 +
 +{{:reference:pmod:pmodaqs:write_register_pmodaqs.jpg?600}}
 +
 +//Example reading from the Pmod AQS//
 +
 +{{:reference:pmod:pmodaqs:read_register_pmodaqs.jpg?600}}
 +
 +
 +
 +===== Physical Dimensions =====
 +The pins on the pin header are spaced 100 mil apart. The PCB is 1.25 inches long on the sides parallel to the pins on the pin header and 0.8 inches long on the sides perpendicular to the pin header.
 +
 +===== Additional Information =====
 +The schematics of the %%Pmod AQS%% are available {{:reference:pmod:pmodaqs:pmodaqs_sch.pdf |here}}. Additional information about the VOCs Gas sensor including communication modes and specific timings of the chip can be found in the datasheet [[https://ams.com/ccs811|here]].
 +
 +Example code and more specific information on how to use the Pmod AQS can be found on its [[pmod:pmodaqs:start#additional_resources|Resource Center]].  
 +
 +If you have any questions or comments about the %%Pmod AQS%%, feel free to post them under the appropriate section ("Add-on Boards") of the [[https://forum.digilent.com/|Digilent Forum]].
 +
 +{{tag>pmod pmodaqs humidity reference-manual doc }}