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



Teraz jest 18 kwi 2024, o 21:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 27 ] 
Autor Wiadomość
PostNapisane: 15 sie 2016, o 21:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Witam

Długo się zastanawiałem czy zapytać na forum czy nie :) pewnie strzeliłem gdzieś kosmicznego babola i nie mogę rozgryźć problemu. Mianowicie chodzi o to, że przerabiam właśnie dział 4.8.1. z BB dotyczący klawiatury analogowej. Chciałem uzyskać taki efekt aby na wyświetlaczu LCD przedstawiana była bezpośrednia wartość ADC. Wydaje mi się, że wszystko podłączyłem identycznie jak na schemacie, rezystory też dobrane tak jak w książce. Program z rozdziału wcześniejszego. Na LCD mam tylko wartość 1023 i żadnej reakcji na przycisk.

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


Wiem, że to paskudny pająk :)
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 21:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Ustaw wejścia DDR .;)

------------------------ [ Dodano po: 2 minutach ]

A sorka :D
masz na krzyż podłączone przyciski nie zwierają się.

------------------------ [ Dodano po: 7 minutach ]

te przyciski maja jakby dwie pary styków.
Obrazek


Autor postu otrzymał pochwałę


Ostatnio edytowano 15 sie 2016, o 22:04 przez Daro69, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 22:02 
Offline
Użytkownik
Avatar użytkownika

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

Witam
BoskiMario napisał(a):
Wiem, że to paskudny pająk

...mam arachnofobię więc trochę strach patrzeć :)
Co do kodu -
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

czyli 1023 wyświetli już dla Vin 2V56.
Po drugie zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

spowoduje, że zwrot ADCW będzie następował przy spełnieniu założenia (ADCSRA.... ) a program ma poczekać na koniec konwersji - zbędne są klamry, wymagany średnik,
Na który PIN podajesz napięcie?
Czy mierzyłeś je wciskając klawisze?
...no na razie tyle.

Pozdr.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 22:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Daro69 - przyciski poprawione ale dalej żadnej reakcji :(

Kicajek:

Kondensator jest podpięty do AREF. Poprawiłem błędy w kodzie i dalej bez zmian. żadnej reakcji choć napięcie po wciśnięciu przycisków zmienia się. Napięcie podaje na PA5 czyli ADC5 (procek to atmega16)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 22:35 
Offline
Użytkownik
Avatar użytkownika

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

Witam
BoskiMario napisał(a):
Poprawiłem błędy w kodzie

A jakie masz teraz napięcie Aref - Vcc? ( ADMUX |= (1<<REFS0) )
W związku z długim czasem - _del 1s musisz trzymać wciskaczek trochę dłużej; do testów zamiast nich poćwicz w potencjometrem, może szybciej zaskoczy ;)

Pozdr.

Edit - pomyłeczka było ( ADMUX |= (1<<MUX0) )



Ostatnio edytowano 15 sie 2016, o 23:45 przez kicajek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 22:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Napięcie Aref - Vcc wynosi 2,28

Jak pod ADC5 podłączam potencjometr bez rezystorów to działa pięknie. Kręcę i ADC pokazuje mi wartości, ale z przyciskami niestety nic a nic :(

Może rezystory są źle dobrane bo gdy naciskam przyciski to różnice w spadku napięcia są nieduże.
Niestety elektronika jest moją piętą achillesową.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sie 2016, o 23:43 
Offline
Użytkownik
Avatar użytkownika

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

Witam
BoskiMario napisał(a):
Napięcie Aref - Vcc wynosi 2,28

To może jeszcze raz: zmień Aref na Vcc ponieważ dla przycisku najbliższego będziesz miał Vin 2,5V (czyli już poza zakresem ) a im bliższe GND to jest jeszcze gorzej.
BoskiMario napisał(a):
...choć napięcie po wciśnięciu przycisków zmienia się.

Piszesz o pomiarach - przecież jak mierzyłeś to musiałeś zauważyć że wyłazisz poza zakres pomiarowy.
Tak dla przypomnienia i ogólnie: REFS'ami ustalamy jakie max. napięcie chcemy mierzyć - każde przekroczenie tego napięcia skutkuje wyświetleniem 1023.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 06:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Czy te rezystory - ten od zasilania jest inny 100k trzeci pasek zielony a w pozostałych żółty.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 06:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Chodzi o to by ten jeden miał tyle co suma pozostałych.



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

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

Witam
Daro69 napisał(a):
Czy te rezystory - ten od zasilania jest inny...

Tak na oko wychodzi że wszystkie po 100k, stąd moje sugestie aby zmienić Vref; można też bawić się rezystorami - byleby poruszać się w przedziale "napięć mierzalnych". Wiadomo że przy takiej klawiaturze precyzja pomiaru nie jest taka wyśrubowana i można poszaleć.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 07:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Cześć, przepraszam, że dopiero odpisuje ale wczoraj padłem :)

Kicajek - po zmianie napięcia na VCC widać, że jest reakcja na wciśnięcie każdego przycisku w związku z tym zgłupiałem kompletnie :( nie rozumiem w takim razie pojęcia napięcia odniesienia. Myślałem, że dzięki wewnętrznemu napięciu odniesienia na poziomie 2,56 będę mógł precyzyjniej dokonywać pomiarów. Druga sprawa, mam teraz na wyświetlaczu cały czas 937 a nie 1023 (a żaden przycisk nie jest wciśniety) czy moglibyście wyjąsnić mi o co chodzi ?
Dziś wieczór na nowo oglądam poradniki Pana Mirka dotyczące ADC, bo nie spocznę dopoki tego nie ogarnę.

Daro69 - Dzięki za wyjaśnienie o co chodzi z tymi rezystorami, dopiero skumałem po co ten jeden większy :) tzn miałem tak jak książka nakazuje ale nie rozumiałem sensu stosowania takiego rozkładu. Nie mam co prawda rezystorów z zielonym paskiem ale mam 5x20ko i 1x100ko

------------------------ [ Dodano po: 2 minutach ]

kicajek napisał(a):
Witam
Daro69 napisał(a):
Czy te rezystory - ten od zasilania jest inny...

Tak na oko wychodzi że wszystkie po 100k, stąd moje sugestie aby zmienić Vref; można też bawić się rezystorami - byleby poruszać się w przedziale "napięć mierzalnych". Wiadomo że przy takiej klawiaturze precyzja pomiaru nie jest taka wyśrubowana i można poszaleć.

Pozdr.


zdjęcie jest kiepskiej jakości i pewnie nie widać ale mam tak:

5x rezystor z paskami: czerwony czarny żółty
1x rezystor z paskami: brązowy czarny żółty



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 07:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Zerknij na kody kolorów. Ten ostatni to u Ciebie jest 10 k a nie 100. Br.cza.ziel.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 07:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Miernik na tym ostatnim rezystorze pokazuje mi 99,7 k, wiec chyba jest ok, ale mogę zmienić na taki z zielonym paskiem i zobaczę co i jak



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 07:42 
Offline
Użytkownik
Avatar użytkownika

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

Witam
BoskiMario napisał(a):
Druga sprawa, mam teraz na wyświetlaczu cały czas 937 a nie 1023

Jeśli rzeczywiście zmieniłeś Vref na Vcc i masz taki wynik ( ADC ==937 - ok.4,6V ) to albo rezystory nie są takie jakie chciałeś by były ( dalej obstawiam: jest 6x100k ), albo połączenie do bani. Dla Twoich wartości rezystorów powinno być ADC=ok 510.
Jednak zmierz miernikiem a) rezystory, b) napięcia wyjściowe wciskając po kolei guziczki.
BoskiMario napisał(a):
ale mogę zmienić na taki z zielonym paskiem

...to będziesz miał 1M.


Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 08:06 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Nie wiem panowie jak wy liczycie, ale mi wyszło coś takiego :lol: . Do adc masz podłączony dzielnik rezystorowy. Od pinu adc do vcc masz rezystor 100k co nie? a od adc do masy masz pakiet rezystorów 100k 100k 100k 210k 210k co daje nam 720k wklepałem te wartości do mkavrcalculator i wyszło mi, że powinieneś mieć na adc wartość 898 doliczyć, że na tej płytce masz mega antenę i pewnie są spadki napięcie może wyjść adc 898 ;) .


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 08:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

Ale się popisałem, nie patrzcie na mój post z mnożnikiem - oczywiście ten jeden żółty [SMILING FACE WITH SMILING EYES]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 09:52 
Offline
Użytkownik
Avatar użytkownika

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

Witam
Bartek123 napisał(a):
Nie wiem panowie jak wy liczycie, ale mi wyszło coś takiego...

Fakt, anteny to jedno a ja liczyłem z ( lekko zużytej ) pamięci; jak przysiadłem to:
1x100k oraz uwaga... 5x200k ( zamiast deklarowanych 20k ) !
Reszta bez zmian i tej wersji będę się trzymał :P

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 11:08 
Offline
Użytkownik

Dołączył(a): 26 lip 2015
Posty: 269
Pomógł: 34

Dobra panowie to ustalmy na początek który rezystor ma jaką wartość :) bo ja chyba już ślepnę mimo młodego wieku :lol: . Najlepiej jakby autor tematu pomierzył każdy rezystor i podpisał na obrazku. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 11:42 
Offline
Użytkownik
Avatar użytkownika

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

Jeśli wierzyć autorowi to sam się przyznał :)
BoskiMario napisał(a):
zdjęcie jest kiepskiej jakości i pewnie nie widać ale mam tak:

5x rezystor z paskami: czerwony czarny żółty // ==200k (komentarz mój)
1x rezystor z paskami: brązowy czarny żółty


Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 12:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Już jestem ponownie :) jest tak jak pisałem wcześniej z tymi kolorami na rezystorach. Zgadzam się z Wami w 100%, zastanawia mnie jednak fakt dlaczego miernik pokazywał mi 20k gdy brałem każdy rezystor z osobna. No nic nie ma co rozdmuchiwać tematu. W każdym razie dzięki bardzo za pomoc w rozwiązaniu problemu. Z elektroniki niestety jestem cienki. Super, że jest pod ręką to forum i tylu fajnych forumowiczów poświęcających swój czas.

Jeżeli dobrze kombinuje to znaczy, że pomyliłem kolejność kolorów, prawda ?
Powinno być: czarny-czerwony-żółty
a miałem: czerwony-czarny-żółty

pozdrawiam serdecznie raz jeszcze dziękując



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 12:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

A jak mierzyłeś rezystancję? Dociskałeś palcami do sond miernika? Jeśli tak, możliwe, że rezystancja Twoich palców dodała się równolegle do rezystancji opornika.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sie 2016, o 12:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

kicajek napisał(a):
Jeśli wierzyć autorowi to sam się przyznał :)


Ja nie zamierzałem nic zatajać ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

Marhef napisał(a):
A jak mierzyłeś rezystancję? Dociskałeś palcami do sond miernika? Jeśli tak, możliwe, że rezystancja Twoich palców dodała się równolegle do rezystancji opornika.


Dokładnie tak było :P



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

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

BoskiMario napisał(a):
Powinno być: czarny-czerwony-żółty
a miałem: czerwony-czarny-żółty

Powinno być: czerwony-czarny-pomarańczowy ( 2-0-000 = 20.000 )



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 07:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

A ten jeden.
brązowy.czarny.żółty.:) 1 0 0000



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 sie 2016, o 08:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

Dzięki raz jeszcze za pomoc, już wszystko śmiga jak należy. Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sie 2016, o 06:26 
Offline
Użytkownik
Avatar użytkownika

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

Witam
BoskiMario napisał(a):
... już wszystko śmiga jak należy

Teraz gdy doszedłeś do ładu z rezystorami, możesz powrócić do ustawienia Vref na 2.58 i też będzie działać prawidłowo.
BoskiMario napisał(a):
Myślałem, że dzięki wewnętrznemu napięciu odniesienia na poziomie 2,56 będę mógł precyzyjniej dokonywać pomiarów.

Tak z dużym uogólnieniem - nie tyle chodzi o precyzję, co o stabilność pomiaru; Vref niższy niż Vcc ( wiadomo że różne uC mają różne Vref ) jest zawsze stały niezależny od wahania Vcc - wystarczy raz sprawdzić i wiesz na czym stoisz.

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sie 2016, o 13:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 cze 2014
Posty: 79
Pomógł: 1

kicajek napisał(a):
Teraz gdy doszedłeś do ładu z rezystorami, możesz powrócić do ustawienia Vref na 2.58 i też będzie działać prawidłowo.


Tak, też uczyniłem :) raz jeszcze dzięki :)



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

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