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 w 2025? 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 17 maja 2025, o 22:09


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
    Autor Wiadomość
    PostNapisane: 11 lip 2024, o 13:21 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Witajcie.
    Postanowiłem zgłębić tajniki obsługi kart SD. Od dawna nosiłem się z tym zamiarem, no i zaczęło się ... W sumie start był dobry. Mam zestaw atb 1.04. Podpiąłem slot karty na pokładzie do odpowiednich pinów atmegi 32. Skorzystałem z adaptera do kart microSD. Zastosowałem lekcję 15_TEST_Petit_FS z BB. Obejrzałem trzy poradniki Mirka do tego
    tematu. Wszystko poszło prawie od razu.

    Zależało mi na razie tylko na odczycie plików tekstowych z karty, a więc usunąłem wszystko z kodu odnoście zapisu. Następnie podpiąłem zewnętrzny slot do kart microSD, jakich pełno na
    znanym portalu aukcyjnym do arduino. Wszystko śmiga bardzo dobrze i powtarzalnie na różnych kartach microSD 1gb. Wziąłem kartę 16gb na testy i utworzyłem na niej partycję fat 1gb.
    Również śmiga. Robiłem to wszystko na zestawie uruchomieniowym.

    Problemy się zaczęły, kiedy przeniosłem program na pcb, która to płytka jest obsługiwana przez programator usbasp atnel (na zestawie używam wbudowany programator na ftdi). Czyli podpiąłem się kartą pod złącze spi atmegi. Do sygnału CS wykorzystałem port, pin PB1. Ustawiłem ten port w pliku mmc.c biblioteki PetitFS.

    Na początku jeden procek przestał działać. Nie mogę go odczytać. Wpiąłem drugi i działa póki co, ale program się ciągle zawiesza. Tzn program nie dociera do while(1). W while(1)
    wyświetlam tekst "test". Jeśli z main usunę
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    to tekst z while(1) się wyświetla, czyli ok. Po odkomentowaniu zawiecha. Stanąłem w miejscu. W poradniku Mirka o testowaniu kart jest mowa o włączaniu i wyłączaniu spi. Może tu tkwi problem.
    Napisałem coś takiego, ale nie jestem pewny...

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


    Wiesza się program. Co robię źle ???



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lip 2024, o 15:51 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    pokaż lepiej schemat tego swojego pcb a szczególnie dokładny fragment połączeń programatora i karty bo tu może być problem

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lip 2024, o 16:26 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Witaj Mirku.
    Wszystko zostało w pracy i jutro mogę ze szczegółami pokazać, ale pcb mam od roku. Mój projekt i wykonanie przez fabrykę. Wiele razy wgrywałem wsady przez usbasp.
    Nie było z tym problemu. Dzisiaj również wgrywałem wsady, ale przed podpięciem czytnika.
    Czytnik był wcześniej podpięty do atb 1.04. Było ok. Odpiąłem go i podłączyłem do mojego pcb, które jest ciągle w użyciu, jak mam trochę czasu i na nim coś tam zawsze robię. Ma podpięty enkoder i lcd. Zawsze działa. Chciałem do tego zaimplementować czytnik kart i dla tego podpiąłem się do tego pcb. Miso do miso, mosi do mosi, sck do sck i cs do PB1. + karty do +5v na pcb i masa-masa.

    Pomijając hardware, to nie rozumiem, czemu po zakomentowaniu linijki z fragmentem:

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


    Program idzie dalej i wykonuje się pętla while, gdzie dla sprawdzenia jest napis na lcd. Jak odkomentuję, to program przechodząc przez main (inicjalizacje peryferii) zatrzymuje się. Czytnik mam taki:

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lip 2024, o 18:57 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    No słuchaj - jeśli uważasz, że błędu nie masz w hardware - to hmmm co ja biedny żuczek mogę pomóc. Skoro ci zawsze działało i działa a tylko czasem nie działa - no to będziesz (nie obraź się) dalej szukał wiatru w polu. Ni odbieraj tego źle że piszę ironicznie czy coś - ale no sam sobie przeczysz i pewne rzeczy piszesz nielogicznie niestety :(

    Ja z kolei po tych twoich opisach czuję problem hardware i co zrobić Panie? .... Jak mówię, w ten sposób będziesz szukał problemu w nieskończoność ... Ja zaczynam analizę, również swoich problemów) od hardware chociaż miałbym to po raz tysięczny przeglądać od nowa. Nigdy ale to nigdy nie działam na zasadzie "jak mi wcześniej działało to nie może być problemu w Hardware" bo to jest niestety bez sensu.

    Skoro zatem tu go nie ma tzn schematu to ja się odmeldowuję ...

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lip 2024, o 20:22 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Mirku, nie unoś się. Jutro rano wrzucę schemat podłączenia. W domu nie mam sprzętu. Ja tylko staram się w miarę dokładnie na ten moment opisać, jak to mam podłączone.
    Piszę, a żeby przekazać max informacji. Logiczne jest, że coś jest zbabolone, że nie działa. Pozdrawiam. Robert.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lip 2024, o 02:59 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    A gdzie ja się unoszę ? Ja dokładnie opisuję i mówię zawsz o co mi chodzi a gdy ktoś pisze że wie lepiej to wtedy co mam dalej zrobić ? Wtedy mówię, że się odmeldowuję i to nie jest żadne unoszenie się.

    To nie jest piekarnia, nikomu nigdzie się nie śpieszy - to zwykłe forum, więc jak już będziesz miał schemat to wrzucisz i można iść dalej i sprawdzać

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lip 2024, o 07:18 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Dzień dobry.
    Przyniosłem drugi czytnik, a żeby nie przekładać. Podłączyłem do atb 1.04. Wszystko działa prawidłowo. Drugi podpięty pod pcb. Sprawdziłem połączenia. Jest, jak na załączonym schemacie.
    Ja wiem, że nie piekarnia. Przecież nie ponaglam. Rozumiem zasady forum. Pozdrawiam.

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lip 2024, o 08:30 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27396
    Lokalizacja: Szczecin
    Pomógł: 1043

    No i dobrze myślałem - totalna masakra na schemacie jeśli chodzi o SPI. Totalna niestety ...

    Jedną z najgorszych rzeczy to brak SZCZEGÓLNIE rezystora podciągającego linię CS twojego czytnika do VCC - bez tego napięcie w trakcie programowania procka na linii CS PB1 jest pływające - co jasno mówi, że może raz działać a raz nie działać. Że może 500x zadziałać ale za to kolejne 20x nie zadziałać itp itd

    Kolejna sprawa to rezystory podciągające linie MOSI, MISIO i SCK - 10K do VCC

    Kolejna sprawa jak się nie chce mieć problemów na czas programowania a ma się na tych samych liniach kartę pamięci to się daje na liniach MOSI, MISO, SCK rezystory 100R do USBasp. Zaś sama karta podłączona jest bez nich bezpośrednio do linii procka. Tylko programator przez rezystory

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lip 2024, o 08:32 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    Hmmm, a gdzie schemat na podstawie którego robiłeś pcb? Bo chyba używałeś jakiegoś programu do zaprojektowania płytki? Czy z kartki sch robiłeś pcb w programie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 lip 2024, o 08:49 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Wielkie dzięki Mirku za chęć pomocy. Zastosuję się do wszystkich wskazówek. Zabiorę zestaw do domu, poprawię w weekend i opiszę.
    Może coś przeoczyłem, ale oglądając Twoje 3 poradniki "Karty pamięci + mikrokontroler", a w szczególności part02, gdzie użyłeś programator usbasp i płytki stykowej + atmega 8, nie zauważyłem
    nic, poza kabelkami. Nigdy wcześnie nie podłączałem dwóch urządzeń pod SPI i zrobiłem, jak wyżej.... Czytnik chciałem kupić ze sklepu Atnela, ale niestety niema. Podłączyłem sklepowy, który ma buforek i sadziłem, że będzie ok...... Pozdrawia. Robert.

    ------------------------ [ Dodano po: 11 minutach ]

    micky napisał(a):
    Hmmm, a gdzie schemat na podstawie którego robiłeś pcb? Bo chyba używałeś jakiegoś programu do zaprojektowania płytki? Czy z kartki sch robiłeś pcb w programie?


    Schematu nie robiłem w programie, tylko ze szkicu na kartce, gdyż był zbyt prosty. Nie zawiera wiele peryferiów, a więc tak to robię w takich sytuacjach. Samo pcb robię w Sprint-layout 6.0.
    Oczywiście dokładnie sprawdzam pod kontem błędów, zanim wyślę gerbery, ale tam nie było mowy o karcie sd. Podlutowałem przewody od czytnika pod piny kanda na pcb i tak to testowałem....

    Z tego wszystkiego zakładam, że gdybym procek zaprogramował na innym zestawie (nie moje pcb) i podpiął dopiero w miejsce kanda na mojej płytce z pominięciem programatora, to układ powinien zadziałać. Ale byłoby to nie wygodne na częste zmiany wsadu. Chyba dobrze myślę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2024, o 07:51 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Witam. Trochę czasu upłynęło.
    Notoryczny brak :( A więc szczerze mówiąc utknąłem w martwym punkcie. Wykonałem połączenia rezystorowe, ale nic to nie dało. Odstawiłem na chwilę moje pcb i wróciłem do zestawu atb 1.04,
    a żeby wyeliminować ewentualne babole. Wkleiłem bibliotekę MK_SPI do projektu. Biblioteka, jak i program działają wyśmienicie. Dane z karty wyświetlają się na lcd bez problemu i powtarzalnie.
    Niezależnie od tego, czy dam jakiekolwiek rezystory podciągające, czy też nie. Testowane na różnych prędkościach ustawianych w bibliotece i mk_spi.h.

    Cały czas wgrywany wsad przez TXD RXD Atmegi32. Na spi jest tylko karta, a więc nic się nie gryzie. Wszystko gra, dopóki korzystam ze sprzętowego spi. Jeśli przepnę CS na inny pin i próbuję to
    skonfigurować, to program się wykrzacza. Dla tego zastosowałem bibliotekę MK_SPI, a żeby coś wyeliminować. Kiedy nie zmieniając pinów procka przełączę bibliotekę w trym soft spi:

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


    To program przestaje działać. Mowa o pinach PB4, PB5, PB6, PB7. Próbowałem na innych pinach. Nic to nie daje. Na pewno coś przeoczyłem. Coś źle robię, ale nie ogarniam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2024, o 10:26 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sty 2016
    Posty: 1170
    Lokalizacja: Kraków
    Pomógł: 93

    Robert_1967 napisał(a):
    Jeśli przepnę CS na inny pin
    Może to nie pomoże, ale coś mi się przypomniało.
    Dawno temu obiło mi się o uszy, że nawet jak wykorzystujesz inny pin jako CS, to ten, który jest przypisany do SPI musi być odpowiednio ustawiony. Nie znajdę tego tematu, może to nawet na innym forum było.
    A jeśli wprowadzam zamieszanie, to przepraszam. Pamięć bywa zawodna...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2024, o 11:29 
    Offline
    Użytkownik

    Dołączył(a): 18 cze 2015
    Posty: 374
    Pomógł: 0

    Dzięki Marhef
    Dzięki za sugestię. Tylko że nawet nie zmieniając pinów (pozostawiam na sprzętowym spi), a w bibliotece MK_SPI przełączam na soft.... to już nie mam odczytu i ekran pusty.
    Mirek w poradniku do tej biblioteki pokazał na przykładzie dogadywania się dwóch zestawów atb, że działało w obu przypadkach, czyli na hardware i software spi.

    Pewnie o czymś zapomniałem, ale piszę C okazjonalnie i gdzieś poległem. Oprócz dodania biblioteki we właściwych plikach w mejnie dałem "spi_init();" i to wszystko.



    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: 13 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO