Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Uniwersalna Płytka Testowa dla AVR

mirley
-
-
Posty: 7
Rejestracja: 25 lut 2010, o 10:05
Lokalizacja: Kraków

Uniwersalna Płytka Testowa dla AVR

Postautor: mirley » 25 lut 2010, o 17:45

Witam

Chciałbym przedstawić moją wizję płytki testowej, która powstała jakiś czas temu. Prezentowany układ jest uniwersalnym systemem uruchomieniowym dla procesorów AVR. Zaprojektowałem go wspólnie z kolegą w oparciu o wspólne przemyślenia i problemy jakie napotykaliśmy przy budowaniu innych urządzeń. Płytka nie posiada żadnego mikrokontrolera wpiętego na stałe a jedynie uniwersalne złącze do którego można wpiąć moduł z dowolnym mikrokontrolerem. Na razie powstały moduły dla procesorów ATmega8, ATmega16, ATmega162, ATTiny2313 oraz ATTiny13, ale nic nie stoi na przeszkodzie aby dorobić kolejne. Płytka zawiera programator USBASP i może być w całości zasilana z USB, lub z zewnętrznego zasilacza. Urządzenie bogate jest we wszystkie najpotrzebniejsze elementy, takie jak Wyświetlacz LCD i LED, Zegar czasu rzeczywistego, pamięć EEPROM, interfejsy komunikacyjne RS232 i RS485, oraz klawiatury, układy wykonawcze, diody LED i wiele wiele innych. Elementy składowe płytki łączą się ze sobą za pomocą specjalnych kabli nasuwanych na goldpiny oraz zworek i przełączników. Część elementów podłączona jest na stałe do wybranych portów mikrokontrolera (np. LCD) co upraszcza plątaninę kabli nad płytką.

Działanie:

Ponieważ projekt jest bardzo złożony, schemat ideowy został podzielony na kilka części. Kolejne fragmenty schematu ideowego znajdują się poniżej:

Obrazek

Najważniejszą częścią całej płytki jest Złącze uC (goldpiny precyzyjne), które zapewnia kontakt modułu z procesorem z resztą płytki testowej. Bezpośrednio do złącza doprowadzone są linie sterujące wyświetlaczami, programator oraz magistrala I2C, Interfejs UART i odbiornik podczerwieni. Układ U6 (ATmega8) jest procesorem programatora USBASP. Do jego poprawnej pracy konieczne są rezonator kwarcowy X1 (12MHz) oraz kondensatorki C9 (22pF) i C10 (22pF). Rezystor R27 (10k) podciąga wyprowadzenie resetu mikrokontrolera do plusa zasilania. Rezystory R31 (470R) i R32 (470R) ograniczają prąd diod LED D3 i D4. Rezystor R58 (470R) pełni taką samą funkcję dla diody D10, sygnalizującej włączenie trybu wolnego programowania (Slow SCK) za pomocą przełącznika S_SCK. Złącze KANDA jest wyjściem uniwersalnego interfejsu programującego, noszącego taką samą nazwę. Złącze to może zostać użyte gdy procesor główny nie jest włożony razem z modułem do podstawki. Kondensatory C12 (100nF) i C11 (4,7uF) filtrują zasilanie +5VP pochodzące z komputera. Do poprawnej pracy magistrali USB konieczne są rezystory R29 (68R) i R30 (68R) oraz diody Zenera D1 (3,6V) i D2 (3,6V). Rezystor R28 (2,2k) podciągający linię D- do plusa zasilania ustala tryb pracy magistrali jako Low Speed, wymagany dla programatora. Płytka podłączana jest do komputera za pomocą złącza ZUSB1 (USB B).

Układy U3 (DS18B20) i U4 (BS18B20) to złącza na scalone czujniki temperatury pracujące na magistrali 1-Wire. Do poprawnej pracy tej magistrali konieczny jest także rezystor R24 (4,7k). Złącze 1WR_OUT (ARK) umożliwia podłączenie dodatkowych czujników na kablu a goldpin 1WR zapewnia komunikację z procesorem na płytce. Złącze PS2 (Mini Din6) to nic innego jak wejście na klawiaturę od PC. Rezystory R59 (4,7k) oraz R60 (4,7k) podciągają szynę danych i zegarową do plusa zasilania. Złącze KBD (goldpin) umożliwia komunikację z procesorem na płytce (za pomocą przewodu). Klawiatura jest zasilana tylko zasilacza zewnętrznego +5VZ.

Na płytce przewidziano dodatkowy generator kwarcowy XG1. Filtracją jego zasilania zajmuje się umieszczony tuż obok niego kondensator C15 (100nF). Wyjściem częstotliwości jest złącze 16MHz (goldpin). Na płytce jest też dodatkowy rezonator kwarcowy X3 wraz z dwoma kondensatorami C16 (22pF) i C17 (22pF) do dowolnego wykorzystania. jego wyjściem jest złącze goldpin XT.

Złącze ZUSB2 wraz z elementami C18 (100nF), C19(4,7uF) oraz rezystorami R48 (68R), R49 (68R) i diodami D8 (3,6V), D9 (3,6V) stanowi dodatkowy układ wejściowy USB do wykorzystania we własnych konstrukcjach podłączanych do USB. Rezystor R47 (2,2k) odłączany za pomocą zworki Zw7 (goldpin) umożliwia wykorzystywanie tego portu do pobierania prądu z USB bez zgłaszania w systemie urządzenia USB.

Obrazek

Wyświetlacz LCD W1 (20x4) jest głównym elementem do prezentacji danych w systemie mikroprocesorowym. Rezystor R3 (47R) ogranicza prąd podświetlania wyświetlacza, które włączane jest za pomocą tranzystora T1 (BC556) i rezystorów R1 (3,3k) i R2 (3,3k), dzięki zworce Zw1 (goldpin). Sterowanie za pomocą tranzystora zostało zastosowane ze względu na możliwość łatwego sterowania podświetlaniem przez procesor. Wystarczy podłączyć się pod pierwszy pin zworki Zw1. Potencjometr P1 (10k) umożliwia ustawienie kontrastu na LCD a zworka PW4 (goldpin) włącza jego zasilanie. Za pomocą przełącznika DipSwitch SD1 (SW6) linie sterujące wyświetlacza podłączane są do procesora głównego.

Tranzystory T2 - T5 (BC556) wraz z rezystorami R4- R11 (3,3k) sterują anodami czterocyfrowego wyświetlacza W2 (LED 4 cyfry). Rezystory R12 - R20 (330R) ograniczają prąd segmentów i dwukropka na wyświetlaczu. Do procesora głównego wyświetlacz ten dołączany jest za pomocą przełączników SD2 (SW4) i SD3 (SW8). Goldpin W2L umożliwia dołączenie dwukropka do procesora.

Układ U9 (TL431) wraz z rezystorami R45 (330R) i R46 (10k) oraz potencjometrem P2 (1k) stanowi źródło napięcia odniesienia o wartości regulowanej w okolicach 2,56V. Wyjściem tego napięcia jest złącze VREF (goldpin). Brzęczyk piezo z generatorem BUZ1 (5V) sterowany jest poprzez obwód z tranzystorem T12 (BC556) i rezystorami R40 (3,3k) i R41 (3,3k). Wejściem sterującym brzęczyka jest złącze BUZ (goldpin). Na płytce przewidziano także fototranzystor T7 (L-93P3BT). Rezystor R33 (10k) ogranicza prąd płynący przez niego, a wyjściem prostego obwodu z fototranzystorem jest goldpin FOT.

Obrazek

Do obsługi sprzętowego interfejsu UART w procesorach AVR wykorzystano magistrale RS232 oraz RS485, które można zamiennie używać. konwerterem dla RS232 jest popularny układ U1 (MAX232) który do poprawnej pracy wymaga kondensatorów C1 - C4 (1uF). Pierwszy port RS232 COM1 wyprowadzony jest bezpośrednio na męskie złącze DB9M (takie jak w komputerze) i dodatkowo bez konieczności wykonywania połączeń kablowych trafia bezpośrednio do głównego procesora za pośrednictwem przełącznika SD4 (SW2). Drugie złacze RS232 COM2 podłączone jest do U1 za pomocą zworek Zw10 i Zw9 co umożliwia skorzystanie z samej wtyczki DB9 albo zamianę miejscami lini Tx z Rx tworząc krosowane połączenie. Z układu MAX232 pobierane jest także ujemne napięcie (z wyjścia przetwornicy) dostępne na złączu V- (goldpin). Może ono posłużyć do polaryzacji różnych obwodów (do zasilania nie za bardzo się nadaje ze względu na niską wydajność prądową). Drugi interfejs zbudowany na układzie U10 (MAX485) podłączany jest do procesora za pomocą przełącznika SD7 (SW2). Wyjściem interfejsu są dwie linie w złączu RS_AB (złacze ARK). Stan logiczny na goldpinie RS_E ustawia kierunek teansmisji. Układ MAX232 jest odłaczany od zasilania za pomocą zworki Pw1 (goldpin).

Zworka Pw2(goldpin) podaje zasilanie na układy pracujące na magistrali I2C. Rezystory R25 (3,3k) i R26 (3,3k) zapewniają poprawną pracę magistrali której wyjściem są złącza I2C_1 (ARK2) oraz I2C_2 (ARK2). Do procesora głównego magistrala I2C podłączana jest za pomocą przełącznika SD5 (SW2). Układ U5 (AT24C256) jest pamięcią EEPROM, nie posiada ona żadnych elementów zewnętrznych a jej adres został ustawiony na 166. Dioda D6 (1N4148) oraz D7 (1N4148) wraz z baterią BAT1 (3V) zapewnia źródło zasilania bezprzerwowego dla zegara RTC, układu U7(PCF8583). Zworką Zw4 (goldpin) można odłączyć baterię a zworką Zw3 (goldpin) ustawić adres bazowy układu U7 na 160 lub 162. Kondensator C14 (100nF) umieszczony blisko układu RTC, filtruje jego zasilanie, natomiast C13 (33pF) oraz Kwarc X2 (32,768KHz) zapewniają poprawne taktowanie zegara. Przerwanie z układu U7 zostało podłączone do goldpina PCF_INT.

Obrazek

Jako diody led pracują wyświetlacze W3 (BARGRAF) i W4 (BARGRAF) ich prąd ograniczają RPacki RP1 (4x470R), RP2 (8x470R) i RP3 (8x470R). Diody podłączane są do procesora poprzez złącza goldpin LED1 i LED2. Na płytce znajdują się także diody RGB D13 i D14. Ich prąd ograniczają rezystory R63 (180R), R64 (100R) oraz R65 (180R), a dla drugiej diody odpowiednio R66 (180R), R67 (100R) oraz R68 (180R). Zworki Zw11 i Zw12 dołączają katody diod do masy albo umożliwiają podłączenie diod do tranzystorów sterujących.

Złacza V1 - V3 służą do wyprowadzenia zasilania na zewnątrz płytki, podobnie jak goldpiny V4 - V9 umożliwiają podanie zasilania +5V na dowolny goldpin na płytce. podobnie ma się sprawa ze złączami G1 - G3 (ARK) wyprowadzającymi masę i goldpinami G4 -G8. Elementy N1 - N10 (goldpin) stanowią łączniki przewodów, nie są do niczego podłączone

Obrazek

Układ U8 (ULN2803) to bufor inwerter, stanowi niskonapięciowy obwód wykonawczy dla podzespołów na płytce testowej. Do procesora głównego podłączane są złącza Z3 (goldpin) i Z4 (goldpin) a wyjściem są złącza śrubowe ULN1 - ULN4 (ARK). Ze względu na duży pobór prądu układ U8 może być zasilany tylko z zasilacza zewnętrznego. Elementy Z1 (goldpin) i Z2 (goldpin) oraz złącza śrubowe ZU1 - ZU4 (ARK) dają możliwość wyprowadzenia dowolnego goldpina na płytce na zewnątrz w formie złącza do przykręcenia przewodu. Triaki TR1 (BT138-600E) i TR2 (BT138-600E) wraz z optotriakami OPT1 (MOC3041) i OPT2 (MOC3041) i rezystorami R34 (180R), R35 (180R), R37 (180R) i R38 (180R) stanowią układ wykonawczy 230V. Rezystory R36 (330R) i R39 (330R) ograniczają prąd płynący przez diody optotriaków. Wyjścia układu wykonawczego z triakami TRO_1 (ARK) i RTO_2 (ARK) zabezpieczone są warystorami WR1 (JVR-7N431) i WR2 (JVR-7N431), natomiast wejście stanowi goldpin TRI.

Elementy PD28 (DIL28) i PD40 (DIL40) to podstawki precyzyjne do dowolnego wykorzystania, ich wyprowadzenia są w całości dostępne na złączach PDG1 - PDG4
(goldpin).

Obrazek

Impulsator I1 wyprowadzony jest na gniazdo IMP (goldpin), zworka Zw2 (goldpin) umożliwia dołączenie wspólnej końcówki impulsatora do masy lub zasilania +5V. Kondensatory C20 (100nF) i C21 (100nF) kasują pojawiające się drgania poziomów logicznych podczas pracy impulsatora. Na płytce znajduje się także transoptor ogólnego przeznaczenia OPT3 (CNY17) wraz z elementami współpracującymi. R43 (330R) ogranicza prąd diody transoptora, natomiast R44 (10k) i R42 (100k) polaryzują tranzystor wyjściowy transoptora tak aby mógł pracować jako wyjście podciągnięte do +5V. Zworkami Zw5 (goldpin) oraz Zw6 (goldpin) można dołączyć diodę transoptora do +5V lub do masy. Wyjściem obwodu jest goldpin CNYO.

Przyciski S1 - S8 (uSwitch) stanowią klawiaturę prostą wyprowadzoną na goldpin SW, natomiast przyciski S9 - S24 tworzą klawiaturę matrycową. Kolumny tej klawiatury wyprowadzone są na złącze SWC (goldpin), a wiersze na SWR (goldpin).

Złącze ZAS (molex 2x2) jest wejściem zasilania zewnętrznego +5V o większej wydajności prądowej. Przekaźnik PU1 (HFKW-005-12W) ma za zadanie przełączyć zasilanie z USB na zasilanie zewnętrzne pod warunkiem że zworka Zw8 (goldpin) jest zwarta. Dioda D11 (LED) i rezystor R61 (470R) stanowią kontrolkę włączenia przekaźnika. Dioda D12 (1N4007) zabezpiecza przed przepięciami pojawiającymi się na cewce przekaźnika w chwili wyłączenia. Przełącznik Power umożliwia odłączenie zasilania płytki od USB (zasilany jest tylko sam programator), dioda D15 (LED) wraz z rezystorem R69 (470R) sygnalizują ten fakt.

Układ U2 (TSOP1736) to odbiornik podczerwieni pracujący na częstotliwości 36kHz. Do jego poprawnej pracy wymagane są elementy C8 (100uF) i R23 (220R). Nadajnikiem podczerwieni jest dioda D5 (SFH485). Jej prąd ogranicza rezystor R22 (10R) a kondensatory C6 (100nF) i C7 (100uF) filtrują jej zasilanie. Tranzystor T6 (BC516) steruje pracą diody, jego baza jest podłączona do procesora głównego za pomocą przełącznika SD6 (SW2) podobnie jak wyjście układu U2. Rezystor R21 (10k) ogranicza prąd bazy tranzystora T6, natomiast R21* (10k) podciąga bazę tranzystora do +5V co uniemożliwia jego włączenie podczas gdy nadajnik podczerwieni nie jest używany. Zworką Pw3 (goldpin) dołączamy zasilanie zarówno do odbiornika jak i nadajnika podczerwieni.

Tranzystory T8 - T11 (BC556) wraz z rezystorami R50 - R57 (3,3k) stanowią obwód wykonawczy którego wejściem jest złącze Z5 (goldpin) a wyjściem są złącza śrubowe TO1 (ARK) i TO2 (ARK)


Poniżej przedstawiono schemat ideowy modułu z procesorem ATMega16:

Obrazek

Sercem modułu jest mikrokontroler U1 (ATMega16/32) wraz z rezonatorem kwarcowym X1 (16Mhz) i kondensatorami C2 (22pF) i C3 (22pF). Kondensator C1 (100nF) filtruje napięcie zasilania modułu. Zworki AVCC (goldpin) i AREF (goldpin) dołączają napięcie zasilania do wewnętrznego przetwornika ADC i napięcia referencyjnego, jeśli nie korzystamy z innych źródeł napięcia. Złącza PA (goldpin), PB (goldpin), PC (goldpin) oraz PD (goldpin) zapewniają wyprowadzenia wszystkich portów mikrokontrolera na zewnątrz i umożliwiają podłączenie wszystkich podzespołów na płytce testowej. Niektóre z portów podłączone są na stałe do Złącza uC, a tym samym do niektórych obwodów na płytce co zwalnia z konieczności połączeń kablowych.


Zdjęcia Projektu:

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek

Obrazek


Czekam na sugestie i opinie...

Strona domowa projektu: http://mirley.firlej.org/uniwersalna_plytka_testowa_avr

Pozdrawiam

Awatar użytkownika
ECC88
-
-
Posty: 408
Rejestracja: 23 paź 2009, o 15:28
Lokalizacja: Köln

Postautor: ECC88 » 25 lut 2010, o 22:45

W tym miejscu to trzeba zdjąć kapelusz i się nisko ukłonić.
Z pełnym szacunkiem i poważaniem.
A jak długo od pomysłu, do efektu końcowego trwał ten projekt?
W jakim programie projektowałeś płytki/ę?

mirley
-
-
Posty: 7
Rejestracja: 25 lut 2010, o 10:05
Lokalizacja: Kraków

Postautor: mirley » 26 lut 2010, o 10:07

Pomysł powstał gdzieś rok temu... dużo czasu zajęło podłączenie tego w sposób który będzie wygodny... robiłem już kilka płytek testowych ale ta miała być uniwersalna. Teraz pewnie ulepszył bym jeszcze kilka rzeczy

Samo projektowanie płytki w protelu 99 SE trwało kilka dni

Wróć do „DIY - Do It Yourself”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 26 gości