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



Teraz jest 18 gru 2024, o 20:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 14 lut 2014, o 17:41 
Offline
Użytkownik

Dołączył(a): 12 lut 2014
Posty: 27
Lokalizacja: Warszawa
Pomógł: 0

Witam, w programowaniu jestem nowicjuszem, lecz już na starcie dotknął mnie problem ograniczonej ilość wyjść (atmega8). Wpadłem na pomysł żeby zastosować demultiplekser, który da mi większe pole do popisu. Nie wiem czy dobrze pamiętam, ale demultiplekser wysyła sygnał z wejścia x na jedno z wyjść y w zależności od podanego sygnału adresowego k. Jeśli znalazłbym demultiplekser o 4 wejściach adresowych mógłby on obsłużyć 16 wyjść (2 do potęgi k). Idąc tym tokiem myślenia, podpinając wejście x do VCC i wejścia x do 4 wyjść procesora miałby już 16 wyjść. Nie wiem czy dobrze pamiętam zasadę działania demultipleksera. Co myślicie o takim rozwiązaniu ? Czy na rynku dostępne są tego rodzaju układy ?

Pozdrawiam.

_________________
Dopiero zaczynam przygodę z mikrokontrolerami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 19:08 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Zdaje się że pomoże Ci expander wejść PCF8574


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 19:34 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Pamiętaj, że w danym momencie stan wysoki może być tylko na jednym z wyjść, jeśli wpiszesz nowy adres to dotychczasowo wybrane wyjście automatycznie zmieni stan na LOW.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lut 2014, o 19:36 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Jak chodzi o same wyjścia to rejestr przesuwny z zatrzaskiem by wystarczył.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 10:55 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 517
Pomógł: 26

Kolego jak wcześniej matrix podpowiedział dobrym rozwiązaniem jest expander wykorzystujesz komunikację I2C i możesz podpinać dowolną ilość expanderów. np: 10 expanderów po 8 wyjść da ci 80 wyjść lub wejść wszystko zależy jak sobie napiszesz kod.

_________________
Przewodnik|Sterownik akwariowy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 15:24 
Offline
Użytkownik

Dołączył(a): 12 lut 2014
Posty: 27
Lokalizacja: Warszawa
Pomógł: 0

Jak wygląda sterowanie takim expanderem ? Znalazłem schemat expandera PCF8574.
Obrazek

Czy stan wyjść PC0-7 zależy tylko od stanu wejść A0-3 ? Np. przy podaniu na wejścia A sygnału 111 na wyjściu PC7 będzie stan wysoki ?

_________________
Dopiero zaczynam przygodę z mikrokontrolerami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 15:52 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Linie A0..A2 są liniami adresowymi. Natomiast odczyt we/wy układu odbywa się za pomocą magistrali I2C.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 18:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8588
Pomógł: 337

Jakbys potrzebował PWM to poczytaj http://sunduino.elektroda.eu/wordpress/ ... wnik-serw/

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 18:19 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

matekogon napisał(a):
Kolego jak wcześniej matrix podpowiedział dobrym rozwiązaniem jest expander wykorzystujesz komunikację I2C i możesz podpinać dowolną ilość expanderów. np: 10 expanderów po 8 wyjść da ci 80 wyjść lub wejść wszystko zależy jak sobie napiszesz kod.

No to kolega zaszalal. A jak zaadreowac 10 expanderow na 3 bitach adresowych?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 18:36 
Offline
Użytkownik

Dołączył(a): 12 lut 2014
Posty: 27
Lokalizacja: Warszawa
Pomógł: 0

Szczerze mówiąc to nie mam pojęcia jak korzystać z komunikacji I2C. Dlatego chciałem iść na łatwiznę i skorzystać z czegoś o czym mam jakiekolwiek pojęcie. Spróbuję poszerzyć wiedzę na temat rejestrów przesuwnych. Dziękuję za pomoc.

DODANO
Znalazłem w sklepie internetowym multiplekser/demultiplekser HCF4051. Jednak jest to element analogowy. Czy będzie to kolidować w podawaniu sygnałów typu 1/0 ?

_________________
Dopiero zaczynam przygodę z mikrokontrolerami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 23:23 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Zrobisz jak będziesz uważał, ale jak potrzebujesz tylko wyjścia ( komunikacja tylko od kontrolera ) to rejestry przesuwne będą OK i tym się zajmij. Kaskadowo rejestry pozwalają na trzech liniach powiesić w zasadzie nieograniczoną liczbę rejestrów ( oczywiście "nieograniczoną" w cudzysłowie i w granicach rozsądku ) w przeciwieństwie do expandera. Poza tym expandery chodzą na magistrali I2C (2 linie magistrali + opcjonalne linie adresowe od 1 do 3 ) ponieważ jest dwukierunkowa i można zwiększyć ilość portów Input/Output czyli również wejścia. Jak potrzebujesz tylko dodatkowe 8 portów I/O to koszt w pinach 2szt. mniej niż w rejestrze przesuwnym. Jak potrzebujesz I/O więcej to co najmniej 3 do 5 pinów. Rejestry przesuwne można podpiąć np pod magistralę SPI albo obsłużyć wyłącznie programowo. Potrzebujesz linię danych + linię zegarową + zatrzask. Razem 3 i bez względu na ilość rejestrów nie będzie więcej. Obsługa jak obsługa. O wszystkim trzeba poczytać i zastosować. Przykładów jest sporo. Ja dla samych wyjść zastosowałbym rejestry przesuwne. Po expander sięgnąłbym jak bym potrzebował wejścia.
Tu masz poradnik o rejestrach http://mirekk36.blogspot.com/2013/09/rejestr-przesuwny-74595-podstawy.html


Autor postu otrzymał pochwałę

_________________
sig off ;(



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: 11 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO