Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 12 lis 2024, o 17:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 27 paź 2012, o 12:21 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

tylko to register przed volatile wyrzuć ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 paź 2012, o 14:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

Brawo :)
jak bys dodal jeszcze peryferia jak podlaczykles to bedzie komplecik :) (schemacik)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2012, o 18:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 cze 2012
Posty: 95
Lokalizacja: Nowa Sól
Pomógł: 1

Teraz masz aktualizacje wyniku co sekundę, tak? Od jakiegoś czasu się zastanawiam, jakby zrobić coś takiego, tylko żeby wynik był wyświetlany płynnie. Myślę, że trzeba by mierzyć czas pomiędzy impulsem, bądź co kilka impulsów. Myślę, że efkt byłby lepszy, sam mam zamiar za jakiś czas (no właśnie, kiedy ten czas się znajdzie;/) coś takiego zrobić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 paź 2012, o 19:57 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27308
Lokalizacja: Szczecin
Pomógł: 1041

Ja tylko tak na gorąco przypomnę, że jeśli static, to zmienna będzie utworzona w obszarze zmiennych globalnych. A jeśli w obszarze zmiennych globalnych inicjowanych zerem, to wtedy inicjalizowanie ich w kodzie

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


nie ma sensu.... Oczywiście to nie jest błąd, ale po co ? chyba żebyś chciał je inicjować inną wartością to ok.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sty 2013, o 02:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 97
Lokalizacja: Tarnów
Pomógł: 2

Witam

Też "bawię się" transoptorem szczelinowym (TCST 2103) i usiłuję zrobić licznik obrotów. Znalazłem ten temat więc stwierdziłem że nie ma co zakładać nowego.
Mój obrotomierz usiłowałem zrobić na przerwaniu zewnętrznym INT0 (ATmega8) i licznik zliczający jakąś podstawę czasu. Czyli w sumie mniej więcej tak jak kolega Antystatyczny to pokazał gdzieś na początku tego tematu. Ale u mnie wystąpił taki problem że przerwanie wiązki które generowało przerwanie na INT0, powodowało inkrementacje licznika (liczącego przerwania) nie o jeden a o kilkanaście. Tak jakby to przerwanie wiązki trwało kilkanaście przerwań. Próbowałem wszystkich kombinacji, i zbocza narastającego i opadającego i poziomem niskim i dowolną zmianą, nic, to samo.

I teraz pomyślałem że może rozwiązaniem było by wykorzystanie wejścia ICP tylko nie bardzo rozumiem podrzucony tutaj kod, a po próbie zaadoptowania jego części do swojego projektu wyświetlają mi się jakieś głupoty (aczkolwiek stabilne :) ), więc super by było trochę to zrozumieć. Ogólnie czytając notę katalogową zrozumiałem że chodzi o to:
jak pojawi się zmiana stanu na wejściu ICP to wtedy wartość licznika z TCNT jest zapisywana do rejestru ICR. Czyli odmierzamy okresy czasu trwania jakiegoś tam impulsu. Powiedzmy w moim przypadku normalnie panuje stan niski a przecięci wiązki powoduje stan wysoki. Czyli takie coś:

___________| |___________
Wiec przydało by się mierzyć długość trwania tego stanu niskiego, nie tej szpilki chwilowej w momęcie przecięcia wiązki. Samą obsługę przerwania jeszcze wydaje mi się ogarniam:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

to by było pojawienie się zbocza narastającego, tak ?
Potem zerujemy licznik i po zboczu opadającym przepisujemy zawartość licznika, tylko to isOK ? ktoś wie po co to ? jak się licznik przepełni zerujemy potem przepisujemy do ok jescze to sprawdzamy czy różne ... nie pogubiłem się, jeszcze to atomic które przierwszy raz na oczy widzę. Ale nie ważne już samo przeliczanie, chodzi mi o zasadę dziłania tego mechanizmu. Jak by ktoś mógł parę zdań o tym i czy ja to dobrze rozumiem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sty 2013, o 03:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 gru 2012
Posty: 161
Pomógł: 9

Może tak się dzieje podczas włączania/wyłączania transoptora (nie w pełni otwarty, nie w pełni zamknięty)?
Zobacz na ten wykres znaleziony w pdf:
http://prntscr.com/o9r5s

A jakby tak po pierwszym wykryciu przerwania pochodzącego z int0 zrobić przerwę w zliczaniu na 20 us ? (2x Turn On Time).

Takie moje spekulacje...

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sty 2013, o 10:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 gru 2012
Posty: 72
Pomógł: 6

The River nie pisz po 2 w nocy bo tematy bełtasz....
Kod do którego się odnosisz znajduje się w tym temacie Obrotomierz
isOK wykorzystywane jest w przerwaniu aby nie robić kłamstwa gdy licznik przekręci się. Ten kod spokojnie liczy od 600 do 12000 obr/min tak testowałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO