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



Teraz jest 24 kwi 2025, o 04:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 25 sty 2014, o 13:59 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Witam
Mój problem wygląda następująco i prosił bym o pomoc w jego rozwiązaniu.

Używam Countera w atmega 8 do zliczania impulsów podajnika w piecu. Jako "enkoder" dałem zwykły wyłącznik ramieniowy który co obrót zwiera mi counter do masy.
Counter powinien zliczać co jeden w góre 1,2.3.... itd ale często jest tak że przeskakuje co dwa co wprowadza zakłamania. Kiedyś miałem taki problem i zastosowałem układ SN74HC14 (bramka schmitta) i pomogło na pewien czas.

W bascomie konfiguracja wygląda tak

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


Może idzie to inaczej rozwiązać?
Sam impuls trwa ok min 5s. Więc można by to zrobić w taki sposób w momencie kiedy krancówka jest załączana(0) to układ sprawdza czy po 3s nadal jest (0) jeśli tak to robi +1.
Ze by program wykonał operacje +1 to musi być spełniony warunek (1)->min 3s (0)-> min 10s

Obrazek

schemat wygląda tak.
Obrazek



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

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Co do schematu:
-kondensatory 22nF przy kwarcu to " kaczka drukarska "? ( 22pF)
-rezystory 1k na wejściach bramek - tak było w oryginale ?.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2014, o 10:28 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Co do kondensatorów przy kwarcu to moja pomyłka drukarska ;p ale rezystor się zgadza.
Robiłem też pomiar oscyloskopem i na wejsciu procka w chwili wystąpienia zbocza pojawia sie tylko jeden skok ale procek juz naliczy 2 impulsy. I tak jest nie zawsze.



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

Dołączył(a): 22 paź 2013
Posty: 1968
Lokalizacja: Lipsko
Pomógł: 125

Zaraz pewnie mnie ktoś zjedzie, ale...Przy takiej częstotliwości moim zdaniem szkoda się bawić w sprzętowe zliczanie. Dosłownie kilka linii załatwia kompletney licznik z detekcją zbocza i dedbouncing, a przede wszystkim (i to jest główny powód) nie jestem "przyczepiony" do konkretnego pinu pod, który muszę płytkę sztywno projektować tylko wybieram ten, który mi pasuje. Swoją drogą na tiny13 spokojnie ponad 40kHz wyciągałem (więcej akurat nie miałem potrzeby sprawdzać).

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2014, o 12:19 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

A czy możesz coś zaproponować w Bascomie oczywiście???



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

Dołączył(a): 22 paź 2013
Posty: 1968
Lokalizacja: Lipsko
Pomógł: 125

To fragment takiej mojej popierdółki do pomiaru obrotów. Sygnał na wejściu miałem ładnie uformowany więc tu debouncing nie był potrzebny. W komentarzach dodałem Ci odpowiednie linie dla debounce tylko jeszcze musisz sobie zrobić sobie programowy licznik w przerwaniu dla zmiennej Timer

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


Imp - to zdefiniowany port np. Pind.0
Zi - zmienna bitowa
Obr - tu zliczałem obroty w zmiennej Word

Jeśli chcesz do tego debounce to zrób sobie programowy licznik w przerwaniu i odkomentuj resztę kodu.

A na dowód, że to działa... 8-) http://youtu.be/fc-jHC4HwiU (tylko tutaj akurat w układzie na attiny44)

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2014, o 13:38 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Właśnie siedzę na tym i mam klopot z pamięcią bo prockowi się zapomina


..........
.......
readeeprom z,38


do

Debounce Pind.5 , 1 , Podajnik , Sub

Locate 3 , 16
Lcd "z" ; Z

...........

loop


Podajnik:
Z = Z + 1

Writeeeprom Z , 38

Return



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 sty 2014, o 13:52 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

tak do masy ale przez bramke schmitta a on wystawia normalnie 1

------------------------ [ Dodano po: 14 minutach ]

Chyba to pomogło

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lut 2014, o 08:14 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

pierwszy tydzien minął i wszytko działa wiec uznaje temat za rozwiazany



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: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO