Elektroda.pl
Elektroda.pl
X
Metal Work Pneumatic
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Początki programowania, sterownik tempomatu - jaki mikrokontroler ?

tomek91pl 17 Lip 2013 19:29 2838 16
  • #1 17 Lip 2013 19:29
    tomek91pl
    Poziom 9  

    Witam.

    Jestem początkującym elektronikiem.
    Zaciekawiło mnie ostatnio tworzenie układów elektronicznych a dokładniej układy z wykorzystaniem mikrokontrolerów.
    Dopiero zamierzam zaczynać zabawę z programowaniem dlatego szukam pomocy i rad.

    Na początek zamierzam zbudować dość prosty układ tempomatu do samochodu z elektronicznym pedałem gazu i elektroniczną przepustnicą.
    Zasada działania ma być następująca: sterownik odczytuje napięcie 0-5v z czujnika położenia pedału gazu oraz odczytuje prędkość pojazdu (impulsy z czujnika abs lub z czujnika prędkości w skrzyni biegów). Po naciśnięciu przycisku przy określonej prędkości sterownik ma wysyłać wcześniejszą wartość napięcia z pedału gazu na odczyt do sterownika silnika i przepustnicy czyli 0-5v. Potem zamierzam też zrobić by przy zmniejszaniu lub zwiększaniu prędkości regulował napięcie wysyłane do przepustnicy w celu utrzymania jednakowej prędkości jazdy.
    Po za tym chcę również w przyszłości wykorzystać ten sam mikrokontroler do zbierania danych z innych czujników w aucie, np z mapsensora (syg.0-5v) czy czujnika temperatury powietrza zasysanego (zmiana rezystancji) i wysłania tych danych w czasie rzeczywistym z w miare szybkim odświeżaniem na wyświetlacz 4x20.

    Po wielu godzinach spędzonych na szukaniu w sieci informacji mam mętlik w głowie i już sam nie wiem jaki mikrokontroler zastosować do tego.
    Zastanawiam się głównie nad Arduino MEGA 2560 R3.
    Z tego co wyczytałem jest prosty w programowaniu i dobry dla takiego początkującego programisty jak ja lecz proszę wyraźcie swoje opinie na ten temat i oczekuję również dobrych rad na czym to wszystko najlepiej uruchomić.
    Podpowiedzcie mi również co po za mikrokontrolerem będę potrzebował do zbudowania takiego układu, jakie moduły itd.

    Dziękuję serdecznie i pozdrawiam.

    0 16
  • Metal Work Pneumatic
  • #2 17 Lip 2013 20:02
    BlueDraco
    Specjalista - Mikrokontrolery

    Na początek to proponuję pomigać diodą i obsłużyć wyświetlacz LCD (zrobić np. zegarek z budzikiem). O wyborze mikrokontrolera i zestawach uruchomieniowych znajdziesz tu mnóstwo wątków, nie zadawaj więC pytania, na które odpowiedziano ze 100 razy, tylko raczej poczytaj odpowiedzi.

    0
  • Metal Work Pneumatic
  • #3 17 Lip 2013 20:06
    tomek91pl
    Poziom 9  

    Takie rzeczy jak obsługa wyświetlacza lcd itp to ja już na studiach robiłem dlatego teraz pytam konkretnie o sprzęt. Mówisz poczytaj odpowiedzi ale co mi to da skoro każdy buduje co innego i do innych celów więc każdemu potrzebny inny sprzęt.

    0
  • #4 17 Lip 2013 20:19
    _kermit
    Poziom 7  

    Myślę, że najodpowiedniejszym wyborem na początek będzie jakiś mikrokontroler z rodziny AVR z tego względu, że nie są to bardzo skomplikowane układy i pozwolą ci poznać podstawy .Do tego polecam dobrą książkę i tutaj mogę zaproponować:
    "AVR i ARM7. Programowanie mikrokontrolerów dla każdego" autorstwa Pana Pawła Borkowskiego
    .Według mnie dla zupełnie początkującego jest to pozycja idealna bo autor opisuje w niej jak zabrać się do tematu programowania mikrokontrolerów właściwie od zera(łącznie z budową własnego programatora), a następnie przedstawia jak zaprogramować podstawowe układy(typu miganie diodą LED,obsługa przycisków,przetwornika analogowo cyfrowego(co powinno cię akurat zainteresować bo służy on do pomiaru napięcia)) w języku assembler, C, bascom i pascal. Szczególnie polecałbym zainteresować się dwoma pierwszymi a po poznaniu podstaw programowania w asemblerze i C zainwestować w książkę :
    Mirosława Kardasia pt. "Mikrokontrolery AVR język C podstawy programowania" aby lepiej poznać język C.
    Właściwie po sumiennym przerobieniu tej drugiej pozycji masz już otwartą drogę do zrealizowania swojego projektu.
    Co prawda przedstawiłem dosyć długą drogę ale jeśli myślisz poważnie o budowaniu układów które miały by kontrolować samochód to radzę konkretnie zabrać się do tematu, ponieważ jest to dosyć odpowiedzialne zadanie, bo w wypadku jakiś błędów w działaniu takiego urządzenia komuś mogła by stać się krzywda w tym wypadku kierowcy auta w którym zainstalowano twoje urządzenie :| .
    A co do arduino jest to trochę droga na skróty choć ja również od niego zaczynałem, ale okazało się ono tak łatwe w obsłudze, że w sumie nic się nie nauczyłem i dopiero po przerobieniu podstaw assemblera zacząłem łapać o co tak naprawdę chodzi w programowaniu mikrokontrolerów.
    Aha no i wspominasz też, że układ ma kontrolować coś przez podanie napięcia z przedziału 0-5V, więc będziesz musiał wykorzystać przetwornik cyfrowo-analogowy, co prawda AVR-y nie mają ich wbudowanych więc masz do wyboru dwie drogi-albo dołączysz do AVR-a przetwornik zewnętrzny albo po poznaniu C przesiądziesz się na jakieś nowsze mikrokontrolery np. Xmega, ale jeśli poznasz C to myślę, że nie będzie z tym problemu z przediadką na inne/nowsze układy.
    pozdrawiam :)

    -----------------------------------------
    o tak długo zajęło mi napisanie moich wypocin, że w temacie pojawiły się nowy fakty, więc jeśli masz jakieś doświadczenie w programowaniu to polecam układy z rodziny Xmega które są dośc nowoczesne i co najważniejsze mają wbudowany przetowrnik DAC, więc uprościsz układ. Ewentualnie coś z 32-bitowych cortexów które ostatnimi czasy są dośc popularne i do tego zewnętrzny przetwornik lub jakiś 32-bitowiec z górnej półki z wbudowanym przetwornikiem, ale co do mikrokontrolerów 32-bitowych to masz całą mase niedrogich płytek rozwojowych (np. lpcxpresso czy stm discovery).

    0
  • #5 17 Lip 2013 20:26
    tomek91pl
    Poziom 9  

    Wielkie dzięki za konkretną odpowiedź. Posłucham sie twoich rad i zrobie tak jak mówisz.
    Mam tylko jeszcze jedno pytanie, mówisz ze będzie mi potrzebny przetwornik analogowo-cyfrowy, z tego co czytałem i widziałem w tutorialach itd. arduino ma wejścia analogowe, na które ludzie puszczają sygnały 0-5v i mikrokontroler odczytuje napięcie w postaci cyfr z zakresu od 0 do 1023. To jak to dokładnie z tym jest ?

    0
  • #6 17 Lip 2013 20:33
    _kermit
    Poziom 7  

    wartość odczytaną z przetwornika(z zakresu 0-1023) możesz przeliczyć na wartość napięcia (z zakresu 0-5v (lub 0-aref)) za pomocą wzoru:
    (5/1023) x wartość odczytana
    a ogólniej (aref/rozdzielczość przetwornika) x wartość odczytana .
    aref - napięcie odniesienia dla przetwornika A/C

    0
  • #7 17 Lip 2013 20:52
    tomek91pl
    Poziom 9  

    no o tym też juz wiem ze mozna przeliczac, czyli te arduino mega ma już wbudowany przetwornik ac ?
    i jeszcze jedno pytanie, czy dla mojego zapotrzebowania arduiuno będzie najlepszym mikrokontrolerem ? czy arm'y programuje się trudniej niż avry ? bo też nad nimi myśle lecz chyba nigdy nie wykorzystam ich możliwości hehe :)

    0
  • #8 17 Lip 2013 21:01
    _kermit
    Poziom 7  

    zacznijmy od tego, że arduino nie jest mikrokontrolerem tylko platformą opartą o mikrokontroler z rodziny AVR (w przypadku arduino uno to jest chyba atmega48 a arduino mega to atmega1280) więc w przypadku arduino również masz możliwość odczytywania napięcia za pomocą przetwornika który jest wbudowany w mikrokontroler ,w arduino wejścia tego przetwornika są wyprowadzone na złącze opisane jako analog input.
    Co do armów to w sumie nie programuje się ich jakoś znacząco trudniej, ale trochę napewno, ze względu na to że są zdecydowanie bardziej rozbudowane więc na początek wydają mi się słabym rozwiązaniem.

    0
  • #9 17 Lip 2013 21:16
    tomek91pl
    Poziom 9  

    ok to już chyba wszystkiego się dowiedziałem czego chciałem. Zabieram sie do zakupów i do roboty z programowaniem. Mam nadzieję że to ogarnę. Jeszcze raz dzięki za pomoc. Pozdro.

    0
  • #10 17 Lip 2013 21:21
    dondu
    Moderator Mikrokontrolery Projektowanie

    Hola, hola:

    tomek91pl napisał:
    ok to już chyba wszystkiego się dowiedziałem czego chciałem. Zabieram sie do zakupów i do roboty z programowaniem. Mam nadzieję że to ogarnę.


    To stwierdzenie:

    tomek91pl napisał:
    Takie rzeczy jak obsługa wyświetlacza lcd itp to ja już na studiach robiłem dlatego teraz pytam konkretnie o sprzęt.

    nie pasuje do tego:

    tomek91pl napisał:
    Dopiero zamierzam zaczynać zabawę z programowaniem dlatego szukam pomocy i rad.



    Czytając Twoje pytania i odpowiedzi, upewniasz nas, że nie masz zielonego pojęcia o elektronice i mikrokontrolerach, a jednocześnie chcesz wykonać urządzenie, które może decydować o życiu Twoim, Twoich pasażerów lub innych użytkowników dróg.

    Dlatego nie obraź się, ale to:

    BlueDraco napisał:
    Na początek to proponuję pomigać diodą i obsłużyć wyświetlacz LCD (zrobić np. zegarek z budzikiem).

    jest naprawdę dobrą radą.

    Dlatego zanim przystąpisz do projektowania swojego urządzenia powinieneś poznać podstawy na jakimś mikrokontrolerze za 5zł. Dopiero gdy już będziesz miał podstawową wiedzę, i wrócisz do swoich postów w tym temacie stwierdzisz, że zadawanie pytań o tempomat i dobór mikrokontrolera na tym etapie nie miało sensu.

    Zaglądnij tutaj: http://mikrokontrolery.blogspot.com/
    a w szczególności do spisu treści. Znajdziesz tam także temat jak dobierać mikrokontrolery do zadań.


    EDIT:
    ... tym bardziej, że samochód jest wrednym środowiskiem dla pracy mikrokontrolerów ze względu na zakłócenia pochodzące z różnych jego wewnętrznych systemów, w związku z czym urządzenie musi być odpowiednio zaprojektowane, a to nie jest proste dla:

    tomek91pl napisał:
    Jestem początkującym elektronikiem.

    a czasami nawet tych bardziej doświadczonych.

    0
  • #11 17 Lip 2013 22:27
    tomek91pl
    Poziom 9  

    Nie do końca wszystko dobrze napisałem. Początkujący jestem w sensie że zaczynam dopiero programowanie takie samodzielne, nie na etapie studiów. Pojęcie o elektronice mam, na codzień zajmuje się modyfikacją samochodów oraz przerabianiem seryjnych ecu by dało się zmieniać mapy (głownie w hondach), o elektrornice w samochodzie tez mam pojęcie i wiem co jak ogarnąć by było bezpiecznie. Układ przed zamontowaniem przejdzie najpierw wiele testów, po za tym zamontowany będzie wyłącznik awaryjny odcinający sterowanie przepustnicą. Na pomoc w sprawie elektroniki moge liczyć u ojca i brata, którzy są starymi elektronikami lecz programowanie musze ogarnąć sam.

    A co do tego ze najpierw powinienem zacząc od podstaw to masz racje bo trochę skok na głęboką wode od razu robie. Zobaczymy jak to ogarne i dam znać :) Pozdr.

    0
  • #12 17 Lip 2013 22:27
    dondu
    Moderator Mikrokontrolery Projektowanie

    Powodzenia i szybkich efektów :)

    0
  • #13 01 Paź 2014 17:14
    szpak3232
    Poziom 2  

    i są jakieś efekty bo mnie ciekawi ten temat

    0
  • #14 01 Paź 2014 18:17
    tomek91pl
    Poziom 9  

    Projekt już dawno zakończony, wszystko działa do dziś, obroniłem nawet pracę inżynierską na podstawie tego. Wszystko wydawało się takie trudne i skomplikowane a teraz gdy już nabrałem doświadczenia i przeniosłem się na army stworzenie takiego tempomatu zajęło by mi powiedzmy godzinkę :D Potrafię stworzyć tempomat i inne urządzenia do każdego auta.

    0
  • #15 01 Paź 2014 22:34
    szpak3232
    Poziom 2  

    Ciekawi mnie czego użyłeś do kontrolowania prędkości

    0
  • #16 02 Paź 2014 16:58
    szpak3232
    Poziom 2  

    Dokładnie jak w temacie jaki mikro kontroler

    0
  • #17 20 Paź 2014 09:20
    tomek91pl
    Poziom 9  

    Uzylem atmegi 32, sterowanie zrobilem za pomoca emulowania pedalu gazu przy pomocy potencjometru cyfrowego.

    0
  Szukaj w 5mln produktów