Skocz do zawartości

Niskie napięcie na wyjściu - Atmega 328


Nicander

Pomocna odpowiedź

Dzień dobry, mam problem z wyjściem w kontrolerze Atmega 328 (zarówno P jak i PB). Sprawa wygląda tak, że przy wgraniu mojego domyślnego (dość dużego programu) poprzez programator USB-ASP w środowisku Arduino IDE wyjście PD2 ( w Arduino IDE numerowane jako "2") przy stanie niskim daje wartość 0V ale przy stanie wysokim zamiast około 4,7-5V mam 2,4-2,6V. Przez to przekaźnik, który jest sterowany tym wyjściem raz się zapina a raz nie. Przy wgraniu małego programu z prostym przepisanie wejścia na wyjście napięcie jest prawidłowe - widać to też po diodzie którą jest sterowana tym samym wyjściem i świeci dużo mocniej niż wcześniej. 

Macie pomysł gdzie może być problem? Może przy większym programie, który korzysta z wielu dodatkowych różnych elementów (zegar RTC, przetwornik ciśnienia, PWM, przetwornik temperatury itp) brakuję prądu by to wszystko zasilić poprawnie?

A może większy program to dłuższe wgrywanie a co za tym idzie większa szansa na jakieś błędy przy wgrywaniu i niepoprawnie skonfigurowanie tego wyjścia? Jaka jest skuteczność programatora USB-ASP? Jest możliwe, że pomimo komunikatów, że wszystko zostało wgrane i zweryfikowane poprawnie to są jakieś błedy?

Dodam jeszcze, że całość mieści się na płytce PCB i wszystkie elementy są  w formie SMD. 

Załączam program i schemat układu. Jestem początkujący w tych tematach, więc proszę o wyrozumiałość w przypadku jakiś błędów. Cała funkcjonalność programu, była wielokrotnie testowana i działa zgodnie z założeniem - problem jest tylko z tym jednym wyjściem.

Z góry dziękuję za pomoc.

schemat_program.zip

Link do komentarza
Share on other sites

@Nicander witam na forum 🙂 Jeśli dobrze widzę to w Twoim programie brakuje po prostu ustawienia, że ten pin ma być wyjściem (pinMode). Masz to zrobione tylko dla wyjścia z diodą, a przy przekaźniku brak takiego ustawienia - możliwe, że ten sam błąd jest też przy innych wyjściach. Pamiętaj, że domyślnie wszystkie piny są wejściami. Musisz dodać w setup konfigurację typu:

pinMode(PrzekaznikPracy, OUTPUT);

PS Bardzo ładnie narysowany schemat 🙂 

  • Lubię! 1
Link do komentarza
Share on other sites

@Nicander to się cieszę 🙂 Ale dla pewności zweryfikuj, czy inne piny, które używasz nie muszą być również skonfigurowane jako wyjścia. Nie sprawdzałem tego, a może w przyszłości doprowadzi to do jakiś błędów.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.