logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mikroprocesorowy obrotomierz

michal2666 19 Lip 2007 23:18 14283 46
REKLAMA
  • Mikroprocesorowy obrotomierz
    Buduję właśnie silnik impulsowy, i będę potrzebował mierzyć osiąganą przez niego prędkość. Postanowiłem zaprządz do pracy mikrokontroler i zrobić sobie obrotomierz. Jako impulsator zastosowałem przełącznik hallotronowy z wbudowaną bramką schmitta. Wykorzystałem także wbudowany w mikrokontroler ATtiny2313 timer/counter który zlicza mi impulsy z impulsatora, które pojawią się w czasie 1s. wynik prezentuję na wyświetlaczy LCD. Proste i funkcjonalne. Dokładny opis, schematy, mozaika PCB, oraz wsad do µC w moim portalu naukowym: www.portalnaukowy.edu.pl w dziale Automatyka/mikrokontrolery jednoukładowe.
    Załączniki:
    • Mikroprocesorowy obrotomierz obrot4.jpg (56.21 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Mikroprocesorowy obrotomierz obrot2.jpg (59.35 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Mikroprocesorowy obrotomierz obrot3.jpg (54.68 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Mikroprocesorowy obrotomierz test12.jpg (53.52 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Mikroprocesorowy obrotomierz gotowe.jpg (74.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    michal2666
    Poziom 20  
    Offline 
    Specjalizuje się w: chemia
    michal2666 napisał 478 postów o ocenie 1112, pomógł 7 razy. Mieszka w mieście Pionki. Jest z nami od 2005 roku.
  • REKLAMA
  • #2 4097350
    bonias85
    Poziom 12  
    Posty: 105
    Ocena: 3
    Witam.
    Sam buduje podobny układ (tyle że na czujniku optycznym, lecz zmienię to jednak na hallotron). Moje pytanie to- czy nie lepiej mierzyć okres? Licząc ilość impulsów w czasie 1s ograniczamy rozdzielczość do 60 obr/min, a korzystając z okresy można dość łatwo zwiększyć dokładność (no chyba że Ci nie potrzebna).

    Pozdrawiam,
  • #4 4097439
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Ograniczamy, jeśli wynik pomiaru w czasie 1s mnożymy przez 60 dla uzyskania wyniku nie w obr/s tylko obr/min. Oczywiście możemy też mierzyć czas w jakim impulsator da określoną liczbę impulsów, mi wystarczy taka dokładność ale jeśli ktoś chce większą zawsze może np. zwiększyć liczbę impulsów na obrót.
  • #6 4097659
    Snikers
    Poziom 24  
    Posty: 867
    Pomógł: 21
    Ocena: 33
    nie znam sie na bascomie, tam w kodzie zrodlowym znalazlem komende wait1 (1sek) czy mozna skrocic czas np do 250ms? oczywiscie zliczone impulsy trzeba by mnozyc dodatkowo przez 4. zmniejszy sie dokladnosc pomiaru (0, 240rpm, 480rpm... o ile sie nie pomylilem) ale nie jest mi potrzebna az tak duza rozdzielczosc pomiaru
  • #7 4097668
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    tak, można to zmienić, trzeba wtedy napisać: Waitms 250, oczywiście jak napisałeś trzeba będzie zmienić też mnożnik. Wynik będzie mierzony i wyświetlany nie co 1 s tylko co 250 ms, zmniejszy się też dokładność chyba, że zwiększymy liczbę impulsów na jeden pełny obrót.

    Dodano po 27 [minuty]:

    Na prywatne prośby o plik z mozajką PCB umieściłem w portalu obraz w formacie .pdf gotowy do wydruku w skali 1:1
  • #8 4097760
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Bardzo ciekawy projekt. Zawsze chciałem zbudować coś co mierzyło by obroty silnika. Czy długo obliczałeś układ i ile zajęła czasu jego budowa
    P.S Masz bardzo fajny warsztat :)
    Pozdr michgur
  • REKLAMA
  • #9 4097848
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Jeżeli chodzi o obliczenia to praktycznie nie ma co obliczać. Co do wykonania to układ można wykonać dosłownie w dwa wieczory - jeśli oczywiście części i materiały do trawienia ma się pod ręką.
  • #10 4097867
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Tak się zastanawiam czy można by ten układzik wykorzystać jako obrotomierz do motoroweru. Tylko zamocować ten magnesik (chyba) na wale. Po prostu czysta teoria :)
  • #11 4097886
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Oczywiście, że można. Można też zmienić program tak by liczył prędkość w km/h i np. dodatkowo pokazywał pokonany dystans. Pamiętajcie tylko, że ten konkretny hallotron to przełacznik i trzeba go włączyć i wyłaczyć, czyli umieścić dwa magnesiki (jeden stroną N drugi S).
  • REKLAMA
  • #12 4097894
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Ale zrobić sie da! No to zabieram sie do roboty :)
  • #13 4097908
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    A skąd masz takie miniaturowe magnesy ?

    Pozdrawiam
  • #14 4097926
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Magnesy jakie tylko chcecie: www.magnesy.eu
  • #15 4097995
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Troszkę poza tematem. zobaczcie ceny tych magnesów neodymowych i porównajcie ich ceny z tymi z allegro. Masakryczna różnica.
    P.S Nawet nie wiedziałem że jest tyle rodzajów takich magnesów.
  • #16 4098087
    dex
    Poziom 27  
    Posty: 1299
    Pomógł: 40
    Ocena: 100
    nic się nie ogrtanicza i jakim cudem niby, nawet jak mierzymy ilość w obrotach na minute przez jedną sekundę przecież to tylko przeskalowanie wyniku.. Sekunda jest jednostką wzorcową, przy 10 sekundach wynik będzie jeszcze bardziej precyzyjny jednak układ będzie za wolno reagował na szybkie zmiany prędkości jesli takowe wystepują. Zawsze musi być jakiś kompromis

    Również dobrze mozna mierzyć co 0.1 sek wtedy większy błąd wysępuje dla bardzo małych prędkości.
  • REKLAMA
  • #17 4098115
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    No ale obrotomierz do dwusówa to to bajer jak sie patrzy i to jeszcze elektroniczny! Ale bym na to laski rwał! Już widzę jak jadę i mówię, że silnik ma 5 kiloobrotów:)
    Ale można chyba przestawić go tak żeby mierzył co 0,01 sekundy? wtedy wynik będzie dokładniejszy (teoretycznie)
  • #18 4098116
    bonias85
    Poziom 12  
    Posty: 105
    Ocena: 3
    To naprawdę nie lepiej mierzyć okres między pełnymi obrotami? n = f = 1/T IMHO dużo szybciej i dokładniej. Sam dzisiaj lub jutro to przetestuję.
  • #19 4098134
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Tak mi nie tłumacz bo się kompletnie na takim czymś nie znam :) Ale chciałbym zobaczyć jak ten układzik będzie się sprawował.
  • #20 4098291
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Oczywiście pomiar okresu pomiędzy kolejnymi impulsami to sposób najdokładniejszy - wystarczy tylko zmienić konfigurację wewnętrznego timera/countera by działał jako timer i mierzył czas, do tego proste obliczenie wg. wzoru podanego przez kolegę i mamy dokładniejszy obrotomierz. Ale jeśli komuś nie zależy na dużej dokładności może być mój prostrzy sposób.
  • #21 4098314
    michgur
    Poziom 17  
    Posty: 318
    Pomógł: 3
    Ocena: 8
    Moje zdanie jest takie. Czym więcej bajerów tym jest większe prawdopodobiństwo że się coś zkopie
  • #22 4098321
    Snikers
    Poziom 24  
    Posty: 867
    Pomógł: 21
    Ocena: 33
    jaka rozdzielczoscia dysponuje wewnetrzny timer? ms? czy moze znajac zewnetrzy oscylator wyliczyc z czestotliwosci krok maszynowy i wg tego "zbudowac" dokladniejszy timer
  • #23 4098355
    michal2666
    Poziom 20  
    Posty: 478
    Pomógł: 7
    Ocena: 1112
    Wewnętrzny timer mikrokontrolera ATtiny2313 z kwarcem 4 MHz ma rozdzielczość pomiaru równą 0,25 µs.
  • #24 4098571
    satanistik
    Poziom 27  
    Posty: 1933
    Pomógł: 61
    Ocena: 761
    Projekt ciekawy ale z tego co wyczytałam czas pomiaru określa komenda wait? Nie jest to z byt precyzyjny sposób odmierzania czasu ,jusz chyba lepiej wykorzystać drugi timer?
  • #25 4098578
    slawek55
    Poziom 23  
    Posty: 788
    Pomógł: 3
    Ocena: 61
    A gdzie kupić czujnik i za po ile one są?
  • #26 4098917
    Snikers
    Poziom 24  
    Posty: 867
    Pomógł: 21
    Ocena: 33
    0,25us to bardzo dokladnie hmm a wejscie impulsu musialoby byc na przerwaniu? planuje w te wakacje zaczac zabawe z mikrokontrolerami i chyba zaczne od takiego obrotomierza :)
  • #29 4099218
    bonias85
    Poziom 12  
    Posty: 105
    Ocena: 3
    W celach testowcyh zrobiłęm coś podobnego:

    Mikroprocesorowy obrotomierz
    Mikroprocesorowy obrotomierz
    Na 1. zdjęciu badany elektromagnes podłączony jest do trafa zasilanego z sieci. Można tak sprawdzić czy obrotomierz nam dobrze mierzy :D
    Pomiar za pomocą okresu - reakcja na zmianę prędkośći natychmiastowa.
    A taki układzik z hallotronem najszybciej zdobyć z silników BLDC, czyli komputerowe wentylatory, cdromy, stacje dyskietek mają przynajmniej jeden taki czujnik.
  • #30 4099295
    panmechanik
    Poziom 23  
    Posty: 800
    Pomógł: 50
    Ocena: 116
    Jaka jest maksymalna odległość Halla od magnesu aby móc zliczać impulsy?

Podsumowanie tematu

✨ Dyskusja dotyczy budowy mikrokontrolerowego obrotomierza do silnika impulsowego z wykorzystaniem czujnika Halla z wbudowaną bramką Schmitta oraz mikrokontrolera ATtiny2313. Pomiar prędkości obrotowej realizowany jest przez zliczanie impulsów w czasie 1 sekundy i wyświetlanie wyniku na LCD. Poruszono kwestie dokładności pomiaru – czy lepiej mierzyć liczbę impulsów w stałym czasie, czy okres między impulsami, gdzie pomiar okresu jest dokładniejszy i szybszy w reakcji. Wewnętrzny timer ATtiny2313 z kwarcem 4 MHz ma rozdzielczość 0,25 µs, co pozwala na precyzyjne pomiary. Można skrócić czas pomiaru do 250 ms, zwiększając częstotliwość odświeżania kosztem rozdzielczości, lub zwiększyć liczbę impulsów na obrót dla lepszej dokładności. Wskazano, że hallotron wymaga dwóch magnesów (N i S) do poprawnej pracy. Dyskutowano także o zastosowaniu obrotomierza w motorowerze oraz o możliwości sterowania diodą RGB w zależności od prędkości obrotowej. Podano przykładowy kod źródłowy dla AT89S52 oraz wskazówki dotyczące przeróbek na ATmega8. Omówiono też źródła czujników Halla, magnesów neodymowych oraz ich zasięg działania (ok. 8-9 mm przy magnesie 6x6x2 mm). Wskazano, że pomiar częstotliwości i wykorzystanie przerwań zwiększa precyzję i szybkość reakcji układu.
Wygenerowane przez model językowy.
REKLAMA