Skocz do zawartości

Arduino w modelarstwie kolejowym


prezesedi

Pomocna odpowiedź

I2C na większych odległościach może nie zadziałać. CAN jest dosyć trudny do oprogramowania, ja bym zastosował rs485 

No... Może dałbym CANa ale na mikrokontrolerze który ma odpowiednie zasoby do tego

Edytowano przez _LM_
Link do komentarza
Share on other sites

9 minut temu, _LM_ napisał:

I2C na większych odległościach może nie zadziałać.

Zadziała, jeżeli przerobisz sygnał na różnicowy (np. używając MAX485) i prześlesz ekranowanym przewodem 😉 z drugiej strony różnicowy na I2C i masz perfekcyjną komunikację... Jeszcze warto by zadbać o odpowiednie dopasowanie sygnału, by zmniejszyć zakłócenia i będzie idealnie. Nie zadziała tak daleko jak RS485/RS422, ale starcza też na całkiem niezłe odległości.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

10 minut temu, _LM_ napisał:

I2C na większych odległościach może nie zadziałać.

Tu tego problemu nie będzie bo pcf będzie bliziutko Arduino...i dopiero piny pcf będą "rozsiane" po makiecie i zasilać diody

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

22 minuty temu, ethanak napisał:

No a tego chciałbym uniknąć (czyli stu drutów jak w XIX wieku)

 

No to jak to zrobić? Przecież do każdej diody i tak muszę dać kable...może jednak poczytam o tych CAN'ach😜 (pytam bo rzuciłem okiem na CAN, ale nic nie zrozumiałem)

Link do komentarza
Share on other sites

CAN, rs485, I2C wszystko leci po dwóch drutach nie licząc masy i zasilania. CAN na mega328 to szaleństwo sa do tego dedykowane mikrokontrolery at90can coś tam.. 

Zastosowanie magistrali daje ci dodatkowe możliwości gdyby było trzeba coś dodać w późniejszym czasie

Edytowano przez _LM_
  • Lubię! 1
Link do komentarza
Share on other sites

W sumie wystarczy zwykły UART (przecież tylko nadajemy) i odpowiednio spreparowane komunikaty - wszystkie odbiorniki mogą być podłączone do tego samego pinu głównego mikrokontrolera. Lecimy wtedy jednym przewodem i masą. A jako odbiornik jakiś tani attiny... (albo PIC, tańszy ale akurat na nich się nie znam). Podejrzewam, że przy 19200 nie trzeba RS-a, ale to wymagałoby sprawdzenia...

A gdybym ja to robił?

To bym wywalił w ogóle kable, ESP12E w Kamami kosztuje dychę. Poleciałbym po esp-now i miałbym święty spokój. A ponieważ na 100% nie chciałoby mi się robić płytki do ESP zastosowałbym Wemos D1 Mini (6 PLN droższy na Allegro). Zero kabli z wyjątkiem zasilania.

  • Lubię! 1
Link do komentarza
Share on other sites

No tak @ethanak ...można by po esp-now bez problemu...jak ja bym to robił to pewnie tak bym zrobił, ale autor wątku ma małe pojęcie w tematach i dla niego będzie łatwiej ciągnąć kable niż to oprogramować, a mi się też nie chce pisać...z pcf to dodalbym tylko przykład a watkotworca dalej sam by sobie powielił kod...😜 Wiadomo...lenistwo)

Link do komentarza
Share on other sites

2 godziny temu, H1M4W4R1 napisał:

Zadziała, jeżeli przerobisz sygnał na różnicowy (np. używając MAX485) i prześlesz ekranowanym przewodem 😉 z drugiej strony różnicowy na I2C i masz perfekcyjną komunikację... Jeszcze warto by zadbać o odpowiednie dopasowanie sygnału, by zmniejszyć zakłócenia i będzie idealnie. Nie zadziała tak daleko jak RS485/RS422, ale starcza też na całkiem niezłe odległości.

Coś więcej w tym temacie napiszesz?

Link do komentarza
Share on other sites

@farmaceuta oczywiście można zostać przy pcf-ach, ja tylko mówię z punktu widzenia lenia (najmniej roboty).

Przy okazji: odczyt wejścia w pcf polega na podaniu jedynki na pin i odczytanie jego stanu. Takie coś było również w porcie równoległym (pin jest jednocześnie wyjściem i wejściem).

  • Pomogłeś! 1
Link do komentarza
Share on other sites

46 minut temu, SOYER napisał:

Coś więcej w tym temacie napiszesz?

A co tu się rozwodzić? MAX485 ma za zadanie przetworzyć sygnał z magistrali UART na sygnał różnicowy. Zazwyczaj jest on dedykowany magistrali RS485, gdzie pin DR steruje kierunkiem przekazu, ale pin można na stałe spiąć z GND lub VCC układu i mieć kanał jednokierunkowy (z dwoma przewodami na kanał). Przesyłałem tak zwykłego UART'a na jakieś 30m 😉 Kilka układów, po każdym na jedną linię sygnałową (np. SCK, MISO, MOSI, SS dla SPI, co daje 4x MAX485). W I2C problem jest, że SDA jest dwukierunkowa, ale to zadanie dla kogoś mądrzejszego ode mnie 😛 Ewentualnie sterowanie pinem DR układu na linii SDA, bo przecież i tak kierunek zawsze będzie jeden 😄 

A co do sygnału - enkodowanie 8b10b i po problemie, albo jakiś inny sposób zachowania balansu DC, co by zredukować zakłócenia z niego wynikające. Do tego ekran na przewodzie (np. skrętka) i zewnętrzne zakłócenia też są zredukowane. Obstawiam, że na 100-200m spokojnie zadziała 😉 O ile nikt nie zapomni rezystora 120 Ohm spinającego kanały przy układzie MAX485.

Edytowano przez H1M4W4R1
Link do komentarza
Share on other sites

24 minuty temu, ethanak napisał:

@farmaceuta

Przy okazji: odczyt wejścia w pcf polega na podaniu jedynki na pin i odczytanie jego stanu. Takie coś było również w porcie równoległym (pin jest jednocześnie wyjściem i wejściem).

O taką odpowiedź mi chodziło, bo przeglądając dwa libsy w jednym było read16/write16 i temu podobne, bez żadnych pinMode...natomiast druga już miała pinMode i nie byłem pewny...dzięki!😉

Link do komentarza
Share on other sites

Tak czytam Wasze wpisy i nic nie rozumiem 🤔😰

Can, 100 kHz, MAX485, esp-now, ESP12E - i nie nadążam googlować ...

Chciałem tylko zebrać wszystko w całość, a Szanowni Forumowicze już tu robota konstruują w teorii.

Link do komentarza
Share on other sites

18 minut temu, prezesedi napisał:

Szanowni Forumowicze już tu robota konstruują w teorii.

Nie marudź 😉 to że dzisiaj są to nowe pojęcia nie oznacza że jutro nie będziesz nimi normalnie się posługiwał, a jak zaczniesz rozbudowywać swoją makietę a pajęczyna będzie już nie do ogarnięcia to szybko sobie przypomnisz że istnieją inne rozwiązania. A przy okazji minimum dwóch kolegów dowiedziało się czegoś nowego.

Link do komentarza
Share on other sites

Ależ ja absolutnie nie marudzę 🤣👍. Jestem otwarty na nowe rozwiązania. Nowe na tyle bym był w stanie to złożyć do kupy i uruchomić. 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.