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

Prośba o sprawdzenie poprawności układu

dyerseve 27 Maj 2018 23:55 375 14
  • #1 27 Maj 2018 23:55
    dyerseve
    Poziom 6  

    Od dłuższego czasu projektuję pewnie urządzenie, które poprzez przekaźniki ma sterować innym urządzeniem. Płytki mam prawie gotowe do trawienia, ale nie chciałbym, żeby po fakcie okazało się, że coś na etapie schematu było nie tak ;)

    Potrzebuję podłączyć łącznie do układu (zdecydowałem się na Atmega1284) 15 rejestrów przesuwnych i ze względu na inną częstotliwość pracy chcę podzielić to na dwie grupy:
    - 5 rejestrów, które będą sterowały multipleksowanymi wyświetlaczami led (50Hz), przez programowe SPI
    - 10 rejestrów dla przekaźników (przez ULN2003) przez sprzętowe SPI (maksymalna możliwa prędkość)
    (TME twierdzi, że Atmega1284 posiada 3 SPI, ale nic na ten temat w PDFie nie znalazłem)

    Fragment schematu:
    Prośba o sprawdzenie poprawności układu

    Czy takie rozwiązanie jest możliwe do oprogramowania? Czy potrzebne są jakieś zmiany?
    Uprzedzę zapytanie o niewykorzystane piny rejestrów - ze względu na ograniczone miejsce na płytce jestem zmuszony tak to rozwiązać.

    I mam też pytanie o poprawność fragmentu z układem MAX485 (pytałem o to w innym poście):
    Prośba o sprawdzenie poprawności układu

    Czy taki układ będzie dobry do poprawnej pracy bez żadnych niespodzianek?
    urządzenie ma być oddalone po RS485 o niecałe 10m w warunkach zbliżonych do domowych (żadnych piorunów itp. ;))

    0 14
  • #2 28 Maj 2018 00:10
    BlueDraco
    Specjalista - Mikrokontrolery

    A po co ta "maksymalna prędkość" dla przekaźników, co kłapną max. kilka razy na sekundę? Raczej wyświetlacza powinny być sterowany przez sprzętowe SPI, a przekaźniki - przez programowe. Jest całe mnóstwo układów i modułów do sterowania wyświetlaczami, w tym chińskie po 1.5 USD - po co się w to bawić?
    50 Hz to zdecydowanie za mało - wyświetlacz "pływa" i drażni obserwatora. Celuj w min. 250 Hz, lepiej w 400 lub więcej.

    0
  • #3 28 Maj 2018 00:17
    dyerseve
    Poziom 6  

    Maksymalna prędkość po to, żeby był jak najkrótszy czas reakcji między wyzwoleniem funkcji przyciskiem a załączeniem przekaźnika.
    Wyświetlacze mogą być i na sprzętowym, tylko z tego co wiem sprzętowe SPI jest szybsze niż programowe, stąd takie założenie.
    Jeśli wspomniane układy zajmują mniej miejsca na płytce niż jeden rejestr dla 2 wyświetlaczy to mógłbym je zastosować.
    Wybór odświeżania 50Hz dla wyświetlaczy jest świadomy.

    0
  • #4 28 Maj 2018 06:37
    Łukasz.K
    Poziom 21  

    Może kolega to w Pająku albo na płytce uniwersalnej zbudować żeby nie trawić płytek na darmo.

    0
  • #5 28 Maj 2018 08:05
    BlueDraco
    Specjalista - Mikrokontrolery

    To się kupy nie trzyma. Test przycisku zwykle robimy co 20 ms. Szybki przekaźnik przełącza w kilkadziesiąt ms. Nie ma znaczenia, czy transmisja danych sterujących przekaźnikami zajmie 1 us czy 100us. Wyświetlacz 4-cyfrowy przy 400 Hz sterowany przez SPI wymaga min. 19200 b/s, a transmisja musiałaby być obsługiwana w przerwaniu timera zgłaszanym z częstotliwością 1600 Hz i zajmującym pewnie ponad 100 instrukcji procesora, co blokuje reakcję na zdarzenia na kilkanaście us.

    Zweryfikuj założenia projektowe - obecne są mało sensowne.

    0
  • #6 28 Maj 2018 08:27
    karwo
    Poziom 22  

    Do wyświetlaczy LED zainteresuj się układem TM1637 - sterownie po "SPI", regulacja jasności LED i dodatkowo obsługuje przyciski. U mnie chińskie moduły z TM1637 i 4xLED dają rade.

    0
  • #7 28 Maj 2018 08:46
    3149400
    Użytkownik usunął konto  
  • #8 31 Maj 2018 00:58
    dyerseve
    Poziom 6  

    Napiszę to jeszcze raz - wybór odświeżania 50Hz dla wyświetlaczy jest świadomy.
    Założenia? W skrócie opis dla jednego 'segmentu' - wyświetlacz led dwucyfrowy, pod nim dwa przyciski, "-" i "+", i analogicznie odejmowanie lub dodawanie wartości którą widać na wyświetlaczu. A wartość z wyświetlacza ma 'binarnie' załączać przekaźniki. Przykładowo w przypadku 1 na wyświetlaczu załącza się pierwszy przekaźnik a w przypadku 3 załącza się pierwszy i drugi. Myślę, że w miarę jasno wytłumaczyłem, ale dla rozjaśnienia dodatkowo obrazek:
    Prośba o sprawdzenie poprawności układu

    Płytki są ograniczone wymiarami oraz przez otwory montażowe, prócz tego wyświetlacze oraz przyciski są w ustalonych już miejscach na płytce bez możliwości przesunięcia.
    Projekt jest rozbity na dwie płytki złączone ze sobą goldpinami. Na jednej są wyświetlacze (z rejestrami) i przyciski, a na drugiej mikrokontroler i rejestry dla przekaźników podłączanych taśmami do płytki.

    0
  • #9 31 Maj 2018 05:12
    3149400
    Użytkownik usunął konto  
  • #11 08 Cze 2018 23:31
    dyerseve
    Poziom 6  

    nowyARM - mógłbyś podać przykład takiego układu?

    0
  • #12 07 Wrz 2018 20:43
    dyerseve
    Poziom 6  

    Chciałem oddać płytki do wycięcia, ale powstrzymała mnie kwestia przechowywania wszystkich ustawień. Urządzenie ma przechowywać stan łącznie 15 rejestrów w powiedzmy 40 presetach (przechowywać po wył/wł urządzenia). Czy do tego powinienem zastosować zewnętrzną kość czy wewnętrzna w zupełności wystarczy (np. Atmega1284)? Jeśli wystarczy to co jest bezpieczniejsze/ mniej awaryjne?

    0
  • #13 08 Wrz 2018 12:48
    trol.six
    Poziom 30  

    dyerseve napisał:
    Jeśli wystarczy to co jest bezpieczniejsze/ mniej awaryjne?

    W przypadku eeproma z atmeg skorzystaj z bodlevel.
    W przypadku zwnętrznego eeproma, w razie czego można wymienić na inny ;) Co nie co o niezawodności, może dostarczyć nota producenta.

    0
  • #14 08 Wrz 2018 13:41
    tmf
    Moderator Mikrokontrolery Projektowanie

    dyerseve napisał:
    Czy do tego powinienem zastosować zewnętrzną kość czy wewnętrzna w zupełności wystarczy (np. Atmega1284)? Jeśli wystarczy to co jest bezpieczniejsze/ mniej awaryjne?

    15*40 bajtów spokojnie sie w EEPROM zmieeści, nie mówiąc o FLASH (jeśli to są stałe konfiguracje). Wbudowany w procesor element jest zwykle mniej awaryjny niż zewnętrzny - odpadają chociażby połączenia z zewnętrzną pamięcią. Z drugiej strony, jak padnie procesor, to co ci z tego, że zewnętrzna pamięć się ostała?

    0
  • #15 08 Wrz 2018 20:09
    dyerseve
    Poziom 6  

    Dzięki za odpowiedzi!
    Dodanie osobnej kości na płytce to nie problem, miejsce bym wygospodarował. Faktycznie w przypadku uszkodzenia AVR zewnętrzna pamięć EEPROM niewiele by mi dała, co innego w przypadku zastosowania jakiejś zewnętrznej pamięci flash, ale to raczej nie ma sensu. Chodzi o przechowywanie stanów na wyjściach rejestrów (wychodzi 120 bitów na jedno zapisywalne ustawienie) i wczytywanie ich poprzez wciśnięcie przycisku. Jeśli trzeba to mogę to jakoś dokładniej opisać.

    0