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.

Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?

lukaszso 23 Apr 2019 18:46 2022 2
Optex
  • #1
    lukaszso
    Level 1  
    Witam serdecznie.
    Od dłuższego czasu walczę z budową projektu inteligentnego budynku na Raspberyy Pi3.
    Poszło całkiem nieźle bo po dłuższych walkach, głównie o estetyczne wykonanie instalacja już działa.
    Na chwilę obecna wygląda to tak:
    Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?
    Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?

    Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?

    Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?



    System już żyje, dopóki nie skończę remontu obiektu i nie wyniosą się majstry nie ma weny, żeby dalej grzebać w środku.
    Po krótce, w górnym narożniku malina, pod maliną wzmacniacz audio, na malinie ekspander abelectronics, płytki przekaźnikowe górna sterowana
    GPIO maliny, dolna MCP23017, na dole listwy bezpiecznikowe firmy Pulsar, te 4 małe płytki PCB to płytka z ppotencjałem 5v , 3,3v , płytka z wyprowadzeniami wejść ekspandera który jest na malinie i płytka z COM dla różnych elementów.
    Całość zamontowana na płytce plexi, w programie CAD narysowałem projekt i wypaliłem na laserze który poniekąd do tego celu kupiłem.

    Działa całkiem przyzwoicie, uruchomiłem Alarm, komunikaty dźwiękowe o różnych zdarzeniach, SMSy, sterowanie piecem, prądem itp.

    Przyszła jednak konkluzja, że na płytce PCB byłoby to po prostu zrobione lepiej i zmieściłbym wszystko w jednej szafce.
    Wszystko już kupiłem, MCP23017 kupiłem THT z podstawkami, i ULN2803 też THT z podstawkami. Na płytce dam 32 wejścia, 32 wyjścia poprzez ULN2803. Płytka będzie również dystrybutorem napięcia 12V dla różnych urządzeń typu czujniki, itp. Wyjścia 12V zabezpieczone bezpiecznikami polimerowymi, każde wyjście sygnalizowane diodą led.
    8 przekaźników NC/NO np. do sterowania piecem, jakimiś stycznikami, 8 przekaźników do wyzwalania napięcia 12V np. do sygnalizatorów alarmowych, ładowania tabletów, zasilania urządzeń z większym poborem prądu.
    2 porty wyjść I2C, złącze dla 1Wire

    Teraz siedzę i dłubię w kiCad projekt PCB.
    Mam wiele wątpliwości co do podłączenia do maliny ekspanderów MCP23017, gdzie dać i jaki kondensator, gdzie rezystor i jaki.
    W Internecie jest tyle różnych rysunków i schematów że naprawdę zgłupiałem.

    Z pewnością trzeba MCP23017 zasilić i to najlepiej 5V, niektórzy pokazują że adresy bezpośrednio do masy zwierać, inni, że przez rezystor, jeszcze inni, że do masy, ale rezystor równolegle.
    Kolejna zagwozdka co z I2C, do Raspberry, trzeba polecieć przez tranzystor i pomimo, że układ zasilony, to 3,3v musi być również ?
    Jak właściwie podłączyć ekspandery MCP23017 do Raspberry Pi ?








    ( Powyżej jakiś poglądowy rysunek z internetu)

    A jak wygląda sprawa z kilkoma MCP23017 na jednej szynie, wystarczy że dam tranzystory gdzieś bliżej maliny po jednym na CLK i DAT i wszystkie pozostałe też będą działać poprawnie ?
    Jak zabezpieczyć bez wielkiego wydziwiania wejścia w MCP23017, jakiś rezystor ?

    Ile bym nie szukał, to co rusz głupszy jestem, bo z pewnością nadal więcej nie wiem, niż wiem.
    Proszę o wyrozumiałość i tylko konstruktywną krytykę, w budowie i prototypowaniu dopiero raczkuję, ale poświęciłem na ten projekt bardzo dużo pracy i chciałbym popchnąć go na wyższy poziom.
    Bardzo proszę, o pomoc i jakieś wskazówki, również chętnie pomogę miłośnikom automatyki DIY dzieląc się dotychczasową wiedzą.
    Do you have a problem with Raspberry? Ask question. Visit our forum Raspberry.
  • Optex
  • #2
    czareqpl
    Level 31  
    Ja bym polecił koledze MCP23S17. SPI może działać znacznie szybciej niż I2C.
    Mam bardzo podobny projekt i zrealizowałem go właśnie na układzie obsługującym SPI.
    Na jeden kanał SPI wchodzi 8 ekspanderów. Ja potrzebowałem 10, więc jako CS użyłem dwóch wyjść z Rpi.

    Pamiętaj o ustawieniu rejestru H_EN ;)
  • #3
    sliver1
    Level 22  
    Cześć.
    Czy mógłbyś napisać gdzie dostałeś te płytki PCB to płytka z potencjałem 5v, 3,3v? Szukałem na Ali ale nie trafiłem a też mam problem z rozprowadzeniem sygnałów.