Skocz do zawartości
radek04

Programowanie mikrokontrolerów SMD

Pomocna odpowiedź

Napisano (edytowany)

Cześć.

Zdarza mi się popełnić jakiś układ, który wykonuję samodzielnie - trawienie, lutowanie, programowanie itp. Hobbystycznie - dla siebie, ewentualnie coś dla znajomych. Zwykle korzystam z uC AVR, ale ostatnio bawię się płytkami Nucleo od STM. Powoli myślę o przesiadce z THT na SMT. I tu pojawia się pytanie - w jaki sposób programować takie mikrokontrolery?

Mam w domu jakieś przejściówki z QFP na DIP, ale to wymaga przylutowania, zaprogramowania, odlutowania i przylutowania na gotowej płytce. Trochę mnie taki proces przeraża. Chciałem zakupić taki adapter z klipsem, ale okazuje się, że to uzależnia mnie zarówno od danej wielkości układu (QFP48, QPT64 itd.), jak i rozstawu nóżek (np. 0.8 mm dla AVR i 0.5 mm dla STM32). Znalazłem też takie igły-sondy z wysuwanymi szczypcami do chwytania nóżek, ale czy to mi chwyci 0.5 mm bez zwierania sąsiednich nóżek???

Czy jest jakieś w miarę uniwersalne rozwiązanie, które pozwoli mi na programowanie układów SMD o różnym rastrze, a przynajmniej różnej liczbie nóżek? Takie dedykowane adaptery są dość drogie (ok. 60 zł zwykły i ok. 300 zł z wyprowadzeniami JTAG/SWD i USART) i nie chciałbym kupować kilku, by móc używać różnych uC. Czy pozostaje mi wlutowywanie na docelowej płytce pinów do programowania? Używając SMD chciałbym przede wszystkim uniknąć wiercenia w płytce i zająć jak najmniej miejsca na niej, a takie piny trochę mi się z tym kłócą.

Jakie rozwiązanie polecacie dla mnie?

I drugie - poboczne pytanie: jak najlepiej/najłatwiej programować gołe scalaki z STM32, jeśli posiadam programatory z płytek Nucleo-64 i Nucleo-144?

Edytowano przez radek04

Udostępnij ten post


Link to post
Share on other sites

Oczywiście są.

Jesteś zaznajomiony z AVR? Więc wiesz co to ISP? Kolejne pytanie, słyszałeś o igłach testowych? Dla przykładu takich: https://www.tme.eu/pl/details/it075-p84/igly-testowe/ ?

Wystarczy wyprowadzić takie złącze (ISP) na pola stykowe - bez wiercenia po prostu gołe pady. Przykładasz takie igiełki i jesteś w stanie zaprogramować układ przy użyciu tych igiełek - bez żadnego adaptera, przejściówek itp. 

Te programatory które posiadasz (Nucleo-64 i Nucleo -144) posiadają złącza SWD - jest to złącze programatora które możesz użyć do własnych celów. Chyba najwygodniej do programowania używać St-link utility.

Jak najlepiej/najwygodniej programować scalaki STM32? Już w sumie napisałem 🙂

Udostępnij ten post


Link to post
Share on other sites

Jak się używa takich igieł? Mógłbym prosić o jakiś film/zdjęcia?

Udostępnij ten post


Link to post
Share on other sites

Takie igły i pola testowe zastępują po prostu złącza do których musiałbyś podłączać przewody. Powszechnie jest to używane w przemyśle chociażby do przeprowadzania ICT (in circuit test) czy programowania układów. Zasada działania nie różni się od podłączania tego do złącza. Czyli zasadniczo wyprowadzasz sobie pola testowe/do programowania w miejsce które Ci pasuje. Dla wygody złącza (pola testowe) do programowania można ułożyć w linii w określonych odstępach. W kroku drugim tworzysz sobie adapterek do programowania z kawałka PCB i tych igiełek testowych (w większości przypadków można je bez problemu lutować do PCB). W odpowiedni sposób podłączasz te igiełki do programatora i poprzez przyłożenie ich i dociśnięcie do pól testowych można układ zaprogramować. Tak jak na tym zdjęciu:

zdjęcie

Te igiełki składają się z igły właściwej, sprężynki i tulejki (obudowy idły) - igła może się częściowo schować w tulejce a sprężynka zapewnia stały docisk. Nie musisz mieć igiełek ustawionych jakoś bardzo dokładnie by mieć dobry styk.

Udostępnij ten post


Link to post
Share on other sites

Wyprowadzasz złącze np. samo SWD na goldpinach i tyle, igly są drogie i nie wygodne jak programujesz coś dużą ilość razy w czasie  testów.

Na Nucleo odpinasz zworki i masz je jako programator a linie są wyprowadzone właśnie na goldpinach. Tak samo robisz na swoim PCB i problem z głowy.

Ja mam zamiast goldpinów gniazdo IDC wyprowadzone zgodnie ze standardem SWD.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

No właśnie chciałem uniknąć goldpinów i innych dużych gniazd. Do SWD potrzeba 5 pinów?

Z drugiej strony jednak - nauczony doświadczeniem - wolałbym mieć dostęp do jakiegokolwiek złącza umożliwiającego programowanie. @ps19, czy mógłbyś pokazać, jak to gniazdo u Ciebie wygląda? Stosujesz jakieś dedykowane taśmy, czy zwykłe przewody?

Edytowano przez radek04

Udostępnij ten post


Link to post
Share on other sites

@deshipu, bardzo fajne rozwiązanie. Czy są też podobne ze złączami po 1 stronie, bądź z większą liczbą takich złączy, żeby wystarczyło także przy stosowaniu 1-str. PCB? Ile minimalnie wyprowadzeń potrzebuję przy programowaniu STM32?

Udostępnij ten post


Link to post
Share on other sites

obraz.thumb.png.f95054ea3853d345bc36d46efd2a7ef6.png

Takie złącze, możesz dać 6 pinowe bez problemu (SWO nie jest potrzebne).
Nie musi to być raster 2,54 mm są też 2 mm - z jednej strony normalne goldpiny  2,54 mm na tasiemce a z drugiej goldpiny na 2mm.

Można dać też 1x6 wg pinologii z Nucleo.


Przykłady:

https://botland.com.pl/pl/80-przewody-i-zlacza-idc

https://botland.com.pl/pl/przewody-i-zlacza-idc/1246-przewod-idc-6-pin-zensko-zenski-30-cm.html

 

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Podoba mi się pomysł z klipsem. Znalazłem także SOIC16, nie są drogie, więc mogę kupić 2 wersje. @deshipu, o jakie 2 dziurki Ci chodzi? W projekcie widziałem 5 dziur między padami. Czy są one konieczne? Czy chodzi jedynie o stabilność klipsa, a bez nich też da radę podłączyć?

Edytowano przez radek04

Udostępnij ten post


Link to post
Share on other sites
4 godziny temu, radek04 napisał:

@deshipu, o jakie 2 dziurki Ci chodzi? W projekcie widziałem 5 dziur między padami. Czy są one konieczne? Czy chodzi jedynie o stabilność klipsa, a bez nich też da radę podłączyć?

Tak, przepraszam, wydawało mi się, że są dwie, źle pamiętałem. Dziurki są konieczne do ustawienia i ustabilizowania klipsa — bez nich nie będzie dobrego kontaktu, bo wystające części klipsa spowodują, że styki będą zbyt daleko od płytki. Na szczęście jak zamawiasz płytki, to dodatkowe dziurki nic nie kosztują.

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Możesz użyć też złącza krawędziowego. Choć klips wydaje się bezpieczniejszy, bo wyciągając złącze możesz zwarcie zrobić.

Edytowano przez szczawiosław

Udostępnij ten post


Link to post
Share on other sites

Kupiłem klipsy do programowania (8- i 16-pinowe <żeby w razie czego na 1-warstwowej płytce też móc robić>) i teraz muszę zwężyć przestrzeń między szczękami klipsa. Robił ktoś to kiedyś? Wystarczy spiłować trochę plastiku?

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...