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



Teraz jest 26 lis 2024, o 23:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
 Tytuł: Przetwornik ADC
PostNapisane: 21 maja 2015, o 13:02 
Offline
Nowy

Dołączył(a): 21 maja 2015
Posty: 4
Pomógł: 0

Witam,
jestem nowy na forum. Obejrzałem filmiki o przetworniku ADC i na ich podstawie chciałem napisać program, który będzie porównywał poziom na wejściu ADC. Jeżeli poziom wyższy to wykonaj coś, jeżeli nie to coś innego. W związku z tym napisałem program, który wstawiam poniżej. Jednak wartość mojego pomiaru (wynik) zawsze jest taka sama, z pewnością mniejsza od 1, niezależnie czy podaje napięcie na nóżkę czy nie. I tutaj mam prośbę do Was abyście sprawdzili mój kod, czy czegoś w nim nie brakuje. Pracuje na Atmega16A jednak jako procesor wybieram Atmega16 a taktowanie 1MHz.


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



Jeżeli zaś chodzi o podłączenie układu jest ono analogiczne do tego z filmiku "Przetwornik ADC w mikrokontrolerach AVR - CZĘŚĆ 03 " (t: 10:38), jednak na nóżkę PA5 podaję bezpośrednio napięcie z potencjometru, który jest podłączony do zasilacza 5v, a napięcie na wyjściu sprawdzam miernikiem żeby nie przekraczało VREF. Masa zasilacza i układu z płytką są połączone.

Jakie są przyczyny że program nie działa? Czy źle porównuje wartości pomiaru?

Z góry dziękuję za pomoc.



Ostatnio edytowano 21 maja 2015, o 13:22 przez Łukasz_R, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2015, o 13:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2012
Posty: 777
Lokalizacja: Karpicko k. Wolsztyna
Pomógł: 197

Chyba niedokładnie oglądałeś poradniki o ADC.
Zobacz gdzie wrzuciłeś tą linie
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Na początku funkcji main. A ta część kodu wykona się tylko raz, przy starcie programu.

Po za tym próbujesz dokonać pomiaru zanim włączysz i odpowiednio ustawisz przetwornik ADC.

Przenieś tą linie, w której dokonujesz pomiaru, do pętli while.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2015, o 13:25 
Offline
Moderator
Avatar użytkownika

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

jacekk232 napisał(a):
Chyba niedokładnie oglądałeś poradniki o ADC.

Mi się wydaje, chociaż mogę się mylić - to niech mnie autor sprostuje, ale warto zacząć naukę C od podstaw czyli np od książki:
http://atnel.pl/mikrokontrolery-avr-jezyk-c.html

a nie od samych poradników, bo niestety ten brak wiedzy o podstawach będzie się wciąż mścił i na każdym kroku kolega nie będzie wiedział co się dzieje w programie - gdy tylko coś źle przepisze. Poradniki proponuję traktować jako właśnie uzupełnienie do książek z wydawnictwa Atnel - wtedy wszystko ładnie się w głowie układa w jedną całość.

_________________
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 maja 2015, o 13:38 
Offline
Nowy

Dołączył(a): 21 maja 2015
Posty: 4
Pomógł: 0

Dzięki za pomoc.



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

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