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



Teraz jest 19 paź 2017, o 19:24


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 1 cze 2013, o 14:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 maja 2013
Posty: 41
Lokalizacja: Zielona Góra
Pomógł: 1

Super sprawa, no i oczywiście lib napisany w profesjonalny sposób ;) Gratuluje i podziwiam mistrzu :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2013, o 14:56 
Offline
Moderator
Avatar użytkownika

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

Anty jeśli chodzi o podział projektu na pliki doszedł do krańca ludzkich możliwości, tzn robi to idealnie przejrzyście - coś pięknego czytać takie projekty

jeśli zaś chodzi o sam sposób obsługi enkodera to wcale ci się nie oberwie - ja po prostu korzystam ze sprawdzonych metod w tym przypadku i obsługi kodu Greya ... (jako i Sun to robi) .... a tutaj ... hmm jeśli działa to ok .... ciężko mi się wypowiedzieć bo sam od niedawna enkodery obrabiam a już wiem że jest ich sporo odmian i często trzeba kod dostosowywać. Tutaj o ile się nie mylę wszystko zależy od:

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


czyli od jednego wyjścia ??? ... albo coś za szybko rzuciłem okiem albo to może okazać się zawodne w wielu sytuacjach

_________________
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: 1 cze 2013, o 15:14 
Offline
Moderator
Avatar użytkownika

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

jak znajdę czas to się pobawię - ale zwróć uwagę że wątpliwości wyraziłem TYLKO do istoty samej obsługi ... anie callbacków - bo to rozgrywasz po mistrzowsku ;)

_________________
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: 1 cze 2013, o 15:18 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8499
Pomógł: 329

No Anty nas zostawił daleko w tyle .... trzeba się poduczyć mirku ... nie mamy wyjścia :)
oby tak dalej Mistrzuniu ANTY :)

_________________
╔═════════════════╗
║...:: z każdym bitem serca



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2013, o 15:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 lip 2012
Posty: 238
Pomógł: 5

No :) podoba mi się, pewnie skorzystam jak rozbebesze jakąś mikrofale...

ale coś chyba na schemacie jest nie tak z kondziorami... obywa do jednej lini ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2013, o 19:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 238
Lokalizacja: Warszawa
Pomógł: 5

Nic tylko pozazdrościć umiejętności.

Oby kolejne projekty były tylko lepsze.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2013, o 21:16 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 29 lis 2011
Posty: 613
Lokalizacja: okolice Wrocławia :)
Pomógł: 24

Antystatyczny napisał(a):
Umiejętności z czasem nadejdą. Na razie usiłuję raczkować :)


Anty... jeżeli Ty raczkujesz to mnie jeszcze w planach nie ma..... :oops:

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 lip 2013, o 18:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 238
Lokalizacja: Warszawa
Pomógł: 5

No anty fajny program. Mi udało się dziś zasymulować cos na wzór list dwukierunkowych włąsnie z wykorzystaiem enkodera i lcd 4x16.

Szybko łapiesz to co przekazuje mirek - szacun. Ja tam zawsze musze przespać sie atakując coś nowego.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 lip 2013, o 15:21 
Offline
Moderator
Avatar użytkownika

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

Antystatyczny napisał(a):
Sam sie dziwię, że to działa, bo na logike nie powinno.


Powinno powinno ;)

Antystatyczny napisał(a):
Tzn. powinno działać poprawnie w jedną stronę.


Nie nie - na pewno w dwie strony.

Antystatyczny napisał(a):
Mirku, Może po prostu przetestuj to u siebie w wolnej chwili na dowolnym encoderze i z proponowaną przeze mnie aplikacją.


Właśnie przetestowałem ;)

Antystatyczny napisał(a):
Czy mechanizm flag zastosowany jest słusznie?


pewnie, że tak - korzystanie z callbacków jest proste jak drut a takie przykłady pomagają ludziom to zrozumieć - potem nikt nie będzie się ich bał jak jeża. Pewnie że można bez nich .... ale co z tego ? ;) .... można i w ogóle bez mikrokontrolera jak się uprzeć gdyby iść tym tropem

a teraz wyjaśnienie - bo bo moja uwaga oczywiście była niesłuszna a wniosek wyciągnięty tylko po rzuceniu okiem :

mirekk36 napisał(a):
Tutaj o ile się nie mylę wszystko zależy od:

mirekk36 napisał(a):
czyli od jednego wyjścia ??? ... albo coś za szybko rzuciłem okiem albo to może okazać się zawodne w wielu sytuacjach


oczywiście, że nie zależy od jednego wyjścia enkodera ;) bez DWÓCH się nie obędzie i nie mogłoby to działać. Po prostu jedno zgłasza przerwanie a w przerwaniu badamy stan drugiego i jeśli jest 1 to kerunek X a jeśli jest 0 to kierunek Y

najprostsza z możliwych implementacji i sam choć zapomniałem - to jak zaczynałem walkę z enkoderem też ją przeszedłem no ale przeskakiwały wartości okrutnie ;) ... tylko że wtedy zapomniałem kondensatorów dać ;) .....

Tymczasem ta metoda którą kiedyś jako pierwszy podał nasz Sun a ja potem jeszcze troszkę ją pozmieniałem i zaprezentowałem jako że uwzględnia kodowanie greya to może się obejść nawet bez kondków i działa precyzyjnie - choć jest coś za coś - tracimy jeden timer niestety.

Reasumując po dodaniu kondków rzeczywiście tą metodę można spokojnie wykorzystywać - tylko skoro już jesteśmy przy zdarzeniach , callbackach itp to warto zwrócić uwagę na fakt że jeśli w przerwaniu mielibyśmy TYLKO ustawiać jakąś jedną flagę i nic innego nie robić albo tak jak w przerwaniu INT2 tylko badać stan jednego pinu to jednak kod można ZNACZNIE uprościć tak aby był bez przerwań tzn tfuuu bez procedur obsługi przerwań no bo przecież można korzystać ze sprzętowych flag przerwania. Tak więc np to co jest w INT2 przenieść wprost do ENCODER_EVENT() ;) .... zrezygnować z flag opatrzonych volatile ;) ... zresztą proszę jak niżej ... ta uproszczona wersja kodu choć nadal zawiera pełną funkcjonalność callbacków to jednak zabiera mniej i RAM i FLASH ;) .... warto to podejrzeć ... i dokładnie na takiej samej zasadzie zmodyfikować sobie twój LCD_EVENT() ... identycznie:

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


specjalnie zakomentowałem to co zostało uproszczone i wywalone z kodu.

REASUMUJĄC - w zależności od potrzeb projektu i potrzebnej precyzji a tym bardziej gdy mamy leżące odłogiem timery można korzystać z tej metody z kodem greya i timerem

http://mirekk36.blogspot.com/2013/04/en ... y-cz2.html

a w innych przypadkach - chyba nawet w większości przypadków, można korzystać z tej metody - opisanej w tym wątku ;)

Myślę że tym sposobem wyjaśniliśmy na naszym forum chyba WSZYSTKIE ważne aspekty obsługi popularnych enkoderków.

_________________
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: 10 lip 2013, o 14:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 159
Pomógł: 6

Działa to bardzo fajnie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sty 2014, o 04:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 gru 2012
Posty: 55
Lokalizacja: Praszka
Pomógł: 1

Witam,

mam takie pytania,
1) która zmienna odpowiada za wyświetlanie wartości impulsów na ekranie LCD?
Mój enkoder musi zliczyć ponad 33000 impulsów i niestety wartości przeskakują po 32276 na -32768.
Próbowałem zmieniać typ zmiennych w plikach enkodera i nic to nie zmieniało zawsze po przejściu 32276 przeskok na -32768.
Być może jest to kwestia funkcji wyświetlania na LCD?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale tutaj też próbowałem zmieniać na int32_t i dalej to samo z zakresem kończącym się na 32276.

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


jedyne co mi przychodzi do głowy to tylko:
volume,
i funkcja lcd_int.

Niestety nie wiem czemu się tak dzieje, dlatego proszę o wskazanie, której zmiennej typ ogranicza tą wyświetlaną wartość na LCD 2x16?


2) Niepojęta dla mnie sytuacja :0
dlaczego gdy dołożę te dwa kondensatory jak na schemacie enkoder zachowuje się tak jakby nie rozpoznawał kierunku. tzn. w obie strony zlicza impulsy np. zwiększając wartości, albo w obie zmniejszając. Gdy wyciągnę jeden kondensator, a drugi pozostawię wsadzony jest ok, kierunki są rozpoznane i zlicza zwiększając wartości w jedną ze stron, a w drugą przeciwnie tzn. zmniejszając.
Bez obu kondensatorów, też jest poprawnie wykonywana operacja zliczania ale chyba jedynie pod względem kierunku, bo dokładniej jest z tymi kondensatorami. Tylko co to za zjawisko, że kondensator taką zmianę wprowadza?

--------------------------
Sam enkoder to taki model:
MOZ 30 500 5 BZ K
Nota 1. PL
Nota 2. ENG



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 sty 2014, o 20:20 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 gru 2012
Posty: 55
Lokalizacja: Praszka
Pomógł: 1

Ad 1.
Pomogła zmiana w w funkcji bliblioteki LCD odpowiedzialnej za wyświetlanie liczby dziesiętnej z słowa itoa na ltoa
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

;)

Ad 2.
dalej nie wiem... :( wiec na razie dzialam bez tych kondensatorków 100 nF



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 20:20 
Offline
Użytkownik

Dołączył(a): 10 sie 2014
Posty: 40
Pomógł: 0

Witam! Mam mały problem z encoderem, mam podłączonego tak jak na schemacie plus klawisz na PINB0, jak przekręcam encoderem to wtedy uruchamia mi funkcje klawisza. Na PINB3 to samo, dopiero na PINB4 niema tego zjawiska, z góry dziękuje za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2015, o 20:23 
Offline
Moderator
Avatar użytkownika

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

jumar000 napisał(a):
Witam! Mam mały problem z encoderem, mam podłączonego tak jak na schemacie plus klawisz na PINB0, jak przekręcam encoderem to wtedy uruchamia mi funkcje klawisza. Na PINB3 to samo, dopiero na PINB4 niema tego zjawiska, z góry dziękuje za pomoc.

No to coś źle podłączasz - czyli nie masz tak jak na schemacie

_________________
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: 17 sie 2015, o 20:58 
Offline
Użytkownik

Dołączył(a): 10 sie 2014
Posty: 40
Pomógł: 0

[img]
Obrazek
[/img]

Encoder jest podłączony do atmegi644.
Jako sam encoder działa rewelacyjnie.
Problem zaczyna się jak włączę klawisz na sąsiednim pinie.


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

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


------------------------ [ Dodano po: 4 minutach ]

[img]
Obrazek
[/img]

Encoder jest podłączony do atmegi644.
Jako sam encoder działa rewelacyjnie.
Problem zaczyna się jak włączę klawisz na sąsiednim pinie.


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

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sie 2015, o 22:09 
Offline
Użytkownik

Dołączył(a): 10 sie 2014
Posty: 40
Pomógł: 0

Problem rozwiązany, dodałem dwa rezystory
[img]
Obrazek
[/img]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 gru 2015, o 21:41 
Offline
Użytkownik

Dołączył(a): 14 lut 2015
Posty: 42
Pomógł: 2

Dobry wieczór,

Szukam biblioteki, która pomoże mi obsłużyć mój enkoder, może ktoś już testował dla tak dużych wartości i podpowie, czy może poleci inną bibliotekę.

Mam silnik:
https://www.pololu.com/product/2288
Który na wyjściu, przez jeden obrót wału daje aż 8246 impulsów.

Na wyjściu wału mam rolkę fi 31 mm co daje nam prędkość około 54mm/s
Daje nam to około 1 i 2/3 obrotu rolki przez sekundę, czyli jakieś 13743 impulsów na sekundę.
Dotychczas co znalazłem, to przerwania realizowane są co 1ms, czyli o 14 razy za rzadko...

Macie może jakieś rady/propozycję?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2016, o 19:35 
Offline
Nowy

Dołączył(a): 16 lut 2016
Posty: 1
Pomógł: 0

Witam
Mam pewien problem. Kod działa bez problemu lecz przy kręceniu encoderem to zlicza co 2 tyknięcia - raz nie ma reakcji a przy następnym dopiero zlicza o 1, i znowu bez reakcji i.t.d. Może to wina enkodera ale porównywałem charakterystyki i sa identyczne nie wiem gdzie może leżeć problem.


Pozdrawiam
Konrad



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 lut 2016, o 20:33 
Offline
Moderator
Avatar użytkownika

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

electro napisał(a):
Witam
Mam pewien problem. Kod działa bez problemu lecz przy kręceniu encoderem to zlicza co 2 tyknięcia - raz nie ma reakcji a przy następnym dopiero zlicza o 1, i znowu bez reakcji i.t.d. Może to wina enkodera ale porównywałem charakterystyki i sa identyczne nie wiem gdzie może leżeć problem.


Pozdrawiam
Konrad


Trzeba wiedzieć, że są różne typy enkoderów. Czyli są tzw z pół-krokiem i z pełnym krokiem. Są enkodery które mają różne ilości skoków na pełen obrót np 24 albo 30 albo jeszcze inne ... W różnych przypadkach trzeba nieco różnie podejść do obsługi enkodera jeśli chodzi o te pół- albo pełne kroki

istotny też jest sposób podłączenia - ale wkrótce ukaże się dość spory poradnik, w którym rozprawimy się z różnymi typami enkoderów tak aby obsługiwać je wszystkie tą samą funkcją i w różnych konfiguracjach. Opowiem też o tak ważnym zagadnieniu jak połączenia elektryczne bo wcześniej sam sobie z tego sprawy nie zdawałem a musiałem w końcu tematem zająć się od PODSTAW

w mojej aplikacji enkoder po prostu nie mógł gubić kroków na ileś tam obrotów ...

myślę, że ten poradnik zainteresuje wiele osób - polecam chwilę poczekać ;)

_________________
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: 21 lut 2016, o 20:43 
Offline
Moderator
Avatar użytkownika

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

Już wkrótce ... kończę zaraz jeden duży rozdział i na małą chwilę wrócę do poradników (no może do poradnika) bo do tego aż mnie ciągnie - a pisanie książki to taaaak mozolna praca że szok ;)

_________________
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: 23 lut 2016, o 10:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 249
Pomógł: 12

mirekk36 napisał(a):
wkrótce ukaże się dość spory poradnik, w którym rozprawimy się z różnymi typami enkoderów tak aby obsługiwać je wszystkie tą samą funkcją i w różnych konfiguracjach. Opowiem też o tak ważnym zagadnieniu jak połączenia elektryczne

No to czekam z niecierpliwością, bo akurat chcę zrobić prosty projekt z encoderem :) Niby temat oklepany i prosty, ale każda informacja, czy ciekawe rozwiązanie się przyda.
A znając Pańską pomysłowość, to może to nieźle urozmaicić i uprościć pracę (zabawę :))!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 19:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 sty 2015
Posty: 57
Pomógł: 0

Czy tylko u mnie ten wątek zaczyna się od posta @wielkiego ?
Gdzie sie podziała ta biblioteka?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 19:39 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8499
Pomógł: 329

maxus napisał(a):
Czy tylko u mnie ten wątek zaczyna się od posta @wielkiego ?
Gdzie sie podziała ta biblioteka?


dlatego Że szanowny kolega postanowił skasować swoje posty ...
i ma pretensje że został za robienie śmietnika odpowiednio potraktowany ...

_________________
╔═════════════════╗
║...:: z każdym bitem serca



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 19:56 
Offline
Moderator
Avatar użytkownika

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

maxus napisał(a):
Czy tylko u mnie ten wątek zaczyna się od posta @wielkiego ?
Gdzie sie podziała ta biblioteka?

Dokładnie jak pisze SunRiver wyżej - a ja podpowiem - pobierz sobie zupełnie darmowy program AVPlayer

http://atnel.pl/atnel-video-player.html

wpisz w niego enkoder i obejrzyj te poradniki:

Obrazek

to będziesz miał komplet informacji bez łaski tych co to chodzili i kasowali swoje posty na naszym forum

_________________
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: 30 sie 2016, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 sty 2015
Posty: 57
Pomógł: 0

Widziałem już te poradniki, ale z tego co pamiętam nie było tam gotowej biblioteki do pobrania. Oglądać jeszcze raz to wszystko to z
5 godzin chyba. Zamysł tych poradników był taki, żeby każdy sobie taką bibliotekę sam napisał?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 20:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8499
Pomógł: 329

maxus napisał(a):
żeby każdy sobie taką bibliotekę sam napisał?


w ten sposób ... wiele się uczy i nie potrzebuje potem takich skasowanych szukać :)

_________________
╔═════════════════╗
║...:: z każdym bitem serca



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 sie 2016, o 20:30 
Offline
Moderator
Avatar użytkownika

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

maxus napisał(a):
Oglądać jeszcze raz to wszystko to z
5 godzin chyba.

A rzeczywiście - to przepraszam nie było sugestii ;) w takim razie doradzę inaczej - nawet ich nie oglądaj bo mogą okazać się szkodliwe.

maxus napisał(a):
Zamysł tych poradników był taki, żeby każdy sobie taką bibliotekę sam napisał?

Nie ;) bzdury piszesz - zamysł był aby pobudzić do myślenia, zainspirować ... Ci którzy poświęcili czas teraz gdy potrzebują na szybko to dosłownie w kilku linijkach kodu napiszą najprostszą obsługę enkodera - bo zrozumieli zasadę działania, a inni pokuszą się o napisanie sobie biblioteki własnej na podstawie poradnika ;) ... A jeszcze inni spędzą grubo więcej niż 5 godzin na szukaniu po necie po czym i tak się poddadzą ;) i dobrze. Każdy robi to co lubi ;)

_________________
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: 31 sie 2016, o 21:40 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 226
Lokalizacja: LDZ
Pomógł: 22

maxus napisał(a):
Widziałem już te poradniki, ale z tego co pamiętam nie było tam gotowej biblioteki do pobrania. Oglądać jeszcze raz to wszystko to z
5 godzin chyba. Zamysł tych poradników był taki, żeby każdy sobie taką bibliotekę sam napisał?

Masz na forum inne biblioteki: http://forum.atnel.pl/topic11570.html
http://forum.atnel.pl/topic13864.html



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2017, o 20:06 
Offline
Nowy

Dołączył(a): 29 lis 2015
Posty: 8
Lokalizacja: Lublin
Pomógł: 0

Na początek życzenia wszelkiej pomyślności w Nowym Roku dla wszystkich forumowiczów.
Jestem mocno początkującym adeptem programowania AVRów, może rzucam się na zbyt głęboką wodę, ale lubię ambitniejsze zadania.
WAŻNA UWAGA!!!
Dzięki pomocy kolegi anshar błąd w bibliotece został wykryty! Wobec tego pozwolę sobie poprawić go w zamieszczonym poniżej kodzie. Jeśli ktoś zechciałby skorzystać z tej biblioteki, to stwierdzam, że została ona sprawdzona i w tej chwili już działa w pełnym, założonym zakresie i nie zawiera błędów!

A teraz przechodzę do problemu. Do projektów, które mam zamiar zrealizować bardzo przyda się enkoder. Próbowałem obsługiwać go na różne sposoby, ale ilość przekłamań była nie do przyjęcia. Nie pomagały też różne metody układowej filtracji zakłóceń. Zabrałem się więc do porządnego przygotowania jego obsługi. Obejrzałem wszystkie 9 odcinków poradników Pana Mirka i częściowo ściągając z ekranu napisałem bibliotekę. Jest nieco mniej uniwersalna od tej z poradnika, świadomie zrezygnowałem z niektórych opcji, np. obsługi enkodera półkrokowego, pracy w poolingu. Ma pracować na przerwaniach INT0, INT1 lub na PCINT. Na tych pierwszych śmiga jak szalona. Z pośpiechu podłączyłem byle jaki, kupiony za 2,50 zł enkoder bez żadnych układów filtrujących, tak "na żywca" i przekłamań jest bardzo niewiele. Ale z PCINT zaczyna się kłopot. Po prostu nie działają wcale. Umieściłem na próbę w procedurze przerwania włączenie diody i dioda się nie zaświeciła, czyli wygląda, że przerwanie nie następuje. Tylko dlaczego? Napisałem prościutki programik do migania diodą z PCINTa wg 3 części wykładu P. Mirka o przerwaniach dla początkujących (czyli akurat dla mnie) i wszystko działa, jak trzeba. Załączam teraz pliki enco.h i enco.c mojej biblioteki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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


A teraz testowy program obsługi enkodera z wykorzystaniem tej biblioteki:

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


Biblioteka obsługi LCD wzięta została z Bluebooka.
Wszystko razem chodzi na Atmedze 88PA taktowanej 8Mhz z wewnętrznego generatora.Enkoder i przycisk podłączone, jak widać w pliku enco.h.

Błagam mądrzejszych kolegów o pomoc. Przesiedziałem już prawie 2 noce (w tym część sylwestrowej) gapiąc się w kod, jak sroka w gnat i błędu nie widzę. Wydaje mi się, że i inicjalizacja przerwań w funkcji enco_init, i funkcja obsługi przerwania są OK. Więc dlaczego nie działa???



Ostatnio edytowano 2 sty 2017, o 22:11 przez Tomek1955, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 sty 2017, o 20:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 09 gru 2014
Posty: 1406
Pomógł: 237

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



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: 31 ]  Przejdź na stronę 1, 2  Następna strona

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