Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: AnalogIn_Diff_ok mbed
main.cpp@2:bf4f474ff746, 2014-07-11 (annotated)
- Committer:
- fblanc
- Date:
- Fri Jul 11 13:01:16 2014 +0000
- Revision:
- 2:bf4f474ff746
- Parent:
- 1:c340607e4661
- Child:
- 3:f1ab02bc87f3
test acplc87 230Vac ok;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| fblanc | 0:9eeda5b17b5b | 1 | #include "mbed.h" |
| fblanc | 0:9eeda5b17b5b | 2 | #include "math.h" |
| fblanc | 0:9eeda5b17b5b | 3 | #include "MovingAverage.h" |
| fblanc | 2:bf4f474ff746 | 4 | #define VERSION "11_07_2014" |
| fblanc | 2:bf4f474ff746 | 5 | #define CIBLE "K64F" |
| fblanc | 0:9eeda5b17b5b | 6 | //USBSerial pc; |
| fblanc | 1:c340607e4661 | 7 | #define max(a,b) (a>=b?a:b) |
| fblanc | 1:c340607e4661 | 8 | #define min(a,b) (a<=b?a:b) |
| fblanc | 1:c340607e4661 | 9 | struct { |
| fblanc | 2:bf4f474ff746 | 10 | float gain; |
| fblanc | 2:bf4f474ff746 | 11 | float offset; |
| fblanc | 0:9eeda5b17b5b | 12 | //AnalogIn adc; |
| fblanc | 1:c340607e4661 | 13 | } adc_volt,adc_curr; |
| fblanc | 0:9eeda5b17b5b | 14 | Serial pc(USBTX, USBRX); |
| fblanc | 0:9eeda5b17b5b | 15 | AnalogIn adc_1(PTB2); |
| fblanc | 0:9eeda5b17b5b | 16 | AnalogIn adc_2(PTB3); |
| fblanc | 0:9eeda5b17b5b | 17 | Ticker flipperADC; |
| fblanc | 0:9eeda5b17b5b | 18 | DigitalOut led1(LED_RED); |
| fblanc | 0:9eeda5b17b5b | 19 | DigitalOut led2(LED_GREEN); |
| fblanc | 0:9eeda5b17b5b | 20 | DigitalOut led3(LED_BLUE); |
| fblanc | 2:bf4f474ff746 | 21 | MovingAverage<float> Trms(100,230); |
| fblanc | 2:bf4f474ff746 | 22 | MovingAverage<float> moy(100,0); |
| fblanc | 1:c340607e4661 | 23 | float min=250000; |
| fblanc | 1:c340607e4661 | 24 | float max=0; |
| fblanc | 1:c340607e4661 | 25 | bool min_OK=false; |
| fblanc | 1:c340607e4661 | 26 | void flipADC() |
| fblanc | 1:c340607e4661 | 27 | { |
| fblanc | 1:c340607e4661 | 28 | float val; |
| fblanc | 0:9eeda5b17b5b | 29 | led1=1; |
| fblanc | 0:9eeda5b17b5b | 30 | int val_i32=adc_2.read_u16()-adc_1.read_u16(); //read ADC |
| fblanc | 0:9eeda5b17b5b | 31 | |
| fblanc | 2:bf4f474ff746 | 32 | val=(float)val_i32*adc_volt.gain-adc_volt.offset; |
| fblanc | 2:bf4f474ff746 | 33 | moy.Insert(val); |
| fblanc | 2:bf4f474ff746 | 34 | Trms.Insert(val*val); |
| fblanc | 2:bf4f474ff746 | 35 | val=Trms.GetAverage(); |
| fblanc | 1:c340607e4661 | 36 | max=max(val,max); |
| fblanc | 1:c340607e4661 | 37 | if(min_OK==true) |
| fblanc | 1:c340607e4661 | 38 | min=min(val,min); |
| fblanc | 1:c340607e4661 | 39 | led1=0; |
| fblanc | 1:c340607e4661 | 40 | } |
| fblanc | 0:9eeda5b17b5b | 41 | |
| fblanc | 1:c340607e4661 | 42 | int main() |
| fblanc | 1:c340607e4661 | 43 | { |
| fblanc | 0:9eeda5b17b5b | 44 | led1=1; |
| fblanc | 0:9eeda5b17b5b | 45 | led2=0; |
| fblanc | 0:9eeda5b17b5b | 46 | led3=1; |
| fblanc | 1:c340607e4661 | 47 | pc.baud(115200); |
| fblanc | 2:bf4f474ff746 | 48 | pc.printf("LAAS-CNRS ,HMA ,%s ,%s\r",CIBLE,VERSION); |
| fblanc | 2:bf4f474ff746 | 49 | adc_volt.gain=(1960.0*3.3)/65535.0; |
| fblanc | 2:bf4f474ff746 | 50 | adc_volt.offset=-17.0; |
| fblanc | 1:c340607e4661 | 51 | |
| fblanc | 1:c340607e4661 | 52 | flipperADC.attach_us(&flipADC, 200); //200µs |
| fblanc | 2:bf4f474ff746 | 53 | wait (5); |
| fblanc | 1:c340607e4661 | 54 | min_OK=true; |
| fblanc | 0:9eeda5b17b5b | 55 | while (true) { |
| fblanc | 1:c340607e4661 | 56 | |
| fblanc | 0:9eeda5b17b5b | 57 | |
| fblanc | 0:9eeda5b17b5b | 58 | led3=1; |
| fblanc | 0:9eeda5b17b5b | 59 | |
| fblanc | 2:bf4f474ff746 | 60 | pc.printf("RMS=%f \r\n",sqrt(Trms.GetAverage())); |
| fblanc | 2:bf4f474ff746 | 61 | pc.printf("min=%0.0f max=%0.0f\r\n",sqrt(min),sqrt(max)); |
| fblanc | 2:bf4f474ff746 | 62 | pc.printf("moy=%f \r\n",moy.GetAverage()); |
| fblanc | 0:9eeda5b17b5b | 63 | led3=0; |
| fblanc | 1:c340607e4661 | 64 | wait (1); |
| fblanc | 0:9eeda5b17b5b | 65 | } |
| fblanc | 0:9eeda5b17b5b | 66 | } |
ADC DIFF K64F