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)
Riadok 48: Riadok 48:


  const PROGMEM int table[] = {11,12,15,...};
  const PROGMEM int table[] = {11,12,15,...};
<source lang="cpp">
</source>


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


  return(y)
  return(y)
<source lang="cpp">
</source>





Verzia z 10:43, 23. február 2017

  • Návod na cvičenia:



#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
 
int mDelay;
int adcValue;
float outputValue;

void setup()
{
 Serial.begin(SerialSpeed);
 mDelay = 1000/SampFrequency; //calculate delay for proper sampling rate
}
 
void loop()
{
 adcValue = analogRead(positionSensor);
 /*  =============================================== */
 outputValue = adcValue;   // replace this line with your code 
 /*  =============================================== */
 Serial.print( outputValue ); //reads the analog port and prints value over serial
 Serial.print('\n');
 delay(mDelay); //delay in milliseconds

}




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


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


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