SVETELEKTRO

20. novembra 2011   Verzia pre tlač Verzia pre tlač

Ako komunikovať s parkovacími senzormi


zawin

Článok opisuje spôsob komunikácie s parkovacími senzormi a spôsob aplikácie s procesorom AVR MEGA8.

Dostal som ako dar parkovacie senzory. Chcel som zistiť akým spôsobom komunikujú s riadiacou jednotkou. Je to veľmi užitočné zistenie nakoľko kto vlastní len parkovacie senzory, nemusí kupovať drahú riadiacu jednotku ale môže si ju vyrobiť vlastnými silami. Takisto nemusí byť toto zariadenie použité len v aute ako pomoc pri parkovaní.

Overená funkčnosť senzorov: 3UA 919 275, 1T0 919 297, 4H0 919 275
Určite budú fungovať senzory od iných výrobcov v tvare: XXX 919 275

Pozrime sa teda na to ako daná informácia medzi riadiacou jednotkou a parkovacím senzorom vyzerá:

Parkovací senzor má 3 vývody – VCC, DATA, GND.
Linka DATA je cez pull-up odpor spojená s VCC. Senzor je zároveň vysielač aj prijímač ultrazvukej vlny.

Pre spustenie merania zopneme linku DATA po dobu 300us na log 0 (GND). Po tomto zopnutí senzor vyšle ultrazvukový impulz o dĺžke zhruba 500us. Toto vyslanie je indikované zmenou úrovne DATA do log 0.
Senzor následne čaká na odrazenú vlnu. Keď ju zaznamená linka DATA sa preklopí do log 0.
Je to vcelku jednoduché. Pre meranie vzdialenosti nám teda postačí merať vzdialenosť dvoch dobežných hrán, ktoré vznikli. Tento čas treba následne vydeliť dvoma, pretože vlna prešla vzdialenosť tam + späť a prenásobiť konštantou rýchlosti šírenia zvuku.

Veľmi jednoducho vyzerá aj schéma zapojenia. Na obojsmernú komunikáciu s parkovacím senzorom sú použité 2 NPN tranzistory, ktoré sa starajú o prevod z úrovní 12V a 5V. Na displeji je zobrazený údaj o nameranej vzdialenosti a času odrazenej vlny.
Program pre mikrokontrolér je napísaný v jazyku C a je ako ukážkový pre vysvetlenie algoritmu merania. Program si teda môžete upraviť podľa vašich predstáv napr. na zvukovú indikáciu vzdialenosti a pod..


DOWNLOAD:
Schéma zapojenia, Zdrojové súbory

Video:

Ako sa vám páčil tento článok?
  • Páči sa mi (0)
  • Súhlasím (0)
  • Zábavné (0)
  • Informatívne (0)
Najnovšie články od zawin (zobraziť všetky)

Komentáre (11)

  1. elmoto píše:

    No super. Cakal som nieco zlozitejsie. So myslel, ze kazdy snimac ma svoj jedinecny kod a komunikuje to po seriovej linke. Takto je to naozaj jednoduche. Velka vdaka. Budem to musiet prekodit na ATmega16 a hned idem testovat co mam doma.

  2. Kado píše:

    inak jednym ockom som pozrel „ukazkovy“ program a hned prve co sa mne osobne nepaci, ze tam pocitas premennu cez typ double, chudak 8bit ma sa co obracat, je pravda, ze tam nic ine nerobis, ale skoro vzdy sa da dana premenna vyjadrit celociselne…

  3. po4433 píše:

    Kde by sa dal taký senzor kúpiť ? Ak sa to ovšem dá na ks. Najlepšie s tých troch overených

  4. OM0XA píše:

    Oplati sa pouzit moduly HC-SR04 pre Arduino. Su lacne a komunikacia je jednoducha. Meranie sa spusta impulzom a nasledne sa meria dlzka impulzu, ktory pride ako odpoved. Z tohto casu a rychlosti zvuku sa vypocita vzdialenost.

    http://www.ebay.co.uk/itm/HC-SR04-Ultrasonic-Distance-Sensor-Measurement-Range-4-Arduino-PIC-ATMEL-HCSR04-/251076672598?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item3a7555fc56

    • aladar píše:

      Tiez ma napadlo, ze HC-SR04 bude lacnejsie, ALE vydrzia tieto senzory v aute aspon jednu zimu? Ako ich ochranis pred pocasim, rychlou jazdou, odfrkujucou vodou a solou z posypu?
      Osobne by som bral este modul, co bude komunikovat cez I2C, alebo CAN. A mozno este lepsie taky, co bude komunikovat po napajacom vedeni pre cuvacie svetla a vobec nebudes musiet riesit 2, 3, 4, alebo 5 zilove vedenie k svojmu zobrazovacu s mikroprocesorom.

  5. Palin0 píše:

    Mozte mi prosim Vas vysvetlit naco sluzia tie dva NPN tranzistori z toho clanku som to velmi nepochopil. Dakujem

    • hombre333 píše:

      Tranzistor T2 slouží k nastavení vývodu DATA parkovacího senzoru do logické 0. (Tím, že nastavíme na pinu PB1 log. 1, se T2 otevře a „přizemní“ výod DATA parkovacího senzoru.)
      Tranzistor T1 slouží ke čtení logické úrovně na vývodu DATA procesorem.
      DATA je přes vnitřní pull-up rezistor připojený k +12V a T1 je přes R4 otevřený a pin PB0 je v log. 0, protože kolektor T1 je připojený na +5V. Když se linka DATA přepne do nuly, T1 se zavře a na PB0 budeme číst log. 1.
      Tranzistory jsou použity proto, protože nemůžeme připojit výstupy procesoru přímo na 12V, jelikož bychom ho spolehlivě zničili.
      Takže: T2 – zápis na DATA, T1 – čtení DATA.

Pridaj komentár