Skocz do zawartości

Max232A i kondensatory


Pomocna odpowiedź

Napisano

Witam serdecznie. Planuję pobawić się nieco z UART. Wiem, że do połączenia PC z mikrokontrolerem (Attiny2313) potrzebny mi jest specjalny kabel z układem scalonym Max232. Mam jednak wątpliwości co do kondensatorów które należy zastosować przy tym układzie, gdyż na różnych stronach w internecie widziałem różne warianty. Widziałem bowiem kondensatory elektrolityczne 10uF, jak i kondensatory ceramiczne 100nF (symbol 104). Czy mogę bez obaw zastosować kondensatory ceramiczne? W datasheet widziałem, że Max232A może współpracować z takimi kondensatorami, jednak pragnę się upewnić. Czy ktoś już tego próbował? Zależy mi na zastosowaniu kondensatorów ceramicznych ze względu na ich małe rozmiary.

Według datasheeta dla układu max232a powinieneś użyć kondensatorów 0,1uF 😉 i tego należy się trzymać moim zdaniem 🙂

  • Pomogłeś! 1

Max232 ruszy nawet na 100nF,mam tak zrobione w plytce prototypowej i wszystko chodzi.

Pojemniejsze kondensatory mogą odgrywać większa role przy pracy z długimi przewodami,wtedy daje znać o sobie pojemność i spadek napięcia na kabelku.

Pozwolę sobie zmienić nieco temat dyskusji, gdyż mam problem z wykonaniem połączenia uC-PC. Wykonałem kabel połączeniowy wg. schematu zawartego w książce Marcina Wiązani "Programowanie mikrokontrolerów avr w języku bascom". Użyłem do tego układu scalonego Max232CPE oraz kondensatorów elektrolitycznych 10uF. Moje połączenie nie działa. Oto program który napisałem w celu sprawdzenia sprawności połączenia:

$regfile = "attiny2313.dat"

$crystal = 4000000

$baud = 2400

Do

Print "Hello World!"

Waitms 100

Loop

End

Niestety połączenie nie działa. W oknie terminala nie ma żadnych oznak życia. Oto moje ustawienia:

Dokonałem kilku pomiarów w moim kablu. Układ oczywiście jest zasilany napięciem +5V. Na dwóch kondensatorach mam napięcie ponad 9V, a na dwóch pozostałych niecałe 5V (pomiarów tych dokonałem na układzie podłączonym do zasilania, lecz niepodłączonym do komputera). Na lini TXD mam napięcie 1,5V, na RXD 3V (tych pomiarów dokonałem po podłączeniu do pc). Czy ma ktoś jakiś pomysł, co tu nie gra?

Zmostkuj Rx z Tx w kablu z maxem, za maxem, wyślij coś w terminalu i zobacz czy to co wysłałeś wyświetli Ci się w terminalu.

  • Pomogłeś! 1

Bardzo dziękuję koledze GruX za podpowiedź. Rzeczywiście, mój kabel okazał się niesprawny. Teraz zrobiłem nowy, lecz mam też nowy kłopot: terminal w bascom avr odbiera dane od mikrokontrolera, lecz są to jakieś dziwne znaki, które najtrafniej określę używając słowa "krzaki". Wiem, że jest to kłopot stary jak świat, ale jako początkujący mam średnie pojęcie jak się za to zabrać.

Niepoprawna synchronizacja. Masz na pewno na fuse bitach ustawione takie samo taktowanie mikroprocesora jak zadeklarowane w programie?

Ustawiłem (przynajmniej tak mi się wydaje) ale wciąż nie działa. Oto wszystkie ustawienia, treść programu, oraz to co widzę w terminalu. Dodam jeszcze, że windowsowy HyperTerminal nie widzi niczego, nawet tych krzaczków

Masz obecnie jak gdyby taktowanie 500kHz 😋 Masz zaprogramowane dzielenie częstotliwości na 8:P Zmień "Divide clock by 8" na disabled i będzie git;)

  • Pomogłeś! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...