Wiki

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
Next revisionBoth sides next revision
resources:eval:user-guides:circuits-from-the-lab:cn0548 [22 Aug 2021 22:05] – Revise Harvey John De Chavezresources:eval:user-guides:circuits-from-the-lab:cn0548 [18 Nov 2021 08:55] – Registration Harvey John De Chavez
Line 1: Line 1:
 ===== EVAL-CN0548-ARDZ Shield Overview ===== ===== EVAL-CN0548-ARDZ Shield Overview =====
 +\\
 +Testing and evaluating power systems in industrial and communications settings often requires multiple voltage and current measurements. Individual supplies may be referenced to different grounds, have either positive or negative polarity, or may be galvanically isolated with respect to other power domains. Such scenarios necessitate either individual floating multimeters, or multichannel meters with per-channel isolation, which are physically cumbersome and expensive. \\ \\ \\
  
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo_3d_view.jpg?600|}} +{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo_3d_view.jpg?650|}} 
- +\\ \\ \\ \\ 
-Testing and evaluating power systems in industrial and communications settings often requires multiple voltage and current measurements. Individual supplies may be referenced to different grounds, have either positive or negative polarity, or may be galvanically isolated with respect to other power domains. Such scenarios necessitate either individual floating multimeters, or multichannel meters with per-channel isolation, which are physically cumbersome and expensive. +The EVAL-CN0548-ARDZ is a complete, isolated current and voltage measurement system for industrial, telecommunications, instrumentation, and automated test equipment (ATE) applications. The system is galvanically isolated from the host controller and will tolerate up to +/-250V between the host computer and measurement system grounds. When paired with the ADICUP3029 and open-source firmware example, application software can easily communicate with the CN0548 over the industry-standard Industrial Input/Output (IIO) libiio library, which includes bindings for C, C#, MATLAB, Python, and LabVIEW.\\ \\
-The circuit shown in figure 1 is a complete, isolated current and voltage measurement system for industrial, telecommunications, instrumentation, and automated test equipment (ATE) applications. The system is galvanically isolated from the host controller and will tolerate up to +/-250V between the host computer and measurement system grounds. +
-The current input range is +/-10 amps, and voltage input range is selectable between +/-16V and +/-80V. Both voltage and current inputs feature 16-bit resolution with adjustable output data rate and signal bandwidth, including modes that reject both 50Hz and 60Hz line noise.  +
-CN0548 is compatible with 3.3V and 5V Arduino form-factor platform boards. Isolation circuitry includes both digital data and power; no additional power source is required from the circuit being measured. The digital interface is SPI (Serial Peripheral Interface) with options for remapping the CS (chip select) signal for compatibility with additional stacked Arduino shields. +
-When paired with the ADICUP3029 and open-source firmware example, application software can easily communicate with the CN0548 over the industry-standard Industrial Input/Output (IIO) libiio library, which includes bindings for C, C#, MATLAB, Python, and LabVIEW. +
- +
- +
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo.jpg?600|}}+
  
 +==== Features ====
 +  * Absolute maximum input rating of 80V, 20A
 +  * Configurable voltage and current setting
 +  * 16-bit ADC resolution with adjustable output data rate
 +  * Serial peripheral interface (SPI) digital output
 +  * Galvanic isolation from host controller
 +  * 3.3V and 5V compatible
 +  * Arduino form factor
 +  * Chip Select (CS) remappable (can be stacked with other shields) 
  
 +\\
 ==== Simplified Block Diagram ==== ==== Simplified Block Diagram ====
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548_final_block_diagram.png?600|}}+{{:resources:eval:user-guides:circuits-from-the-lab:cn0548_final_block_diagram.png?700|}} 
 +\\ \\ \\ 
 +------------ 
 +===== Onboard Configuration ===== 
 +{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_high_resolution_photo.jpg?800|}} 
 +\\ \\ \\ 
 +==== Configuring the Input Voltage Polarity and Current Direction ==== 
 +Before using the CN0548, the user must know the expected inputs and configure the board accordingly. The polarity as well as the direction of the inputs is an important aspect that should be noted by the user. Below is a table showing the maximum input rating depending on the configuration. \\
  
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:mode_config.png?400 |}} \\
  
- 2. Follow the figure below for the position of shunt jumpers for headers P1, P3, P10, P8, P9, and P11. Make sure that is set at 16V max input for the voltage sensingfollow jumper settings stated in the table below encircled in red for 16V maximum input.+Jumper connections P12 and P13 configure the input current setting while jumpers P7 and P14 configure the input voltage setting. For a unipolar and unidirectional setting, the jumpers should be shorted to the GND pin. On the other hand, it should be connected to the 2.048V pin for a bipolar and bidirectional setting,.  
 +\\ 
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:mode_jumper.png?600 |}}
  
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:limit_table_vsense.png?600|}} +\\ 
- +==== Configuring the Absolute Input Voltage Range ==== 
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_header_placement_images2.png?600|}} +The CN0548 is equipped with a precision wide voltage range gain selectable attenuating difference amplifier allowing it to have an adjustable input voltage range feature. The onboard jumpers P1, P3, P10, P8, P9, P11 should be configured accordingly to the desired maximum voltage range for a finer voltage resolution
- +\\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_jumper.png?700 |}} 
-3.Place all the shunt jumpers connected to GNDheaders P12, P13, P14 and P7 as default position for measurements in unipolar mode. Refer to the figure below for correct jumper settings+\\ Shown here is guide on how to configure the gain jumpers. Using this guideit can be inferred that the above sample jumper configuration corresponds to a maximum input voltage range of 16V
-{{:resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_vref_shunt_setup.png?600|}} +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:gain_config.png?800 |}} \\ 
- +\\ 
-4. Referring to step 1where you uploaded the .hex file firmware to ADICUP3029. Now run the executable GUI “ad7799_py_new.exe” located inside “ad7799_app” folder. It will take for about minute before the CN0548 app will show up on your PC displayPlease see figure 6 for CN0548 GUI upon start. Once the application is running, determine the comport at your device manager window and type it in the “COMPort “ numberSee figure below for device manager comport number. Then input the correct comport number then press “connect” button see figure 8 for successful connection. +==== Chip Select ==== 
- +As mentioned in the Features section earlier, the CN0548 has remappable Chip Select feature allowing the board to be stacked with other shieldsBy default, jumper P15 is shunted but this can be modified accordingly depending on the shields stacked and the user's application. \\
-\\ \\+
  
 +{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:chip_select.png?550 |}}
 +\\
 +------------
 =====Demo Requirements===== =====Demo Requirements=====
  
Line 43: Line 60:
   * Pre-built HEX file   * Pre-built HEX file
   * Python 3.7 or later versions   * Python 3.7 or later versions
 +    * No Python installed? [[https://www.python.org/downloads/ | Click here to install]]
 +    * Some recommended IDEs:
 +        * [[https://code.visualstudio.com/ | Visual Studio Code]]
 +        * [[https://anaconda.org/anaconda/python | Anaconda]]
 +        * [[https://www.jetbrains.com/pycharm/download/#section=windows | PyCharm]]
   * Script for data logging and plotting - CN0548_simple_plot.py   * Script for data logging and plotting - CN0548_simple_plot.py
 \\ \\
Line 65: Line 87:
 <WRAP round 80% download> <WRAP round 80% download>
 Prebuilt CN0548 Hex File Prebuilt CN0548 Hex File
-  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0548_demo.hex|ADuCM3029_demo_cn0548_demo.hex]]+  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:CN0548.hex.zip |CN0548.hex}}
 Complete CN0548 Source Files Complete CN0548 Source Files
-  * [[|CN0548 CCES Project]]+  * [[repo>EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0548|CN0548 CCES Project]]
  
 </WRAP> </WRAP>
Line 89: Line 111:
  
 ===Starting a new session === ===Starting a new session ===
-  - Download the given python script into the //examples// folder of the pyadi-iio directory. Using a terminal, navigate to the said folder and invoke the script. <code> python CN0548_simple_plot.py </code> <WRAP round 80% download> Below is a copy of the python script: \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_simple_plot.zip |CN0548_simple_plot.py}} \\ to be updated</WRAP>+  - Download the given python script into the //examples// folder of the pyadi-iio directory. Using a terminal, navigate to the said folder and invoke the script. <code> python CN0548_simple_plot.py </code> <WRAP round 80% download> Below is a copy of the python script: \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:cn0548_simple_plot.zip |CN0548_simple_plot.py}} </WRAP>
   - Upon running the script, some general reminders regarding the board usage will be displayed. Make sure to read these reminders before proceeding. Press the //Enter// key to proceed. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:reminder.png?600 |}}\\   - Upon running the script, some general reminders regarding the board usage will be displayed. Make sure to read these reminders before proceeding. Press the //Enter// key to proceed. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:reminder.png?600 |}}\\
   - As mentioned earlier, the board has a memory feature that allows the user to quickly configure the sample code using the configuration from the last session. The user can decide whether to reuse the previous setting or set up a new configuration. The next items will discuss the program flow given that no session record file is found i.e. first run of the sample code. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:new_overview.png?600 |}}  \\ \\   - As mentioned earlier, the board has a memory feature that allows the user to quickly configure the sample code using the configuration from the last session. The user can decide whether to reuse the previous setting or set up a new configuration. The next items will discuss the program flow given that no session record file is found i.e. first run of the sample code. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:new_overview.png?600 |}}  \\ \\
-  - In a separate window, the program will first create a simple jumper map that corresponds to the jumpers on the board --- this might take a few seconds depending on the user's machine. The program will then prompt the user for the voltage and current modes to be used{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:board_jumper.jpg?600 |}} The user will be asked to specify whether the voltage measurements would be unipolar or bipolar as well as the expected range of values to be sensed. On the other hand, the user only needs to specify whether the current measurements would be unidirectional or bidirectional. The jumper map will be updated as the user answers the configuration queries. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:sample_configuration.png?800 |}}Configure the board jumpers as shown in the jumper map and press the //Enter// key to proceed. In this example, the jumper map shows a 16V unipolar 20A unidirectional configuration.\\ \\+  - The user will be asked to specify the expected voltage and current inputs i.e. whether unipolar or bipolar for the voltage and unidirectional or bidirectional for the currentIn a separate window, a jumper map will be created corresponding to the voltage and current setting specified by the user {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:sample_configuration.png?800 |}} \\ You may close the jumper window upon configuring the board jumpers.\\ \\
   - After the board jumper configuration guide, the program will now begin its software configuration related queries. The table below shows the aspects that the user must configure. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:table_config.png?600 |}} \\   - After the board jumper configuration guide, the program will now begin its software configuration related queries. The table below shows the aspects that the user must configure. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:table_config.png?600 |}} \\
   - Lastly, the sample code will ask the user for the port where the ADICUP3029 is connected. If the port is found, the sample code is now ready to parse readings from the board. Press //Enter// key to start board operation. \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:software_config.png?600 |}}\\ Regardless of whether the plot window is enabled or not, the board readings will be continuously displayed in the terminal. \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:readings.png?600 |}} \\ In the next two figures, the CN0548 was used to monitor the performance of a 5V regulator. The first figure shows a plot in tracking mode where all data points are displayed. The second figure on the other hand is in non-tracking mode where the last 50 samples are being displayed. \\ \\ **Tracking Mode:** {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:tracking.png?600 | }} \\ **Non-tracking Mode:**  {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:non-tracking_a.png?600 | }} \\ Tracking mode allows the user to observe the overall characteristic of the signal being measured. However, it should be noted that the plot will continue to compress as more data points are added. Non-tracking mode on the other hand allows a more refined view as it only shows the most recent measurements as desired by the user. \\   - Lastly, the sample code will ask the user for the port where the ADICUP3029 is connected. If the port is found, the sample code is now ready to parse readings from the board. Press //Enter// key to start board operation. \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:software_config.png?600 |}}\\ Regardless of whether the plot window is enabled or not, the board readings will be continuously displayed in the terminal. \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:readings.png?600 |}} \\ In the next two figures, the CN0548 was used to monitor the performance of a 5V regulator. The first figure shows a plot in tracking mode where all data points are displayed. The second figure on the other hand is in non-tracking mode where the last 50 samples are being displayed. \\ \\ **Tracking Mode:** {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:tracking.png?600 | }} \\ **Non-tracking Mode:**  {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:non-tracking_a.png?600 | }} \\ Tracking mode allows the user to observe the overall characteristic of the signal being measured. However, it should be noted that the plot will continue to compress as more data points are added. Non-tracking mode on the other hand allows a more refined view as it only shows the most recent measurements as desired by the user. \\
Line 99: Line 121:
 </note> </note>
 ===Data Logging=== ===Data Logging===
-The data logging feature allows the user to log all measurements into a csv file. If enabled, the csv file will be created in the same folder where the sample code is located and will follow the naming scheme //CN0548_[timestamp]//However, the saving of data is slightly different when the plot window is enabled{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:csv_file.png?600 |}}\\ \\ +The data logging feature allows the user to log all measurements into a csv file. If enabled, the csv file will be created in the same folder where the sample code is located and will follow the naming scheme //CN0548_[timestamp]//Data is automatically written upon parsingHence, even if the program is prematurely terminatedall parsed data are recorded. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:csv_file.png?400 |}}\\ \\
-When the plot window is not utilizednew data measurements are immediately saved into the csv file as new data points are read from the boardOn the other hand, when the plot window is active, data points will only be saved upon closing the plot window. This is done in order to facilitate a smoother environment. Note that premature termination of the program by directly closing the terminal will result to loss of data. This reminder is also displayed in the plot window whenever data logging is enabled.  {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:non-tracking.png?600 |}} \\+
  
 ===Memory Feature=== ===Memory Feature===
-{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:old_overview.png?600 |}}The memory feature of the board allows the user to quickly configure the sample code using the setup from the previous session in order to begin sensing data immediately. This is done by saving all user input and creating a //session_record// text file in the same directory where the sample code is located. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record.png?600 |}}Note that the contents of the session record file is not encrypted and is easily understandable. Each line begins with a number which corresponds to a certain setting. For instance, 1 corresponds to the Unipolar voltage setting and 2 will correspond to the Bipolar voltage setting. Hence, if the user just wants to reconfigure a minor aspect of the setup (use tracking mode instead non-tracking, adjust the sampling rate, enable or disable data logging, etc.), the user can quickly reconfigure the sample code by editing the //session_record// file. The program is able to detect whether the set of specifications in the session record is valid or not. If the configuration set by the user is not valid, the program will still proceed as usual and will assume no session record file was detected. \\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record_detected.png?600 |}} If the user chooses to use the configuration loaded from the session record, the only query left to be answered is the port where the ADICUP3029 is attachedThe program does not save the previous port used since the device might be connected in a different port of the machine.+{{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:old_overview.png?600 |}}The memory feature of the board allows the user to quickly configure the sample code using the setup from the previous session in order to begin sensing data immediately. This is done by saving all user input and creating a //session_record// text file in the same directory where the sample code is located. {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record.png?600 |}} Note that the contents of the session record file is not encrypted and is easily understandable. Each line begins with a number which corresponds to a certain setting. For instance, 1 corresponds to the Unipolar voltage setting and 2 will correspond to the Bipolar voltage setting. Hence, if the user just wants to reconfigure a minor aspect of the setup (use tracking mode instead non-tracking, adjust the sampling rate, enable or disable data logging, etc.), the user can quickly reconfigure the sample code by editing the //session_record// file. The program is able to detect whether the set of specifications in the session record is valid or not. If the configuration set by the user is not valid, the program will still proceed as usual and will assume no session record file was detected. \\ \\ {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548:session_record_detected.png?600 |}}  
 +\\ 
 +==== Video Guides ==== 
 +\\ 
 +=== Unboxing === 
 +Soon. 
 +\\ 
 +=== Running the Sample Script === 
 +Soon. 
 +\\ 
 +------------ 
 +===== Schematic, Layout, Bill of Materials ===== 
 +<WRAP round 80% download> 
 + 
 +  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 02-064948-01-b.pdf | Schematic}} 
 +  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 08-064948-01-b.pdf | PCB Layout}} 
 +  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 20_064948b.zip | Allegro Project}} 
 +  * {{ :resources:eval:user-guides:circuits-from-the-lab:cn0548: 05-064948-01-b.zip |Bill of Materials}} 
 + 
 +</WRAP> 
 +\\ 
 +------------ 
 +===== Registration =====  
 +<WRAP round tip 80% > 
 +Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware [[reg>EVAL-CN0548-RPIZ?&v=Rev B|Register]] to receive all these great benefits and more!</WRAP>
resources/eval/user-guides/circuits-from-the-lab/cn0548.txt · Last modified: 04 Feb 2022 08:10 by Harvey John De Chavez