logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8 - Błędne odczyty temperatury po dodaniu pomiaru napięcia sterującego

pathirrus 20 Kwi 2017 21:26 873 2
  • #1 16425305
    pathirrus
    Poziom 11  
    Witam,
    Od jakiegoś czasu staram się ogarnąć co robię źle. Otóż w Atmedze8 na 3 pina ADC dokonuję pomiaru napięcia:
    - 2 porty do pomiaru temperatury (czujnik TMP36)
    - 1 port pomiar napięcia sterującego (0-10V) przez odpowiedni dzielnik napięcia. Napięcie to powoduje zmianę wypełnienia PWM
    Problem polega na tym, że na wyświetlaczu powinny się wyświetlać obie temperatury. Do czasu kiedy miałem oprogramowane same czujniki było OK. Problem pojawił się w momencie, gdy dodałem obsługę napięcia sterującego i PWM. Na wyświetlaczu zamiast temperatury tempC1 wyświetla mi się wartość z napięcia sterowania przeskalowana na temperaturę. Zmiana portów ADC nic nie pomaga, ciągle na wyświetlaczu zamiast temperatury z czujnika 1 wyświetla się wartość z napięcia sterującego. Już nie mam pomysłu co może być nie tak. Zamieszczam kod programu w [C] pisane w Eclipsie:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Oczywiście zmiana fizyczna pinów nic nie daje, natomiast w programie jak zmienię pomiar z pinów "odwrotnych", czyli z temperatury1 odczytuje z napięcia sterującego, a napięcie sterujące z czujnika temp1 to na wyświetlaczu widzę odpowiednią temperaturę, ale znowu PWM reaguje na zmianę temperatury, a napięcie sterujące nie ma na niego wpływu ;/
  • Pomocny post
    #2 16425375
    KrisH
    Poziom 14  
    W funkcji pomiart1() nie czekasz na koniec pomiaru. Dlaczego?
  • #3 16425615
    pathirrus
    Poziom 11  
    Pytasz dlaczego? Ja odpowiadam: nie mam pojęcia o.O Nie zauważyłem, że jest taki błąd. Widocznie przy kopiowaniu / usuwaniu czegoś poszło za daleko i wrzuciłem to czekanie do komentarza. Oczywiście po zmianie tego wszystko działa tak jak należy. Dziękuję za zwrócenie uwagi, nie wiem jakim cudem to umknęło mimo, że kilka razy to sprawdzałem czy wszystko OK.
REKLAMA