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

Jak podłączyć konwerter RS232/485 GV-COM do Atmegi8 z Max485?

KaJakKrzysztof 29 Cze 2007 19:08 2468 4
REKLAMA
  • #1 4033587
    KaJakKrzysztof
    Poziom 14  
    Posty: 143
    Ocena: 5
    Witam!

    Dzisiaj otrzymałem konwerter 232/485 GV-COM z firmy GeoVision i mam kilka pytań.
    Do mojej Atmegi8 dołączyłem układ Max485 według tego schematu:

    http://aquaticus.info/system/files/pictures/atmega8_max485_0.preview.png

    sam konwerter ma tylko dwa wyjścia jeśli chodzi o interfejs RS-485 oznaczone są one jako + i - jak to odczytać?

    + to Transmisja TxD, a - to RxD ???

    to samo jeśli sie tyczy od strony Atmegi i Max485 - czy patrząc na chemat A mam podłączyć do wyjścia TxD, a B do RxD???

    Ostatnia rzecz - do czego służy Portd.2 ? czy jak go podciągne czyli
    Set Portd.2 to mogę odczytywać a Reset Portd.2 wysyłać? nie wiem jak to sterowanie tym Max485 działa :|

    Pozdrawiam
  • REKLAMA
  • #2 4034783
    Father
    Poziom 26  
    Posty: 681
    Pomógł: 88
    Ocena: 13
    Wyjście +- to wyjście różnicowe, co oznacza, że tą parą przewodów transmitowany jest sygnał do/z MAX485. Podłączenie ATmegi jest dobre, a port PD.2 steruje przełączaniem między nadawaniem, a odbiorem, bo w jednej chwili MAX485 może pracować tylko jako nadajnik, lub tylko jako odbiornik (half duplex). Żeby mieć dwie niezależne linie RX i TX potrzebne są dwa układy MAX485 i dwie pary przewodów podłączone do wyjść ukladów +- MAX-a...
  • REKLAMA
  • #3 4035411
    KaJakKrzysztof
    Poziom 14  
    Posty: 143
    Ocena: 5
    dzięki za odpowiedź. Ja śmieci odbieram na kompie od mojej At,megi przez magistralę 485 i nie moge sobie z tym poradzić...tzn zawsze te same znaki ale nie tekst ktory nadala Atmega)

    Mam układzik (Atmega8, kwarc 16MHz + Max485) podpięty kablem 1m do konwertera 232/485.
    Sam konwerter jest podpięcty do kompa przez USB (ma takie wyjście) a w kompie zainstalowany 'Prolific USB-to-Serial Bridge (COM10)'

    Sama Atmega ma podane na poczatku (w Bascomie)
    $Crystal 16000000
    $Baud 9600

    natomiast pisząc programik, który odbiera dane również podałem takie parametry (pisze w Pythonie)

    import serial
    ser = serial.Serial(9, 9600, bytesize =8, stopbits=1, timeout=None)
    s = ser.read(10)
    ser.close
    print s

    i nic nie pomaga :\
    kliknalem jeszcze w menadżerze urządzeń na COM10 aby zobaczyc ustawienia i wygladaja chyba ok:

    Liczba bitow na sekunde: 9600
    Bity danych: 8
    Parzystosc: Brak
    Bity stopu: 1
    Sterowanie przepływem: Sprzętowe (zmienialem na wszystkie dostepne i to samo)

    to wina rezonatora 16MHz? ale przeciez uklad podlaczony mam z PC wiec nie powinno to byc wina... (wiecej transreceiverow w sieci nie ma)
  • REKLAMA
  • #4 4035496
    august_a
    Poziom 21  
    Posty: 572
    Pomógł: 32
    Ocena: 4
    A jak masz podłączony ten RS485 do kompa??
  • #5 4035498
    KaJakKrzysztof
    Poziom 14  
    Posty: 143
    Ocena: 5
    ok działa ale połowicznie - winą było odwrotne podłączenie przewodów + i -. Teraz to co wysyła Atmega odczytuję bez problemów i żadnych błędów natomiast mam problem z odczytaniem tego co wysyła komp - Atmega nie reaguje - w bascomie mam programik:

    $regfile = "m8def.dat"
    $crystal = 16000000
    $baud = 9600
    Dim S As String * 4
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    Config Serialin = Buffered , Size=15
    
    Wait 5
    Cls
    Set Portd.2
    Print "w.testowa."   #wysylam do PC a PC odbiera bez problemu
    Portd.2 = 0
    Cls
    Lcd "Wyslalem"
    Wait 5
    Cls
    Lcd "Podaj slowo"
    Input, S                #czekam na 4 znaki z PC
    Cls
    Lcd "Odebralem " ; S
    End


    W Pythonie napisałem:

    import serial
    ser = serial.Serial (8, baudrate=9600)
    print ser.portstr
    ser.write ("dupa")
    ser.close()

    uruchamiam - widzę, że mignęła dioda TxD na konwerterze - słowem poszło w eter ale na LCD nadal widnieje napis "Podaj slowo" = nie dotarlo do Atmegi? hmm
    Wymianilem juz Atmege na nowa, zmienilem Max485 na nowy i to samo - nie mam juz zielonego pojecia co to moze byc :\

    sam konwerter po włączeniu do USB zachowuje się dziwnie (nie wiem czy to normalne) moze którys z forumowiczow ma ten sam model GV-COM:

    Na obudowie znajduję się 3 diody: PWR (Power) TxD i RxD. Po wpięciu w USB zapala mi się PWR i na chwilę razem z nim TxD (świeci jednak nieco słabiej) później prawie gaśnie jednak teraz jak jest ciemno widzę że lekko się żarzy :\

    Linia RxD dziala bez zarzutu bo odbieram to co wysyla Atmega jednak TxD zachowuje sie jakby nie dzialalo bo do Atmego nic nie dociera.
REKLAMA