This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0357 [17 May 2017 16:07] – [Project Structure] ANMOL Raykar | resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0357 [31 Jul 2017 19:39] – removed Brandon Bushey | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======CO Toxic Gas Measurement Demo (with EVAL-CN0357-ARDZ)====== | ||
- | \\ | ||
- | The **ADICUP3029_CN0357** is a toxic gas(CO) detector demo project for the EVAL-ADICUP3029 base board with additional [[http:// | ||
- | \\ | ||
- | \\ | ||
- | |||
- | |||
- | ===== General Description/ | ||
- | \\ | ||
- | This userguide gives a detailed explanation about ADICUP3029_CN0357 | ||
- | \\ | ||
- | {{ : | ||
- | The [[http:// | ||
- | \\ | ||
- | |||
- | The **ADICUP3029_CN0357** application configures the necessary components, processes ADC output value and make all necessary conversions in order to provide the gas concentration. A UART interface (38400 baud rate and 8-bits data length) is used to send the results to terminal window: CO Concentration in **Parts Per Million(PPM)** are the outputs provided in the terminal window. | ||
- | \\ | ||
- | \\ | ||
- | At the start of the project, the software computes the necessary parameters and configure the digital rheostat(AD5270) . The required parameters are the sensor sensitivity and sensor range. These can be modified by changing the values of the constants **SENSOR_SENSITIVITY** and **SENSOR_RANGE** found in the **CN0357.h** header file of the project. | ||
- | \\ | ||
- | \\ | ||
- | |||
- | ===== Setting up the hardware ===== | ||
- | \\ | ||
- | |||
- | <note important> | ||
- | |||
- | - Make sure that Carbon Monoxide sensor **CO-AX** is properly placed on the **EVAL-CN0357** sensor shield | ||
- | - Mount **EVAL-CN0357-ARDZ** on the **EVAL-ADICUP3029** base board such that **DIGI1** and **DIGI0** of the sensor shield are connected to the **P6** and **P7** on the EVAL-ADICUP3029 board respectively. | ||
- | - Insert the **DEBUG USB** in **P10** of EVAL-ADICUP3029 base board | ||
- | \\ | ||
- | The ADuCM3029_demo_cn0357 uses **UART** connection via **P0.10/ | ||
- | \\ | ||
- | \\ | ||
- | ==== Jumper and Switch Settings ==== | ||
- | \\ | ||
- | - Place the jumper on P18 (Arduino Power Rails) on the EVAL-ADICUP3029 base board. | ||
- | - Check the direction of the switch S2 for the proper working of the UART and S5 for USB/Wall power supply. | ||
- | - Place the jumper on P15 on the EVAL-ADICUP3029 base board to power the BLE. | ||
- | {{ : | ||
- | - Similarly the jumper settings for EVAL-CN0357-ARDZ Rev C are as follows | ||
- | |||
- | {{ : | ||
- | \\ | ||
- | ===== Obtaining the source code ===== | ||
- | \\ | ||
- | We recommend not opening the project directly, but rather import it into CrossCore Embedded Studio and make a local copy in your workspace. | ||
- | \\ | ||
- | |||
- | The source code and include files of the **ADICUP3029_CN0357** can be found on Github: | ||
- | <WRAP round 40% download> | ||
- | |||
- | The source code has to be inserted from the github | ||
- | |||
- | </ | ||
- | \\ | ||
- | |||
- | |||
- | ===== Outputting Data ===== | ||
- | |||
- | When the ADICUP3029 is in advertising mode, UART terminal would display | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | The ADI_CO_SENSOR node device found on iPAD | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | The ADICUP3029 connected to BLE peripheral and sending the CO ppm concentration values | ||
- | |||
- | | ||
- | |||
- | The data transmission successful is indicated by green LED glow | ||
- | |||
- | {{: | ||
- | |||
- | The data transmission un-successful is indicated by red LED glow | ||
- | |||
- | {{: | ||
- | |||
- | The ppm concentration values displayed on ios | ||
- | |||
- | {{: | ||
- | |||
- | Graph displaying ppm values | ||
- | |||
- | {{: | ||
- | |||
- | The ADICUP3029 disconnected to BLE peripheral | ||
- | |||
- | {{: | ||
- | |||
- | ===== How to use the Tools ===== | ||
- | \\ | ||
- | The official tool we promote for use with the EVAL-ADICUP3029 is CrossCore Embedded Studio. | ||
- | \\ | ||
- | |||
- | ==== Importing | ||
- | \\ | ||
- | For more detailed instructions on importing this application/ | ||
- | \\ | ||
- | |||
- | |||
- | ==== Debugging ==== | ||
- | \\ | ||
- | * A debug configuration must be set up for this project in order to have the possibility to program and to debug the **ADICUP3029_CN0357** project. To do this, follow the instructions from [[resources: | ||
- | |||
- | * Make sure the target board is connected to the computer (via **DEBUG USB**) and using the tool bar, navigate to the small Debug icon{{: | ||
- | |||
- | * Use step-by-step execution or directly run the program. | ||
- | |||
- | After completion of the steps above the program will remain written into the system flash and it will run by default every time the board is powered up. | ||
- | |||
- | {{: | ||
- | \\ | ||
- | |||
- | |||
- | |||
- | ==== Project Structure === | ||
- | \\ | ||
- | The **ADICUP3029_CN0357** project use ADuCM302x C/C++ Project structure. | ||
- | |||
- | This project contains: system initialization part - disabling watchdog, enabling clock for peripherals; | ||
- | |||
- | In the **src** and **include** folders you will find the source and header files related to CN0357 software | ||
- | \\ | ||
- | |||
- | {{: | ||
- | \\ | ||
- | In the appropriate header files you can **configure** next **parameters**: | ||
- | \\ | ||
- | \\ | ||
- | |||
- | * **Sensor Range** - <fc # | ||
- | < | ||
- | #define SENSOR_RANGE | ||
- | </ | ||
- | |||
- | * **Sensor Sensitivity** - <fc # | ||
- | < | ||
- | #define SENSOR_SENSITIVITY | ||
- | </ | ||
- | |||
- | \\ | ||
- | The **system** folder contains system related files (try not to change these files): | ||
- | * **ADuCM360** – contains low levels drivers for ADuCM360 microcontroller. | ||
- | * **CMSIS** – contains files related to ADuCM360 platform, such as: // | ||
- | * **cortexm** – contains files for system management (start-up, reset, exception handler). | ||
- | |||
- | \\ | ||