Operácie

Parkovací senzor: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
Bez shrnutí editace
Riadok 4: Riadok 4:
* priložiť VŠETKY zdrojáky, nielen úryvok
* priložiť VŠETKY zdrojáky, nielen úryvok
* zdôvodniť výpočty
* zdôvodniť výpočty
* zdôvodniť zapojenie, menič atď.
* zdôvodniť zapojenie, menič (link na kalkulačku) atď.
* k nameraným hodnotám aj graf
* k nameraným hodnotám aj graf
* kde vstupuje signál zo senzora do procesora?





Verzia z 13:36, 19. december 2012

TODO (19.12.2012 RB):

  • uviesť presný typ senzora, prípadne link na datasheet
  • priložiť VŠETKY zdrojáky, nielen úryvok
  • zdôvodniť výpočty
  • zdôvodniť zapojenie, menič (link na kalkulačku) atď.
  • k nameraným hodnotám aj graf
  • kde vstupuje signál zo senzora do procesora?


  • Vypracovala:
Bc. Zuzana Špitálová
  • Študijný odbor: Aplikovaná mechatronika
  • Ročník: 2. Ing.


Ako projekt som realizovala zapojenie s parkovacím senzorom. Parkovací senzor obsahuje 3 kontakty (VCC, DATA, GND). Ide o ultrazvukový typ senzora odrážajúci signál od prekážok. Napájacie napätie senzora je 12 V, keďže ide o automobilový komponent. Keďže moje zapojenie je napájané z USB zbernice (5 V), bolo potrebné napájacie napätie transformovať. Na transformáciu som použila DC-DC menič v zapojení step-up. Na zobrazovanie veličín som použila alfanumerický displej 2x16. Celý systém je ovládaný procesorom ATMEGA 8-16PU.


Princíp merania s parkovacím senzorom

Ako som už spomenula, senzor obsahuje 3 vývody. Komunikačný pin, DATA, je spojený pull-up odporom s VCC. Nakoľko senzor je prijímač aj vysielač, signál treba podeliť dvomi, aby sme dostali hodnotu jednej vzdialenosti. Pre spustenie merania sa dátová linka uzemni na log 0 na dobu 300 µs. Po tomto spúšťacom signáli senzor vyšle ultrazvukový impulz približne 500 µs. Dátová linka zareaguje, nakoľko sa jej hodnota zmení na log 0. Následne senzor čaká na odrazenú vlnu, čo predstavuje opätovnú zmenu dátovej linky na log 0. Na vyhodnotenie vzdialenosti stačí merať čas dvoch dobežných hrán, ktoré vznikli. Aby som dostala vzdialenosť, čas je potrebné prenásobiť konštantou šírenia sa zvuku v prostredí, ktorej hodnota je 3,45 cm / s.



Obr. 1. Parkovací senzor



Obr. 2. Schéma zapojenia



Na obojsmernú komunikáciu s parkovacím senzorom som použila bipolárne tranzistory BC337, ktoré zabezpečujú prevod z úrovní 12 V a 5 V. Na displeji zobrazujem údaje o nameranej vzdialenosti a čase odrazenej vlny. Tieto údaje sú spriemerované po 20 hodnôt. Na prevod napätí používam DC-DC menič MC34063, ktorého hodnoty na prevod som vypočítala na online kalkulačke. Samozrejme výstupné napätie sa môže líšiť v závislosti od použitých súčiastok. Celé zapojenie som zrealizovala na kontaktom poli.



Ukážka kódu z nekonečnej slučky

while(1)
{
	lcd_gotoxy(0,0);	//suradnice

	PORTB |= (1 << PB1);	//inicializacia parkovacieho senzora
 	_delay_us(300);
      	PORTB &= ~(1 << PB1);
      
      	measure = 1;		//meraj vzdialenost
      	_delay_ms(28);
		
	if (i < 20)
	{
		distance +=  (((double)count * SOUND_SPEED) / 200);     //vypocitaj a zapis vzdialenost
		i++;
	}
	else
	{
		i = 0;
		distance = distance / 20;
		sprintf(tmp,"Vzdial.:%.2fcm  \nCas:%dus  ", distance, count);
		lcd_puts(tmp);
	}
}


Tab. 1. Tabuľka nameraných hodnôt


Obr. 3. Realizácia zapojenia 1


Obr. 4. Realizácia zapojenia 2



Zhodnotenie


Namerané hodnoty sa líšia od zobrazených v dôsledku chyby pri konverzii čísel, nepresnosti súčiastok a iných vplyvov. V prípade úpravy periódy zobrazovania, by nebolo potrebné priemerovať až 20 hodnôt získaných údajov. Tento fakt som využila inverzne, čím viac priemerovaných hodnôt, tým menej blikania (menšia presnosť).