Meranie odporov: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
|||
Riadok 43: | Riadok 43: | ||
</source></tab> | </source></tab> | ||
<tab name="Arduino"><syntaxhighlight lang=c style="background: Cornsilk"> | <tab name="Arduino"><syntaxhighlight lang=c style="background: Cornsilk"> | ||
void setup() { | |||
Serial.begin(9600); | |||
while (!Serial) | |||
{ | |||
; // wait for serial port to connect. Needed for native USB port only | |||
} | |||
} | |||
long int adcVal0 = 0; | |||
long int adcVal1 = 0; | |||
int incomingByte = 0; | |||
void loop() { | |||
adcVal0 = 0; | |||
adcVal1 = 0; | |||
for (int i=1;i<=64;i++) | |||
{ | |||
adcVal0 += analogRead(0); | |||
adcVal1 += analogRead(1); | |||
} | |||
adcVal0 = adcVal0>>6; | |||
adcVal1 = adcVal1>>6; | |||
Serial.print(adcVal0); | |||
Serial.print(","); | |||
Serial.println(adcVal1); | |||
delay(300); | |||
} | |||
void serialEvent() | |||
{ | |||
while (Serial.available()) | |||
{ | |||
incomingByte = Serial.read(); | |||
analogWrite(3,incomingByte); | |||
analogWrite(11,incomingByte); | |||
} | |||
} | |||
</syntaxhighlight></tab> | </syntaxhighlight></tab> | ||
</tabs> | </tabs> | ||
[[Category:ELSA]] | [[Category:ELSA]] |
Verzia z 10:07, 21. október 2020
Ak už máte doma všetky potrebné súčiastky a podarilo sa vám rozchodiť základný Merací systém s Arduino Nano, môžeme pokračovať meraniami odporov.
Súčiastky je vhodné si usporiadať do nejakej krabičky, alebo aspoň pooznačovať.
Ďalej je potrebné súčiastky, ktoré máte v balíčku nejako roztriediť a identifikovať. S väčšinou asi problém nebudete mať, ale odpory by bolo vhodné nejako premerať, aby ste mali istotu, že použijete potom ten správny.
Meranie 1: Určovanie odporov
Na meranie veľkosti odporu rezistorov použijeme jednoduchý odporový delič. V balíčku máte odpory 10 k, ktoré viete jednoznačne určiť, pretože ich je 6ks. Preto známy odpor R1 v deliči bude tvorený práve týmto odporom. Druhý odpor bude postupne každý z tých ostatných. Náš merací systém Arduino vie merať len napätia, preto budeme merať napätie na hornom konci rezistora R1 (malo by byť stále rovnaké: +5,0 V) a napätie na deliči. Z rozdielu napätí na rezistore R1 vieme pri jeho známej hodnote vypočítať, aký prúd I cez delič preteká. Zo známosti prúdu a napätia na rezistore R2 vieme určiť jeho hodnotu. Takéto meranie nebude celkom presné, ale na určenie hodnoty rezistora, resp. jej potvrdenie (lebo pásikmi si viete určiť aký odpor by to asi mal byť) bude postačovať.
Meranie 2: Vnútorný odpor batérie
Na jednom z predošlých cvičaní sme počítali vnútorný odpor batérie. Tentoraz si ho vyskúšame odmerať. Pre tento účel máte medzi súčiastkami jeden rezistor s naozaj malou hodnotou odporu 2,6 Ohmu. Zmerajte napätie "tužkovej" batérie AA 1,5 V najprv naprázdno a potom pri zaťažení týmto rezistorom. POZOR: meranie s rezistorom treba spraviť rýchlo a dávajte si pri tom pozor na teplotu!!! Rezistor sa veľmi rýchlo zohreje a mohli by ste sa ľahko popáliť!!! Takisto je možné, že pri dlhšom zaťažení prekročíte maximálny dovolený stratový výkon 0,25W a odporová vrstva prehorí, takže meranie nebudete vedieť zopakovať.
Z rozdielov napätí naprázdno a pri známej záťaži 2,6 vypočítajte vnútorný odpor batérie.
Úloha
Výsledky oboch meraní spracujte vo forme referátu a odovzdajte cez Google Classroom.
Software
Nižšie nájdete software, potrebný na meranie. Najprv treba preložiť a nahrať program do Arduina, potom spustiť program v Processingu. Nezabudnite nastaviť správny sériový port!
void setup() {
Serial.begin(9600);
while (!Serial)
{
; // wait for serial port to connect. Needed for native USB port only
}
}
long int adcVal0 = 0;
long int adcVal1 = 0;
int incomingByte = 0;
void loop() {
adcVal0 = 0;
adcVal1 = 0;
for (int i=1;i<=64;i++)
{
adcVal0 += analogRead(0);
adcVal1 += analogRead(1);
}
adcVal0 = adcVal0>>6;
adcVal1 = adcVal1>>6;
Serial.print(adcVal0);
Serial.print(",");
Serial.println(adcVal1);
delay(300);
}
void serialEvent()
{
while (Serial.available())
{
incomingByte = Serial.read();
analogWrite(3,incomingByte);
analogWrite(11,incomingByte);
}
}