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

Jak nawiązać komunikację CC-Talk z wrzutnikiem RM5 Comestero przez RS232?

tehaceole 13 Sty 2014 16:45 9621 12
  • #1 13172862
    tehaceole

    Poziom 28  
    Witam Kolegów

    Poszukuję jakichkolwiek informacji odnośnie komunikacji w protokole CC-Talk w odniesieniu do komunikacji z mikrokontrolerem.
    Posiadam nowy wrzutnik RM5 w wersji CC-Talk, zmajstrowałem do niego przejściówkę na RS232 5V
    Jak nawiązać komunikację CC-Talk z wrzutnikiem RM5 Comestero przez RS232?
    ale ni w ząb nie mogę "pogadać" z wrzutnikiem z terminala. Wysyłałem komendę "simple poll" (załącznik) aby sprawdzić komunikację, ale nie mogę doczekać się jakiejkolwiek odpowiedzi.
    Mało tego: wrzutnik cały czas zwraca wszystkie zaprogramowane nominały (posiadam też nowy RM5F00 z takimi samymi nominałami i on przyjmuje wszystko prawidłowo). Czy po włączeniu zasilania należy przez CC-Talk wysłać do wrzutnika jakieś komendy sterujące, aby aktywować rozpoznawanie monet?

    Czy ktoś dysponuje sprawdzonym schematem połączenia magistrali cc-talk z rs232 5V?
    A może ktoś posiada jakiś fragment kodu na uP do obsługi protokołu CC-Talk?

    Pozdrawiam i z góry serdecznie dziękuję.
  • #2 13182736
    Eagle
    Poziom 24  
    Po podłączeniu przejściówki, bez podłączania do wrzutnia widzisz echo wysyłanych znaków ? Jeśli nie to popracuj nad przejściówką.
  • #3 13183033
    tehaceole

    Poziom 28  
    Tak mi się wydawało, że powinienem widzieć echo. Niestety nie widzę. Masz może jakiś sprawdzony schemat przejściówki?
  • #4 13183053
    Eagle
    Poziom 24  
    Nie posiadam. Jednak to, że powinieneś mieć echo, widać ze schematu który załączyłeś. Zewrzyj jeszcze pin 11 i 12 i jeśli wówczas jeśli nie będzie echa to sprawdź max232 i podłączenie do kompa, jeśli będzie sprawdzaj drugą cześć z tranzystorami.
  • #5 13183078
    tehaceole

    Poziom 28  
    Część z MAX działa na 100% bo jest to przejściówka której używam na co dzień. Oczywiście upewniłem się, że otrzymuję echo zwierając RX i RX maxa :)
  • Pomocny post
    #6 13183094
    Eagle
    Poziom 24  
    To dalsze sprawdzenie jest dość proste, jeśli max'a masz w podstawce to możesz dla spokoju go wyjąć i bez max lub z (max'em ale bez transmisji) powinieneś mieć 5V na wyjściu i 5V na pin'ie 11, oraz po zwarciu pin'u 12 do GND na wyjściu 0V i na pin'ie 11 0V. Jeśli tak nie jest to badaj dlaczego.
  • Pomocny post
    #7 13201565
    hotdog
    Poziom 26  
    Tak szczerze to popełniłeś duży błąd kupując wrzutnik na cctalk do interfejsowa z uC. Te wrzutniki można tak skonfigurować (specjalnym programatorem u dystrybutora przy zamówieniu), że na odpowiednich pinach wystawiają stan wysoki/niski po wrzuceniu odpowiedniej monety (na określony czas). Szczegóły są w dokumentacji. Proponuje odesłać i przeprogramować.

    Korzystanie z ccTalka opłaca się jeżeli na magistrali masz więcej urządzeń (akceptator banknotów, sorter, urządzenie do wydawania reszty), lub przy interfejsowaniu z PC.
  • #8 13201730
    tehaceole

    Poziom 28  
    Kolego do tej pory korzystałem z wersji F00 gdzie każdy kanał miał swoje wyjście na którym pojawiał się impuls 100ms - w dotychczasowych "zmaganiach" to wystarczyło. Ale teraz pojawił się projekt w którym ma zostać użyty dodatkowo "wydawacz" pieniędzy. Jedno i drugie gada z układem nadrzędnym po CC-Talk - stąd wybór wrzutnika w wersji CC-Talk. Gdyby to ode mnie zależało to dalej używałbym sprawdzonego układu równoległego. Ale niestety projekt wymusza coś innego =/
  • Pomocny post
    #9 13202473
    hotdog
    Poziom 26  
    Więc ok.

    1. Widać że nie porzeczytałeś za dużo nt. tego protokołu, bo byś wiedział, że wrzutniki nie przyjmują monet, jeżeli simple pool nie jest wysyłany do nich co 100 - 200ms.
    2. Na ccTalk musi być echo - odbierasz to co wysyłasz i później dostajesz odpowiedź (lub jej nie dostajesz w zależności od pakietu)
    3. Nie korzystałem nigdy z cctalka przez RS232, zawsze komunikowałem się przez USB (RM5 i RM5HD z USB) z PC. Coś musisz miec nie tak z przejściówką, układ bez podłączonego wrzutnika, z samym zasilaniem powinien dawać echo.
    4. Jak już dojdziesz co masz nie tak, to na ich stronie jest soft Secicctalk, tam będziesz mógł sobie odczytac konfigurację i włączyć wysyłanie simple pool'a.

    Ten schemat wydaje się trochę przesadzany (mały rezystor lub dioda między TXD a RXD na Maxie - musiał bym się wczytać jeszcze jakie są recesywny stany).
  • #10 13202497
    tehaceole

    Poziom 28  
    Mistrzu mój! Faktycznie nie wiedziałem, że wrzutnik potrzebuje poolingu żeby łaskawie zechciał przyjmować monety. Co do przejściówki - zmontowałem ją na szybko na pająku więc mogło coś być nie tak. W piątek powinienem dostać płytki które projektowałem pod tą przejściówkę więc na dobrą sprawę dopiero wtedy zaczną się prawdziwe testy.
    Ogólnie ma toto współpracować ze "Smart Hopperem" z Comestero.
  • #11 13837500
    tehaceole

    Poziom 28  
    Witam
    Dużo wody upłynęło od kiedy założyłem ten wątek. Niestety z powodu innych zajęć musiałem odłożyć zabawę z CCtalk na później. Wreszcie "nadejszla wekopomna chwyla" :) Mogę powrócić do "gryzienia" tematu.

    A więc po kolei:
    - przejściówka zrobiona wg schematu z początku wątku wydaje się działać poprawnie. Gdy wysyłam jakieś dane z procka to od razu otrzymuję echo.
    - fabryczny adres wrzutnika RM5 ?? Jaki on jest? Czy wysyłając simple poll na adres broadcastowy 0 odblokuję wrzutnik aby zaczął przyjmować monety? Czy adres mojego urządzenia "master" mogę sobie wybrać dowolnie?
    - w jaki sposób wyznaczyć ostatni bajt w ramce - sumę kontrolną? Znalazłem taki wątek https://www.elektroda.pl/rtvforum/topic1325130.html i tam Kolega _Robak_ korzysta ze wzoru
    Kod: text
    Zaloguj się, aby zobaczyć kod

    ale nie wiem w jaki sposób wyznacza wartość zmiennej "ul" - czy to jest zwyczajna suma wszystkich bajtów w ramce? Zrobiłem to w excelu dla kilku różnych przykładowych ramek z dokumentacji cctalk i wychodziłoby, że mam rację - ale wolę się upewnić :)


    Póki co bazując na powyższym założeniu odnośnie sumy kontrolnej napisałem sobie funkcję która wysyła simple poll pod wszystkie 255 adresów slave ze wszystkich 255 adresów master (ponad 65000 kombinacji).

    Dodano po 2 [godziny] 5 [minuty]:

    Wygląda na to, że samemu sobie odpowiedziałem na pytania z wcześniejszego postu:)
    Sofcik do przemiatania adresów dał radę i tak oto po wysłaniu simple poll:

    0x02;0x00;0x01;0xfe;oxff

    otrzymuję piękną odpowiedź:

    0x01;0x00;0x02;0x00;oxfd


    Kolego hotdog wrzutnik istotnie odblokował się i przyjmuje monety, gdy wysyłam simple poll co 250ms :)

    Dodano po 53 [minuty]:

    hmm...... w jaki sposób odczytać kod ostatnio przyjętej monety??
    Funkcja:
    229 Request Buffered credit orerror codes
    czy coś innego????

    Dodano po 1 [godziny] 24 [minuty]:

    No nareszcie do tego doszedłem :) Wystarczy funkcja 229 i do niej prosty parser dla nadlatujących danych i już mamy piękne rozpoznanie monet :)
  • #12 13936351
    dandumit
    Poziom 1  
    Hi,
    I am interested too in this .
    REgarding interface, I think that those two transistors can be replaced by a single diode.
    Have you managed to move forward ?

    DAniel
  • #13 14109421
    floyders
    Poziom 9  
    Witam, posiadam 3 wrzutniki rm5 evolution od czasu do czasu rozprogramowują się tak ze ręczne programowanie nie daje rezultatu (wysyłam do comestero i oni mi to robią). Szukam do nich kabla lub pomocy jak go zrobić (schemat). Nie znam się kompletnie na tym znajomy elektronik zaoferował pomoc ale z braku jego czasu wolałbym wszystko zorganizowac. Oprogramowanie podobno znajde na stronie comestero. Ogólnie jest to do ogarnięcia?

    Pozdrawaim
REKLAMA