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

[Rozwiązano] Obsługa PCA9685 na AVR - brak komunikacji z pca9685

grochal777 13 Lis 2015 13:24 2889 9
REKLAMA
  • #1 15147408
    grochal777
    Poziom 9  
    Hej,
    czy ktoś obsługiwał już może generator PWM PCA9685?
    Mam z tym mały/duży problem. Wydaje mi się, ze połączenia zrealizowane są poprawnie. Schemat płytki wykonany na podstawie:
    Obsługa PCA9685 na AVR - brak komunikacji z pca9685

    W moim schamecie wykorzystuję zamiast jednego dwa układy PCA9685. Podciągnięcie linii SCL i SDA rezystorami 4,7k.
    Program pisany na podstawie bibliotek pana Mirka Kardasia (I2C) oraz tego co znalazłem na różnych forach.
    Problem polega na braku komunikacji z układem. Nie wiem czy źle coś robię programowo czy może coś nie tak z płytką.

    Schemat płytki:
    Obsługa PCA9685 na AVR - brak komunikacji z pca9685


    Programował ktoś już kiedyś ten układ dla AVR? Jeśli ktoś miałby chęci i możliwości sprawdzić mój kod chętnie udostępnie go.
    Całkiem fajnie jeśli zdołałby ktoś sprawdzić go na układzie z PCA9685 (chociaż wątpię ze znajdzie się ktoś kto go używa lub miałby czas to zrobić ;p )
    W sumie już drugi dzień się z tym próbuję uporać i nic nie rusza.
  • REKLAMA
  • Pomocny post
    #2 15147880
    tehaceole

    Poziom 28  
    Czy na EXTCLK podłączasz jakieś źródło zegara? W oryginalnym schemacie na symbolu PCA jest wzmianka, aby pin ten podłączyć do masy jeżeli nie korzysta się z zewnętrznego generatora.
    Jakie są objawy?
    - nie możesz nawiązać ŻADNEJ komunikacji na i2c?
    - możesz nawiązać komunikację, ale wyjścia PCA się nie sterują?

    Interesujący jest opis EXTCLK na stronie 14 dokumentacji http://www.nxp.com/documents/data_sheet/PCA9685.pdf
  • REKLAMA
  • Pomocny post
    #3 15147916
    giciors
    Poziom 12  
    WItam
    Możesz mieć problem z ogarnięciem adresu scalaków jak widać na twoim schemacie nie wiadomo jakiego adresu używasz ponieważ masz wszędzie zworki i to umożliwia CI dowolne ustalanie adresu 1xxxxxx(RW) sprawdz jaki masz ustawiony adres za pomocą zworek i porównaj go z tym co masz w programie , faktem jest iż ten scalak ma dosyć rozbudowane adresowanie (patrz strona 8 w DS, w szczególności adresy zarezerwowane).
    Pozdrawiam
  • REKLAMA
  • #4 15148020
    grochal777
    Poziom 9  
    EXTCLK mam podłączony do GND.
    Nie uzyskuję żadnej komunikacji. Ani jeden ani drugi scalak.
    Co do adresowania - w przypadku, gdy nie używam żadnej ze zworek adres scalaka to 0x40 (bo 1000000b to 0x40 hexalnie).
    Jak tylko bedę mieć dostęp do kompa wrzucę kod jaki napisałem do tej pory.
    Dzięki za zainteresowanie, mam nadzieję że coś ruszy...
  • REKLAMA
  • Pomocny post
    #5 15148402
    tehaceole

    Poziom 28  
    Poszukaj jeszcze na forum Mirka tematu o i2c bo z tego co pamiętam to w książkowym przykładzie był chyba jakiś drobny błąd, który poprawiono w erracie i opisano na forum.
  • #6 15149085
    grochal777
    Poziom 9  
    tehaceole, miałem nadzieję że to ten błąd o którym wspomniałeś! Niestety, I2C mam prawidłowy, po usunięciu błędu.

    Rano przejrzę dokładnie swój kod, sprawdzę (w sumie już n-ty raz) i wstawię po ewentualnych poprawkach tu na forum.
  • Pomocny post
    #7 15149960
    Konto nie istnieje
    Konto nie istnieje  
  • #8 15150157
    grochal777
    Poziom 9  
    Rzeczywiście błąd był po stronie adresowania... Zamiast 0x80 używałem adresu 0x40 i nic nie działało.
    niveasoft, dzięki! Link który podałeś znacznie ułatwi pracę - nie natknąłem się na niego wcześniej, mimo, że naprawdę sporo czasu szukałem ;)
    Zabieram się do pisania własnych funkcji ;)
  • #9 15150940
    giciors
    Poziom 12  
    ....... tak jak napisałem....
    giciors napisał:
    sprawdz jaki masz ustawiony adres za pomocą zworek i porównaj go z tym co masz w programie

    ...często popełniany błąd, też go robiłem
    Pozdrawiam
  • #10 17207531
    grochal777
    Poziom 9  
    Rozwiązanie wyżej.
    Zamykam!
REKLAMA