Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 1 mar 2025, o 14:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 13 sty 2016, o 23:23 
Offline
Nowy

Dołączył(a): 13 sty 2016
Posty: 11
Lokalizacja: Łopuszno
Pomógł: 0

Witam.
Jestem początkujący w μP.
Jaki wybrać μP do sterownika, który ma obsługiwać:
- 24 diody led
- 19 przekaźników
- 12 przycisków.
Sam pokusiłem się na Atmega128 ale nie wiem czy potrzeba.
Czy może użyć rejestrów przesuwnych do diod i przekaźników i w ten sposób "zaoszczędzić" wyjścia w μP
Zależy mi na tym aby wsad był w miarę możliwości łatwy do napisania dla mnie (początkujący).
Urządzenie miało by mniej-więcej wyglądać tak:
Obrazek
Włączamy urządzenie.
Domyślnie zapala się dioda bank-tryb i tylko jedna z diod czerwonych1-10 i przynajmniej jedna dioda zielona której numer odpowiada przekaźnikowi1-10 lub kilka na raz (zielona dioda + przekaźnik o takiej samej liczbie).
I to byłby podstawowy tryb - bank.
Zakładam, że mamy włączony bank 1 (czerwona dioda nr1 świeci) wciskamy przycisk tryb. Zapala się dioda zielona tryb-stomb. W tym trybie przyciski 1-10 służą do zapalania- załączania odpowiednio przekaźników i odpowiadających im diod zielonych.
Kolejne przyciśnięcie przycisku tryb uruchamia (dioda niebieska) tryb tryb-head i w tym momencie zielone diody odpowiadają kolejno przekaźnikom 1-A, 2-B, 3-C, 4-D, 5-E, 6-F i uwaga 0-on/off. Przekaźniki od 1-A do 6-F mają zadziałać tylko na 1sekundę i w danej chwili można włączyć (wybrać) tylko jeden przycisk (przekaźnik) jednak zielona dioda po wybraniu ma świecić cały czas aż do wciśnięcia innego przycisku z zakresy 1-6. Wyjątkiem jest tutaj przycisk 10 i przekaźnik on/off który działa podobnie jak w trybie stomb. Czyli wciśnięcie powoduje zadziałanie przekaźnika zapalenie diody zielonej 10 kolejne wciśnięcie powoduje wyłączenie diody i przekaźnika.
Aby nasze ustawienia się zapisały wciskamy przycisk tryb na trzy sekundy.
Przycisk Mute załącza przekaźnik Mute i diodę Mute nie zależnie od wszystkiego.
To tak mniej więcej jak bym to widział.
Liczę na pomoc i chciałbym poznać opinie bardziej doświadczonych w doborze elementów. Dodam tylko że cały projekt jest realizowany na kilku płytkach-modułach. Część "wykonawczą" czyli przekaźniki mam już na płytka zmontowane. Zależy mi na takim doborze elementów żeby wsad był jak najprostszy dla mnie. Dopiero raczkuję jeśli chodzi o pisanie programów. Ze strony elektronicznej nie ma ograniczeń- czy to lutowanie smd, czy trawienie-projektowanie pcb oczywiście w granicach home made.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 00:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Od strony programu nie masz żadnych szczególnych wymagań co do procesora. Będziesz w stanie to zrobić na każdym dostępnym. Nie zalecałbym Ci brania jak najwięcej nóżkowego procesora, by móc wszystko podpiąć bezpośrednio do procesora (choć tak program byłby pewnie najprostszy do napisania dla początkującego). Lepiej dodać dodatkowy układ i móc zastosować mniejszy procesor. A stosując ekspandery portów możesz nawet zrobić swój projekt na ATtiny :)

Jak się policzy to minimum potrzebujesz:
- jeżeli połączysz diody w grupy i będziesz je multipleksował, to potrzebujesz dla diod 10 pinów
- jak przyciski potraktujesz jako klawiaturę matrycową to potrzeba dla nich 7 pinów
- przekaźników nie mogą być multipleksowane, więc trzeba 19 pinów
Czyli w sumie potrzebujesz mieć minimum 36 pinów z czego min. 3 wejścia a reszta wyjścia.
Czy będziesz korzystał z ekspanderów po SPI / I2C czy rejestry zwykłe rejestry przesuwne z zatrzaskami, to zależy od ciebie i twoich umiejętności oprogramowania tego.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 01:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
rskup napisał(a):
przekaźników nie mogą być multipleksowane, więc trzeba 19 pinów

kol.marcom1983 wspominał o nieobcej mu "innej" elektronice (jednakże do schematu mógłbym się przyczepić ;) ) więc może zastosować dekoder BCD/dziesiętne np. 74LS42 i już to parę pinów w zapasie. Tyle że część opisową czytałem kilka razy, ale się zawieszam :)

Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 08:32 
Offline
Użytkownik

Dołączył(a): 02 maja 2015
Posty: 100
Lokalizacja: Malbork
Pomógł: 12

Ja kończę właśnie projekt w którym steruje 16 przekaźnikami. W celu zaoszczędzenia pinów użyłem rejestrów przesuwnych74HC595N. Sterowane są przez btm-222. A całość obsługuje atmega32. Można by to zrobić na mniejszym procku ale tych akurat mam kilka w zapasie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 12:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Wejść to trzeba tylko 3 sztuki (klawiatura 3x4). Więc je można zrobić na pinach procka :)

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 13:10 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Odnośnie ekspanderów - bardzo lubię pcf8574 -> każdy z nich ma 8 pinów i/o (jest też podobny scalak, nie pamiętam nazwy z 16 pinami i/o). Komunikacja po I2C (2 linie procesora). Do takiej szyny danych można podpiąć do 8 tych układów (czyli z 2 pinow procesora otrzymujesz 64 wejścia/wyjścia).
Problem jest tylko taki, że trzeba raz przysiąść i napisać porządną bibliotekę. A później się świetnie korzysta.

Edit: Teraz doczytałem, że dopiero zaczynasz zabawę z mikrokontrolerami - w takim razie rzeczywiście dużo łatwiej będzie te kilka wejść zrobić bezpośrednio na pinach, a wyjścia na rejestrze przesuwnym '595.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 13:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jest taki tani układ TM1638, który może obsłużyć matrycę LED 10x8 oraz klawiaturę matrycową 8x3. Sam wykonuje multipleksację.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 1 minucie ]

Czyli wystarczy jeden taki układ dla wszystkich LEDów oraz klawiszy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 18:37 
Offline
Nowy

Dołączył(a): 13 sty 2016
Posty: 11
Lokalizacja: Łopuszno
Pomógł: 0

Dziękuje za odpowiedzi i pomoc.
Rozwiązanie idealne wydawało by się z tm1638, ale nie wiem czy dam rade to zaprogramować.
Najpierw (tak jak wspomniałem na początku) chciałem wykorzystać Atmega128, czyli
Przekaźniki 18 pinów
Switch 12 pinów
Led multipleksowo 6x4 czyli 10 pinów,
co w sumie daje 40 pinów.
Wyczytałem na forum że istnieją rejestry przesuwne, przeanalizowałem jak się to programuje i wydaje mi się, że łatwiej będzie mi napisać soft pod rejestry niż pod multipleks tych ledów.
I ja na tą chwile to widzę to tak
3 x rejestr przesuwny pod ledy, czyli 3x8=24
3x rejestr przesuwny pod przekaźniki czyli 24-18=6wolnych
a 12 switch prosto do procesora.
Podsumowując piny do procesora 3+3+12=18pinów
Nie wiem czy to dobre rozwiązanie. Czytałem o dwóch rejestrach podłączonych do procka razem, w tedy operujemy 16bit, a tu mam 3 rejestry. Mirekk36 w swoich poradnikach przedstawia jak podłączyć 2. Wiem że można więcej ale to z kolei komplikuje program i obciąża μP.
Przepraszam za głupie pytania ale jestem bardzo początkujący. Mam za sobą kilkadziesiąt projektów ale na μP to jet pierwszy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2016, o 18:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Na stronie https://skyduino.wordpress.com/2012/07/31/arduino-carte-tm1638-7-segments-leds-boutons/ masz bibliotekę pod arduino. Ale bardzo łatwo ją przerobić na czyste C.

Zostaje Ci tylko podłączyć przekaźniki do zwykłych pinów lub zwykłego rejestru przesuwnego.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 11 minutach ]

O rejestrach przesuwnych masz poradnik Mirka:
http://mirekk36.blogspot.com/2013/09/rejestr-przesuwny-74595-podstawy.html
https://www.youtube.com/watch?v=M21sqGWI6y8



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO