| Author |
Message
|
kozikron Poziom 14

Joined: 17 Oct 2005 Posts: 150 Location: PISZ
|
#1
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

|
#
06 Jun 2009 20:54 |
|
|
|
|
|
| Back to top |
|
 |
emarcus Poziom 18

Joined: 29 Nov 2008 Posts: 563 Location: Tecumseh, Ca
|
#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

|
#
07 Jun 2009 08:44 |
|
|
|
|
|
| Back to top |
|
 |
piotr5000 Poziom 17

Joined: 10 Feb 2009 Posts: 407 Location: okolice Łodzi
|
#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

|
#
07 Jun 2009 09:50 |
|
|
|
|
|
| Back to top |
|
 |
tomba Poziom 15

Joined: 20 May 2002 Posts: 268
|
|
| Back to top |
|
 |
kozikron Poziom 14

Joined: 17 Oct 2005 Posts: 150 Location: PISZ
|
#5
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 |
|
 |