Operácie

MEMS cvičenie 2: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
Bez shrnutí editace
Riadok 1: Riadok 1:


== Potenciometrické snímače ==
== Potenciometrické snímače ==
1. Zmerajte prevodovú charakteristiku odporového senzora polohy pomocou ohmmetra.
2. Senzor pripojte k A/D prevodníku mikropočítača a pomocou programu nižšie zmerajte
prevodovú charakteristiku celého meracieho člena.
3. Prevodovú charakteristiku zlinearizujte a doložte úspešnosť porovnaním metrologických parametrov.




Riadok 11: Riadok 20:


<source lang="cpp">
<source lang="cpp">
#define SerialSpeed 9600  //typical values are 9600 or 115200
 
#define SampFrequency 10  //sampling frequency in Hz (cycles per second)
#define positionSensor 5       // define your pin here
#define positionSensor 5       //define your pin here
 
int mDelay;
int adcValue;
int adcValue;
float outputValue;
float outputValue;
Riadok 21: Riadok 28:
void setup()
void setup()
{
{
  Serial.begin(SerialSpeed);
  Serial.begin(9600);           // typical values are 9600 or 115200
  mDelay = 1000/SampFrequency; //calculate delay for proper sampling rate
  mDelay = 1000/SampFrequency; // calculate delay for proper sampling rate
}
}
   
   
void loop()
void loop()
{
{
  adcValue = analogRead(positionSensor);
  adcValue = analogRead(positionSensor); // read ADC value
  /*  =============================================== */
 
  outputValue = adcValue;   // replace this line with your code
  /*  ======= replace this section with your code ===== */
  /*  =============================================== */
 
  Serial.print( outputValue ); //reads the analog port and prints value over serial
  outputValue = adcValue;      
Serial.print('\n');
 
  delay(mDelay); //delay in milliseconds
  /*  ================================================== */
 
  Serial.println( outputValue ); // prints value over serial
 
  delay(100);                     // delay in milliseconds


}
}
Riadok 40: Riadok 51:




== Linearizácia prevodovej charakteristiky ==






== 1. Look-up table ==
=== 1. Look-up table ===




Riadok 55: Riadok 68:




== 2. Po častiach lineárna náhrada ==
=== 2. Po častiach lineárna náhrada ===


<source lang="cpp">
<source lang="cpp">
Riadok 66: Riadok 79:




== 3. Aproximácia funkcie ==
=== 3. Aproximácia funkcie ===




Riadok 79: Riadok 92:




'''Odovzdať:'''  
== Úlohy ==
 
'''Úlohy, ktoré treba odovzdať:'''  


* Chyby podľa EN 60 770
* Chyby podľa EN 60 770
Riadok 91: Riadok 106:
* Program pre mikroprocesor
* Program pre mikroprocesor


[[Súbor:Example2-1.png|500px]]
[[Súbor:Example1-1.png|500px]]
 
Hodnotenie: 3 body
 
Deadline: <FONT COlor="red">'''27. 2. 2018 '''</font>





Verzia z 16:26, 15. február 2018

Potenciometrické snímače

1. Zmerajte prevodovú charakteristiku odporového senzora polohy pomocou ohmmetra.

2. Senzor pripojte k A/D prevodníku mikropočítača a pomocou programu nižšie zmerajte prevodovú charakteristiku celého meracieho člena.

3. Prevodovú charakteristiku zlinearizujte a doložte úspešnosť porovnaním metrologických parametrov.


Schéma zapojenia


#define positionSensor 5       // define your pin here

int adcValue;
float outputValue;

void setup()
{
 Serial.begin(9600);           // typical values are 9600 or 115200
 mDelay = 1000/SampFrequency;  // calculate delay for proper sampling rate
}
 
void loop()
{
 adcValue = analogRead(positionSensor); // read ADC value

 /*  =======  replace this section with your code ===== */

 outputValue = adcValue;       

 /*  ================================================== */

 Serial.println( outputValue );  // prints value over serial

 delay(100);                     // delay in milliseconds

}



Linearizácia prevodovej charakteristiky

1. Look-up table

 #include <avr/pgmspace.h>

 const PROGMEM int table[] = {11,12,15,...};

Viac info tu: https://www.arduino.cc/en/Reference/PROGMEM


2. Po častiach lineárna náhrada

 if (adcValue > x1) && (adcValue <= x2)
   y = k2 & adcValue + q2;

 return(y)


3. Aproximácia funkcie


Úlohy

Úlohy, ktoré treba odovzdať:

  • Chyby podľa EN 60 770
    • Nepresnosť
    • Meraná chyba
    • Nelinearita
    • Hysteréza
    • Neopakovateľnosť
  • Graf 1: prevodová charakteristika
  • Graf 2: chybové krivky (viď obr.)
  • Program pre mikroprocesor

Hodnotenie: 3 body

Deadline: 27. 2. 2018


Návrat na zoznam cvičení...