Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[attiny 2313][bascom] prosta komunikacja rs232 z PC

vogis 27 Jan 2010 14:03 3515 8
IGE-XAO
  • #1
    vogis
    Level 9  
    Muszę zrobić na szybko możliwie najprostszy układ do wysłania bitu na komputer. Układ w uC ma zsumować sygnały wchodzące na piny portu B, a następnie wysłać bit 1 do PC.

    Bardzo proszę o sprawdzenie schematu elektrycznego i wyjaśnienie błędów, które zrobiłem (pierwszy raz w życiu coś takiego robię).

    Program już mam napisany.

    Bardzo dziękuję za wszelkie wskazówki!
  • IGE-XAO
  • Helpful post
    #2
    M. S.
    Level 34  
    A gdzie konwerter napięć +12/-12V od strony portu RS232? Jeśli chodzi o jeden bit to można go podać bezpośrednio i łatwiej zidentyfikować na porcie LPT jeśli takowy masz. Twój schemat na RXD powinien zadziałać, ale na TXD raczej nie.
  • IGE-XAO
  • #3
    vogis
    Level 9  
    Program napisałem zgodnie z książką Pana Piotra Góreckiego i sprawdzałem na płytce testowej ZL11AVR.
    Dokumentacja: http://www.btc.pl/pdf/zl11avr.pdf

    No i transmisja działała w obydwie strony.
    No właśnie nie rozumiem jeszcze jak to się dzieje z dostosowaniem napięć.


    LPT faktycznie by było najlepsze, ale kolega chce koniecznie RS232.


    W czym gorsze jest rozwiązanie bez MAX232 od tego z tym układem?
  • #4
    M. S.
    Level 34  
    No i nie zauważyłeś na podanym schemacie konwertera MAX232.
    MAX to przetwornica napięcia podająca i odbierająca z PC dane w logice -12/+12V. AVR działa w logice TTL 0V/5V. Ot cała tajemnica.
  • #5
    vogis
    Level 9  
    M. S. wrote:
    No i nie zauważyłeś na podanym schemacie konwertera MAX232.
    MAX to przetwornica napięcia podająca i odbierająca z PC dane w logice -12/+12V. AVR działa w logice TTL 0V/5V. Ot cała tajemnica.


    Wyjąłem z płytki układ MAX232, więc nie ma on w tym przypadku wpływu.

    To nie jest tak, że tranzystory dostosowują napięcia?
  • Helpful post
    #6
    janbernat
    Level 38  
    Standard jest na RS -12/+12v.
    Ale napięcie progowe dla sygnałów nie jest 0V a 1.5V.
    To pozwala na połączenie TTL i RS bez zmiany poziomów.
    Działa kiepsko i tylko przy wolnej transmisji- ale działa.
    RXD procesora trzeba zabezpieczyć opornikiem ok. 10kom
  • #7
    vogis
    Level 9  
    dziękuję za wskazówki.

    A czemu działa kiepsko? Na czym ta kiepskość poza prędkością polega?
  • Helpful post
    #8
    janbernat
    Level 38  
    Na odporności na zakłócenia.
    Zaindukowane w przewodzie sygnałowym zakłócenie np. 2.5V przy poziomie nominalnalnym 12V nic nie zrobi.
    Ale przy sygnale 0-5V i progu przełączania 1.5V już tak.
    Jak chcesz sprawdzić działanie transmisji z komputerem stojącym w odległości 1m w domu- działa.
    Ale w hali przemysłowej na odległości 10m i wielkości pliku 100kB raczej nie próbuj takich sposobów .
    A zmniejszenie szybkości transmisji jest też jednym ze sposobów zwiększenia odporności na zakłócenia.
    Odbiornik próbkuje sygnał i dopiero jak "uzna" że sygnał jest na tym samym poziomie to jest to dla niego 1 lub 0.
    Jak sygnał dłużej trwa to szansa że zakłocenie będzie też długie jest mniejsza.
    Nie ma w przyrodzie doskonałej transmisji sygnału- problem czy błąd statystycznie pojawia się co 1s czy co 100lat.
  • #9
    vogis
    Level 9  
    bardzo dziękuję za wyczerpującą odpowiedź!

    Pozdrawiam