Procesor jest dośc mocny bo ATmega 128L 3.3V na plycie mam podłączony 74HC573 i adres A8-A15jest na porcie C, a port A jest multipleksowany adres-dana. Pisze w Programers Notpad dołączonym do pakietu WinAVR. mam juz początek: (unsigned char *)p = (unsigned char adres); *p = dana; czy taki kod wystarczy? i czy każdy adres będzie odnosił sie do zewnętrznego...
To nie jest dobry schemat, bo: 1. Skanowanie klawiatury wymaga wyłączenie wyświetlaczy. 2. Masz multipleksowanie w 8 fazach, a to wymaga sporego prądu segmentów - ATmega ma za małą wydajność prądową - wypada mieć min. 30 mA na segment, prawdopodobnie więcej. Pomyśl o wzmacniaczu segmentów, np. tranzystory NMOS (BSS138?). 3. Niepotrzebnie dajesz po dwa...
1) Z tego co widzę, to ja zrezygnowałbym w ogóle z zastosowania takiej pamięci, chyba że chcesz przechowywać sporo danych. Jak chcesz to drugie to zastosuj pamięć sterowaną przez magistrale I2C. Wtedy zajmiesz tylko 2 końcówki SCL i SDA. Z praktyki wiem że nie zapełnisz ATMEGI 32 programem który miałby realizować podane przez Ciebie funkcje. 2) Jako...
Chciałbym się dowiedzieć czy wspomniana atmega da radę : pobierać z przetwornika AD wartości temperatury, wilgotności, ciśnienia a także zliczać impulsy z wiatromierza i przerwanie co sekundę, dodatkowo obsługa LCD 4x16 z w miarę aktualnym wynikiem wcześniejszych pomiarów i do tego jeszcze 7-seg LED z 2 cyframi multipleksowany na wynik temperatury....
Tak wszystkie 4k nie mają sensu. Przecież nie używasz wyjść typu otwarty kolektor. Procek będzie wystawiał albo zero , albo 5V. Więc te rezystory będą pracować tylko jako obciążenie. Rezystory te miały by sens na wejściach procesora AVR a nie wyjściach. R10 może byc tak jak jest, ale możesz je dać w kolektorze. Różnica jest niewielka.
Wypadało by napisać coś więcej... Np. o jakim wyświetlaczu mówimy (podejrzewam, że to LED 7-seg), czy wykorzystujesz kwarc zegarkowy, wyświetlacz ma być multipleksowany czy nie... I użyj tagów code jak wklejasz kod źródłowy... P.S. Nie analizowałem kodu bo się go beznadziejnie czyta, ale tak na pierwszy rzut oka wydaje się, że można to przede wszystkim...
Witam. Wymyśliłem sobie że można porty wykorzystać jednocześnie jako wejście i wyjście wielofunkcyjne (pinów zabrakło nieco, a więcej funkcji potrzebuje). Wymyśliłem tez sobie taki układzik który by to realizował: http://obrazki.elektroda.net/48_11502669... Porty wewnętrznie podciągnięte do +5v i chciałem się zapytać czy takie coś ma szansę działać...
W końcu przespałem się z tematem :) Ostateczny wybór padł na rodzinę AVR... uznałem że to najlepszy wybór na początek przygód z... Starając się dalej iść w stronę zakupu gotowego zestawu wybrałem kilka które uznałem za najbardziej warte uwagi: EvB ATmega 16-32 ( 222 z ł – ATMEGA32 + WYŚWIETLACZ ) http://obrazki.elektroda.pl/8258948300_1...
Witam Jeśli napięcie zasilające wyświetlacz jest większe od Vcc uC to trzeba zastosować układ np.UDN2981A lub jego odpowiednik ( jest to taki ULN2803 tylko PNP ). Zwykłe klucze tranzystorowe nie mogą sterować anodami bo będą zawsze otwarte. Pozdr.
O dzięki ci dobry człowieku!!! Dodano po 3 Edit - przepraszam, ale nie chcąco zaraportowałem twojego posta, bo myślałem, że tam się punkty przekazuje....... Ale punkty i tak przekazałem, ale dopiero za drugim podejściem.
Nie, podajesz na jedno wyjście wiersza stan niski i sprawdzasz stan wejść kolumn podciągniętych wwnętrznei do plusa. Robisz to zwsze w przerwaniu timera. To samo przerwanie może służyć np. do wyświetlanai LED, o ile masz w systemie wyświetlacz multipleksowany.
Cóż, opis działania rejestru przesuwnego jest w notach katalogowych i mówisz, że wiesz, jak to zrobić. Poszukaj o multipleksowaniu wyświetlaczy LED - w przypadku "zwykłych" diod zasada będzie ta sama.
Skoro chcesz zrobićna szybko, bez wgłębiania się jak to działa, to ściągnij sobie darmowe kody do moich książek z ftp Helionu (linki w stopce), masz tam przykład i multipleksowania i obsługi DS'a na UART.
Podaję się, nie mam pojęcie czemu to nie działa: [syntax=c]#define F_CPU (1000000) #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define LED_DATA PORTD #define ANODY_PORT PORTC #define CA1 (1<<PC0) #define CA2 (1<<PC1) #define CA3 (1<<PC2) #define CA4 (1<<PC3) //const unsigned char cyfry[]...
Temat do zamknięcia
multipleksowanie?
IMO ATMega może realnie samplować 10-15k razy na sekundę (kanały są multipleksowane czyli przez 3 na 3 kanały). To wystarczająco do takich pomiarów. Inną kwestią są szumy, dokładność itp. Drogi są 2 albo uC - czujnik, lub uC - zewnętrzny przetwornik ADC - czunik. Tanie ARM'y się IMO lepiej nadają :)
Próbkowanie klawiatury połącz z multipleksowaniem wyświetlaczy.
Z mojej strony nie była to krytyka rozwiązania a jedynie wyraziłem swoje odczucie kontrastu technologii jakie zauważyłem na schemacie. Ponieważ nie jest to produkcja seryjna to można robić co się chce, Atmega posłużył jako programowalny sterownik multipleksowanego wyświetlacza + funkcje zegara. Podczas uruchamiania jest nawet mniejsze ryzyko, że w wyniku...
Wszystko wygląda ok. poza wyświetlaczem LED multipleksowanym. Radze zmienić tranzystory T10-T13 na tranzystory PNP (emitery do zasilania a kolektory do wspólnych anod wyświetlaczy). Po takiej zmienie wysterowanie danego wyświetlacza będzie odbywało się po podaniu zera logicznego(0V) na bazowy rezystor jego tranzystora. Z tranzystorem NPN delikatnie...
Dzięki za pomoc.
Witam, moim zdaniem zmiana rozdzielczości wcale nie musi być taka trudna, ATmega maże multipleksować na jednym porcie wejściami do ADC, wiec jaki problem do każdego z wejść dołączamy dzielnik napięcia, a następnie zmiana jednego rejestru ustawiamy z którego wejścia chcemy korzystać. A co do projektu, elegancko zrobiony, bardzo przydatne urządzenie w...
Coś podobnego [url=http://www.elektroda.pl/rtvforum/vi...
Ja bym wybral ARMA SAM7S256/128/64 produkcji Atmela :>. Wiem ze kolega pytal o AVR ale nie moglem sie powstrzymac ;]. Ostatnio w pracy tworze 8-kanalowy rejestrator dzwieku na tym procku z przesylaniem danych do klienta po ethernecie. Procek posiada pelna obsluge USB i przetwornik 8/10 bit o maksymalnej czestotliwosci probkowania 8/5 Mhz z 8 wejsciami...
Schemat pokrywa się częściowo. RTC jest podłączony pod SDA i SCL w procu. Jest kilka drobnych różnic. Poza tym zamierzam dodać 4 przyciski do ustawienia zegara. Tak więc sam wsad mnie nie zbawi, potrzebowałbym kod źródłowy. Chodzi głównie o połączenie ATMEGA <=> RTC oraz multipleksowanie lamp. Pozdrawiam.
A masz jakiś pomysł czemu atmega "czeka" na starcie ~2s?
Czyli musiałbym zastosować 5 takich układów 4052 żeby uzyskać 20 sterowanych kanałów. Nie. Każdy 4052 wymaga 2 wejść ADC i daje w zamian 8 przełączalnych (ale w kombinacji 4 czyli 1Z i 2Z przepuszczają te same numery swoich kanałów) zatem 3 takie układy i 6 wejść ADC i masz 24 kanały i sterujesz wszystkie 2 pinami, tak to widzę: 1Z* - ADC0, 2Z* - ADC1...
Multipleksowanie 40 diod w sposób 20x20 jest złym pomysłem, jakie nie zastosowałbyś diody to będzie mało czytelny wyświetlacz. Jedna dioda świeciłaby wtedy tylko przez 1/20 czasu. Multipleksowanie więcej jak 8 (no może nawet 10) w praktyce nie wygląda dobrze. Dlatego proponuję podzielić wyświetlacz na lewą i prawą połowę (lub dolną i górną - w zależności...
Czemu ma służyć multipleksowanie - minimalizacji zużycia prądu? Tak jak autor zamieścił w opisie Atmega posiada tylko 3 wyjścia PWM i aby zwiększyć ich ilość kolega zastosował multipleksowanie.
Projekt został ukończony i działa z powodzeniem. Wszystko zostało zrealizowane na atmega 8 metodą multipleksowania czterech wyświetlaczy. Zasilane jest z akumulatora 12v, a jasność okazała się tak duża, że musiałem dodatkowo wprowadzić możliwość jej zmniejszania. Temat zamykam, jednak gdyby kogoś interesowały szczegóły - jestem skłonny podzielić się...
Multipleksujesz to jak zwykłe 7 segmentowe wyświetlacze LED. Mam nadzieję że wiesz na czym to polega. W ruch idzie timer który podczas przerwania zapala jedną kolumnę i wpisuje do portu odpowiednią wartość. Kiedy nie występuje przerwanie to kolumny zostają wygaszone. I tak w kółko z taką częstotliwością żeby oko ludzkie nie było w stanie tego zauważyć....
A, to już wiem o co chodzi, jedna próbka to jeden słupek. Całkiem fajnie. I tu pojawia nam się ograniczenia tego poczciwego wyświetlacza, że można definiować jedynie 8 znaków, powinna być możliwość definiowania min 80 znaków tak aby można było swobodnie zapełnić np wyświetlacz 20x4. A tak musimy się męczyć z multipleksowaniem. Pozdrawiam
Jeżeli masz kupione takie przekaźniki które użyłeś w projekcie to zostaw je do innych celów. Są one nieodpowiednie do tego układu, poszukaj takie które są stworzone do przełączania małych sygnałów. Zamiast tych "nieszczęsnych" przekaźników zastosuj do przełączania sygnałów np. multiplekser na układzie CD4053 lub inny podobny z multipleksowaniem wejść.
A co chcesz uzyskać? Poczytaj o multipleksowaniu.
Tak, i wtedy oporniki: do ograniczenia prądu bazy, do ograniczenia prądu LED-ów. Multipleksowanie powinno być w taki sposób, żeby prąd płynął przez wiele oporników naraz - czyli jeśli np. włączasz jedno wyjście ULN2803 i wybrane tranzystory PNP, to oporniki powinny być przy tranzystorach PNP, natomiast trzeba pamiętać, że wtedy dużym prądem będą obciążane...
Atmega 8 wystarczy. Jeśli chcesz kolego liznąć tematu mikrokontrolerów w sposób bezbolesny, polecam książkę Marcina Wiązani o tytule bodajże "Programowanie mikrokontrolerów w języku Bascom" - jest tam m.in. opisana obsługa wyświetlaczy 7dmio segmentowych z multipleksowaniem i nie. Jeśli zrobisz kilka przykładowych układów z tej książki, to z tematem...
Kiedyś ludzie robili to na 2051 i spokojnie i ładnie im to działało. Moja rada: Zamiast ATMEGA32 użyj ATMEGA 128, nie będziesz musiał nic multipleksować, bo ma dość pinów. 4*8 = 32, do tego 2 na DSa =34 + klawiatura 4 przyciski mamy 38, więc jeszcze pare zostanie :) :)
Skoro jesteś początkujący zacznij od podłączenia pojedynczego a później dwóch segmentów i zrozumienia zasady działania i programowania, a dopiero później wykombinuj sam takie podłączenie jakie chcesz, a na forum zasięgnij opinii czy zaprojektowałeś poprawnie. Ale wcześniej poczytaj także o multipleksowaniu wyświetlacza. Tutaj masz ponad 100 różnych...
To będzie coś jak wyświetlacze 7-mio segmentowe sterowane multipleksowo. No to chyba do takich właśnie wyświetlaczy przystosowana jest wspomniana przez Ciebie Atmega 169, przecież może ona sterować ("multipleksować") 4 rzędy po 25 pikseli (czyli matrycą 4x25 co daje 100 segmentów).
Witam, Jak kolega chce wszytko zrobić na uP to wskazana przez kolegę ATmega starczy, uP raczej sobie nie poradzi ze wszystkim na kwarcu zegarkowym będzie zbyt wolny więc kombinacja kwarc zegarkowy + wewnętrzny oscylator RC jest konieczna. Większość ATmeg posiada tylko 2 timery dlatego też trzeba by rozwiązać pomiar czasu i multipleksowanie wyświetlaczy...
wiem kontrast jest na sztywno podłączony przecież mówie że to zestaw uruchomieniowy ,to wygląda tak jak by było źle multipleksowane i nie wiem co z tym zrobić.
Dodaj jeszcze kilka tranzystorów i rejestrów przesuwnych. Mogą być pomocne przy multipleksowaniu wyświetlaczy 7-segmentowych.Daj do każdego wyświetlacza 2 komplety goldpinów lub przygotuj zworki pod multipleksowanie jak i sterowanie statyczne rejestrami.
W multipleksowanym ADC nie da się zrobić pomiarów w tym samym czasie. W "praktycznie" tym samym czasie- da się.
Ja bym to zrobił tak: -dzielniki napięcia z termistorami na wejścia przetwornika ADC jakiejś ATmegi(np ATMEGA48) (ewentualnie dodatkowe wzmacniacze operacyjne między uP a termostorem) -sterowanie wentylatorami za pomocą PWM(Pulse width modulation) -wyświetlacz dałbym niebieskie LED multipleksowane
Co do ESP i analoga, to on ma chyba jeden kanał, ESP32 ma już jakąś multipleksacje i ograniczenia, że nie możesz użyć drugiego ADC jak chcesz wi-fi Z opisu https://lastminuteengineers.com/esp32-ba... wynika, że ma dwa przetworniki a/d oba mają po ileś tam wejść multipleksowanych, a ograniczenie dotyczy drugiego przetwornika, który jest wykorzystany...
Chcę podłączyć sześć lamp nixe do atmega 32 poprzez 74141. mam takie pytanie czy można je multipleksować? zaoszcządził bym trochę na portach układu. jak się da to czy można pod jednego 74141 podłączyć sześć lamp czy rozbić to na 2x3? a może jakieś inne propozycje podłączenia takiej ilości lamp. z góry dzięki.
Jest możliwość zrobienia stopera/minutnika z poczwórnym wyświetlaczem 7-segmentowym używając mikrokontrolera z rodziny atmega? Wyświetlacze najlepiej multipleksować w przerwaniach timera, żeby mieć pewność, że każda cyfra będzie wyświetlana jednakową ilość czasu. Odmierzanie czasu dla stopera/minutnika oczywiście też trzeba oprzeć na przerwaniach timera....
Może poszczególne piętra są w tablicach zapisane i do nich zapisywana jest 1 lub 0 by całość multipleksować w piętrach. Natomiast jeśli nie stosujesz timera do multipleksowania, to jak to programowo rozwiązałeś? A może chcesz pokazać fragment kodu?
No dobra, czas napisać, jak to zrobić prosto i efektywnie: Używamy jednego przerwania - timera, zgłaszanego kilkadziesiąt..kilkaset razy na sekundę (w typ przypadku, o ile nie ma multipleksowania LED, może być np. 100 Hz). żadna pętla główna nie jest do niczego potrzebna. W procedurze obsługi przerwania odczytujemy wynik ADC, "robimy filtr dolnoprzepustowy",...
Ja żarzenie steruję mosfetem przez PWM, Napięcie 30V z przetwornicy mc3063A na siatkę plusika i sterowanie masami przez ULN2003A. Akurat ma 7 wyjść. Wcześniej Atmega 8 i układ 4543 do sterowania układem ULN203A. Czyli 3 lampki i bez multipleksowania.
Ok, ale z tego co mi się wydaje nie jest to schemat połączeń z pierwszego posta. Rx/Tx standardowo nie są chyba multipleksowane z SPI... Ale fajnie wiedzieć, że się da :)
wyświetlacz multipleksowany bascom wyświetlacz multipleksowany atmega32 wyświetlacz multipleksowany
instrukcja beretta mynute samsung blade wydruki rozdzielenie polsat
mackie profx16v3 sterownik roweru elektrycznego
Peugeot 308 1.6 HDi 2008 – wymiana akumulatora, radio RD4, BSI, kodowanie, reset ECU Vector LP-203TS-II instrukcja obsługi PDF – gdzie pobrać manual do kalkulatora drukującego