pic 16f** -kontrola pomoću induktivnih senzora

1

pic 16f** -kontrola pomoću induktivnih senzora

offline
  • Pridružio: 05 Avg 2006
  • Poruke: 83
  • Gde živiš: tamoDaleko

Potrebna mi je ideja kako pratiti 6 osovina preko induktivnih senzora pomoću pic 16f84 ili pic 16f628 i asemblera.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 17 Apr 2008
  • Poruke: 770
  • Gde živiš: Taurunum

Šta treba pratiti broj okretaja ili pomeranje osovina napred nazad.



offline
  • Pridružio: 05 Avg 2006
  • Poruke: 83
  • Gde živiš: tamoDaleko

Praćenje pomoću induktivnog senzora tako da na osovini ili remenici registruje prolazak metalanog markera(ispupčenje ili glava vijka).Iduktivni senzor šalje impuls koji sam ja povezao na portove mikrokontrolera ali nije nešto kako treba pošto ne vidi svaki prolazak pokraj senzora ( ili je to vreme kratko da bi ga registrao moj program ).

offline
  • Ričard  Male
  • Lavlje srce
  • Supermoderator
  • Zver!
  • Electro maintenance engineer
  • Pridružio: 28 Nov 2006
  • Poruke: 13744
  • Gde živiš: Vršac

Koji induktivni senzori su u pitanju? One koje ja koristim u industriji rade na naponu od 12-30 VDC. PIC radi na 5 VDC. Mozda je u tome problem?

offline
  • Pridružio: 05 Avg 2006
  • Poruke: 83
  • Gde živiš: tamoDaleko

Nisam baš najbolje naveo naslov.Mislim da je problem u mome programu koji sam ja radio tj, ne registruje svaki prolazak senzora .Ideja je da signal sa senzora dovedem na Hex smith invertor pa sa njega dalje na portA.
Evo kako sam ja zamislio testiranje stanja na ulazima .U praksi se radi o šest senzora ,a ovo je primer za jedan:

pocetak btfss porta,1
call upis_1
btfsc porta,1
call upis_11

upis_1 movlw 0xff
movwf REG_1
return

upis_11 movlw 0xff
movwf REG_11
return

nakon testiranja sledi smanjivanje vrednosti REG i kad dođe do nule program skače na paljenje led diode zeleno ili ugašeno kada dođe do prestanka signala u roku od 4 sek ili palenja crvene led kada nema signala duže od 4 sek.


prva decf REG_1
skpnz
goto off_1
decfsz REG_11
goto zeleno_1
goto off_1
goto druga

mycity.rs/must-login.png

offline
  • Pridružio: 17 Apr 2008
  • Poruke: 770
  • Gde živiš: Taurunum

Za praćenje brzine obrtaja lakše je da si uzeo hall-effect tranzistor a na renenici zalepio mali magnet.

Koliko se sećam a probao sam davno dva induktivna senzora oni reaguju na metal, ukoliko ti je remenica ili osovina od gvožđa reagovaće non-stop sve dok ga ne odaljiš od njih.

offline
  • Pridružio: 05 Avg 2006
  • Poruke: 83
  • Gde živiš: tamoDaleko

Nisu problem iduktivni senzori .Oni šalju signal prolaskom metalnog predmeta ,a to se u praksi izvodi tako da to bude npr.glava vijka na remenici ili neko slično ispupčenje na osovini .

Problem je u programu za obradu signala koji je nakon obrade 0 ili 1 na ulazu na port mikrokontrolera.

Program ne registruje svaku promenu stanja na ulazu i zato pitam dali neko ima neku drugu ideju za testiranje stanja ulaza za razliku od moje koja nije zadovoljavajuća.

offline
  • Teh.Direktor
  • Pridružio: 11 Nov 2005
  • Poruke: 134
  • Gde živiš: Krusevac

tu postoji vise problema koji nisu razmatrani tvojom analizom.
Prvi:
Kontroler koji koristis mora da ima minimum sets interapt linija
drugi:
(Je problem koji ti u ovom slucaju imas) je sa impulsima od prekidaca koji u zavisnosti od broja obrtaja imaju razlicito trajanje pa moze da se dogodi da se neki od impulsa broji vise od jednom a neki impuls ne detektuje.
treci:
metod sabiranja impulsa i njihov prioritet za prikazivanje
...
Problem x Exclamation :
potreban je brz kontroler sa dovoljno interapt linija ili vise kontrolera sa jednom interapt linijom u I2C BUS vezi sa Centralnim procesorom koji ce obradjivati rezultate dobijene sa SLAVE kontrolera.

offline
  • Pridružio: 05 Avg 2006
  • Poruke: 83
  • Gde živiš: tamoDaleko

Koji kontroler mogu koristiti ,a da ima šest interapta stim da nije iz neke više klase .
Svakom promenom stanja sa nule na jedinicu ili obrnuto treba da se pali dvobojna led dioda sa dva pina u zeleno i da sija recimo 1/2 sek. Nakon toga led zeleno se gasi i čeka se sledeća naizmenična promena stanja na ulazu da bi ponovno bila upaljena led zeleno .Ako vreme menjanja stanja bude duže od 3 sek pali se crvena led.
Gašenje led sam zamislio postavljenjem odgovarajućeg pina kao ulaz.
U prilogu dajem kompletan kod kako sam ja to zamislio tj,da ne bi prepisivao sve šest puta prikaz je za dva ulaza.
Da napomenem kod za registrovanje stanja na ulazu ne registruje svaku promenu stanja . Dalji deo koda radi .

mycity.rs/must-login.png

mycity.rs/must-login.png

offline
  • Teh.Direktor
  • Pridružio: 11 Nov 2005
  • Poruke: 134
  • Gde živiš: Krusevac

Posto verovatno nisi radio sa vecim PIC MCU (ili postoji neki drugi razlog)...
Predlazem ti da problem razlozis i koristis jedan PIC 16f84 za jedan prekidac. Tako bi imao sest kontrolera programiranih za brojanje i jedan za 16F84 za sakupljanje impulsa odnosno 1 master i 6 slave kontrolera.
Pri cemu bi ti dosta pinova ostalo za eventualnu RS232 komunikaciju ili
neki LCD prikaz ili eventualne tastere za izbor nekih podesavanja i sl.

Ko je trenutno na forumu
 

Ukupno su 895 korisnika na forumu :: 48 registrovanih, 8 sakrivenih i 839 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., anta, babaroga, bladesu, bojcistv, darkangel, dekan.m, Denaya, DonRumataEstorski, Duh sa sekirom, Dukelander, GenZee, Georgius, goxin, Griffon vulture, Joja, Karla, Krvava Devetka, Kubovac, Leonov, Mcdado, mercedesamg, Milometer, MiroslavD, Mixelotti, mnn2, nenad81, nuke92, ostoja, pein, Petarvu, procesor, rodoljub, sasa87, sevenino, sokojet, Srle993, Stanlio, stegonosa, theNedjeljko, tubular, vathra, vlad the impaler, voja64, YugoSlav, ZetaMan, žeks62, 79693