Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Prosty miernik obrotów

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:
Prosty miernik obrotów

Postautor: Sova » 10 mar 2006, o 22:58

Witam, kręcę sie ostatnio w okół tematu, ale nic dobrego jak narazie nie zrobiłem. Musze liczyć obroty silnika, który obraca się bardzo wolno. Częstotliwośc obrotu na oko to 1-2Hz. Jest to silnik od wycieraczek samochodowych. Na początek próbowałem z IR, ale nie zrobiłem ostatecznie dobrego odbiornika IR. Teraz zrobiłem to na normlanej tarczy laminatowej pokrytej miedzią(takie okrągłe PCB) która się kręci w raz z wałem obrotowym, ale w pewnym momencie jest "dziura" w miedzi, gdzie brak przewodzenia między szczotkami dotykającymi tarczę. W teorii wszystko ok, ale w praktyce, w momencie, gdy brak przewodzenia procesor ktróry liczy obroty głupieje. Napisałem program, pokazujący na diodzie, czy styk zwiera lub nie, jednak dioda pokazuje zamiast "0" lub "1" jakby "0,5". O co tu chodzi. Pomyslałem sobie, że na szczotce może być ładunek spowodowany tarciem metalu o metal, a tranzystory w procku mogą byc unipolarne, więc to by tłumaczyło moją teorię - pojemność przez którą poprzez ładunek, mam jakiś potencjał na bramie tranzystora. Dodatkowo, jak dotykam palcem masy - uziemiam, licznik działa jak trzeba, czyli pokazuje w miejscu "dziury" zero. Jak prosto rozwiązać problem licznika. Chcę aby na wyjściu dawało 5V, ale w momencie "dziury" czyli braku styku było zero - dzięki temu proc będzie mógł liczyć ile obrotów sie wykonało. Może i pytanie banalne, lecz nie mam już pomysłów. Najfajniej byłoby zrobić to na IR - brak by było jakiegokolwiek kontaktu wału obrotowego z układem. Gdzieś słyszałem, ze robi sie to na transoptorach - jednak nie znam sie na elemenatach optoelektroniczynch, wiec proszę o pomoc. Algorytm zliczający już sam napiszę.

Awatar użytkownika
Futrzaczek
-
-
Posty:782
Rejestracja:4 gru 2005, o 17:48
Lokalizacja:Piotrków Tryb
Kontaktowanie:

Postautor: Futrzaczek » 10 mar 2006, o 23:08

Lek na Twoje problemy :
http://www.allegro.pl/item91180788_tran ... inowy.html
To tylko przykład, oczywiście :D

21777
-
-
Posty:137
Rejestracja:3 mar 2004, o 13:49

Postautor: 21777 » 10 mar 2006, o 23:19

witam
po co wyważać otwarte drzwi ? Problem ten ( w miarę prosty sposób) został już rozwiązany. Proponuję przeczytać artykuł pt. „cyfrowy licznik obrotów silnika" oraz „Wskaźnik optymalnych obrotów silnika samochodowego” Opracowania te (w postaci kitów AVT) zostały skonstruowane dla nieco większej częstotliwości pracy, ale może zastosowane tam rozwiązania przydadzą ci się w twoim projekcie ?
pozdrowienia
Marek

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 11 mar 2006, o 16:34

Już o transoptorze myslałem wcześniej, tyle, że szczelina w nim jest mniejsza od 1mm, a sama moja tarcza ma ponad 1mm. Czy te transoptory szczelinowe przenoszą sygnały stałopradowe, czy trzeba jeszcze jakoś specjalnie wzmacniać (sygnał po stronie "wtórnej"), bo jesli nie to kupił bym i po protu przełamał na środku, 1 mm więcej może by nie zaszkodził. A co do tych kitów potem zerknę, ale jak szukałem, wszytkie obrotmierze robione są do samochodów i to jest na zasadzie iskry zapłonowej, aczkolwiek poczytam jeszcze te dwa.

Awatar użytkownika
Futrzaczek
-
-
Posty:782
Rejestracja:4 gru 2005, o 17:48
Lokalizacja:Piotrków Tryb
Kontaktowanie:

Postautor: Futrzaczek » 11 mar 2006, o 17:04

Postaram się o to, aby była to jak najbardziej sensowna wypowiedź w całej mojej forumowej karierze.

Sygnału jakoś specjalnie wzmacniać nie trzeba, pod warunkiem, że "oczko" w tarczy będzie przezroczyste. Jeżeli nie, można pokusić się o jakiś wzmacniacz operacyjny, aby podawał procesorowi "czyste" 0 albo 1.
Czy te transoptory szczelinowe przenoszą sygnały stałopradowe
Jeżeli dobrze rozumiem, chodzi o to czy świeci czy nie, tak?
Więc odpowiem tak, przenoszą te sygnały.

Jeżeli był to spam, to bardzo proszę moderatora o wywalenie niniejszego postu :562:

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 11 mar 2006, o 17:28

Już sie tak nie rozczulaj nad sobą, bo dobrze wiesz kiedy spamujesz, a kiedy nie.

Jesli masz doświadczenie z transoptorami to już Ci tłumaczę. Procesor który liczy to AT89C2051, do nóżki P1.0 ma być podpięty styk. Program ustala na P1.0 stan wysoki(czyli 1). Jak styk sie zetknie to nóżka ma sie zwierać z masą(czyli wymuszam na niej 0), wtedy proc rozumie, że ma zwiększyć zmienną licznika o jeden. Problem jest teraz, że tam nie może być styku, tylko coś, co da albo brak przewodzenia, albo przewodzenie(zwarcie). Styku nie może być, bo ja bym go musial palcem naciskać, a to ma robic obracający sie wał, napędzany przez silnik od wycieraczek. Chciałem zrobic to tarczą, na której jest miedź, a w pewnym momencie jej brak, więc cały czas przewodzi(jest zwarcie z masą) a w pewnym momencie brak przewodzenia(czyli brak zwarcia z masą). W teori mialo działać ok, ale proc jak napisałem głupiał. Chce więc zrobić to, aby nie było jakiego kolwiek tarcia ani czegoś co może powodować głupienie procka. Jakby ten transoptor moznabyło rozłamać i dać obie częsci w odległości od siebie np 3mm to by było super: dioda świeci cały czas, a teraz odbiornik przewodzi w zalezności czy jest przysłonięty, czy nie. Jak mówie robiłem to już na diodzie odbiorczej, ale zmiany prądu tej diody są tak małe, że nic mi z nich nie bylo.

Awatar użytkownika
Futrzaczek
-
-
Posty:782
Rejestracja:4 gru 2005, o 17:48
Lokalizacja:Piotrków Tryb
Kontaktowanie:

Postautor: Futrzaczek » 11 mar 2006, o 20:59

Tomku, a z czego masz tą tarczę?
Z miedziowanego laminatu tak jak napisałeś?
A miedź jest nieprzezroczysta - czyli dobrze.
W miejscu okienka wywierć dziurę fi 6...10 mm
I zamiast tego transoptora szczelinowego daj :
-diodę LED najlepiej białą albo czerwoną fi 5mm albo większą i jak największej światłości
-fototranzystor albo fotoopornik
Zamiast diody najlepsza byłaby żaróweczka (emituje światło w szerokim zakresie fal), ale chyba wiemy, jakie to są wredne i zdradliwe elementy :x
Umieść te dwa elementy naprzeciw siebie na wysokości okienka, żródło światła do zasilania oczywiście.
Ale fotoelement najlepiej podłącz do jakiegoś wzmacniacza operacyjnego.
Przy niedużych prędkościach - takich jak Twoje - będzie działać, że hej!

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 11 mar 2006, o 23:44

O rany, znowu mzona sobie powrózyc <lol

Styk szczotek o tarcze miedziana to najpewniejszy czujnik jaki mogłes zrobic, tyle ze mechaniczny, wiec sie zuzyje ;)
ale w kazdym razie powinien dzialac.
Zastanawiam sie co znaczy ze dioda pokazuja jakby 0,5, ale zkaladam, ze ta dioda miga w jakis blizej nielogiczny sposob.
Wiec po pierwsze jaki to procesor?
po wtóre czy dorze poustawiałes piny procesora (wejscia wyjscia jesli to na przyklad AVR)
i po trzecie taki rodzaj czujnika jaki zastosowaes moze i na pewno generuje spore drgania, wiec zanim podasz taki sygnał na pin wejsciowy uP to nalezłaoby go poddac odkłucaniu na obwodzie RC.

czarutek

Postautor: czarutek » 12 mar 2006, o 09:25

Styk szczotek o tarcze miedziana to najpewniejszy czujnik jaki mogłes zrobic, tyle ze mechaniczny, wiec sie zuzyje...
... Zastanawiam sie co znaczy ze dioda pokazuja jakby 0,5, ale zkaladam, ze ta dioda miga w jakis blizej nielogiczny sposob. ...
"Dziś pytanie, dziś odpowiedź" ;)
- a 'iskrzenie' styków?

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 12 mar 2006, o 09:34

hmmm, przeczytałem dzis jeszcze raz dyskusje i zauwazam nowe możliwosci. Skoro procesor to 2051 a czujnik podpiety jest do P1.0 to profilaktycznie zapytam czy kolega zastosował zewnetrzny rezystor podciagajacy do Vcc, bo w 2051 piny P1.0 i P1.1 sa wejsciem komparatora i nie posiadaja wewnetrznych podciagów.

czarutek

Postautor: czarutek » 12 mar 2006, o 09:54

Czy tzw. "zjawisko iskrzenia/drgania styków" jest Panom znane?
Załączniki
ISKRZENIE STYKÓW.zip
(124.33KiB)Pobrany 257 razy

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 12 mar 2006, o 12:26

Czy tzw. "zjawisko iskrzenia/drgania styków" jest Panom znane?
jest znane panie kolego...

tu cytuje z wczesniejszej mojej wypowiedzi: "i po trzecie taki rodzaj czujnika jaki zastosowaes moze i na pewno generuje spore drgania, wiec zanim podasz taki sygnał na pin wejsciowy uP to nalezłaoby go poddac odkłucaniu na obwodzie RC. "

Mysle, ze o to koledze chodziło...
ja poprostu szukam jeszcze innych mozliwosci błednego dzialania

Pozdrawiam :]

czarutek

Postautor: czarutek » 12 mar 2006, o 12:56

A może by zastosować fotoparę i kółko od starej myszki?
P.S. Tak tylko, liczbę postów sobie nabijam... ;)

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 12 mar 2006, o 15:03

Dzis zrobiłem jeszcze inaczej: silnik od wycieraczek ma w sobie taki styk(przełącznik), który raz styka do VCC a raz do GND - dzięki niemu przez zetknięcie P1.0 do 12V uszkodziłem dwa proce :/ i dlatego zrezygnowalem z niego. Dopuki było tylko tak, że styk spinał port do masy, proc świrował właśnie jak opisywałem(pokazywał te 0,5 oczywiście wydaje mi się, że poprostu zmienial szybko stany na porcie, przez co średnia moc na diodzie była mniejsza niż dla 1, ale większa niż dla 0). Teraz jest, że styk na zmianę spina port do +5V i masy(w odpowiednich fazach wału). Dioda nie świruje, ale tylko dioda - proc jak liczy odstępy między jednymą zmianą a drugą znów głupieje! Warto dodać, że styk ma przecież jakiś stan przejściowy, kiedy nie jest spięty ani z masą ani z +5V. Pomyślałem sobie, że może dlatego, że znów jest tarcie - bo ten styk także jest dociskany plastykowym bolcem - więc owinąłem w tym miejscu taśmą klejącą, by była izolacja. Niestety nie pomogło.
hmmm, przeczytałem dzis jeszcze raz dyskusje i zauwazam nowe możliwosci. Skoro procesor to 2051 a czujnik podpiety jest do P1.0 to profilaktycznie zapytam czy kolega zastosował zewnetrzny rezystor podciagajacy do Vcc, bo w 2051 piny P1.0 i P1.1 sa wejsciem komparatora i nie posiadaja wewnetrznych podciagów.
Fakt nie zastosowałem, a kiedyś słyszałem, że własnie takie cuda mogą się dziać - oj ja niemądry :). Jak rozumiem ma to wyglądać tak: do P1.0 przylutować styk(teraz już bym nie przełącznik lutował tylko styk[spinający z masą lub otwierający obwód]) idący do masy, oraz do P1.0 także przylutować rezystor prowadzący do +5V. Jakiej wartości ten rezystor ma być i czy tak własnie ma to wyglądać kolego Pressie?

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 12 mar 2006, o 15:57

tak by to mialo wygladac kolego Sova. Rezystor na przyklad 10k. I bez przesadnego zaufania do tego styku w silniczku, bo tez bedzie generował drgania (ot urok mechanicznych elementów stykowych ;) )

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 12 mar 2006, o 19:02

Rezystor nic nie daje, nadal proc głupieje - mam program, że włącza silnik, co dwa odbroty(czyli 2x1 na pionie i 2x0 na pinie na przemian) powinien zmierzyć ile trwa obrót, ale chyba to własnie drgania i małe przerwania obwodu powodują, że proc sie gubi-pracuje na około 11MHz - może łapać takie małe okresy. Nie powiem już nic o tych dwóch obrotach, bo ich nie ma praktycznie w ogóle - czyli tak jakby znów potwierdzała sie teoria. Jakm mam podłączyć kodna, od P1.0 i masy, czy równolegle do styku? Sorry, że takie głupie pytania, ale ja już nie mam nerwów do tej maszyny, wszytkie moje pomysły już zawiodły :(.

Awatar użytkownika
Futrzaczek
-
-
Posty:782
Rejestracja:4 gru 2005, o 17:48
Lokalizacja:Piotrków Tryb
Kontaktowanie:

Postautor: Futrzaczek » 12 mar 2006, o 19:05

Dlatego radzę skorzystać z rozwiązań optycznych. Drgania styków tam nie ujrzysz.
Jakbyś chciał budować moje rozwiązanie, to możesz użyć wewnętrznego komparatora (o ile masz go "wolnego"). Koszty zmniejszą się o cenę uA 741 :D

czarutek

Postautor: czarutek » 12 mar 2006, o 19:10

Ja bym wykorzystał jednak wewnętrzne styki w 'sterowniku' silnika. Nie wiem w czym problem... :(

Awatar użytkownika
Lemur
-
-
Posty:17
Rejestracja:27 lip 2004, o 08:30
Lokalizacja:Pruszków

Postautor: Lemur » 12 mar 2006, o 20:39

Przy tak małych obrotach dobrym i prostym rozwiązaniem będzie magnes i kontaktron.
Po odczycie stanu pinu portu pamiętaj o pewnej zwłoce czasowej ,zlikwiduje błędne działanie wskutek drgań.

Awatar użytkownika
Sova
-
-
Posty:510
Rejestracja:10 lis 2003, o 21:43
Lokalizacja:Ostrołęka
Kontaktowanie:

Postautor: Sova » 13 mar 2006, o 20:09

Dlatego radzę skorzystać z rozwiązań optycznych. Drgania styków tam nie ujrzysz.
Jakbyś chciał budować moje rozwiązanie, to możesz użyć wewnętrznego komparatora (o ile masz go "wolnego"). Koszty zmniejszą się o cenę uA 741 Very Happy
Siedziałem już nad tym od długiego czasu - nie jest problem zrobienie nawet zewnętrzengo komparatora - jeden TL081, tylko wykorzystanie elementów optoelektroniczych - ich zmiany oporności lub pradu który przepuszczają są tak małe, że praktycznie nic mi nie dają, aby teraz wykorzystać je, trzeba zrobić generator po stronie nadajnika - ne555, a po stronie odbiornika musze dać wzmacniacz o wzmocnieniu nawet koło 10000V/V. Nie dam Opampa bo mam zasilanie asymetryczne, trzeba robić przetwornice napięcia na +/- 5V - i po co sie w to p**** jak mozna zrobić mechaniczne rozwiązanie?! Więc jestem pewnien, czy wyjdzie to bardziej ekonomicznie - dlatego pytałem się Ciebie jak te fotooptory by sie do tego nadawały - bo jak mam sie bawić we wzmacnianie sygnałów to porostu warto pomysleć, gdzie teraz jest błąd w rozwiązaniu mechanicznym

Wg mnie, nie jest to kwesja żadnych drgań - styk jest dociskany jak na rysunku. Blaszka jest dociskana przez klocek na wale tak mocno, że aż sie wygina, więc wg mnie nie ma mowy o drganiach lub jakiś krótkich otwarciach obwodu - jednak proc głupieje - i dodatkowo nie są to warości określone. Program na nim liczy:

Kod: Zaznacz cały

Loop_0: MOV R2 , # 0128D ; ustawiam do rejestru r2 128 - powiedzmy wartość przychodzi z komputera Loop_1: DJNZ R2 , Loop_1 ; wykonuje pętle dopuki R2=0 INC R3 ; zwiększam R3 i to oznacza ile razy taka petla ma czas sie wykonac w okresie obrotu JB P1.0 , Loop_0 ; jak na porcie P1.0 jest stan wysoki to licz jeszcze raz, jak nie to idz dalej i poślij np do PC
Tak wygląda kod, problem, że raz wysyła, że pętla DJNZ wykonuje sie tylko raz(R3=1), a czasem, że nawet 169 razy. No i o co tu chodzi - a licznik tych obrotów muszę mieć, bo od tego jest uzalezniony silnik krokowy który odpowiada za co inego :(. Może własnie gdzies wstawić tu kondensator który będzie podtrzymywał stan niski na porcie, albo dławik?
Załączniki
wal.GIF
wal.GIF (2.66KiB)Przejrzano 11644 razy

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości