FAQ | Points | Add... | Recent posts | Search | Register | Log in


ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


Post new topic  This topic is locked      Main Page -> Forum Index -> Microcontrollers Generally -> AVR Microcontrollers -> ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]
Author
Message
kozikron
Poziom 14
Poziom 14


Joined: 17 Oct 2005
Posts: 150
Location: PISZ

Post#1 Post from the author of the topic 06 Jun 2009 20:54   

ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


Witam kolegów mam taki problem potrzebuje programu do mierzenia prędkości obrotowej silnika. Idea pomiaru jest znana, wykorzystywany jest do tego transoptor obiciowy. Ale to nie jest celem mojego wywodu.
Potrzebuje krótkiego pomiaru obrotów zbudowanego na licznikach.
Oscylator zewnętrzny 8MHz. Układ już wykorzystuje globane przerwania pochądzące od portu szeregowego.

Chce do zliczania impulsów wykorzystać zewnętrzne wejście licznika PD4(T0). Program musi zliczać liczbę impulsów w określonym czasie dajmy na to 500ms a następnie wynik będzie wyskalowany w obrotach na minute.
Od czego zacząć Port PD5(T1) mam już zajęty i nie mogę go wykorzystywać tego wejścia. Od czego zacząć jak skonfigurować te liczniki. Proszę o pomoc.

Pozdrawiam
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 06 Jun 2009 20:54   





Back to top
   
emarcus
Poziom 18
Poziom 18


Joined: 29 Nov 2008
Posts: 563
Location: Tecumseh, Ca

Post#2 07 Jun 2009 08:44   

Re: ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


kozikron wrote:
Witam kolegów mam taki problem potrzebuje programu do mierzenia prędkości obrotowej silnika. Idea pomiaru jest znana, wykorzystywany jest do tego transoptor obiciowy. Ale to nie jest celem mojego wywodu.
Potrzebuje krótkiego pomiaru obrotów zbudowanego na licznikach.
Oscylator zewnętrzny 8MHz. Układ już wykorzystuje globane przerwania pochądzące od portu szeregowego.

Chce do zliczania impulsów wykorzystać zewnętrzne wejście licznika PD4(T0). Program musi zliczać liczbę impulsów w określonym czasie dajmy na to 500ms a następnie wynik będzie wyskalowany w obrotach na minute.
Od czego zacząć Port PD5(T1) mam już zajęty i nie mogę go wykorzystywać tego wejścia. Od czego zacząć jak skonfigurować te liczniki. Proszę o pomoc.

Pozdrawiam


Masz kilka roznych mozliwosci.
Mozesz np. zliczac impulsy pochodzace z optosensora licznikiem Timer0 skonfigurowany jako Counter, a czas (powiedzmy te twoje 500ms) zliczac przez Timer1 skonfigurowany do odmierzenia interwalu czasowego po ktorym otrzymasz Interrupt OVF1, albo OC1a -(zaleznie w jakim trybie pracuje Timer1), w tym momencie odczytasz ilosc impulsow, podstawisz te wartosci do wzoru na RPM i wyslesz wynik do LCD.

Inna alternatywa (nawet prostsza) to mierzyc czas pomiedzy impulsami (dowolny timer - masz ich trzy), przeliczyc taktowanie processora, prescaler, ilosc impulsow z optosensora/1 obrot, pomnozyc przez 60, wyslac do LCD.
W tym konkretnym przykladzie impulsy zamiast posylac na licznik0 raczej trzeba wyslac na port z interruptem INT0 lub INT1. (Port PD.2 lub PD.3)
Mozesz tu nawet utworzyc dodatkowa zmienna i zliczac wyniki kilku takich pomiarow, obliczyc srednia wartosc i ten wynik wysylac w odpowiednich interwalach czasowych do LCD.

e marcus
Back to top
   
Google

Google Adsense


Post# 07 Jun 2009 08:44   





Back to top
   
piotr5000
Poziom 17
Poziom 17


Joined: 10 Feb 2009
Posts: 407
Location: okolice Łodzi

Post#3 07 Jun 2009 09:50   

Re: ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


Pomiar czasu pomiędzy impulsami radzę stosować dla małych prędkości obrotowych.
Dla większych prędkości , lub odczytywaniu impulsów z enkodera ( np . 1000 impulsów na obrót ) czasy pomiędzy impulsami mają małą wartość , należy wtedy zliczać impulsy w czasie . Daje to większą dokładność. Np dla 1000 obr/min 100 impulsach na obrót i czasie pomiaru 1 sek daje to 100000 impulsów . Można wykryć niewielkie zmiany prędkości obrotowej pod wpływem zmiennego obciążenia. Pomiar czasu pomiędzy między impulsami w tych samych warunkach da wartość10 mikrosekund . Jeżeli rozdzielczość pomiarową przyjmiemy 1 mikrosekuna to błąd pomiaru wyniesie 10%
Back to top
   
Google

Google Adsense


Post# 07 Jun 2009 09:50   





Back to top
   
tomba
Poziom 15
Poziom 15


Joined: 20 May 2002
Posts: 268

Post#4 08 Jun 2009 00:33helpful post - solution   

Re: ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


GO TO WIEC
nie mylić z poleceniami bascoma
http://www.portalnaukowy.republika.pl/obrotomierz.htm
Back to top
   
kozikron
Poziom 14
Poziom 14


Joined: 17 Oct 2005
Posts: 150
Location: PISZ

Post#5 Post from the author of the topic 08 Jun 2009 19:48   

Re: ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]


dziękuję za pomoc problem rozwiązany dzięki TOMBIE
Back to top
   
Post new topic  This topic is locked      Main Page -> Forum Index -> Microcontrollers Generally -> AVR Microcontrollers -> ATMEGA 8 - pomiar predkości obrotowej silnika [BASCOM]
Page 1 of 1
Similar topics
[Atmega 8] [Bascom] mruga pomiar temperatury (27)
Pomiar napięcia różnicowego w BASCOM ATmega 16 (7)
pomiar napięcia sinusoidalnego atmega bascom (7)
BASCOM, ATMEGA --> pomiar częstotliwości (9)
Pomiar predkosci obrotowej silnika silnika (7)
Pomiar prędkości obrotowej silnika (17)
Pomiar prędkości obrotowej silnika (43)
[Mega8][Bascom] Pomiar prędkości obrotowej (13)
Czemu mi to nie działa? Pomiar temperatury. BASCOM, ATmega. (2)
ATMEGA 8 pomiar pradu silnika (2)

Page generation time: 0.111 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed