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
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0415 [26 Feb 2019 20:53] Brandon Busheyresources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0415 [19 Aug 2021 07:12] (current) – title word spell edit erbe reyta
Line 1: Line 1:
-====== Solenoind Closed Loop Control Demo ======+====== Solenoid Closed Loop Control Demo ======
  
 The **ADuCM3029_demo_cn0415** provides a solution for controlling and monitoring solenoid actuator current, using an **EVAL-CN0415-ARDZ** shield installed on an **EVAL-ADICUP3029** base board. The user interface is implemented as a command line interface (CLI) through a serial UART connection. The project is created using **CrossCore Embedded Studio** and **GNU ARM compiler**. The **ADuCM3029_demo_cn0415** provides a solution for controlling and monitoring solenoid actuator current, using an **EVAL-CN0415-ARDZ** shield installed on an **EVAL-ADICUP3029** base board. The user interface is implemented as a command line interface (CLI) through a serial UART connection. The project is created using **CrossCore Embedded Studio** and **GNU ARM compiler**.
Line 66: Line 66:
 ===== Setting up the Hardware ===== ===== Setting up the Hardware =====
  
-  - Connect **EVAL-CN0415-ARDZ** board to the **EVAL-ADICUP3029**. {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0415_stacked_adicup3029.jpg?nolink | CN0415 stacked on ADICUP3029}}+  - Connect **EVAL-CN0415-ARDZ** board to the **EVAL-ADICUP3029**. {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0415_adicup3029_dock.jpeg | CN0415 docked on ADICUP3029 }}
   - Connect a micro-USB cable to **P10** connector of the **EVAL-ADICUP3029** and connect it to a computer.   - Connect a micro-USB cable to **P10** connector of the **EVAL-ADICUP3029** and connect it to a computer.
   - Connect a solenoid actuator to the **P8** connector with the positive wire on pin 1 and negative wire on pin 2.   - Connect a solenoid actuator to the **P8** connector with the positive wire on pin 1 and negative wire on pin 2.
-  - Connect a 12V power supply to the **P1** connector with the positive wire on pin 1 and negative wire on pin 2.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:powered_cn0415.jpg?nolink Powered CN0415 board with solenoid}}+  - Connect a 12V power supply to the **P1** connector with the positive wire on pin 1 and negative wire on pin 2.{{ :resources:eval:user-guides:eval-adicup3029:reference_designs:cn0415_fully_connected.jpeg | CN0415 power up }}
   - Turn on power supply.   - Turn on power supply.
 ===== Configuring the Software ===== ===== Configuring the Software =====
Line 88: Line 88:
 ===== Outputting Data ===== ===== Outputting Data =====
  
-==== Serial Terminal Output ==== +{{page>/wiki/common#serial_terminal_setup&nofooter&noheader}}
- +
-The program outputs data and **CLI** interface to a serial terminal through **UART**. +
- +
-  - In order to view the data, you must flash the program to the EVAL-ADICUP3029. +
-  - Then follow the UART settings below with the serial terminal program. +
- +
-Following is the UART configuration. +
-    Select COM Port +
-    Baud rate: 115200 +
-    Data: 8 bit +
-    Parity: none +
-    Stop: 1 bit +
-    Flow Control: none +
-\\ +
-The terminal program must interpret new line as **LF** and **local echo** must be enabled.+
  
 ==== Available commands ==== ==== Available commands ====
  
-Typing **help** or **h** after initial calibration sequence will display the list of commands and their short versions. Bellow is the short command list:+Typing **help** or **h** after initial calibration sequence will display the list of commands and their short versions. Below is the short command list:
  
 ^Type ^ Command                   ^ Description ^ ^Type ^ Command                   ^ Description ^
-|PWM| //h//                  | Display available commands | +|System| //h//                  | Display available commands | 
-|  | //f//                  | Set frequency to the specified value\\ <//freq//> = value of the new frequency\\ 1Hz to 4MHz frequency is possible. | + | //rst//                | Reset controller, parameters and faults |  
-|  | //d//                  | Set duty cycle to the specified value\\ <//duty//> = value of the new duty cycle\\ The duty cycle is from 0 representing 0% and 10000 representing 100%. Example: 5234 = 52.34%. | +|  | //stts//               | Show application status and parameters |  
-|Duty Cycle| //r//                  | Read and display the value of the ADC |+|  | //clb//                | Run calibration sequence |  
 +|Control  | //f//\\ ex: **f 5000<enter>**\\ (set frequency to 5kHz)              | Set frequency to the specified value\\ <//freq//> = value of the new frequency\\ 1Hz to 4MHz frequency is possible.| 
 +|  | //d//\\ ex: **d 5234<enter>**\\ (set duty cycle to 52.34%.)                  | Set duty cycle to the specified value\\ <//duty//> = value of the new duty cycle\\ The duty cycle is from 0 representing 0% and 10000 representing 100%. | 
 + | //r//                  | Read and display the value of the ADC |
 |  | //ad//                 | Activate PWM dither functionality |  |  | //ad//                 | Activate PWM dither functionality | 
 |  | //rd//                 | Deactivate PWM dither functionality |  |  | //rd//                 | Deactivate PWM dither functionality | 
-|  | //df//                 | Set dither frequency to the given value\\ <//freq//> = value of the new frequency\\ Recommended to be maximum the PWM frequency divided by 10. |  +|  | //df//\\ ex: **df 50<enter>**\\ (set dither freq. to 50Hz)                 | Set dither frequency to the given value\\ <//freq//> = value of the new frequency\\ Recommended maximum value of the PWM frequency divided by 10. |  
-| //da//                 | Set dither amplitude\\ <//duty//> = value of the amplitude in duty cycle variation\\ Any value between 0 and 10000, same as duty cycle. Recommended to be lower than the lowest value needed for the duty cycle to be 0 or full scale. |  +|  | //da//\\ ex: **da 200<enter>**\\ (set dither amplitude to 2%)                 | Set dither amplitude\\ <//duty//> = value of the amplitude in duty cycle variation\\ Any value between 0 and 10000, same as duty cycle.\\ Recommended to be lower than the lowest value needed\\ for the duty cycle to be 0 or full scale. |  
-| //ap//                 | Activate PID controller |  +|PID  | //ap//                 | Activate PID controller |  
-| //rp//                 | Deactivate PID controller |  +|  | //rp//                 | Deactivate PID controller |  
-| //kp//                 | Set PID Kp constant\\ <//kp//> = value of the new Kp constant\\ From zero to maximum number represented by a 32 bit float value. |  +|  | //kp//\\ ex: **kp 5000.0<enter>**\\ (set kp to 5000)                 | Set PID Kp constant\\ <//kp//> = value of the new Kp constant\\ From zero to maximum number represented by a 32 bit float value. |  
-| //ki//                 | Set PID Ki constant\\ <//ki//> = value of the new Ki constant\\ From zero to maximum number represented by a 32 bit float value. |  +|  | //ki//\\ ex: **ki 1.5<enter>**\\ (set ki to 1.5)                 | Set PID Ki constant\\ <//ki//> = value of the new Ki constant\\ From zero to maximum number represented by a 32 bit float value. |  
-| //kd//                 | Set PID Kd constant\\ <//kd//> = value of the new Kd constant\\ From zero to maximum number represented by a 32 bit float value. |  +|  | //kd//\\ ex: **kd 0.25<enter>**\\ (set kd to 0.25)                 | Set PID Kd constant\\ <//kd//> = value of the new Kd constant\\ From zero to maximum number represented by a 32 bit float value. |  
-| //spf//                | Set PID sampling frequency\\ <//freq//> = value of the new frequency\\ Recommended to be at most equal with the dither frequency. |  +|  | //spf//\\ ex: **spf 100<enter>**\\ (set sample freq. to 100Hz)                | Set PID sampling frequency\\ <//freq//> = value of the new frequency\\ Recommended to be at most equal with the dither frequency. |  
-| //sps//                | Set PID set point(hold value)\\ <//sp//> = new hold value in A or 0.01%(duty cycle)\\ From 0 to 1 amperes or from 1 to 10000 as duty cycle. |  +|  | //sps//\\ ex: **sps 2500<enter>**\\ (setpoint to 25%)                | Set PID set point(hold value)\\ <//sp//> = new hold value in A or 0.01%(duty cycle)\\ From 0 to 1 amperes or from 1 to 10000 as duty cycle. |  
-| //dson//               | Set digital solenoid high |  +|Digital  | //dson//               | Set digital solenoid high |  
-| //dsof//               | Set digital solenoid low |  +|  | //dsof//               | Set digital solenoid low |  
-| //pss//                | Set and activate proportional solenoid\\ <//val//> = value of the current or duty cycle\\ from 0 to 1 amperes. |  +|Proportional  | //pss//\\ ex: **pss 2500<enter>**\\ (setpoint to 25%)                | Set and activate proportional solenoid\\ <//val//> = value of the current or duty cycle\\ from 0 to 1 amperes. |  
-| //rst//                | Reset controller, parameters and faults |  +
-| //stts//               | Show application status and parameters |  +
-| //clb//                | Run calibration sequence | +
  
 {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:wiki_pic.png?nolink | Terminal example}} {{ :resources:eval:user-guides:eval-adicup3029:reference_designs:wiki_pic.png?nolink | Terminal example}}
  
-===== Obtaining the Source Code =====+===== Obtaining the Software =====
  
-We recommend not opening the project directly, but rather import it into CrossCore Embedded Studios and make a local copy in your workspace+There are two basic ways to program the ADICUP3029 with the software for the CN0415. 
 +  - Dragging and Dropping the .Hex to the Daplink drive 
 +  - Building, Compiling, and Debugging using CCES
  
-The source code and include files of the **ADuCM3029_demo_cn0415** can be found here:+Using the drag and drop method, the software is going to be a version that Analog Devices creates for testing and evaluation purposes.  This is the EASIEST way to get started with the reference design
  
-<WRAP round 80% download>+Importing the project into CrossCore is going to allow you to change parameters and customize the software to fit your needs, but will be a bit more advanced and will require you to download the CrossCore toolchain.   
 + 
 +The software for the **ADuCM3029_demo_cn0415** can be found here:
  
-[[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0415 | AduCM3029_demo_cn0415 at Github]]+<WRAP round 80% download> 
 +Prebuilt CN0415 Hex File 
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/releases/download/Latest/ADuCM3029_demo_cn0415.hex| AduCM3029_demo_cn0415.Hex]] 
 +Complete CN0415 Source Files 
 +  * [[https://github.com/analogdevicesinc/EVAL-ADICUP3029/tree/master/projects/ADuCM3029_demo_cn0415| AduCM3029_demo_cn0415 Source Code]]
    
 </WRAP> </WRAP>
resources/eval/user-guides/eval-adicup3029/reference_designs/demo_cn0415.1551210787.txt.gz · Last modified: 26 Feb 2019 20:53 by Brandon Bushey