poniedziałek, 8 czerwca 2020

Projekt uniwersalnej płytki developerskiej dla rodziny PIC 8-bit firmy Microchip.

Przyczynkiem do podjęcia projektu płytki developerskiej dla konstrukcji 8-bitowych Microchipa był fakt , że nie mamy na rynku taniej uniwersalnej płytki dla PIC 8-bit. Utrudnia to znacząco rozpoczęcie przygody z PIC-ami przez osoby początkujące. Microchip oferuje co prawda uniwersalną płytkę HPC ale cena na poziomie 173 zł jest po prostu zniechęcająca. Sa jakieś chińskie propozycje ale moim zdaniem nie warte uwagi , lepiej zrobić swoją płytkę. Wiem , że sporo osób początkujących błąka się po necie i podpytuje o narzędzia i platformę dla PIC 8-bit ,bo chcą je poznać. Mój projekt płytki dedykuję takim osobą. Projekt po zakończeniu prac nad nim będzie dostępny bezpłatnie. Plik w formacie Gerbera wysyłamy do "płytkani" i cieszymy sie płytką. Wszystkie elementy są proste do przylutowania i nie nastręczą problemów początkującym. Myślę, że wykonanie takiej płytki z gotowego projektu będzie dla osób początkujących dobrą zabawą. A może zainspiruje ich do pójścia tą drogą i wykonania swoich projektów i płytek . Narzędzia do tego są bardzo proste i bezpłatne. Wystarczą tylko chęci i trochę czasu aby je poznać.

Do wykonania projektu płytki użyłem aplikacji webowej EasyEDA. Jest to proste i skuteczne narzędzie do projektowania "bezstresowego" płytek. Dużą zaletą oprócz prostoty jest skuteczny Autorouter i obszerna biblioteka elementów, dostępna w wyszukiwarce aplikacji. Nie spotkałem bardziej przyjaznego narzędzia do projektowaqnia płytek , szczególnie dla początkujących. Moją płytkę w pewnej części wzorowałem na płytce Microchipa HPC

Schemat elektryczny mojej płytki poniżej :


Na płytce znajdziemy następujące elementy :

- zasilacz 3.3 V LDO z LM1117

- dwa złącza w formacie mikroBUS (Mikroelektronika). Łatwo do tego złącza wykonać swoje moduły albo skorzystać z setek modułów Mikroelektroniki,

- 4 x LED (w tym jeden spięty na stałe do pinu RA4),

- 3 x SWITCH,

- czujnik temperatury DS18B20,

- złącze dla programatora ICSP (np. PICkit3 , MPLAB SNAP)

- podstawka dla MCU 28-pin

- podstawka dla MCU 40-pin

Microchip posiada w swoim protfolio szeroką gamę MCU w obudowach DIP. Czyli takich z jaką każdy początkujący hobbysta sobie poradzi i od jakiej w większości przypadków każdy zaczynał.
W zamierzeniu moja płytka ma być uniwersalna, czyli taka na którą zapniemy prawie dowolny MCU 8 bit z serii PIC w obudowie DIP. W szczególności polecam tutaj serię PIC18F, bo w tej rodzinie powstaje obecnie najwięcej ciekawych konstrukcji.

Atutem mojej płytki są dwa złącza mikroBUS i niski koszt wykonania. Na końcu spróbujemy oszacować ile ten projekt będzie finalnie kosztował.

Do zabaw z PIC-ami potrzebujemy oprócz płytki, programatora . W obecnej chwili bardzo dobrym wyborem jest MPLAB Snap ,to najnowszy i najtańszy programator Microchipa dedykowany hobbystom. Zaprogramujemy nim nie tylko PIC 8 bit ale i 16/32bit oraz ARM-y serii ATSAM i AVR-y. MPLAB Snap deklasuje szybkością PICkit3 .Programator można bez problemu kupić na naszym rynku i jest w/g mnie taki "milusi", polubiłem go od pierwszego kontaktu :). Kupiłem go w cenie 54 zł ale u innych dystrybutorów widziałem za 100 zł. Ewentualnie trzeba poczekać na promocje bo Microchip daje na ten programator często zniżki .

Pierwsze przymiarki do obrazu płytki jak poniżej :



Jednostkowy koszt wykonania płytki czyli elementy + płytka to ok 23 zł. W płytkarni chińskiej koszt wykonania i przysyłki via airmail 10 szt płytek to ok 48 zł. Dodać do tego musimy koszt zakupu programatora i MCU. Programator MPLAB SNAP nabyłem jak już wyżej wspominałem za 54 zł. Koszt MCU w granicach 10 zł przyjmuję. Czyli sumując składniki jednostkowego kompletnego zestawu gotowego do zabawy z PIC-ami (płytka + części + MCU + programatorto 84 zł. Odnosząc to do ceny płytki Microchipa HPC ,zaoszczędzamy 89 zł. Czy warto zaoszczędzić 89 zł i mieć z tego jeszcze fajną zabawę i satysfakcję z własnej pracy organicznej ? to już każdy sobie odpowiada na to pytanie sam :).

Na koniec drobna uwaga. Kondensatory współpracujące z LDO LM1117 są tantalowe w obudowie typu B lub typ A. Dostaniemy je np. w sklepie AVT.

Płytkę wysłałem do produkcji . Zamówiłem też dwa modele MCU na próbę w obudowie 40 DIP : PIC18F47Q43 i PIC18F46K42. Fajnie jest popatrzeć sobie na takie kobylaste MCU w obudowie DIP, dotknąć , przytulić :) i przenieść się n-lat temu w dobre czasy kiedy ludzie byli dla siebie bardziej życzliwi i nie gonili tak za kasą  jak dziś a o elementach SMD nikt jeszcze nie słyszał .

Jeszcze sobie zapisuję tu takie "memo" aby nie zapomnieć :). Jedną płytkę z osprzętem ma dostać Rafał za swój wkład w naprowadzenie mnie na przyczynę spowolnienia wczytywania mojego bloga. Ludziom życzliwym staram się nie szczędzić serca :)

Płytki z uwagi na "koronasraczkę" przyszły ze sporym opóźnieniem, nawet już straciłem nadzieję, że wogóle przyjdą. Teraz zostało tylko zakupić elementy i polutować. Jak będę już miał w ręku gotową płytkę, spróbujemy porozmawiać przy jej pomocy z PIC 8 bit. W sumie to już nie mogę się doczekać, bo bardzo dawno nic na 8 bitach nie działałem i zapomniałem co to za klimat. :).




Pozdrawiam

PICmajster
picmajster.blog@gmail.com

6 komentarzy:

  1. A ja nie mam lutownicy, to ile oszczędzę? :|

    Fajna płytka, ale czy dla początkujących? Taka hobbystyczna elektronika to piekielnie rozległy temat (prawo Ohma "obowiązkowe" zagadnienie, przy podłączaniu LEDów, krótki wykład na temat tego, że S. Woźniak kiepsko narysował schemat Apple II jakieś 40 lat temu (chyba na 2óch blogach widziałem takie uwagi) - czytanie i wykonywanie schematów, o nauce programowania i korzystania z cud miód bibliotek nie wspomnę (pod warunkiem, że działają, a nie wiem czemu nie działają, bo za mało programowałem, żeby zrozumieć co kompilator za błędy mi wypluł).

    Może jednak lepiej byłoby na początek kupić gotową płytkę DM164135 (już z programatorem).

    A czas zaoszczędzony na składaniu tego wszystkiego do kupy poświęcić na naukę (chociaż w przypadku mikrokontrolerów to trudne, gdy się nie wie, czego się nie wiem :-).

    Wiem PICmajster, że może nie brałeś pod uwagę takich ULTRASÓW (ultra noobów). Może w kolejnym wpisie zaproponujesz taką ścieżkę dla zupełnie zielonych (czas, wiedza, pieniądze; bo każdy tego typu poradnik skupia się tylko na kasie)?

    Jestem ciekaw twojego zdania (jakbyś teraz miał zacząć od początku, to jak). Ja przez parę lat próbowałem się wkręcić w mikrokontrolery, ale zabrakło mi dwóch ważnych rzeczy: celu i samozaparcia. :)

    pzdr

    OdpowiedzUsuń
  2. Zero wyczuwam w Twoim poście cień frustracji czy to z niespełnionej inicjacji w świecie MCU czy też z innych powodów:) . Nie możesz siebie lub innych winić za to, że nie wkręciło Ciebie to tak jak innych, że nie znalazłeś tyle samozaparcia aby przełamać bariery. Choć można też odnieść wrażenie, że wręcz szukasz powodów aby nie posunąć się do przodu. Brak lutownicy ?, nieznajomość prawa Ohma ? . Cel ? tak się zastanawiam jaki cel mi przyświecał kiedy zacząłem przygodę z MCU i nie znajduję takowego. :). Czy w inicjacji jakiegoś hobby musi być jakiś szczególny Cel ? poza sprawianiem przyjemności i satysfakcji z jego uprawiania lub samej ciekawości na początku ?. Jeśli coś cię nie kręci to znaczy, że to nie dla Ciebie i nie ma co się w to pchać na siłę i tyle. Czasami jest tak, że w danym momencie życia coś cię nie kręci ale za jakiś czas zakręci. Co do samozaparcia to przyznaję jest mocno przydatne ale to chyba już jest cecha indywidualna danego osobnika , tak myślę, jeden ma tego mniej drugi więcej. W moim przypadku był to przypadkowy kontakt można by rzec jakaś iskra, która pojawiła się znikąd , choć chodziło mi z tyłu głowy aby zająć się jakimś bezpiecznym hobby :) . Najpierw w moje ręce wpadła książka Kardasia o języku C i MCU, przeczytałem ją kilka razy aby cokolwiek zrozumieć :).Już na etapie literatury wciągnęła mnie ta abstrakcyjna wiedza, czytałem tę książkę jak dobrą powieść sensacyjną z wypiekami na twarzy choć nie wiedziałem kto kogo zabił :). Za każdym kolejnym przeczytaniem w mózgu otwierały się jakieś klapki zrozumienia i nadal nie byłem znudzony. Ale nadal była to kropla w morzu . Kolejnym etapem był zakup Arduino na które tylko patrzyłem bo wcale mnie to nie wkręciło. Wizja panowania nad MCU za pomocą języka C bardziej przemawiała do mojej wyobraźni. Zacząłem robić proste rzeczy na stykówce, podglądać kody , małpować je. Największa radość była z pierwszego udanego zadziałania MCU i zamigania diodą LED. Kiedy coraz częściej zaczęło się udawać to i zapał rósł logarytmicznie. Kolejnym krokiem a w zasadzie kamieniem milowym było zrobienie swojej pierwszej płytki dla AVR-a . Nie miałem żadnej wiedzy w tej materii, jakieś kursy podpatrzyłem dotyczące obsługi Eagle i tyle, ale się udało i płytka działała. Wyszedłem z kamienia łupanego czyli z płytki stykowej na szerokie wody :) . Nie uważam czas dochodzenia do budowy swojej pierwszej płytki za stracony , wręcz przeciwnie więcej się tutaj nauczyłem niż by mi dała gotowa płytka z programatorem. Kiedy poczułem się na tyle silny w swoim hobby aby mniej małpować innych , ciekawość „dziecka” zaprowadziła mnie do świata mikrokontrolerów PIC i tutaj moje hobby dostało nowego kopa a mój samorozwój wspiął się na szczeble wyżej w szczególności z rodziną 16-bitową od której zaczynałem w PIC-ach. W moim przypadku , więcej skorzystałem z wiedzy , którą trzeba było zdobywać samemu w „pocie” czoła niż bazować na wszechobecnej i łatwo dostępnej wiedzy w świecie popularnych AVR-ów. Odnośnie nauki programowania, jeśli coś chcemy poznać to poznamy i nic nam nie stanie na przeszkodzie nawet jeśli miałby to być język Chiński w wydaniu Kantońskim (no ale samozaparcie musi być ). Jeśli coś jest dla nas za trudne to musimy się cofnąć krok wstecz , tak ja robiłem. Oczywista oczywistość aby coś nas motywowało do działania nie wystarczą tylko chęci , muszą być efekty tego działania aby to nas napędzało do dalszych działań. Dlatego jeśli ktoś zaczyna od przysłowiowego zera. to zachęcam aby zacząć od książki Mikrokontrolery AVR Język C Podstawy programowania wyd. II - M. Kardaś. Ta książka jest w stanie nas wprowadzić w łagodny sposób w świat MCU i język C. Ale jedno przeczytanie to za mało , ja ją przeczytałem kilka razy. Moim zdaniem wiedza jaka jest dostępna u Kardasia zarówno w książkach jak i na jego blogu umożliwi nam łatwe wejście w świat MCU z minimalnym progiem wejścia. Potem możemy rozglądać się za innymi rodzinami MCU aby nie stać w miejscu i patrzeć co nam sprawia największą frajdę .
    cd.....

    OdpowiedzUsuń
  3. ......
    Ja z perspektywy czasu wiem , że największy fan w moim hobby dały mi PIC-e w wersji 16-bitowej na które wskoczyłem po AVR-ach. Takiego fanu nie dały mi ani PIC32 ani ARM-y. Pomimo , że na 16-bitach obecnie nie działam, choć nie wykluczone, że do nich wrócę np. przez pryzmat nowych konstrukcji typu dsPIC33CK ,to zawsze będę je wspominał co najmniej czule :).
    W sumie to się za bardzo rozpisałem i straciłem wątek o czym to ja chciałem w ogóle napisać :). Może taka ogólna refleksja na koniec. Ludzie są coraz bardziej rozleniwieni i uczuleni na trud zarówno fizyczny jak i umysłowy, wszystko jest im podawane na tacy a to i tak za mało,. Taki stan rzeczy powoduje , że stajemy się niewolnikami własnej niemocy ,ociężali i szybko się wypalamy. Póki człowieka coś kręci i ma na coś ochotę to trzeba to robić bo inaczej powoli umieramy :).

    OdpowiedzUsuń
  4. Dzięki PICmajster za tak obszerny komentarz - mógłbyś śmiało blogposta z niego wysmarować. Masz rację w poście na 100% w komentarzu na 95%. :-), a mianowicie: nie mam do nikogo pretensji i teraz nie próbuję sobie tego na Tobie odbić. ;-)



    Ten SNAP za 54 złote to na kamami był (też mi się rzucił ostatnio w oczy, ale nie pamiętam gdzie)? Nieaktualne :)

    OdpowiedzUsuń
  5. Spoko Zero jeśli w jakimś punkcie Ciebie uraziłem to przepraszam , nie taki miałem zamiar. MPLAB SNAP kupowałem niedawno w Kamami za 54 zł, teraz widzę 73 zł ale to i tak warte tych pieniędzy . Programator jest znacznie szybszy od PICkit3. Ale poczekać bo promocje będą.

    OdpowiedzUsuń
  6. Tak, ale... aktualna wersja płytki HPC ma rewizję 2. PKOB na rewizji 1 wyposażony był w PIC24FJ256GB106, PKOB4 w rew.2 ma już ATSAME70N21B-ANT (czy to nie to samo co w SNAPie? pytanie retoryczne, bo sprawdziłem filmik MOUSERa na YT :D).

    Tak więc porównywanie prędkości PK3 do SNAPA traci sens... Oczywiście mogą być inne "ficzery", którymi się różnią (pewnie też mniejszą grupę czipów zaprogramujesz).

    http://ww1.microchip.com/downloads/en/DeviceDoc/Curiosity-High-Pin-Count-Development-Board-User-Guide-40001856C.pdf (wersja c dokumentu) na str 9 rev1 płytki, na stronie 10 rev2 płytki.


    OdpowiedzUsuń