Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Konwerter USB-RS232 na ATTINY2313. Wyjścia RTS,CTS.

16 Sty 2014 18:07 6822 34
  • Poziom 22  
    Witam wszystkich.

    Potrzebuję konwertera z USB na RS232 , ale wyłącznie na ATTINY2313, albo ATMEGA32 bo takie posiadam. Znalazłem coś w sieci, ale nie mają wyjść RTS i CTS.
    Posiadam duży wyświetlacz VFD NORITAKE ITRON CU20029SCPB-T25A.
    Wyświetlacz ma właśnie takie wyjścia do komunikacji przez RS232.
    Chodzi mi o to, czy ktoś z Was nie widział w sieci schematu z softem do ATTINY albo ATMEGA. FTDI na razie odpada. Potrzebuję ten konwerter zmajstrować na szybko.

    Pozdrawiam Konwerter USB-RS232 na ATTINY2313. Wyjścia RTS,CTS. Konwerter USB-RS232 na ATTINY2313. Wyjścia RTS,CTS.
  • Specjalista - Mikrokontrolery
    Jeśli chcesz "zmajstrować na szybko", to szybko kup CP2102 albo FT230X.
  • Poziom 22  
    Dziękuję za odpowiedź.
    No właśnie na szybko chciałem na jutro, ale widzę że nie da rady. A co sądzisz o FT232RL?
  • Poziom 23  
    inspector_electro napisał:
    Witam wszystkich.

    Potrzebuję konwertera z USB na RS232 , ale wyłącznie na ATTINY2313, albo ATMEGA32 bo takie posiadam. Znalazłem coś w sieci, ale nie mają wyjść RTS i CTS.
    Posiadam duży wyświetlacz VFD NORITAKE ITRON CU20029SCPB-T25A.
    Wyświetlacz ma właśnie takie wyjścia do komunikacji przez RS232.


    Nie potrzebujesz RTS i CTS. Potrzebujesz tylko TX, transmisję do wyświetlacza, nie jest nawet potrzebny RX czyli odbiór danych od wyświetlacza.
  • Poziom 22  
    Nie bardzo rozumiem. Mógłbyś przybliżyć ciut temat? To znaczy że wyświetlacz przyjmuje tylko dane. Zgadza się?
  • Poziom 23  
    inspector_electro napisał:
    Nie bardzo rozumiem. Mógłbyś przybliżyć ciut temat? To znaczy że wyświetlacz przyjmuje tylko dane. Zgadza się?


    Wysyła chyba też odpowiedzi ale nie są one potrzebne, przynajmniej ja w swoim programie testowym w Delphi nie korzystałem z nich.

    Generalnie wysyłasz tylko dane z prędkością 2400. Trochę walczyłem z tymi wyświetlaczami, jak znajdę to wrzucę pinout wtyczki minidin i oryginalnego kabla RS232 -> mnidin..
  • Poziom 22  
    Pinout wtyczki posiadam. Zastanawiam się, czy zadziała wysyłanie bezpośrednio z atmega32 do tego wyświetlacza. Mam jeszcze za mało informacji na jego temat.
  • Poziom 23  
    inspector_electro napisał:
    Pinout wtyczki posiadam. Zastanawiam się, czy zadziała wysyłanie bezpośrednio z atmega32 do tego wyświetlacza. Mam jeszcze za mało informacji na jego temat.


    Bezpośrednio to nie. Wyświetlacz ma RS232. Do Atmegi musisz podłączyć MAX232 w celu konwersji poziomów i zanegowania sygnału. Alternatywnie możesz spróbować zanegować sygnał TxD z Atmegi na tranzystorze np tak Link Interesuje Cię "2nd version RS232C level converter" tylko górny tranzystor, Txd (5) do Atmegi, (5) RxD' do wyświetlacza.
  • Poziom 28  
    vania napisał:
    Bezpośrednio to nie. Wyświetlacz ma RS232. Do Atmegi musisz podłączyć MAX232 w celu konwersji poziomów

    z tym się zgodzę.
    ale
    vania napisał:
    i zanegowania sygnału

    Dlaczego chcesz negować sygnał?
  • Poziom 23  
    xamrex napisał:

    vania napisał:
    i zanegowania sygnału

    Dlaczego chcesz negować sygnał?


    Bo sygnał na linii TXD RS232 jest zanegowany w stosunku do TXD UART. Tak na szybko przebieg, pierwszy lepszy link z googla: Link
  • Poziom 22  
    Zakupiłem w końcu konwerter na FT232RL. Próbowałem zrobić na ATTINY2313, ale cały czas miałem "nie rozpoznano urządzenia USB".
    Swoją drogą układ który steruje tym VFD jest M38003M6, mikrokomputer MITSUBISHI. Patrzyłem w notę tego układu, ale nie bardzo mi przypomina wejścia pinów standardu HD44780. Chciałem podłączyć go mniej więcej jak koledzy z linku:

    https://www.elektroda.pl/rtvforum/topic558072.html

    W tym scalaku są porty, które sterują wyświetlaczem, i myślałem o wywaleniu tego układu i wstawienie coś z AVR.
  • Poziom 23  
    inspector_electro napisał:
    Zakupiłem w końcu konwerter na FT232RL. Próbowałem zrobić na ATTINY2313, ale cały czas miałem "nie rozpoznano urządzenia USB".
    Swoją drogą układ który steruje tym VFD jest M38003M6, mikrokomputer MITSUBISHI. Patrzyłem w notę tego układu, ale nie bardzo mi przypomina wejścia pinów standardu HD44780. Chciałem podłączyć go mniej więcej jak koledzy z linku:

    https://www.elektroda.pl/rtvforum/topic558072.html

    W tym scalaku są porty, które sterują wyświetlaczem, i myślałem o wywaleniu tego układu i wstawienie coś z AVR.


    Nie psuj fajnego wyświetlacza :) Wysyłasz napisy RSem bezpośrednio w ASCII, jest to dużo lepsze rozwiązanie. Procesor może sobie robić inne rzeczy. Jak będziesz miał jakieś pytania to pisz.
  • Poziom 22  
    Vania jeśli możesz to przybliż temat. Nigdy, przenigdy tego nie robiłem.
    Kolejna sprawa to moja wiedza na temat oprogramowania. Cokolwiek czaję tylko Bascoma.
  • Poziom 28  
    inspector_electro napisał:
    Zakupiłem w końcu konwerter na FT232RL. Próbowałem zrobić na ATTINY2313, ale cały czas miałem "nie rozpoznano urządzenia USB"

    A sterowniki zainstalowałeś do tego salaka?
    Może spróbuj na MAX232 jest prostszy, tylko musisz mieć COMA w komputerze.
  • Poziom 22  
    Sterowników nie mogę zainstalować, bo wywala mi błąd "nie rozpoznano urządzenia usb". Gdybym miał Coma w komputerze, to nie kupowałbym FT232RL.
    Z tym konwerterem na Attiny2313 spróbuję jeszcze inną wersję, bo próbowałem z dwiema diodami zenera 3.6V. Problem w tym, że nie miałem takich diod i dałem 3.9V.
    Pewnie dla tego komputer nie widzi urządzenia. Samo Attiny ma ustawione fusy jak trzeba, i soft też wgrany poprawnie.
  • Poziom 8  
    Może daleki strzał, ale czy przypadkiem na komputerze nie masz Windowsa w wersji 64 bit? Jeśli tak to zapewne nie używasz podpisanych sterowników.
    Więcej informacji tu: Link
  • Poziom 22  
    Zrozum, że dopóki komputer mi nie wyświetli "znaleziono nowy sprzęt", nie mogę podać lokalizacji sterownika. Na razie nie ma tu nic wspólnego z wersją systemu.
    Najpierw USB musi poprawnie wykryć ATTINY.
  • Poziom 28  
    inspector_electro napisał:
    Najpierw USB musi poprawnie wykryć ATTINY.

    Coś tu mieszasz..
    Mógłbyś dać schemat jak ty to podłączyłeś?
  • Poziom 22  
    Zrezygnowałem z attiny. Próbuję podłączyć wyświetlacz do atmega 32. Właściwie to już podłączyłem, z pomocą tranzystora do zanegowania sygnału. Teraz borykam się w Bascomie, aby coś zapisać do megi, i żeby wysłała do wyświetlacza po rs-ie.
  • Poziom 23  
    inspector_electro napisał:
    Zrezygnowałem z attiny. Próbuję podłączyć wyświetlacz do atmega 32. Właściwie to już podłączyłem, z pomocą tranzystora do zanegowania sygnału. Teraz borykam się w Bascomie, aby coś zapisać do megi, i żeby wysłała do wyświetlacza po rs-ie.

    Nie znam Bascoma, ale w przykładach znalazłem coś takiego:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
  • Poziom 23  
    inspector_electro napisał:
    Próbowałem. Nie idzie. W pdf-ie niżej są instrukcje do wysłania do wyświetlacza. Nie wiem tylko, jak te instrukcje wysłać do atmegi, która z kolei przekaże je do wyświetlacza.

    To w końcu chcesz tym wyświetlaczem sterować z Atmegi czy z komputera?
    Instrukcje znam i na starcie nie są potrzebne. Sprawdź z jakimi parametrami pracuje Twój wyświetlacz (układ zworek, str. 18-19 tego pliku co dołączyłeś). Ewentualnie wyłącz parzystość (zewrzyj JP3). Jeśli prędkość masz na 9600 to w programie BASCOM zmień prędkość w linii
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Możesz jeszcze sam wyświetlacz sprawdzić zwierając zworkę JP5. Ewentualnie zewrzyj linie RTS z CTS w złączu wyświetlacza.

    Tu masz podstawy dotyczące UART w BASCOMie
  • Poziom 22  
    Chcę na razie sterować z atmegi, bo jak pisałem wyżej, Konwerter USB-RS232 na ATTINY mi nie działa i czekam na FT232RL. Baud ustawione na 9600 według noty. Zwora Self Test działa, bo wyświetla informacje. Nie jestem pewny tylko, czy to podłączenie z tranzystorem BC547 jest prawidłowe, czy nie trzeba jednak MAX232.
    Kolega Vania napisał: " Do Atmegi musisz podłączyć MAX232 w celu konwersji poziomów i zanegowania sygnału. Alternatywnie możesz spróbować zanegować sygnał TxD z Atmegi na tranzystorze np tak:

    http://chaokhun.kmitl.ac.th/~kswichit/ap275/ap275.htm

    Interesuje Cię "2nd version RS232C level converter" tylko górny tranzystor, Txd (5) do Atmegi, (5) RxD' do wyświetlacza.

    W bascom robię tak, że wklejam z helpa, kompiluję i wgrywam do procesora. Na wyświetlaczu nic się nie pokazuje.
  • Poziom 23  
    inspector_electro napisał:
    Chcę na razie sterować z atmegi, bo jak pisałem wyżej, Konwerter USB-RS232 na ATTINY mi nie działa i czekam na FT232RL. Baud ustawione na 9600 według noty. Zwora Self Test działa, bo wyświetla informacje. Nie jestem pewny tylko, czy to podłączenie z tranzystorem BC547 jest prawidłowe, czy nie trzeba jednak MAX232.
    Kolega Vania napisał: " Do Atmegi musisz podłączyć MAX232 w celu konwersji poziomów i zanegowania sygnału. Alternatywnie możesz spróbować zanegować sygnał TxD z Atmegi na tranzystorze np tak:

    http://chaokhun.kmitl.ac.th/~kswichit/ap275/ap275.htm

    Interesuje Cię "2nd version RS232C level converter" tylko górny tranzystor, Txd (5) do Atmegi, (5) RxD' do wyświetlacza.

    W bascom robię tak, że wklejam z helpa, kompiluję i wgrywam do procesora. Na wyświetlaczu nic się nie pokazuje.


    Konwerter zrobiłeś taki? Ten konwerter na FTDI to jaki kupiłeś? Dziś lub jutro jak znajdę chwilkę czasu to sprawdzę czy konwerter z tranzystorem zadziała z tym wyświetlaczem.
    W płytce na Atmega32 jaki masz kwarc? Fusy dobrze ustawione?

    Sprawdź jeszcze sam wyświetlacz. Zewrzyj zworkę JP5 i podaj zasilanie 12V, powinien wejść w procedurę testową i coś wyświetlać (wersja softu, typ).
  • Poziom 22  
    Konwerter zrobiłem na jednym tranzystorze. Jednak to nie zadziała. Podpiąłem pod atmegę i wyświetlacz, MAX232 no i w końcu mam jakieś znaki. Znaki niestety nie są wyświetlane takie jak z helpa Bascoma. Wyświetla się całkiem co innego. Nie potrafię na razie tego ogarnąć. Szukam informacji jakie komendy itd. wgrywać do atmegi.

    Konwerter kupiłem na alledrogo taki: Konwerter USB=>RS232 FTDI FT232RL już pisałem trzykrotnie.

    Dodano po 3 [godziny]:

    No i po wielu bojach i czytaniu i jeszcze raz czytaniu, udało się odpalić "bestię".
    Z manuala zworka nr3. na wyświetlaczu, musi być założona. Czyli Parity OFF.
    Nie wiem tylko jak dobrać się do strony kodowej 852 polskich znaków.
    Mam też problemy z baudrate i kwarcami. Czasami świruje.

    Konwerter USB-RS232 na ATTINY2313. Wyjścia RTS,CTS.

    No więc tak. Polskich znaków w EPROMIE tego wyświetlacza raczej nie ma. Ze stabilnością wyświetlania sobie poradziłem.
    Pytanie do wszystkich za 100 punktów. Czy ktoś wie, jak ustawić aby wyświetlał też na drugiej linii? bo na razie że tak powiem działa tylko jedna linia, i czasami wyświetli to samo na dole co widać na zdjęciu.
  • Poziom 23  
    inspector_electro napisał:

    No i po wielu bojach i czytaniu i jeszcze raz czytaniu, udało się odpalić "bestię".
    Z manuala zworka nr3. na wyświetlaczu, musi być założona. Czyli Parity OFF.
    Nie wiem tylko jak dobrać się do strony kodowej 852 polskich znaków.
    Mam też problemy z baudrate i kwarcami. Czasami świruje.

    Konwerter USB-RS232 na ATTINY2313. Wyjścia RTS,CTS.

    No więc tak. Polskich znaków w EPROMIE tego wyświetlacza raczej nie ma. Ze stabilnością wyświetlania sobie poradziłem.
    Pytanie do wszystkich za 100 punktów. Czy ktoś wie, jak ustawić aby wyświetlał też na drugiej linii? bo na razie że tak powiem działa tylko jedna linia, i czasami wyświetli to samo na dole co widać na zdjęciu.


    Polskie znaki są na stronie kodowej 852 (str 14), żeby pisać w drugiej linii musisz przestawić pozycję kursora na drugą linię (str 12 dokumentacji, "Position cursor")

    Przełączanie strony kodowej trzeba wysłać bajty 0x1B, 0x52, 0x32 (dla strony kodowej 0x32). Pozycja kursora 0x1B, 0x5B, 0x31, 0x3B, 0x31, 0x48 (linia 1, kolumna 1), 0x1B, 0x5B, 0x32, 0x3B, 0x31, 0x48 (linia 2, kolumna 1)

    Jak wysłać znaki to z Bascoma to sam musisz poszukać, mnie pierwsze co przychodzi do głowy to:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
  • Poziom 22  
    Podałeś 3 kody do komendy PRINT. Wpisywałem każdy z osobna, i uzyskałem:
    Dla pierwszego- znak liczby PI.
    Dla drugiego - R
    Dla trzeciego - liczba 2.
    Czy ja to źle wpisuję? nie wiem już jak mam wpisywać te znaki. Robiłem to tak:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
  • Poziom 23  
    inspector_electro napisał:
    Podałeś 3 kody do komendy PRINT. Wpisywałem każdy z osobna, i uzyskałem:
    Dla pierwszego- znak liczby PI.
    Dla drugiego - R
    Dla trzeciego - liczba 2.
    Czy ja to źle wpisuję? nie wiem już jak mam wpisywać te znaki. Robiłem to tak:

    Po przyjęciu kodu $1B (ESC) nie powinien wyświetlić żadnego znaku i czekać na kolejne które oznaczają polecenie. Może Bascom nie wysyła poprawnie tego ESC funkcją Print. Nie znam Bascoma, znalazłem jeszcze taki sposób Link
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    To powinno Ci wyświetlić w dwóch liniach znaki PL. Dokładnie takie dane wysyłam w swoim programie testowym w Delphi.
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
  • Poziom 22  
    Polskie znaki rzeczywiście są. Wyświetliły mi się, ale w jednej linii. Te przykłady z bascom już klepałem nie raz i nic z nich nie wychodzi. Nie mogę ustawić nic w drugiej linii.
    Według pdf-a wstawiam znaki, a robię to tak:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Mimo wszystko świeci pierwsza linia, i miga to samo na drugiej, ale jak wstawie waitms 100 lub 200.
  • Poziom 23  
    inspector_electro napisał:
    Polskie znaki rzeczywiście są. Wyświetliły mi się, ale w jednej linii. Te przykłady z bascom już klepałem nie raz i nic z nich nie wychodzi. Nie mogę ustawić nic w drugiej linii.
    Według pdf-a wstawiam znaki, a robię to tak:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Mimo wszystko świeci pierwsza linia, i miga to samo na drugiej, ale jak wstawie waitms 100 lub 200.


    I program działa zgodnie z tym co mu każesz robić.
    Printbin #1b ; #5b ; #31 ; #3b ; #31 ; #48 to nie jest to samo co Printbin &H1B; &H5B; &H31; &H3B; &H31; &H48
    Poza tym nawet gdyby to było to samo to i tak w pętli ustawiałbyś ciągle 1 linię.

    Zrób tak:
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod