/Projekti/Dvokanalna induktivna petlja za detekciju vozila

Ovaj projekt je nastao kao modifikacija prethodne jednokanalne verzije istog uređaja: jednokanalna induktivna petlja od prije 3 godine. Pored toga što ima dodatni kanal, u firmware-u je implementirano dosta novih opcija.

Napomena: Bitna napomena je da se program za mikrokontroler ne može trenutno skinuti sa stranice, ali vam mogu poslati isprogramiran mikrokontroler ukoliko želite da sebi napravite jedan (ili više) uređaja, po cijeni samog mikrokontrolera + troškovi dostave. Druga opcija je da mi pošaljete mikrokontroler (koliko god komada želite) i ja ću ih isprogramirati besplatno i vratiti nazad. Izvinjavam se zbog ovoga, ali još uvijek nisam spreman da podijelim program sa svima. Svi ostali fajlovi se mogu skinuti klikom na crveno download dugme ispod članka.

Postoje dvije varijante PCB-a, jedna je samostalna verzija (PCB v1.2) sa DIP prekidačima, relejima i tasterima, i druga koja je digitalna verzija (PCB v1.3) i ona zahtjeva PC konekciju ili čak drugi mikrokontrolerski sistem da bi se izvršila konfiguracija radnih parametara. Ovdje ćemo se fokusirati na samostalnu verziju, jer su svi radni parametri identični za obje verzije.

UPDATE 2017-09-25: PCB je dostupna za kupovinu i samostalnu gradnju:
- PCB v1.2 (samostalna verzija) se može kupiti ovdje, spisak i raspored dijelova na pločici su ovdje.
- PCB v1.3 (digitalna verzija) se može kupiti ovdje, spisak i raspored dijelova na pločici su ovdje.
UPDATE 2017-09-24: Programirani PIC mikrokontroler će uskoro biti u prodaji.

Dual channel inductive vehicle detector - standalone
DLD PCB v1.2 (samostalna verzija)

Dual channel inductive vehicle detector - digital
DLD PCB v1.3 (digitalna verzija)

Specifikacije

  • Broj načina rada: 4
  • Tuning: Automatski
  • Tip detekcije: Prisustvo/Puls
  • Vrijeme prisutnosti: Podesivo u 3 vrijednosti
  • Dužina pulsa: 250 ms / 500 ms (podesivo)
  • Filtriranje signala: Podesivo u 2 koraka (NORMALNO, DODATNO)
  • Induktivitet zavojnica: 20 uH – 1000 uH
  • Frekventni opseg: 20 kHz – 145 kHz
  • Odabir frekvencije: 2 vrijednosti (NOMRLANA, ALTERNATIVNA)
  • Osjetljivost: Najviše 0.0025\% Δf/f, podesivo u 8 koraka
  • Brzina odziva: 10 ms po fabričkim postavkama (podesivo)
  • Startup vrijeme: ~ 1 sekunda po kanalu, ili duže ako je frekvencija nestabilna
  • Napon napajanja: 12-40 V DC / 9-28 V AC (samo za samostalnu verziju)
  • Potrošnja: ~ 0.035 A
  • Radni temperaturni opseg: -35°C – 120°C
  • Zaštita senzora: Galvanska izolacija petlje + zaštita od udara groma
  • Dimenzija: 8,5cm x 7cm

Uputstvo za upotrebu i PC Configurator Software izvorni kod
Svi dokumenti se nalaze u ZIP arhivi za download (crveno download dugme ispod članka). Ali radi lakšeg downloada, uputstvo za PCB v1.2, FW v1 je takođe dostupno za download klikom na link ovdje (PDF), a za PCB v1.3, FW v1 je dostupno klikom na link ovdje (PDF, engleska verzija).
Uputstvo za PC Configurator se nalazi ovdje (PDF, engleska verzija) a izvorni kod je na GitHub-u ovdje.

Načini rada

  • Jednokanalna (samo A)
  • Dvokanalna neovisna A & B
  • Dvokanalna direkciona logika A + B
  • Mjerenje brzine A + B

Dual channel inductive vehicle detector
Prikaz konektora i tastera za PCB v1.2

Hardver
Hardver se u mnogo toga razlikuje od prethodne jednokanalne verzije, ali u suštini je sve isto - radi se o brojaču impulsa koji dolaze na RA4/T0CKI pin, vrši se isto filtriranje i proračuni da bi se izvršila detekcija promjene frekvencije oscilovanja. Ovoga puta, to se radi dva puta za oba kanala neovisno.
Do sada sam viđao dvije izvedbe elektronike dvokanalne petlje; jedna je bila sa dva neovisna oscilatora koji su se uključivali/isključivali naizmjenično ili čak oba radila istovremeno, a druga varijanta je sa jednim oscilatorom gdje se petlje izmjenično "spajaju" na oscilator koristeći neku vrstu multipleksera. Ova druga izvedba mi je interesantnija i djeluje kao profesionalnija, pa sam se odlučio za nju.

Dual channel inductive vehicle detector oscillator
Oscilator bez spojenih petlji

Bilo je poprilično zeznuto multipleksirati zavojnice na oscilator pa sam na kraju morao podignuti "masu" oscilatora na pola napona napajanja da bi mogao sa tranzistorima vršiti preklapanje. Prekidač koji vrši preklapanje su dva PNP tranzistora spojena paralelno ali u suprotnom smjeru (emiter prvog na kolektor drugog, i obratno) tako da jedan provodi kada je "pozitivna" poluperioda signala a drugi kada je "negativna". Pokušavao sam da ovo multipleksiranje riješim sa CD4066 ali mi nije išlo za rukom.

Dual channel inductive vehicle detector multiplexer
Multiplekser

Dizanje "mase" oscilatora i multipleksera na Vcc/2 je riješeno korištenjem TL431 2.5V regulatora referentnog napona jer je za ovu primjenu jako bitno imati stabilnu naponsku referencu. Ovdje sam takođe probao koristiti i Zener diodu koja je davala iste rezultate ali problem sa njom je temperaturna nestabilnost tako da ona nije dolazila u obzir u finalnoj verziji uređaja. Pošto smo već sada imali riješen problem multipleksiranja odlučio sam da na transformatoru dodam još jedan primar (ona strana transformatora koja je spojena na oscilator) koji bi služio za odabir alternativne frekvencije. To je značilo da je takođe potrebno dodati još jedan multiplekser da aktivira taj alternativni namotaj.

Dual channel inductive vehicle detector multiplexer
Odabir alternativne frekvencije

Na ovaj način umjesto dodatnog kondenzatora i tranzistora za njegovo "uklapanje" u oscilator, imamo dodatni namotaj na transformatoru i dva tranzistora za "uklapanje". Ovaj dizajn sam ustvari već ranije vidio na jednoj elektronici pa sam odlučio da ga iskopiram.
Kako je sada signal sa oscilatora pomjeren (podignut) za pola napona napajanja (Vcc/2) morao sam da koristim komparator koji bi donosio odluku kada je tačno signal prošao kroz "nulu" odnosno Vcc/2.

Dual channel inductive vehicle detector sinewave
Signal sa oscilatora

Prvo sam odlučio da koristim interni komparator unutar PIC mikrokontrolera da vršim detekciju "nule" ali to se pokazalo kao loša ideja. Sve je ustvari funkcionisalo dobro dok nisam softverski podesio veću osjetljivost na uređaju i počeo ga detaljnije testirati. Kada god bi se upalila neka LE dioda ili relej, uređaj bi pobudalio i počeo da sam vrši detekciju, ili ukoliko je već bio u stanju detekcije dešavalo se da izvrši od-detekciju. Debugiranjem sam primjetio da se frekvencija oscilatora mijanjala promjenom opterećenja ali ustvari frekvencija oscilovanja se nije mijenjala nego se mijenjalo vrijeme kada je interni komparator donosio odluku. U ovoj aplikaciji tačno vrijeme donošenja odluke komparatora je krucijalno jer od toga zavisi vrijednost izmjerene frekvencije. Daljnjim istraživanjem sam došao do zaključka da je problem u naponu napajanja komparatora. Kada god se aktivira neki potrošač, na komparatoru se to reflektiralo kao smetnja a pošto nisam mogao filtrirati napon internog komparatora odnosno odvojiti ga od napona napajanja PIC-a i ostale elektronike, odlučio sam se za eksterni komparator LM211. Filtriranje napona za komparator je riješeno sa induktorom od 10uH zajedno sa elektrolitskim kondenzatorom. Takođe je veoma bitno dodati i kondenzatore koji će držati Vcc/2 tačku super-stabilnom.
Za iste potrebe filtriranja signala, dodao sam i LM78M05 linearni stabilizator napona da povećam stabilnost napona napajanja (Vcc) cijele elektronike. Sa step-down (buck) konvertera se sada napajaju samo releji i ovaj 5V stabilizator. Sva ostala elektronika se napaja iza 5V stabilizatora. To je urađeno da bi se dodatno dobilo na stabilnosti napona napajanja.
Napomena: Vjerovatno bi se sklop mogao optimizovati da ne koristi ovoliko kondenzatora, ali nisam htio da rizikujem. Takođe postoji mogućnost da nisam dobro filtrirao Vcc/2 liniju kada sam vršio testiranje sa internim komparatorom tako da je vrlo moguće da bi interni komparator i funkcionisao (ali ne planiram to ponovo testirati).

Dual channel inductive vehicle detector filter
Filtriranje Vcc napona za komparator i oscilator

Na kraju, direktno spajanje izlaza iz komparatora na ulaz mikrokontroler-a nije bilo baš moguće jer dodavanje pull-up otpornika bi opet uvelo iste one smetnje koje smo pokušali da izbjegnemo u startu (spojili bi Vcc i filtrirani Vcc od komparatora). Zbog toga sam dodao jedan NPN tranzistor koji služi upravo da na neki način razdvoji ta dva napona. Možda bi ovdje najbolje bilo koristiti opto-kapler ali i obični NPN tranzistor radi jednako dobro a uz to zauzima manje prostora na štampanoj pločici.
Pored multipleksiranja dvije petlje, na uređaju se nalaze i dva prekidača, dva bar-graph-a i dva DIP prekidača sa po 8 pozicija. Oni su takođe multipleksirani istom brzinom kojom se multipleksiraju i petlje. Multipleksiranje DIP prekidača i tastera nije moguće vršiti bez dioda koje bi blokirale povrat signala. To automatski znači da za svaki prekidač sam morao da dodam po jednu diodu, a to nažalost znači da za DIP prekidače bi morali imati 16 dioda. Kako sam htio da izbjegnem stavljanje 16 dioda na pločicu uspio sam pronaći komponentu SRV05-4 u SOT23-6 pakovanju koja je ustvari "Low Capacitance TVS and Diode Array", odnosno zaštitne diode koje štite elektroniku od visokih napona koji se mogu indukovati u kablovima. U ovom uređaju sam te zaštitne diode ustvari koristio kao obične diode i pokazalo se da nema problema.

Dual channel inductive vehicle detector TVS diode array
Dual channel inductive vehicle detector TVS diode array
DIP prekidači i TVS diode

Transformatori koji su korišteni u ovom projektu su RM-5 ADSL Band Stop transformatori koji su premotani na otprilike 1:1 gdje sekundar ima srednji izvod (koji nije baš na sredini). Ovaj dodatni izvod na sekundaru je za odabir alternativne frekvencije o kojoj sam ranije pisao. Induktivitet transformatora je negdje oko 3.6mH za primar, 3.6mH (sekundar) i 3.55mH (sekundar na "izvodu"). Induktivitet ustvari nije kritičan, može se odabrati i približna vrijednost. Kako se mota (pravi) transformator možete pogledati na video snimku malo niže.


Making isolation transformers

Bitne razlike između samostalne verzije (PCB v1.2) i digitalne verzije (PCB v1.3) su:

  • Digitalna verzija nema step-down (buck) konverter - ima samo LM78M05 stabilizator. Zbog toga, digitalna verzija se smije napajati jedino sa +7...+12V ili čak +5V direktno (na pločici se nalazi kratkospojnik koji kratko spaja ulaz i izlaz LM78M05 stabilizatora).
  • Digitalna verzija nema bar-graph, DIP prekidače ni tastere.
  • Digitalna verzija nema releje ali zato ima opto-kaplere na svom izlazu.
  • Digitalna verzija ima izolovan UART port tako da je moguće spojiti eksterni mikrokontrolerski sitem koji radi na drugim naponskim nivoima (recimo 3,3V).

Mjerenje brzine
Jedna veoma interesantna opcija uređaja je ta što može mjeriti brzine kretanja vozila u oba smjera i sa zadovoljavajućom tačnošću odnosno malom greškom.
U ovom načinu rada, uređaj se može koristiti kao dodatni modul nekog drugog uređaja da bi se prikazala brzina prolaska vozila na velikom LCD-u, ili čak samostalno na koga bi se spojila kamera koja bi slikala vozila koja prekorače podešenu brzinu kretanja.
Najveća greška mjerenja (u jedinici vremena) bi trebala da bude 2*brzina uzorkovanja signala. Princip mjerenja radi na slijedeći način: Dvije petlje su multipleksirane (period multipleksiranja odgovara jednom vremenu uzorkovanja). Kada vozilo aktivira bilo koju od dvije petlje, proces multipleksiranja se zaustavlja i samo je aktivna ta petlja koja je prva aktivirana odnosno "nagažena". Sada uređaj očekuje da vozilo napusti aktiviranu petlju. Kada je konačno napusti, uređaj započne mjerenje vremena i aktivira drugu petlju. Ovdje moramo uzeti u obzir to da vozilo sigurno nije napustilo prvu petlju na samom kraju perioda uzorkovanja, pa moramo dodati grešku u vidu trajanja jednog kompletnog vremena uzorkovanja. Kada sada vozilo napusti i drugu petlju, proces mjerenja vremena se zaustavlja. Ovdje takođe moramo dodati na već ranije akumuliranu grešku još jedno vrijeme uzorkovanja, pa na kraju imamo konačnu grešku od 2*brzina uzorkovanja.
Uticaj ove akumulirane greške kao i uticaj udaljenosti između petlji na tačnost mjerenja brzine se može vidjeti u propratnom software-u koji se zove PC Configurator Software, koji se nalazi u projektnim fajlovima. Sa ovim alatom korisnik može podesiti uređaj da ima najveću dozvoljenu grešku a ujedno i najveću potrebnu osjetljivost detekcije.

Firmware
Program za mikrokontroler je skoro u potpunosti napisan ispočetka da bi se omogućilo mjerenje frekvencije obje petlje kao i procesiranje izmjerenog signala. Program je moguće proširiti tako da podrži i više od dvije petlje (kanala). Zbog novih funkcionalnosti morao sam promjeniti prethodno korišteni mikrokontroler radi dodatne memorije koja je bila potrebna za novi program. Sada je korišten mikrokontroler PIC16F1939. Ukoliko bude interesa, program se može prebaciti na PIC18F seriju i napraviti bootloader koji bi omogućio izmjenu programa na već ugrađene uređaje.
Ako već niste ranije pročitali na koji način program u mikrokontroleru ustvari vrši mjerenja, to možete pročitati ovdje. Ova dvokanalna verzija radi u suštini na isti način ali sa očiglednim modifikacijama da bi se podržalo više od jedne petlje i rad sa multipleksiranim prekidačima i bar-graph-ovima. Ovdje ćemo izdvojiti samo neke od novih opcija koje su dodane u odnosu na prethodnu jednokanalnu verziju.

Detekcija zaustavljenih vozila je opcija kod koje je moguće da se aktivira relejni izlaz samo ukoliko je vozilo u potpunosti zaustavljeno na petlji. Ovo znači da vozila koja prolaze preko petlje neće aktivirati relejni izlaz ukoliko se ne zaustave.

Kompenzacija pozitivnog drifta (odnosno Kompenzacija drifta uz prisutnu detekciju) je opcija gdje uređaj prati spore promjene frekvencije čak i kada je detekcija prisutna. Ovo može djelovati malo rizično jer može prouzrokovati "zaglavljenu detekciju" ukoliko se podesi pogrešno. Ova opcija je korisna kada se vozila duže vrijeme zadržavaju na petlji (parkirana vozila) jer uređaj može da prati drift i vrši korekcije cijelo vrijeme. Ova opcija će da započne praćenje drifta kada je vozilo detektovano kao potpuno zaustavljeno iznad petlje. Čim se prekorači podešeni prag koji označava da se vozilo ponovo počelo kretati, proces se zaustavlja i biće zaustavljen sve dok se vozilo ponovo u potpunosti ne zaustavi. Prouzrokovanje "zaglavljene detekcije" se dešava kada metalni predmet (ali obično ne vozilo jer ono je kabasto i nije u mogućnosti da prouzrokuje jako malu promjenu) je prvo detektovano, zaustavljeno, i onda veoma sporo napusti petlju. Ovo će uređaju djelovati kao da je ustvari bila spora promjena (drift) a ne kretanje vozila. Srećom, vozila ne mogu da naprave tako malu i sporu promjenu pa ovo nije problem prilikom korištenja uređaja u realnim okolnostima.

Pametna PPC rekalibracija je ustvari ponovna implementacija kako PPC vrši rekalibraciju kada konačno vozilo napusti petlju. Novi način će izvršiti kalibraciju petlje samo kada nema promjene na petlji što će spriječiti da se petlja rekalibrira dok se vozilo kreće iznad nje.

Sigurnosna opcija će aktivirati releje (kod kojih je ova opcija omogućena) prilikom dovođenja napona uređaju (ili reseta) sve dok se ne izvrši inicijalna detekcija i od-detekcija. Ovo bi trebalo da spriječi da se barijera spusti na vozilo ukoliko je došlo do nestanka napajanja uređaja a vozilo se u tom trenutku nalazilo ispod barijere (rampe).

Reset na fabrička podešenja je korisna opcija ako se uređaj isprogramirao sa pogrešnim parametrima koristeći PC software. Ova proces se aktivira držanjem oba tastera za promjenu osjetljivosti i pritiskom na taster RESET.

DIP prekidači
DIP prekidači imaju drugačija značenja za svaki način rada uređaja, te su detaljno objašnjena u uputstuv za upotrebu koje se može skinuti sa projektnim fajlovima.

PC Configurator Software
U ovom softveru je moguće prilagoditi parametre uređaja za željeni način rada. Takoće je moguće od uređaja primati informacije u realnom vremenu o brzini vozila koja prolaze preko petlje kao i vidjeti njihov "magnetni potpis". Ovi signali se mogu i automatski snimati u fajlove na disku računara za daljnju analizu, ukoliko za tim ima potrebe.

PC Configurator Software

PC Configurator Software je detaljno objašnjen u "pc configurator user manual" dokumentu (koji je trenutno na engleskom jeziku) koji se zajedno sa softverom može skinuti klikom na crveno download dugme na kraju ovog članka.
U tom istom fajlu se nalazi detaljan opis UART protokola kojeg uređaj koristi za komunikaciju, a koji može dobro doći ukoliko se uređaj bude spajao na drugi mikrokontrolerski sistem (parking aparat, display za prikaz brzine vozila i slično).

Montaža
Shema za sklapanje uredjaja, spisak dijelova i Gerber fajlovi za SMD šablon se nalaze u ZIP arhivi koja se može downloadovati klikom na crveno download dugme na kraju članka.


Montaža PCB v1.3 - digitalna verzija

Autor (poslao): Trax

Broj download-a: 18

Ocjena: (3.50, glasova 28)

Glasaj:

Datum: 01-09-2017

English version of this page: Dual Channel Inductive Loop Vehicle Detector

868_dual_loop_detector.zip

Bookmark and Share Komentari (0)


Stranica komentara:


dodaj komentar

ime

e-mail (neće biti objavljen)

web

Koliko je = takođe dodaj slovo "a" na kraj rezultata! Npr.: 7a

Ulogiraj se!

To možeš uraditi na forumu: Login stranica. Kada se ulogiraš, vrati se na ovu stranicu i uradi refresh.

prijatelji sajta

sponzorirani linkovi

reklame