Elektroda.pl
Elektroda.pl
X
CControls
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 mikroprocesorów

Mortin7669 24 Sty 2014 21:34 3720 25
  • #1 24 Sty 2014 21:34
    Mortin7669
    Poziom 6  

    Witam serdecznie wszystkich użytkowników, którzy mają szeroki zakres wiedzy i są chętni, by dzielić się nią z innymi.

    Zajmuję się programowaniem sterowników PLC w języku LD (LAD). Pracuję na sterownikach: Siemens, Mitsubishi oraz Schneider. Chciałbym rozwinąć swoją wiedzę i nauczyć się coś więcej. Ucząc się w szkole na początku konstruowaliśmy układy elektryczne zastępując je z czasem sterownikami PLC. Dzięki tej zmianie układ można było znacząco uprościć, zmniejszyć oraz łatwo przeprogramować.

    Chciałbym z Waszą pomocą nauczyć się programować mikroprocesory. Są one podobne do sterowników PLC. Sterowniki PLC są podobne do mikroprocesorów wiec wydaje mi się, że swoja wiedzę mógłbym wykorzystać w programowaniu mikroprocesorów. Głównie chodzi mi o to, by dzięki Wam poznać jak się programuje mikroprocesory i co trzeba mieć. Reszta to kwestia wyobraźni.

    Chciałbym Was prosić o wskazówki jaki sprzęt kupić. Oczywiście budżet skromny, więc nie wchodzą w grę jakieś profesjonalne zestawy za parę tysięcy zł.

    Mam laptopa więc do programowania można, by było wykorzystać wejście USB, gdyż innego nie posiadam. Chciałbym spróbować zrobić sam jakieś proste układy typu: podaje sygnał taki i taki na takie i takie wejścia i po napisaniu odpowiedniego programu chcę aby na wyjściu takim i takim pojawił się sygnał. To co będzie na wyjściu i wejściu nie ma dla mnie żadnego znaczenia bo przecież chodzi tylko zapoznanie się z funkcjonowaniem takiego mikroprocesora.

    Co potrzebne, by zacząć zabawę? Co kupić? Wszelkie uwagi mile widziane.

    P.S. Proszę o wyrozumiałość. Na internecie jest kilka stronek na ten temat, ale różnej jakości. Z chęcią poczytam to co mi podrzucicie. Programowania mikroprocesorów chcę nauczyć się do własnych celów. Widzę w tym ogromna przyszłość. I już mam kilka pomysłów co chciałbym stworzyć i wykorzystać chociażby w samochodzie. Wiem, że język LD nijak ma się do języka w jakim programuje się mikroprocesory, ale jestem pełen zapału i chęci do nauki.

    Pozdrawiam,
    Mortin

    0 25
  • CControls
  • CControls
  • Pomocny post
    #3 24 Sty 2014 21:52
    Steryd3
    Poziom 32  

    A więc tak- na początek pewnie chodziło Ci o mikrokontrolery:)
    Odpowiedzieć na Twój post będzie strasznie ciężko bo jest straszliwie ogólny i dotyka tematu rzeki. Po pierwsze musisz opanować język C który w zasadzie jest tu językiem wiodącym. Kolejna kwestia to co właściwie chcesz na tym mikrokontrolerze oprzeć. Do prostego mrugania diodą nadaje się wszystko, do zrobienia sterownika to pieca prawie wszystko ale już przetwarzanie sygnałów czy sprawna obsługa Ethernetu nie na wszystkim się powiedzie. Ogólnie najpopularniejsze są chyba w obecnej chwili AVRy (8-bitowe mikrokontrolery dość tanie w rozpoczęciu z nimi zabawy, łatwe do opanowania do hobbystycznych celów) , można zainteresować się PICami ale tu programatory już są droższe lub ARMy(32-bitowe mocne obliczeniowo) a w śród nich STM32, NXP,.... . Wymieniłem tu tylko najpopularniejsze w Polsce mikrokotrolery a można by wymieniać jeszcze długo. Bogactwo jest więc ogromne .
    Uściślij zapotrzebowania a z pewnością pomożemy wybrać coś odpowiedniego.

    0
  • #4 24 Sty 2014 21:56
    Mortin7669
    Poziom 6  

    Dzięki, biorę się za czytanie.

    Mam w planach stworzenie ''sygnalizatora stanu akumulatora''. Chciałbym podłączyć ''coś'' - analizator napięcia? Nie wiem czy jest coś takiego. Ale chodzi o to by stworzyć coś takiego: jeśli napięcie wynosi 10-11 V mikroprocesor na odpowiednie wyjście daje sygnał, który zapala powiedzmy diodę czerwoną. Jeśli napięcie jest między 11-12 V to zapala np. Diodę pomarańczowa. Jeśli jest miedzy 12-13 V to żółta a jeśli miedzy 13-14 V to zieloną. Oczywiście pewnie i bez mikroprocesora dało by się to zrobić, ale na czymś prostym trzeba ćwiczyć. Pytanie brzmi czy jest taki ''analizator napięcia'' który będzie dawać poszczególne sygnały na wejścia mikroprocesora? Jest o wykonalne?

    Takiego coś mógłbym zrobić na sterowniku PLC, ale koszt takiego sterownika to kilka tysięcy zł. i rozmiar znacząco większy. Mikrokontrolery mają podobną zasadę działania są mniejsze kilkunastokrotnie i tańsze.

    0
  • Pomocny post
    #5 24 Sty 2014 22:05
    tmf
    Moderator Mikrokontrolery Projektowanie

    Nie tylko wykonalne, ale jest to jedna z bardziej banalnych do wykonania rzeczy, akurat na początek w sam raz. Na wspomnianym przeze mnie już blogu poszukaj informacji o przetworniku ADC. Jak się z nim zaprzyjaźnisz, to realizacja tego projektu będzie prosta.

    0
  • Pomocny post
    #6 24 Sty 2014 22:06
    janek1815
    Poziom 38  

    Mikroprocesory w większości mają wbudowane przeetworniki A/C i nimi mierzysz napięcie a następnie sterujesz diodami. Wszystko zależy od napisanego przez Ciebie programu.

    0
  • Pomocny post
    #7 24 Sty 2014 22:06
    Steryd3
    Poziom 32  

    Myślę, że AVRy będą tu zupełnie wystarczające. Posiadają one wbudowane 10-bitowe przetworniki analogowo-cyfrowe więc z takimi problemami radzą sobie wyśmienicie. Oczywiście reszta wymienionych przeze mnie mikrokontrolerów też dała by rady choć w przypadku ARMów było by to strzelanie z armaty do muchy. Choć nawiasem mówiąc- w obecnych czasach ceny mocnych obliczeniowo 32-bitowych mikrokontrolerów (np. STM32F0) są porównywalne z blado przy nich wypadających 8-bitowych AVRach. Więc czasem można się zastanowić czy nie lepiej strzelać z armaty jeżeli ta jest w cenie klapki na muchy:)

    0
  • #8 24 Sty 2014 22:07
    Mortin7669
    Poziom 6  

    Super :) Na podanej stronce, spróbuje skompletować sobie zestaw i wrzucić tutaj, czy aby na pewno dobrze dobrałem i o czymś nie zapomniałem.

    Puki co nazwy poszczególnych kontrolerów nic mi nie mówią. A odnośnie bitów czy powiązane to jest z obsługą wejść/wyjść? Im więcej bitów tym więcej może obsłużyć? Czy chodzi o coś zupełnie innego?

    I jeszcze jedno pytanie: mikro kontrolery można nieograniczona ilość programować tak jak sterowniki PLC? Wydaje mi się, że tak, ale zapytać nie zaszkodzi :)

    EDIT
    Mieszkam na żeby brzydko nie nazwać krańcu świata. Czy możecie polecić mi jakiś dobry sklep online? Nie wiem na który się zdecydować. Wiadomo, chodzi o koszty i dostępność towaru.

    Posiadam zasilacz impulsowy który może zasilać napięciem +5V DC, -5V DC +12 V DC i -12V DC. Być może się przyda. Oczywiście mam też multimetr. W dzisiejszych czasach bez niego ani rusz.

    0
  • Pomocny post
    #9 24 Sty 2014 22:32
    dondu
    Moderator Mikrokontrolery Projektowanie

    Wszystko znajdziesz na w/w stronie - także i sklepy - a w tym temacie komentarze czytelników.
    Zanim zamówisz cokolwiek przeczytaj dużo przez weekend, a później skompletuj i wrzuć tutaj to może jakieś uwagi naniesiemy.

    ... no i szukaj dawców starych części, bo to oszczędza kieszeń :)


    EDIT:
    W sprawie sklepów zobacz jeszcze ten wątek: https://www.elektroda.pl/rtvforum/viewtopic.php?t=842761

    0
  • #10 25 Sty 2014 09:54
    Tomq
    Poziom 38  

    Cytat:
    Super Smile Na podanej stronce, spróbuje skompletować sobie zestaw i wrzucić tutaj, czy aby na pewno dobrze dobrałem i o czymś nie zapomniałem.
    Puki co nazwy poszczególnych kontrolerów nic mi nie mówią.

    Zerknij do tego postu: https://www.elektroda.pl/rtvforum/viewtopic.php?p=13215342#13215342


    Cytat:
    Puki co nazwy poszczególnych kontrolerów nic mi nie mówią. A odnośnie bitów czy powiązane to jest z obsługą wejść/wyjść? Im więcej bitów tym więcej może obsłużyć? Czy chodzi o coś zupełnie innego?

    Ilość wejść/wyjść zależy w głównej mierze od rodzaju obudowy:) Upraszczając lość bitów określa wielkość liczb/adresów na jakich mikrokontroler może operować w jednym takcie. W przypadku najpopularniejszych mikrokontrolerów avr z rodziny "mega" nazwa oznacza wielkość pamięci flash (atmega8 ma 8 kB, atmega64 ma 64kB). Im większy numer mikronoktrolera tym zazwyczaj większa obudowa w której siedzi (choć 16 i 32 są w takich samych).

    Cytat:

    jeszcze jedno pytanie: mikro kontrolery można nieograniczona ilość programować tak jak sterowniki PLC? Wydaje mi się, że tak, ale zapytać nie zaszkodzi Smile

    Producent w datasheecie podaje jakie jest ograniczneie zapisu pamięci wewnętrznej. Najczęściej wbudowany flash można programować 10 000 razy.


    Co do sklepów:
    http://www.elektronika-sklep.pl/
    http://www.lispol.com/
    http://botland.com.pl/

    0
  • #12 25 Sty 2014 13:47
    tmf
    Moderator Mikrokontrolery Projektowanie

    Ile chcesz na to wydać kasy? Programator, który wybrałeś to coś bardzo prostego, w ograniczonym tylko stopniu współpracuje z Atmel Studio. Lepiej wybrać coś zgodnego z AVRISPMkII (ale to koszt 40-50zł). Inną alternatywą za około 100zł jest kupno jednego z modułów:
    http://mikrokontrolery.blogspot.com/2011/02/mikrokontrolery-xmega-wybrane-moduly.html
    Można je kupić za 90-160 zł - moduły z Leon Istruments lub modułowa są godne uwagi, w połączeniu z płytką stykową są doskonałe na start. I nie potrzebują programatora. Dokupisz go sobie później, kiedy docenisz zalety AVRISP MKII lub AVR Dragon.
    Pamiętaj też że wiele rzeczy nauczysz się "na sucho" korzystając z symulatora Atmel Studio i C maniaka na stronie Dondu.

    0
  • #13 25 Sty 2014 13:53
    Mortin7669
    Poziom 6  

    A taki Programator ?
    Przewód do niego miałbym ze starej drukarki.

    0
  • #14 25 Sty 2014 13:58
    GanzConrad
    Poziom 22  

    1. rezystory: 1k, 4,7k, 10k
    2 kondensatory: 100nF, 10uF, 100uF
    3. złącze KANDA (IDC10)
    4. zerknij tu: https://www.elektroda.pl/rtvforum/viewtopic.php?p=13047238#13047238
    5. tact switch (kilka sztuk)
    6. jak spodoba Ci się lutowanie na płytkach prototypowych to jeszcze płytki ;-)
    7. LCD 16x2 i DS18B20 też bym kupił
    8. listwa goldpin (zawsze się przydaje ;-) )
    ze sklepów polecam Zyscom na alledrogo (pobił rekord czasu wysyłki - mniej niż doba z dostarczeniem pod drzwi):
    http://allegro.pl/listing/user/listing.php?us_id=6930702

    0
  • #15 25 Sty 2014 14:10
    Mortin7669
    Poziom 6  

    Akurat z czasem mi się nie spieszy. Najlepiej by było zakupić wszystko w jednym sklepie. Sam już nie wiem co, jak i gdzie.

    0
  • #16 25 Sty 2014 14:18
    tmf
    Moderator Mikrokontrolery Projektowanie

    I nie dowiesz się tego na forum - każdy ma swoje upodobania i każdy uważa, że jego podejście jest najlepsze :) Np. ja polemizowałbym z niektórymi punktami wymienionymi przez GanzConrad:
    3. Obecnie preferowane jest złącze ISP 6-pinowe
    6. Zamiast lutowania na płytkach prototypowych lepsze są stykowe (tylko dobrej jakości)
    7. LCD 16x2 to trochę przeżytek, bo w tej cenie można dostać o wiele fajniejsze graficzne LCD oparte np. o kontroler ST7565r
    Oczywiście to moja subiektywna ocena i nie znaczy, że zestaw proponowany przez kolegę GanzConrad jest gorszy.
    Dlatego właśnie proponuję ci zacząć "na sucho", poczytać wskazany wcześniej blog, popróbować własnych sił z C na symulatorze. Jak ogarniesz nieco temat to sam będziesz wiedział co kupić. Także nie śpiesz się, bo często okazuje się, że na początku wydane pieniądze to pieniądze wyrzucone w błoto. Ty musisz wiedzieć czego chcesz.

    0
  • #17 25 Sty 2014 14:21
    Tomq
    Poziom 38  

    Cytat:
    Sam już nie wiem co, jak i gdzie.

    Choćby Ci ktoś przedstawił najdokładniejszą listę, to i tak na 100% coś będziesz musiał dokupić. Bez sensu jest kupować od razu za wiele podzespołów, bo potem może się okazać, że zmarnowałeś kasę. Kup coś na początek (zestawy jak podpowiadali wcześniej koledzy, albo nawet Twój zestaw tylko z jakimś lepszym programatorem - ten nawet nie ma żadnych zabezpieczeń) i za 2-3 miesiące będziesz wiedział co konkretnie dokupić.

    0
  • #18 26 Sty 2014 17:57
    GanzConrad
    Poziom 22  

    tmf napisał:
    Zamiast lutowania na płytkach prototypowych lepsze są stykowe (tylko dobrej jakości)

    ja dodałbym istotną informację, że płytki (IMO) stykowe służą tylko i wyłącznie do nauki. Nie nadają się nawet do prototypowania, bo w moim odczuciu prototyp jest działającym urządzeniem, które możemy wykorzystać w praktyce. Nie wyobrażam sobie wciskania do obudowy pająka z płytki stykowej, więc prędzej czy później będzie musiał sięgnąć po lutownicę. Kwestią gustu pozostaje czy ktoś lubi wykonywać niektóre czynności dwukrotnie, zwłaszcza te najprostsze, które trudno zepsuć.
    tmf napisał:
    LCD 16x2 to trochę przeżytek

    ale jak kupi tą książkę:
    http://helion.pl/ksiazki/jezyk-c-dla-mikrokon...tomasz-francuz,jcmikr.htm?nr=5314.&url=jcmikr
    to mu się przyda, zwłaszcza w rozdziale 18 ;-).

    0
  • #19 27 Sty 2014 00:46
    Spanish_Inquisition
    Poziom 14  

    Ja kupiłem zwykły programator AVR ASP za 20zł na allegro i dobrze się sprawuje.

    Tu masz link z kursem programowania w C:

    http://kursc.forbot.pl/str001.html


    Takie proste programy które powinny Ci w dużej mierze rozjaśnić o co w tym dokładnie chodzi. Sam nie dawno zacząłem, nigdy nie pisałem żadnych programów, w szkole nawet nie mieliśmy podstaw paskala. Najpierw kupiłem książkę "Język C dla mikrokontrolerów AVR" Tomasza Francuza z której nie wiele zrozumiałem. Nie na tyle aby zacząć coś samemu według niej tworzyć. Na razie leży i czeka aż zdobędę więcej doświadczenia.

    Kupując płytkę stykową od razu zaopatrz się w specjalne przewody połączeniowe do niej. Bawienie się w jakieś kabelki ze skrętki to strata czasu i zero komfortu.

    0
  • #20 27 Sty 2014 19:11
    Mortin7669
    Poziom 6  

    Wybaczcie, że nie pisałem, ale wyjechałem do prababci i nie miałem jak się odezwać. Od razu dziękuje za duże zainteresowanie i chęć pomagania. Czytając tekst podesłany przez kolegę z tmf (za co z góry mu dziękuję) zdecydowałem, że kupię:
    1. Przewody, zasilacz + płytka Płytka ponad 800 otworów, gotowe przewody i zasilacz. Myślę, że w sam raz do nauki.
    2. Diody w sam raz do sygnalizowania sygnałów wyjściowych.
    3. ATmega88 uważam, że na początek będzie wystarczający
    I pytanie czy podstawka pod kontroler potrzebna? i który programator na początek wybrać? USB-1 czy może ten USB-2

    Sygnał wejściowy podawał bym na razie prowizorycznie z Mikroprzycisk zastępując je później czujnikami lub innymi elementami.

    Co do lutownicy, wyświetlaczy itp. Wstrzymam się z tym do następnego miesiąca, gdyż ferie się zbliżają a chciałbym jeszcze odwiedzić rodzinę. Planuje później kupić stacje lutowniczą i resztę ciekawych elementów. Proszę o Wasze opinie i porady odnośnie programatora.

    0
  • #24 28 Sty 2014 16:27
    tmf
    Moderator Mikrokontrolery Projektowanie

    Mortin7669 napisał:
    taki programator masz? Programator


    Jaki jest sens kupować USBasp, czy za prawie 60 zł programator, który nawet nie współpracuje z Atmel Studio, jeśli za 40-50zł można mieć klona AVRISPMKII, który obsługuje ISP (stare AVRy) i PDI (nowe AVRy), w dodatku jest w pełni wspierany przez Atmel Studio, dzięki czemu nie musisz używać jakiś innych nakładek, avrdude i tym podobnych protez?

    0
  • #26 28 Sty 2014 19:41
    tmf
    Moderator Mikrokontrolery Projektowanie

    Za 48 zł:
    http://sklep.avt.pl/programator-avr-isp-mkii-zestaw-do-samodzielnego-montazu.html
    Bez obudowy, ale to nie przeszkadza. Jak poszukać to za taką cenę można znaleźć i z obudową.
    Można też sobie samemu poskładać. Ja bym się jednak z zakupami wstrzymał do czasu zainstalowania środowiska, poczytania co w necie piszą i ogarnięcia jakoś wszystkiego samemu.

    0