Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 8 cze 2025, o 11:46


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 5 lip 2014, o 12:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Hej !

    Własnie zaczynam moją przygodę z STM32, ale już zaczynam mieć porblemy uruchamiając przyklady z książki na moim discovery z prockiem z rdzeniem M0. Sami wiecie, że są pewne ograniczenia niższych wersji. I postanoiwłem wykonać swój zestaw startowy z prockiem stm32f100r8 z rdzeniem już cortex M3. Ale mam problem z podłączeniem na schemacie innych ukałdów typu karta sd ( do jakich pinów ? ) - nie oczekuję gotowego rozwiązania, tylko miejsca gdzie mam tego szukać. Także prosze o pomoc w połaczeniu urządzeń typu karta sd z mikrokontrolerem.

    Obrazek


    zmieniłem lekko temat rezasurmar



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2014, o 14:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sty 2013
    Posty: 123
    Lokalizacja: Warszawa
    Pomógł: 10

    Musisz podłączyć kartę SD do portu SPI.
    Nie wiem ilu nóżkową masz obudowę, zatem musisz dopasować to do poniższych danych:

    Obrazek

    Obrazek

    To oczywiście wycinka z datasheeta od tej rodziny procesorów.
    Bez dalszego zaglądania do niego nie da się obejść ;-)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2014, o 16:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Właśnie go znalazłem - wcześniej też szukałem w datasheecie, ale jakoś pominąłem tą tablekę, przyzwyczajony do datasheetów Atmela.
    A tutaj poprawiony schemat:

    Obrazek

    Jak myslicie co mogę jeszcze tam dodac oprócz paru diodek itp ? Oczywiście puste piny będą wyprowadzone na goldpiny.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2014, o 19:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Dzięki bardzo wszystko przeczytałem, ale nasuwa mi się pytanie - do jakich pinów mam podłączyć programator z płytki discovery ? Wystarczą tylko piny SWDIO i SWCLK, GND i Vcc ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2014, o 19:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sty 2013
    Posty: 123
    Lokalizacja: Warszawa
    Pomógł: 10

    Niektórzy zalecają jeszcze wyprowadzenie linii Reset, bo niektóre programatory (Jlink?) z niej korzystają. Natomiast ST-Link z niej nie korzysta (i czasami sprawia to kłopoty z dostępem do procesora w przypadku zablokowania interfejsu SWD).
    Ale jeśli masz ręczny reset na płytce w postaci mikroswitch'a , to w razie kłopotów zawsze można "programować z wciśniętym resetem" :-)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2014, o 20:04 
    Offline
    Użytkownik

    Dołączył(a): 27 mar 2012
    Posty: 511
    Lokalizacja: Sląsk
    Pomógł: 14

    Tylko uważaj bo sygnały SPI od karty sd używasz też do wyświetlacza od noki. A one mogą się pogryźć.

    _________________
    Programowanie to styl życia :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 12:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Cytuj:
    Tylko uważaj bo sygnały SPI od karty sd używasz też do wyświetlacza od noki. A one mogą się pogryźć.


    A czemu ? Przecież używam linii CS, które właśnie służą do tego by się nie gryzły. Takie połączenie już wykonywałem na avr'ach i śmigało pięknie.

    Edit:

    dodałem kilka rzeczy i byłbym bardzo wdzięczny gdyby ktoś zerknął na schemat czy nie ma jakichś błędów itp., bo chciałbym ją już dziś wytrawić, a jutro zabrać się za składanie.

    ObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 14:33 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    1.W lewym dolnym rogu ścieżka nie jest z niczym połączona
    2. Część ścieżek jest zbyt blisko
    3. Użyj DRC i pousuwaj błędy overlap i clerance bo kilka się znajdzie.
    4.Trochę mało tych kondensatorów odprzęgających przy procku, dławik L1 może przeszkadzać (Schemat ze strony 24)
    http://www.st.com/st-web-ui/static/acti ... 164185.pdf
    5. Na NRST ma być 0,1uF (100nF) a nie 10uF ;)
    6. Piny BOOT0 i BOOT1 (Polecam zrobić zworki SMD) - http://www.st.com/st-web-ui/static/acti ... 164185.pdf
    7. Kondensatory do kwarcu coś około 20pF
    8. Trzymaj się dokumentacji przy filtrowaniu zasilania (dobór pojemności) - mniej problemów ;)


    Jak zdecydował byś się na np. STM32103RBT6 (Większość książek z BTC jest oparta o rodzinę ..103 także przykłady powinny ruszyć za pierwszym razem) to większość pinów IO ma tolerancję 5V i więcej peryferiów, a programuje się tak samo.


    Autor postu otrzymał pochwałę


    Ostatnio edytowano 6 lip 2014, o 15:35 przez ps19, łącznie edytowano 5 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 14:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    1. Dzięki, poprawione.
    2. które ścieżki według Ciebie są za blisko ? Jeśli chodzi o te przy procku to nic na to nie poradzę, bo jego nogi sa tak blisko siebie.
    4. Proponujesz dodać kilka tantali czy jeszcze ceramiki ?
    5. zmienione
    6. już dodaję
    Dzięki za odpowiedź



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 14:59 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    Zmodyfikowałem trochę wcześniejszego posta ;)

    2. Przy przycisku od resetu (prawa noga u góry), powinno udać się ją puścić pod przyciskiem jak przesuniesz nieco w dół ścieżkę która leci od prawej strony chyba do rezystora.

    Najważniejsza zasada na początek to trzymać się dokumentacji - zaoszczędzisz sporo czasu na szukaniu błędów. Te procki są nieco bardziej wrażliwe niż Atmegi na błędy w filtrowaniu dodając wg. siebie np. "tantale" możesz pogorszyć sytuację, a nie ją poprawić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 16:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Poprawiłem mniej więcej, dodam jeszcze tylko kondensatory i chyba będzie OK:

    ObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 17:57 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Nie widzę jakiś uchybień
    warto czasem popodglądać chińskie wynalazki z armami :)
    na płytce coś masz niepoprowadzone ??

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 18:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Aaa tak mam jedną ścieżkę +5v, ale nie chcę jej ciągać po płytce - dam tam przewód.

    Jakie chińskie wynalazki masz na myśli ? :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 18:28 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    jest masa chińskich z HY płytek z STMami i dodają do nich bardzo obszerne schematy :)

    dlaczego nie chcesz po płytce ??

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 lip 2014, o 18:36 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    Ja bym na twoim miejscu zrezygnował z kabelka, a pociągnął ścieżkę nawet bokiem płytki i dał na niej przy odbiorniku ewentualnie 100nf przy odbiorniku. Stosuję czasami długi ścieżki po 20cm i nic się nie dzieje.

    Kabelek moim zdaniem mocniej zbiera zakłócenia, no chyba że dasz taki z ekranowaniem coś a`la skrętka UTP, ale to ostra przesada.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 07:39 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    No dobra przekonaliście mnie już prowadzę tą ścieżkę :P

    EDIT:

    Obrazek

    Moge już wytrawiać, czy jeszcze coś poprawić ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 09:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sty 2013
    Posty: 123
    Lokalizacja: Warszawa
    Pomógł: 10

    Jak na mój gust, to odległości pomiędzy padami w scalaku STM32 są za małe, a szerokość padów za duża.
    To powinno wyglądać mniej więcej tak:
    Obrazek

    Producent w datasheecie dostarcza informację jak powinien wyglądać footprint od każdego scalaka.

    Oto przykładowa strona:

    Obrazek

    Mamy tam wymiary A,B,C,a,e...itd.. i nasz footprint w programie PCB powinen mieć dokładnie te same wymiary (a przynajmniej takie rozmiary są rekomendowane przez producenta scalaka).

    A druga sprawa - ja bym nie pozostawiał niepodłączonych stref ("wylanych" powierzchni) - pod scalakiem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 10:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Wiesz co wydaje mi się że to tylko złudzenie, bo mam włączone sprawdzanie DRC i zaznaczyło mi między padami nóg procka czerwonw kreski, i to pewnie one powodują tren efekt - jest to biblioteka znana w necie i korzysta z niej dużo osób.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 11:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sty 2013
    Posty: 123
    Lokalizacja: Warszawa
    Pomógł: 10

    Najlepiej po prostu sprawdzić jaka jest odległość pomiędzy padami footprintu procka - min. 0,2mm, (recommended 0,25mm).
    Dla mnie to wyglądało na oko jak 0,1 mm :-)

    A bibliotekom nie należy bezgranicznie wierzyć, bo "można się przejechać" ;-)
    Ja zazwyczaj robię próbny wydruk samych padów scalaków i przymierzam je, czy rzeczywiście pasują.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 11:24 

    Pomógł: 0

    Jado napisał(a):
    Ja zazwyczaj robię próbny wydruk samych padów scalaków i przymierzam je, czy rzeczywiście pasują.


    Dokładnie to samo polecam, już raz sie przejechałem i zamiast padów 0,65mm zrobiłem 0,9mm, niestety zamówienie poszło i trzeba było rozginać nóżki w scalakach :lol:



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 lip 2014, o 17:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Hehe ok zrobię tak jak mówicie - najpierw wydruk i porównam sobie z prockiem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2014, o 16:58 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    Możesz pochwalić się jak ci to wyszło ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 11:20 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Pochwalę się już jutro, bo teraz byłem tydzień poza domem, ale za to zamówiłem paczuszkę stopu lichtenberga i już doszła, także tylko jak przyjadę zacznę cynwanie i lutowanie. Póki co wziąłem sobie na wyjazd płytkę discovery f0 i coś tam sobie powolutku piszę, tylko trochę się zniechęciłem do STL'a czytając fora, i nie wiem czy nie lepiej mi od razu zacząć na rejestrach.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 11:27 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    poczytaj o CMSIS i sam wybierz drogę http://sunduino.elektroda.eu/wordpress/

    albo się standard , albo piszesz dla siebie tylko ..
    :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 15:19 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    Ja piszę na rejestrach + CMSIS, ogólnie fajna sprawa tylko niestety nie ma żadnych książek po Polsku o tym. Pozostaje DS, Programing manual i dokumentacja ARM`a, większość przykładów w internecie oparta jest o SPL`a.

    Jestem bardzo początkującym w temacie, ale chętnie pomogę.

    Ten link może Ci się przydać:
    http://infocenter.arm.com/help/index.js ... BCFHA.html

    Co do środowiska to CooCox albo Eclipse (Ja używam Eclipse Luna + OpenOCD 0.8.0 + ST-LINK/V2 sterownik WinUSB)

    Przy składaniu posiłkowałem się tymi stronami, debuger ustawiony w oderwaniu od wszystkich poradników jakie znalazłem :D

    http://sunduino.elektroda.eu/wordpress/ ... rm-part-1/
    http://www.freddiechopin.info/pl/artyku ... n-tutorial
    http://promikro.com.pl/wp-content/uploa ... images.pdf



    Ostatnio edytowano 19 lip 2014, o 15:50 przez ps19, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 15:44 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    ps19 napisał(a):
    tylko niestety nie ma żadnych książek po Polsku o tym


    mozliwe że coś się zmieni ... w tej kwestii
    zacząłem już powoli wprowadzenie ogólne do CMSIS i .... a cicho sza puki co

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 16:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sty 2013
    Posty: 123
    Lokalizacja: Warszawa
    Pomógł: 10

    ps19 napisał(a):
    Ja piszę na rejestrach + CMSIS, ogólnie fajna sprawa tylko niestety nie ma żadnych książek po Polsku o tym. Pozostaje DS, Programing manual i dokumentacja ARM`a

    Przy okazji ćwiczysz angielski ;-) - to dobra motywacja do nauki.
    Dzięki temu potem otworem stoją wszelkie zagraniczne (anglojęzyczne) strony WWW, fora, portale, strony producentów, książki angielskojęzyczne, materiały video na YT, itp....

    I świat staje się piękny ;-)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 16:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    Oho dzięki za linki już zaczynam wszystkie powoli czytać.

    Tylko kurczę trochę mi szkoda bo mam książkę Marka Galewskiego, i jest naprawdę fajna, ale jak chyba jak już zaczynać to porządnie. Myslicie że książka może mi się do czegoś przydać, nawet jeśli nie będę używał STL'a ?

    EDIT:

    Czekajcie czekajcie czyli w sumie STL jest pisany zgodnie z CMSIS'em ? Czyli jest to jakby to samo, czy jak ? Bo ja już powoli się gubię...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 17:58 
    Offline
    Użytkownik

    Dołączył(a): 15 lut 2012
    Posty: 224
    Lokalizacja: Opole
    Pomógł: 24

    1. Książkę zostaw bo masz w niej opisane peryferia, możesz wzorować się na programach z książki w kwestii kolejności ustawiania rejestrów - są miejsca gdzie jest to dosyć ważne.
    2. Tak i nie, STL ma w bardzo wielu miejscach mnóstwo if`ów przez co niepotrzebnie obciążają procesor, jeszcze sporo innych wad, ale nie chcę się wypowiadać w tym temacie bo zdecydowanie zdecydowanie za krótko w tym siedzę.

    O przykładzik - ustawianie portów - rejestry STM32F4 dla F1 praktycznie to samo tylko różnią się chyba nazwą 2 rejestry:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Mieszaniec :P CMSIS + rejestry

    Kod:
    void NVIC_Conf(void)
    {
                                      //0b110
    SCB->AIRCR |= 0xFA05 | (6<<8); //Grupowy model przerwań 8 grup(x) 2 sub(y) (0bxxx.y)
     //0xFA05 wymagane przez procesor, aby zaakceptował zmianę rejestru AIRCR
                                        //0b000.1
    NVIC->IP[SysTick_IRQn] = (0b0001<<__NVIC_PRIO_BITS); //Najniższy priorytet grupowy(0), najwyższy sub(1)
    NVIC_ClearPendingIRQ(SysTick_IRQn); //CMSIS
    NVIC_EnableIRQ(SysTick_IRQn); //Włącz przerwanie od SysTick`a

    NVIC->IP[EXTI0_IRQn] = (0b0000<<__NVIC_PRIO_BITS); //Najniższy priorytet grupowy(0), najniższy sub(0)
    NVIC_ClearPendingIRQ(EXTI0_IRQn); //CMSIS - wyszyć ewentualny pending ("stan nierozstrzygnięty :P )
    NVIC_EnableIRQ(EXTI0_IRQn);
    }



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 lip 2014, o 19:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2012
    Posty: 159
    Pomógł: 1

    A w CooCox'ie można pisac w oparciu o samego CMSIS'a ? Zależy mi także na debugerze bo to naprawdę przydatna rzecz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 37 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO