Krzysztof Wesołowski » Elektronika http://kwesoly.net Programowanie, elektronika, automatyka - doświadczenia i projekty Wed, 07 Sep 2011 14:03:29 +0000 pl-PL hourly 1 Aplikacja scalonego sterownika silnika krokowego Allegro A3977 http://kwesoly.net/elektronika/aplikacja-scalonego-sterownika-silnika-krokowego-allegro-a3977/ http://kwesoly.net/elektronika/aplikacja-scalonego-sterownika-silnika-krokowego-allegro-a3977/#comments Mon, 20 Dec 2010 00:50:26 +0000 http://kwesoly.net/?p=470 Na potrzeby pisanej obecnie pracy inżynierskiej wykorzystywaliśmy moduł z sterownikiem Allegro A3977. Przy tej okazji został odnaleziony artykuł pisany swego czasu. Ponieważ układ jest bardzo funkcjonalny, dostępny w przystępnej cenie również w Polsce, załączam zarowno sam artykuł jak i schematy sterownika.

Taka płytka pozwala łatwo sterować silnika krokowe z portu LPT lub wyjść cyfrowych mikrokontrolera. Dodatkowo jest dla nas dobrym punktem odniesienia dla przyszłych projektów wykorzystujących ten układ.

Silniki krokowe - aplikacja scalonego sterownika A3977 - artykuł

Silniki krokowe - aplikacja scalonego sterownika A3977 - schemat

]]>
http://kwesoly.net/elektronika/aplikacja-scalonego-sterownika-silnika-krokowego-allegro-a3977/feed/ 5
Integracja Eclipse CDT z CodeSourcery dla ARM Cortex-M3 http://kwesoly.net/programowanie/cpp/integracja-eclipse-cdt-z-codesourcery-dla-arm-cortex-m3/ http://kwesoly.net/programowanie/cpp/integracja-eclipse-cdt-z-codesourcery-dla-arm-cortex-m3/#comments Sat, 27 Feb 2010 01:28:49 +0000 http://kwesoly.net/?p=458 Na blogu znajomego zamieściłem wpis na temat związany z nowoczesnymi mikrokontrolerami z którymi ostatnio miałem doczynienia - zapraszam do lektury.

Link: Integracja Eclipse CDT z CodeSourcery dla ARM Cortex-M3

]]>
http://kwesoly.net/programowanie/cpp/integracja-eclipse-cdt-z-codesourcery-dla-arm-cortex-m3/feed/ 0
Multipleksowany 4 cyfrowy wyświetlacz 7 segmentowy http://kwesoly.net/elektronika/wyswietlacz-7-segmentowy/ http://kwesoly.net/elektronika/wyswietlacz-7-segmentowy/#comments Sat, 15 Aug 2009 22:31:33 +0000 http://kwesoly.net/?p=367 Kontynuując powiększanie mojego zbioru prototypowych płytek ułatwiających prototypownie układów elektronicznych i naukę programowania, wykonałem płytkę z 4 cyfrowym wyświetlaczem LED.

Kilka zdjęć gotowego układu:

led7seg_01 led7seg_04 led7seg_06 led7seg_05 led7seg_03 led7seg_02

Główne zalety takiego układu:

  • Jasny wyświetlacz - prąd pojedynczego segmentu to 60mA i czas świecenia 1/4 długości cyklu.
  • Standardowy interfejs - 8 pinów do wybierania segmentu (aktywne stanem wysokim)  i 4 piny do wybierania wyświetlacza (aktywne stanem niskim).
  • Odrębne zasilenie (zmniejsza zakłócenia na płytce z uC).

Poniżej zamieszczam schemat tego układu:

Wyświetlacz LED 7 segmentowy - schemat

]]>
http://kwesoly.net/elektronika/wyswietlacz-7-segmentowy/feed/ 2
Prosta aplikacja układu FT232R firmy FTDI http://kwesoly.net/programowanie/avr/aplikacja-ukladu-ft232r-ftdi/ http://kwesoly.net/programowanie/avr/aplikacja-ukladu-ft232r-ftdi/#comments Wed, 05 Aug 2009 21:00:49 +0000 http://kwesoly.net/?p=361 Po co taki układ?

Kiedy próbujemy stworzyć oprogramowanie na uC stajemy często przed problemem wymiany danych z naszym komputerem PC.  Sposobów na połączenie własnego układu z komputerem PC jest przynajmniej kilka:

  • Port LPT
    Możliwość niezależnego manipulowania bitami sprawia że to jedno z najprostszych rozwiązań. Poza zwykłym równoległym przekazywaniem informacji można również emulować interfejsy szeregowe. Obecnie laptopy bardzo rzadko posiadają taki interfejs, a nawet jeśli, są to często modele droższe od powszechnie spotykanych.
  • Port COM
  • Powszechny interfejs szeregowy. Poza podstawowymi liniami służącymi do transmisji i odbioru danych zawiera też linie sterujące przepływem danych. Pod względem sposobu transmisji do komunikacji wystarczy połączenie naprzemiennie sygnałów Tx<->Rx portu COM i mikrokontrolera. Niestety, w warstwie fizycznej całkiem inne poziomy napięć nie pozwalają na takie połączenie. Powstało wiele układów służących do konwersji napięć między poziomem uC a portu COM. Często więc na płytce montowało/montuje się po prostu MAX232 do konwersji napięć podpięty pod odpowiednie nóżki mikroprocesora, i łączony z portem COM komputera. Stety/niestety porty COM też należą już do laptopowej rzadkości. Rozwiązanie polegające na używaniu przejściówek USB<->COM wraz z takimi układami jest często spotykane, pomimo wiążącego się z tym narzutu - dwukrotna konwersja napięć nie ma sensu.
  • Port USB
    Jeśli odrzucimy to czego w laptopie nie ma, i zrezygnujemy z przejściówek pozostaje nam po prostu użycie portu  USB, który zadomowił się w komputerach już na dobre.  Tutaj też mamy kilka możliwości:

    • Emulacja interfejsu USB za pomocą uC.
      Niestety programowa realizacja interfejsu USB utrudnia wykonywanie innych zadań, dlatego maksymalna wydajność takiego rozwiązania nie jest oszałamiająca. Mikro kontroler musiałby zajmować się wyłącznie obsługą USB, lub zrezygnować z wykonywanych przez siebie czynności. Urządzenia tak działające często komunikują się programowo z USB i np. przesyłają dane dalej przez wspierane sprzętowo interfejsy (np. UART, SPI)
    • Wykorzystanie specjalizowanego układu
      Sama firma FTDI produkuje kilka układów umożliwiających komunikacje za pomocą UART, użytym rozwiązaniem jest najprostszy z nich FT232RL. Umożliwia on w pełni sprzętowe przejście USB<->UART, wraz z dodatkowymi liniami (sterującymi przepływem, pochodzącymi z portu COM) oraz dodatkowymi 4 portami, które można zastosować jako dowolne wejścia wyjścia. Układ posiada również bardzo dobre wsparcie producenta: sterowniki pod większość systemów operacyjnych, biblioteki ułatwiające programowanie komunikacji czy też przykłady zastosować w nocie katalogowej (możliwe aplikacje układu). Poza przedstawionym tutaj zastosowaniem istnieje wiele wiele innych - wystarczy przejrzeć dokumentacje: na http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf

Wykonany układ

Opierając się właśnie na wspomnianych notach aplikacyjnych, i materiałach samemu przejrzanych jak i konsultacjach z bardziej doświadczonymi kolegami, zaprojektowałam układ będący interfejsem Komputer PC <-> mikrokontroler. Główne zalety wykonanego urządzenia:

  • Sprzętowy, niezawodny i wydajny interfejs.
  • Współpraca z urządzeniami zasilanymi praktycznie dowolnym napięciem - za pomocą zworki do wyboru 3.3 jak i 5 volt, ewentualnie możliwość podpięcia własnego napięcia VCCIO do układu.
  • Dodatkowe 4 porty GPIO, które można kontrolować z poziomu aplikacji pisanych z wykorzystaniem bibliotek dostarczonych przez FTDI.
  • Dodatkowe wyprowadzenia zasilania, poza wspólną masą dodatkowo 2 linie 3.3V o łącznej wydajności prądowej 50mA i 6 linii 5V pochodzących z portu USB o wydajności ograniczonej komputerem/standardem USB - w moim przypadku komputer jest w stanie dostarczyć tyle prądu, limitem jest więc standardowe 500mA.
  • Sygnalizacja transmisji jak i poprawnego zasilania za pomocą diod LED.

Poniżej kilka zdjęć wykonanego układu:

usb2uart_01 usb2uart_02 usb2uart_03

Oraz schemat urządzenia:

usb2uart-schemat

Układ przynajmniej pod względem poprawności połączeń i transmisji UART przetestowany wraz z prezentowanym poprzednio mikrokontrolerem.

]]>
http://kwesoly.net/programowanie/avr/aplikacja-ukladu-ft232r-ftdi/feed/ 6
Prosta płytka prototypowa dla ATmega162 http://kwesoly.net/programowanie/avr/prosta-plytka-prototypowa-dla-atmega162/ http://kwesoly.net/programowanie/avr/prosta-plytka-prototypowa-dla-atmega162/#comments Fri, 24 Jul 2009 01:25:14 +0000 http://kwesoly.net/?p=353 Jakiś czas temu opisałem proces konfiguracji środowiska Eclipse + WinAVR + AVRStudio Debuger

Jako, że tematyka tych małych i tanich procesorów wciąż jest dla mnie interesująca zamieszczam schemat i wzór płytki PCB oraz opisu dla małego urządzenia, które wykonałem w ostatnim czasie.

Na początek kilka zdjęć finalnej wersji płytki:

ATmega162_01 ATmega162_02 ATmega162_03 ATmega162_04 ATmega162_05 ATmega162_06

Płytka umożliwia proste budowanie układów dzięki wyprowadzeniu wszystkich złącz na goldpiny. W przeciwieństwie jednak to prostych modułów rozprowadzających wszystkie nóżki na pary goldpinów, tutaj zintegrowano również podstawowe, przydatne funkcjonalności:

  • Zintegrowany kwarc 16 MHz, pozwalający korzystać z największej teoretycznie możliwej prędkości tego mikro kontrolera.
    Za pomocą fusebitów możemy ten zegar podzielić przez 8 lub też z niego zrezygnować na rzecz wewnętrznego generatora RC.
  • Zintegrowany kwarc 32768Hz, wpięty do pinów przeznaczonych na taki kwarc/służących jako zwykłe IO.
    Podwójny Dipswitch umożliwia jego odcięcie w przypadku chęci skorzystania raczej z portu IO.
  • Wyprowadzone złącze do ISP, 10 pinowa zgodne z standardem KANDA. Zamiast zwykłych goldpinów zastosowano Gniazdo, co ułatwia poprawne wpięcie programatora.
  • Wyprowadzono 10 pinowe złącze JTAG, zgodne z JTAG ICE.
  • Przycisk umożliwiający ręczne zresetowanie procesora.
  • I oczywiście zasilanie wraz z kondensatorami.

Do wpisu załączam schemat, w razie potrzeby proszę o kontakt mailowy- podeślę  pozostałe pliki.

Schemat płytki prototypowej

]]>
http://kwesoly.net/programowanie/avr/prosta-plytka-prototypowa-dla-atmega162/feed/ 3
Migacz diodowy – schemat, PCB http://kwesoly.net/elektronika/migacz-diodowy-schemat-pcb/ http://kwesoly.net/elektronika/migacz-diodowy-schemat-pcb/#comments Thu, 18 Jun 2009 23:43:56 +0000 http://kwesoly.net/?p=344 W ramach warsztatów przygotowujących do wykonywania we własnym zakresie płytek drukowanych przygotowywaliśmy zmontowany na pająku prymitywny układ analogowego migacza diodowego. Przy okazji postanowiłem nauczyć się trochę więcej, dlatego układ zaprojektowałem w programie KiCAD, przygotowałem projekt PCB i wykonałem metodą żelazkową. Zamieszczam kilka związanych z tym materiałów, przydatnych zwłaszcza dla przyszłorocznych uczestników warsztatów w kole naukowym INTEGRA. Warsztaty pochodzą ze strony starszych członków koła.

Schemat migacza diodowego

Schemat migacza diodowego.

Według tego schematu stworzonego w programie KiCAD wygenerowano netliste, dobrano odpowiednie footprinty a następnie zaprojektowano PCB.

Rozkład elementów na płytce drukowanej

Rozkład elementów na płytce drukowanej.

Widok ścieżek

Widok ścieżek.

Ścieżki zostały wydrukowane w postaci prostej (gotowe są więc do wykonania metodą żelazkową :)). Pliki PDF (dla chcących wykonać migacz bez KiCADa), jak i źródła projektów w KiCAD znajdują się na końcu wpisu.

Po zmontowaniu powstał mały układ z migającymi naprzemiennie diodami.

Gotowy układ migacza

Gotowy układ migacza.

I na koniec załączam pliki potrzebne do wykonania:

Migacz - pliki KiCAD

Migacz - elementy na płytce

Migacz - widok ścieżek (PDF w skali 1:1 gotowy do druku)

]]>
http://kwesoly.net/elektronika/migacz-diodowy-schemat-pcb/feed/ 3