Mikrokontrolery - Jak zacząć?

... czyli zbiór praktycznej wiedzy dot. mikrokontrolerów.
Pokazywanie postów oznaczonych etykietą Ciekawostki. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Ciekawostki. Pokaż wszystkie posty

poniedziałek, 11 kwietnia 2011

Ciekawostki - Robot chwytający lecące piłki


Autor: Dondu

Bardzo ciekawa konstrukcja robota potrafiącego chwytać lecące równocześnie dwie piłki.
Ciekawe kiedy będzie żaglować :-) ?



Więcej: http://www.youtube.com/hizook
Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

środa, 30 marca 2011

Nieudokumentowane funkcje niektórych AVRów

1 kwietnia 2014r.

Autor: Dondu

Prowadząc z supportem Atmela korespondencję w zakresie problemów mikrokontrolera ATmega8 związanych z wewnętrznym zwarciem pinów Vcc i AVcc (występujęce w niektórych wersjach i partiach tego mikrokontrolera), dowiedziałem się bardzo ciekawej rzeczy.

Część mikrokontrolerów AVR w przypadku przetwornika ADC zawiera układ pozwalający na pomiary różnicowe oraz wzmacniacz sygnału. Przykładem takiego mikrokontrolera jest ATmega128:





Wybór trybu różnicowego i włączenia wzmacniacza odbywa się poprzez rejestr ADMUX w następujący sposób:


ATmega128


Zauważ, że zaznaczone kolorem zielonym ustawienia rejestru ADMUX rozpoczynają się od 01000 i kończą na 01111. Różnią się one od pozostałych ustawień wartością bitów MUX3 oraz MUX4.

Porównując to do ADMUX ATmega8:


ATmega8


oraz ATmega 88


ATmega88


zauważysz, że prawie w całości obszar ten jest zarezerwowany, ale bit MUX3 oczywiście osiągalny (możliwe jego ustawianie i zerowanie):




Informacje uzyskane z supportu Atmela były dość nieoczekiwane:

Okazuje się, że w prawie każdej wersji mikrokontrolerów, w których w dokumentacji nie ma informacji o trybie różnicowym oraz o wzmacniaczu sygnału, faktycznie ten tryb i wzmacniacz występują.

Dlaczego więc brak o nich informacji?

Support stwierdził, że są to błędy (niedopracowania) projektowe we wstępnych wersjach tych układów, powodujące nieprawidłowe działanie wzmacniacza, a konkretnie znaczne wykraczanie poza parametry. Błędy te pozostały na matrycach produkcyjnych do dziś! Na moje pytanie dlaczego lakonicznie stwierdzili, że było to także związane ze strategią marketingową Atmela.

Idąc tym tropem dokonałem testów posiadanych wersji ATmega8 i ATmega88.


ATmega8-16PI, 0503I, od spodu: 4L1820, 355POI, 4-P0503; obudowa: DIP
To najstarsza ATmega w moich zbiorach.
MUX3:0 Kanał lub różnicowe Wzmocnienie Rezultat
1000 ADC0 10x Poprawnie
1001 ADC1-ADC0 10x Poprawnie
1010 ADC0 200x Brak reakcji na wzmocnienie
1011 ADC1-ADC0 200x j.w.
1100 ADC2 10x Poprawnie
1101 ADC3-ADC2 10x Poprawnie


ATmega8A-PU, 1136, od spodu: H6L732-2, 354VAN, 6-P1136, e3; obudowa: DIP
MUX3:0 Kanał lub różnicowe Wzmocnienie Rezultat
1000 ADC0 10x Poprawnie
1001 ADC1-ADC0 10x Poprawnie
1010 ADC0 200x Pomiary kompletnie z kosmosu
1011 ADC1-ADC0 200x j.w.
1100 ADC2 10x Poprawnie
1101 ADC3-ADC2 10x Poprawnie


ATmega8A-AU, 1116, od spodu: H6L099.06, 354VAN, 3-P, 1116, e3 obudowa: TQFP
MUX3:0 Kanał lub różnicowe Wzmocnienie Rezultat
1000 ADC0 10x Poprawnie
1001 ADC1-ADC0 10x Poprawnie
1010 ADC0 200x Pomiary kompletnie z kosmosu.
1011 ADC1-ADC0 200x j.w.
1100 ADC2 10x Poprawnie
1101 ADC3-ADC2 10x Poprawnie


ATmega88-PU, 1028; od spodu: G5K112, 27HON, 3-S1028, a0; obudowa: DIP
MUX3:0 Kanał lub różnicowe Wzmocnienie Rezultat
1000 ADC0 10x Poprawnie
1001 ADC1-ADC0 10x Poprawnie
1010 ADC0 200x Całkiem nieźle poniżej 0,1V, ale wyżej to tragedia
1011 ADC1-ADC0 200x j.w.
1100 ADC2 10x Poprawnie
1101 ADC3-ADC2 10x Poprawnie


Do pobrania

Poniżej do pobrania pliki HEX dla transmisji szeregowej przez RS-232:
  • F_CPU 1MHz
  • baud 9600
  • bez parzystości
  • jeden bit stopu

Jak ustawić terminal Realterm, by odbierać dane znajdziesz w tym artykule: RS-232: Komunikacja ATmega8 z komputerem (Uwaga! Tam ustawiam baud na 57600, a tutaj wykorzystuję 9600 - reszta jest taka sama).

Pliki hex do pobrania (zajętość flash 3,4kB):



Schemat

Układ testowy podłączony według wersji 1.2.3 z tego artykułu: ADC - Dokładność vs podłączanie

Zasilanie 5V - istotne dla prawidłowych wyników!!!

Na wejściach ADC0-ADC3 podłączone potencjometry tworzące cztery dzielniki napięciowe, by móc badać różne napięcia i ich zależności, czyli podobnie jak to jest w tym artykule: ADC - Wstęp i uruchomienie tylko bez rezystora R5.



Wnioski

Jak zauważysz, w każdym z badanych mikrokontrolerów wzmocnienie 10x jest zawsze osiągalne i w mojej ocenie wystarczająco dokładne, by z powodzeniem je stosować. W przypadku wzmocnienia 200x jest znacznie gorzej i trudno opierać się na wynikach takich pomiarów.

Ponieważ jest to nieudokumentowana funkcjonalność niektórych mikrokontrolerów AVR, stąd też oczywiście nie powinno się jej wykorzystywać w projektach komercyjnych.

Nic nie stoi jednak na przeszkodzie, by w projektach hobbystycznych ją wykorzystać :-)


Masz czas, przetestuj i daj znać o wynikach

Tradycyjnie już jak w poprzednim przypadku dot. pinów Vcc i AVcc, także i tym razem czekam na rezultaty Waszych pomiarów i wniosków, w formie komentarzy do niniejszego artykułu. Pamiętaj, by podać dokładne oznaczenia układu zarówno z górnej, jak i dolnej strony.


Rezultat pracy programów
1 kwietnia 2014r.

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

poniedziałek, 28 marca 2011

RoboMind: Programowanie wirtualnego robota


Autor: Dondu


Nie masz możliwości zbudowania własnego robota? Nic straconego - możesz programować wirtualną wersję.

Ogłaszamy zawody - zabawę na wykonanie zadania wirtualnym robotem, za pomocą napisanego przez uczestnika programu w bardzo przyjaznym i prostym języku, w dodatku po polsku (!), jeśli nie znasz angielskiego.


To świetna zabawa dla wszystkich niezależnie od wieku! :-)



Program w wersji darmowej można pobrać na stronie producenta: RoboMind - Download


Zadanie do wykonania

Zadanie polega na:
  • przeniesieniu zielonego przedmiotu z punktu A do punktu B,
  • zamalowaniu białym kolorem szarej trasy,
  • zatrzymaniu robota po wykonaniu zadania.

Ograniczenia:
  • robot może poruszać się tylko i wyłącznie po białej i szarej trasie (w programie zwanej czarną),
  • robot sam musi podejmować decyzje.

Arena zawodów

Poniżej do pobrania plik z areną zawodów, która wygląda następująco:


Plik do pobrania: RoboMind-Arena.map

Plik należy otworzyć za pomocą menu:



i już możesz pisać program.


Uruchomienie programu i zmiana prędkości


W dolnej części ekrany znajdziesz przycisk uruchomienia programu oraz suwak do zmiany prędkości jego realizacji:



Przykładowe plansze i programy

Znajdziesz je w menu plików:




Opis języka i inne pomocne informacje

W programie w menu Pomoc znajdziesz linki do strony z dokumentacją programu.
Bezpośrednie linki zamieszczam także tutaj:


Pomocnik dot. poprawnej składni języka znajdziesz w menu Edycja:




Zawody

Aby wprowadzić element rywalizacji przygotowaliśmy podium, na którym staną zwycięzcy :-)


Aby wziąć udział w zawodach, należy napisać program zgodnie z wytycznymi (powyżej i poniżej) i przesłać go na adres email podany na końcu niniejszego artykułu.

Wyniki zawodów oraz programy zawodników
znajdziesz tutaj




Termin nadsyłania programów

Ostatecznym terminem jest niedziela 29 września 2013 r. godz. 16:00.
Adres podany jest poniżej.



Kryteria oceny

Oceniane są według kolejności:
  1. poprawne wykonanie zadania,
  2. samodzielność programu w podejmowaniu decyzji na podstawie obserwacji otoczenia przez robota,
  3. najkrótszy program,
  4. używanie procedur (funkcji),
  5. "poprawność programistyczna".

Innymi słowy, niedopuszczalne jest zastosowanie z góry określonego na podstawie widoku trasy algorytmu na przykład:
  1. jedź do przodu o 5 pól,
  2. obróć się w lewo,
  3. jedź do przodu 7 pól,
  4. obróć się w prawo
  5. jedź do przodu 3 pola,
  6. itd.

Robot ma sam podejmować decyzje! :-)



Pytania, pomoc, itp.

Jeżeli masz problem lub nie jesteś czegoś pewien, zadaj pytanie w wątku: Ucz się programować wirtualnego robota RoboMind



Adres do wysyłki materiałów

Opracowany program prosimy przesyłać na poniższy  adres:

UWAGA!
  1. Gdyby adres był nieczytelny to podpowiem, że składa się z liczby mnogiej słowa mikrokontroler, kropki i mojego nicku, a domena to: gmail.com.
  2. Po dotarciu maila na wyżej podane konto, automatycznie otrzymasz mailem informację o tym.

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

sobota, 12 marca 2011

Ciekawostka: Circuit Scribe ... czyli jak zarobić kupę kasy :-)


Autor: Dondu

Pisak + magnesy + kartka papieru i ... układ elektroniczny działa :-)

Ciekawostka do wykorzystania dla wszystkich, którzy chcą zainteresować elektroniką młodsze pokolenie:




Tego typu pisaki znane są już od wielu lat, ale jak się produkt ulepszy:




i opracuje nowe pomysły jego wykorzystania poprzez Plug & Play:




to okazuje się, że jest strzałem w 10-tkę.  :-)

Dodatkowo wykorzysta KICKSTARTER ... i 0,5 mln $ już jest (stan na 12 grudnia 2013r.):




A może dodajmy do tego mikrokontroler (tutaj Arduino):




Do dzieła Panie i Panowie - "pieniądze, leżą na ulicy" :-)

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Pierwsze lądowanie drona na lotniskowcu.


Autor: Dondu

12 lipca 2013r.

Przedwczoraj nastąpiło pierwsze historyczne lądowanie drona X-47B na lotniskowcu USS George H.W. Bush. Dla dowództwa floty amerykańskiej to cyt: " ... krok milowy w lotnictwie morskim ...", i takim faktycznie jest.


The government engineering and testing team in partnership with our Northrop Grumman team members have matured the technologies in this X-47B system to position us for today's event, which marks a milestone in naval aviation.


Ciekawe, czy i ile w takim dronie jest mikrokontrolerów? :-)




Szczegóły na:




Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

piątek, 11 marca 2011

Inteligentne lusterka motocyklowe


Wszyscy motocykliści no może z wyjątkiem Harleyowców :-) wiedzą jakim problemem są lusterka boczne, które jedni ustawiają do pozycji siedzącej inni do pozycji prawie leżącej.

Ci którzy jak autor poniższego filmu ustawiają je do jazdy przy wyprostowanej sylwetce zakładają, że przy szybkiej jeździe lusterko jest im niepotrzebne i ... jak autor o mało nie spotykają się z kostuchą w młodym wieku.

Ale tutaj mamy niespodziankę - młodego (19-lat) polskiego entuzjastę motocykli, który wyciągnął właściwe wnioski ze zdarzenia i wykorzystując swoje umiejętności, w tym programowania mikrokontrolerów i elektroniki stworzył prototyp inteligentnych lusterek.

I jeszcze na tym kupę kasy zarobi, czego mu serdecznie życzymy, bo wynalazek wpłynie (mamy nadzieję) na poprawę bezpieczeństwa na drogach.




Bardzo fajną ścieżkę finansowania i wdrożenia tego produktu obrał Bartosz - warto obejrzeć pierwszy materiał na stronie źródłowej TVN

Strona projektu: smart-mirrors.com

Trzymamy kciuki!
:-)


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Robot pastuch zagania krowy


Autor: Dondu

Kolejny zawód na wymarciu - tym razem pastuch :-)

Autonomiczny, odporny na warunki atmosferyczne, ... nigdy nie strajkujący pastuch elektroniczny. Testowany na grupie do 150 krów.

Ciekawe, czy potrafi omijać "miny" pozostawiane przez obiekty jego pracy? :-)

Wraz z pojawieniem się na polach pewnie narodzi się nowa dziedzina - Robonaping (analogia do kidnaping), bo pewnie sporo kosztować będzie.




Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

czwartek, 10 marca 2011

Komputery początku XXI wieku - prognoza z 1987r.


Autor: Dondu

Ciekawostka wygrzebana w sieci:

Jak w 1987 roku czytelnicy Horyzontów Techniki, widzieli komputery początku XXI wieku :-)




Część z tych opinii jest trafiona, część jeszcze się nie spełniła, a część realizują nasze mikrokontrolery :-)

Punkt 11 nie prędko się ziści, jak sądzicie?


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

czwartek, 24 lutego 2011

CAN hacking - przejmowanie kontroli nad samochodem


Autor: Dondu

Wsiadasz do swojego auta, jedziesz i nagle ... brak hamulców, kierownica sama skręca, przyrządy wariują ... a w głowie pytanie:


Samoświadomość:
Czy wjechałem w Trójkąt Bermudzki?


Nie! To CAN hacking, czyli ktoś dobrał się do elektroniki Twojego samochodu i przejął nad nim kontrolę za pomocą:



... który już za kilkanaście dolarów można kupić :-)

Podłączamy się ukradkiem pod złącze CAN w samochodzie ofiary,a później przez bluetooth robimy kawały kierowcy.

Kawały?! Nie, to realne zagrożenie życia!!!

Najgorsze jest to, że elektronika samochodów nie jest w ogóle zabezpieczana pod kątem tego typu przejmowania kontroli nad samochodem. Producenci zapewne już pracują nad tym, ale to jak zwykle o jeden krok za późno.

Możliwości są nieograniczone:




... a naturalnym odruchem jest chęć wyskoczenia przez okno z auta, nad którym nie ma się kontroli.

Skutki odpalenia poduszek (ten system to potrafi) w trakcie jazdy mogą być śmiertelne, podobnie jak podczas mijania samochodu ciężarowego celowe skręcenie kierownicy w celu doprowadzenia do zderzenia czołowego.

Projekt CHT (CAN Hacking Tool) ma na celu pokazanie i zmuszenie producentów samochodów, do zadbania o ten newralgiczny punkt ... tylko, czy to w ogóle jest możliwe?

Zapewne za niedługo pojawią się klucze i blokady do zamykania gniazd CAN ... koszmar :(


Przykład sieci CAN w samochodzie.

Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

poniedziałek, 31 stycznia 2011

PCB i wiek XIX ... czyli półprzemysłowy sposób wykonania.


Autor: Dondu

Jak wykonać półprzemysłowo płytkę PCB w warsztacie rodem z XIX wieku w ... Kolumbii?

Dokładnie pokazany proces łącznie z soldermaską i warstwą opisową. Ale w Unii Europejskiej takie podejście do ekologii by nie przeszło :-)





Szczegóły: Circuitos impresos elaborados con la técnica de serigrafía (j. hiszpański)


Oceń artykuł.
Wasze opinie są dla nas ważne, gdyż pozwalają dopracować poszczególne artykuły.
Pozdrawiamy, Autorzy
Ten artykuł oceniam na:

Działy
Działy dodatkowe
Inne
O blogu




Dzisiaj
--> za darmo!!! <--
1. USBasp
2. microBOARD M8


Napisz artykuł
--> i wygraj nagrodę. <--


Co nowego na blogu?
Śledź naszego Facebook-a



Co nowego na blogu?
Śledź nas na Google+

/* 20140911 Wyłączona prawa kolumna */
  • 00

    dni

  • 00

    godzin

  • :
  • 00

    minut

  • :
  • 00

    sekund

Nie czekaj do ostatniego dnia!
Jakość opisu projektu także jest istotna (pkt 9.2 regulaminu).

Sponsorzy:

Zapamiętaj ten artykuł w moim prywatnym spisie treści.