Forum » Strojna oprema » Štoparica z RPi (+arduino?)
Štoparica z RPi (+arduino?)
GupeM ::
Zdravo.
Kolega bi potreboval štoparico za smučanje in/ali podobne športe, ki bi se prožila s startno palčko, na koncu pa bi se ustavila, ko bi tekmovalec zapeljal preko optične bariere. Zanima, ali RPi lahko zagotavlja natančnost na desetinko sekunde, ali bi za to potreboval nek mikrokontroler, ki bi podatke poslal naprej na RPi. Čas kot tak ni potrebno, da je pretirano točen, pomembno je le, da čas na RPi za vse tekmovalce teče enako hitro.
Sklepam, da RPi za to ni najbolj primeren. Najbolj me skrbi zakasnitev od prejema signala, do starta/ustavitve štoparice, ker se mi zdi, da zadeva lahko traja različno dolgo. Se motim?
Kolega bi potreboval štoparico za smučanje in/ali podobne športe, ki bi se prožila s startno palčko, na koncu pa bi se ustavila, ko bi tekmovalec zapeljal preko optične bariere. Zanima, ali RPi lahko zagotavlja natančnost na desetinko sekunde, ali bi za to potreboval nek mikrokontroler, ki bi podatke poslal naprej na RPi. Čas kot tak ni potrebno, da je pretirano točen, pomembno je le, da čas na RPi za vse tekmovalce teče enako hitro.
Sklepam, da RPi za to ni najbolj primeren. Najbolj me skrbi zakasnitev od prejema signala, do starta/ustavitve štoparice, ker se mi zdi, da zadeva lahko traja različno dolgo. Se motim?
TEDY ::
Za desetinko sekunde bo rpi dovolj dober. Kako misliš imeti povezano startno palico in optično bariero z rpi?
GupeM ::
Odlično potem. Kje se pa potem začne poznati? Stotinke, milisekunde, ...?
Sicer štartne palčke in optične bariere še nisem videl, sklepal pa sem, da bi zadeva šla preko GPIO pinov? Zadeva verjetno dela podobno kot navadna tipka?
Zaenkrat je bila samo še debata na to temo, pa samo malo povprašujem. V petek se s kolegom dobiva, da malo pogledava kako pa kaj.
Hvala za odgovor.
Sicer štartne palčke in optične bariere še nisem videl, sklepal pa sem, da bi zadeva šla preko GPIO pinov? Zadeva verjetno dela podobno kot navadna tipka?
Zaenkrat je bila samo še debata na to temo, pa samo malo povprašujem. V petek se s kolegom dobiva, da malo pogledava kako pa kaj.
Hvala za odgovor.
Zgodovina sprememb…
- spremenil: GupeM ()
TEDY ::
rpija ne poznam dobro, vendar mislim, da bi milisekinde še lahko prebavil. Večji problem boš imel, če bo palčka/bariera povezana z žico na dolgi razdalji (motnje, itd..).
DeeCoy ::
Če je razdalja dolga to ne bo tako preprosto.. Nemogoče je imeti tipko, ki bo oddaljena par 100m na enosmernem toku.. Napetost pri enosmernem toku z razdaljo pada, do stikala ne bo niti prišla, kaj šele da bi se vrnila nazaj. Za tako dolgo razdaljo do stikala je zelo fajn če je izmenični tok, velika napetost in seveda majhen tok. Torej zelo velik in močen upor na npr. 220V , rele, oddaljeno stikalo. Iz releja pa potem vezava na rpi/arduinota, ki bo čisto pri drugem stikalu (najbolje v cilju).
Nisem prepričan, da imam prav, je pa ideja.
Nisem prepričan, da imam prav, je pa ideja.
otago ::
Kaj pa moznost, dveh razlicnih naprav (sinhroniziranih naprav). Prva javi cas starta, druga cas konca. V kolikor sta sinhronizirana oz. je konstanten cas belezenja na obeh, bo tudi casovna razlika(cas voznje) za vse tekmovalce postena. Oddaljenost start/konec v tem primeru ne vpliva.
Zgodovina sprememb…
- spremenilo: otago ()
GupeM ::
To z veliko razdaljo mi je jasno, vendar je zadeva sedaj že nekako rešena, saj štartno palčko in optično bariero že uporablja, ker že ima neko 20 let staro štoparico, ki pa je menda crknila oz. ima z njo stalno neke probleme. Več bom izvedel, ko se s kolegom dobiva. Sem pa skoraj prepričan, da zadeva ne dela na 220V.
Sicer pa, recimo, da je štartna palčka na 12V DC. Ko se premakne, se napetost pojavi v žici, ki je priključena na RPi, oz na neko drugo vezje, ki bi na GPIO pin na RPi-ju spravila tistih 1,3V, kolikor je minimum za high voltage. Pri 12V pomoje ne bi smelo biti težav. Tisti pike bi RPi oz. neko drugo vezje že "zaznalo".
Možnost dveh različnih naprav mi nekako ni všeč, saj bi se zadeva dodatno zakomplicirala. Plus imaš dva RPi-ja, ki lahko crkneta, lahko gre povezava med njima ... Kakorkoli, kolega je rekel, da bo naredil vse, kar se tiče lotanja oz. vezave zadeve, mene rabi predvsem zaradi software-a.
Sicer pa, recimo, da je štartna palčka na 12V DC. Ko se premakne, se napetost pojavi v žici, ki je priključena na RPi, oz na neko drugo vezje, ki bi na GPIO pin na RPi-ju spravila tistih 1,3V, kolikor je minimum za high voltage. Pri 12V pomoje ne bi smelo biti težav. Tisti pike bi RPi oz. neko drugo vezje že "zaznalo".
Možnost dveh različnih naprav mi nekako ni všeč, saj bi se zadeva dodatno zakomplicirala. Plus imaš dva RPi-ja, ki lahko crkneta, lahko gre povezava med njima ... Kakorkoli, kolega je rekel, da bo naredil vse, kar se tiče lotanja oz. vezave zadeve, mene rabi predvsem zaradi software-a.
googleg1 ::
Če je razdalja dolga to ne bo tako preprosto.. Nemogoče je imeti tipko, ki bo oddaljena par 100m na enosmernem toku.. Napetost pri enosmernem toku z razdaljo pada, do stikala ne bo niti prišla, kaj šele da bi se vrnila nazaj. Za tako dolgo razdaljo do stikala je zelo fajn če je izmenični tok, velika napetost in seveda majhen tok. Torej zelo velik in močen upor na npr. 220V , rele, oddaljeno stikalo. Iz releja pa potem vezava na rpi/arduinota, ki bo čisto pri drugem stikalu (najbolje v cilju).No no. 1km je zelo kratka razdalja za prenos 1 bita informacije. Komot DC, tudi 5V bo zadosti. Drugi problem so motnje in pa prakticnost izvedbe. Kakorkoli, jaz bi to naredil wireless. Res pa je, da je wireless sinhronizacija na milisekundo ze kar izziv. Rabis nekaj kar ti omogoca merjenje time of flight, kar so pa ponavadi drage zadeve.
Nisem prepričan, da imam prav, je pa ideja.
GupeM ::
Wireless odpade. Razdalje bodo manj kot 1 km, max verjetno 500m. Kot sem že zgoraj omenil tisti sunek, pri katerem napetost pride v žico (oz. kot si se ti bolje izrazil, 1 bit informacije), pomoje tudi ne bi smel biti problem. Vem, da je zadeva v zdajšnji verziji rešena z žico. Res ni najbolj praktično, ampak ko enkrat postaviš, ti zadeva dela. Gledati je treba predvsem to, da se kakšni smučarji ne vozijo preko žice.
googleg1 ::
Kar se tice pa RPi in natancnosti je pa odvisno od tega kako vesc programer si. Stvar lahko resimo na vec nivojih:
- Python: pod 10ms natancnosti
- C: pod 5ms natacnosti
- Kernel driver: pod 100us (tipicno do 10us)
Enostavno nastavis GPIO interrupt, za ostalo poskrbi sistem. Razen pri kernel driverju je treba malo vec telovadi, da spravis kodo v userspace.
- Python: pod 10ms natancnosti
- C: pod 5ms natacnosti
- Kernel driver: pod 100us (tipicno do 10us)
Enostavno nastavis GPIO interrupt, za ostalo poskrbi sistem. Razen pri kernel driverju je treba malo vec telovadi, da spravis kodo v userspace.
Zgodovina sprememb…
- spremenil: googleg1 ()
GupeM ::
Hvala za nasvet. Zadevo bom pisal v C-ju, ki ga tudi najbolje poznam, natančnost 5 ms pa je več kot zadovoljiva. Ura se namreč ne bo uporabljala za profesionalno merjenje, ampak bolj za treninge in amaterska tekmovanja. Bo pa imela možnost merjenja časa od starta do cilja (navadno smučanje). In pa možnost parallel, kjer bosta priključeni dve optični barieri, merila pa se bo samo razlika med prekinitvijo ene in druge bariere (s kakšno razliko sta tekmovalca prišla v cilj). V načinu parallel čas vožnje ni pomemben, pomembna je samo razlika.
googleg1 ::
Se malo o povezavi startne palice z RPi. Glede na to, da bo zica dolga bos imel vec problemov, ki jih sigurno nisi se predvidel:
- Napajanje opticne bariere; jaz bi ciljal na 12V.
- Impedanca linije; Vezje, ki bo dvignilo napetostni nivo, mora imeti zadosti nizko izhodno impedanco (beri zadosti moci), da ne bo prehud napetostni padec.
- Motnje na liniji
Ce bi to sam delal bi stvar naredil nekako takole. Problemi dolgih linij in motenj se resujejo z paricami. Primerov je neskoncno: USB, Ethernet, RS485. Zato bi potegnil do startne palice 4 kable. GND, Vcc, D+ in D-. Startna palica bi generirala pravokotni signal frekvence 100Hz (10ms natancnost) in ga prenasal po parici. Za prenos po parici bi uporabil RS485 konverter (cisto poceni, miljon prozvajalcev), ki sam generira napetost in na koncu tudi sam odsteje signale. Na RPi bi potem skos bral ta 100Hz signal. 100Hz bi pomenilo, da je linija neprekinjena.
Ob startu tekmovalca, bi signal nehal oddajati. To bi pomenilo zacetek merjenja.
Upam, da me bos poslusal, ker drugace bos imel sive lase od iskanja motenj.
- Napajanje opticne bariere; jaz bi ciljal na 12V.
- Impedanca linije; Vezje, ki bo dvignilo napetostni nivo, mora imeti zadosti nizko izhodno impedanco (beri zadosti moci), da ne bo prehud napetostni padec.
- Motnje na liniji
Ce bi to sam delal bi stvar naredil nekako takole. Problemi dolgih linij in motenj se resujejo z paricami. Primerov je neskoncno: USB, Ethernet, RS485. Zato bi potegnil do startne palice 4 kable. GND, Vcc, D+ in D-. Startna palica bi generirala pravokotni signal frekvence 100Hz (10ms natancnost) in ga prenasal po parici. Za prenos po parici bi uporabil RS485 konverter (cisto poceni, miljon prozvajalcev), ki sam generira napetost in na koncu tudi sam odsteje signale. Na RPi bi potem skos bral ta 100Hz signal. 100Hz bi pomenilo, da je linija neprekinjena.
Ob startu tekmovalca, bi signal nehal oddajati. To bi pomenilo zacetek merjenja.
Upam, da me bos poslusal, ker drugace bos imel sive lase od iskanja motenj.
Zgodovina sprememb…
- spremenil: googleg1 ()
GupeM ::
Seveda bom poskušal upoštevati vse nasvete, saj verjamem, da imaš več izkušenj s tem kot jaz. Optična bariera pomoje ne bi smela biti problem, saj tam linija ni dolga (običajno je bil časomerilec zraven cilja). Večji problem predstavlja startna palčka, ki pa je seveda na vrhu proge.
GupeM ::
PS: Od kolega sem dobil informacijo, da je startna palčka samo navadno stikalo. Napetost na palčki gre trenutno iz ure in znaša 5V. Ko se palčka premakne, se tokokrog sklene. Trenutna ura rabi 3V, da zazna, da je zadeva štartala. Glede na to, da jim je zadeva do zdaj funkcionirala, skoraj ne vem, zakaj zdaj ne bi tudi na RPi-ju. Obstaja tudi možnost obratne vezave, torej da je tokokrog sklenjen, ko je palčka pripravljena za start, ko jo tekmovalec premakne, pa se zadeva prekine. Drugi primer se mi zdi bolj primeren, saj bi v tem primeru videl, če je karkoli narobe s kablom (prekinjen signal).
PPS: Omenil je celo, da pospešeno delajo na nakupu štartne palčke z brezžičnim oddajnikom. Očitno imajo več denarja kot pravijo :)
PPS: Omenil je celo, da pospešeno delajo na nakupu štartne palčke z brezžičnim oddajnikom. Očitno imajo več denarja kot pravijo :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Raspberry Pi (strani: 1 2 3 4 … 88 89 90 91 )Oddelek: Strojna oprema | 799966 (37093) | Kurzweil |
» | DC čez AC releOddelek: Elektrotehnika in elektronika | 1294 (604) | Highlag |
» | Programiranje GPIO na RaspberryPi 3Oddelek: Programiranje | 4245 (3089) | slodreamer |
» | LED RPi (strani: 1 2 )Oddelek: Elektrotehnika in elektronika | 13805 (9829) | salcadoo |
» | MicroSD za Raspberry Pi B+Oddelek: Strojna oprema | 3076 (2719) | micoboy |