Skocz do zawartości

MR1979

Użytkownicy
  • Zawartość

    146
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    12

Wszystko napisane przez MR1979

  1. Można coś takiego robić, ale po co walczyć z problemami które nie istnieją. Doprowadziłoby to do niepotrzebnej komplikacji kodu. uC z rodziny STM32 praktycznie się nie nagrzewają. Wolny czas procesora lepiej wykorzystać na obsługę np logiki gry.
  2. @FlyingDutch Myślałem nad tym. NES chodzi w rozdzielczości 256x240, więc spokojnie dałoby radę takie gry uruchomić. Problemem jest upscalowanie takiego obrazu do 800x480. DMA2D nie wspiera takiej operacji, więc całość operacji spadłaby na uC. Gdybym miał coś takiego robić to bufor małej ramki trzymałbym w SRAM (256x240x8bit = 61kB), a póżniej gdy już ramka będzie gotowa to pojedynczą funkcją scalował i kopiował bym do buforu LTDC. Ale zanim coś takiego będzie możliwe to najpierw muszę ogarnąć ten boot loader. Niestety 16bitowa magistrala danych do SDRAM jest wąskim gardłem całej konstrukc
  3. Witam! Dawno tu nic nie pisałem, ale prace trwają. Przetestowałem już wszystkie komponenty konsolki poza modułem WiFi. I powoli zabieram się za pisanie boot loadera. Plan jest taki: 1. Gdy uruchomimy konsolkę normalnie to bootloader uruchomi ostatnio wczytaną aplikację / grę 2. Gdy uruchomimy konsolkę z wciśniętym przyciskiem menu to pojawi się możliwość wyboru nowej aplikacji / gry z karty SD. USB zostanie też wtedy skonfigurowane w tryb pamięci masowej z możliwością odczytu i zapisu do karty SD. Będzie też można skonfigurować konsolkę pod swoje wymagania (np domyślna jasno
  4. Na płytce PCB układy analogowe i zasilania działają znacznie lepiej niż na stykówce. Dla przykładu uruchomienie jakiegokolwiek przetwornika buck/boost na stykówce jest baaaardzo trudne (mi się jeszcze nie udało). A dokładnie ten sam układ polutowany na PCB startuje bez problemu. Jest duże prawdopodobieństwo że twój układ ruszy bez problemu gdy już go polutujesz na PCB. Z moich rad to: - Używaj ground plane - przy dwuwarstwowej płytce najlepiej po obu stronach. - Upewnij się że ground plane na górze i na dole są połączone przez tzw: via stitching - Utrzymuj możliwie duże odległości pomięd
  5. Myślę że jak już ogarniesz precyzyjny pomiar częstotliwości to wszystkie pozostałe wymagania o których wspomniał @ethanak to już tylko oprogramowanie i interfejs użytkownika. Nie znam się na muzyce i całym tym strojeniu ale wydaje mi się że chodzi o to żeby urządzenie pokazywało na jakiejś skali najbliższą częstotliwościowo nutę oraz odchylenie w centach. Mam nadzieję że doprowadzisz projekt do końca.
  6. Mikrokontroler ma wbudowany komparator, więc powinien mieć również przerwanie od przejścia sygnału przez zero (zbocze roznące i/lub opadające do wyboru). Ustaw dowolny timer jaki ci pasuje niech liczy non stop. W obsłudze przerwania on komparatora odczytaj wartość rejestru timera na moment przerwania oraz oblicz okres porównując z wartością poprzednią. Skoryguj okres o błąd oscylatora. Uaktualnij wartość średnią. Zapisz aktualną wartość licznika jako poprzednią: Tsr(t) = 0.9 * Tsr(t-1) + 0.1 * Tzmierzone F = 1/Tśr - Dalej już wiesz co z tym zrobić, bo pewnie chcesz aby ci wyświetlało l
  7. @pmochocki Użyj kwarcu 32.768kHz do określenia błędu oscylatora. Możesz np policzyć ilość cykli wewnętrznego oscylatora w ciągu np 1 sekundy i porównać z oczekiwaną wartością. Czym dłużej będziesz mierzył tym dokładniejszą wartość błędu uzyskasz. Następnie skoryguj wynik pomiaru częstotliwości wewnętrznym oscylatorem o wcześniej wyliczony błąd. Przeliczenia błędu nie musisz robić cały czas. Wystarczy na moment uruchomienia urządzenia. PS: Jak masz zamiar wyświetlać wynik? Podłączysz jakiś wyświetlacz?
  8. @Gieneq Super projekt Zazdroszczę urządzenia (w pozytywnym znaczeniu) i życzę dalszych sukcesów Sam może kiedyś się skuszę na podobny projekt, muszę tylko jakoś doprowadzić do końca obecny PS: Fajny wzmacniacz
  9. MR1979

    BeckerCAD 12 3D Pro

    Fajna sprawa że tanio, legalnie i że działa offline. Jednak jak patrzę na ten interface użytkownika z lat 90tych, to chyba pozostanę przy darmowej licencji F360. A co sądzicie o projekcie FreeCAD??
  10. Od razu przepraszam za anglojęzyczne nazwy, ale większość materiałów jest po angielsku, i nawet nie wiem jak poprawnie przetłumaczyć te nazwy na polski. Załóżmy że mamy projekt który wyświetla dane na ekran/monitor z częstotliwością odświeżania 30Hz. Czyli mamy nową klatkę co 1/30s (33ms). Załóżmy też że sam obraz jest przesyłany (linijka po linijce) do monitora przez 23ms, a przez pozostałe 10ms jest tzw blanking interval - czyli czas w którym transmisja z pamięci do wyświetlacza się nie odbywa. = JEDEN BUFOR = W takiej sytuacji wyświetlasz obraz i renderujesz kolejną klatkę w
  11. Postępy z placu boju Zmiany w bibliotece graficznej: - Możliwość użycie trzech buforów ramki na warstwę - dzięki temu renderowanie i wyświetlanie grafiki odbywa się niezależnie => wyższy FPS - Wiele optymalizacji kodu, wykorzystanie DMA2D w trybie przerwań Konfiguracja sprzętu: - Zmiana CAS SDRAM z 3 na 2, oraz przeliczenie pozostałych parametrów kontrolera FMC zgodnie z notą katalogową pamięci (wcześniej było copy/paste z konfiguracji płytki discovery STM32F429) - Dostrojenie parametrów horizontal/vertical frontporch w LTCS aby uzyskać odświeżanie dokładnie 30 klatek/s
  12. Ostatnio używałem TPS70933, ale on ma za wysoki dropout votage do zasilania z baterii 1S. Za to ma takie bajery: - Stałe napięcie (nie potrzeba dodatkowych rezystorów na feedback) - Zabezpieczenie przed zwarciem - Zabezpieczenie przed przeciążeniem - Zabezpieczenie przed odwróconą polaryzacją - Zabezpieczenie termiczne Więc w sumie rozwiązuje dużo problemów jeżeli chodzi o zasilanie.
  13. Mam jeszcze jedno pytanie: Jesteś pewien że podczas użytkowania układu na wejściu będziesz miał czysty sygnał (sinusoidę) o jednej tylko częstotliwości? Jak odróżnisz która częstotliwość jest główna po przejściu przez komparator? Co do regulatora to szukaj takiego co łatwo polutować, i ma jak najniższy dropout voltage. Rozważałbym też zejście z napięciem zasilania całego układu np do 3V (jeżeli twój uC na to pozwala). To pozwoli znacznie wydłużyć działanie na baterii.
  14. Tak się tylko wtrącę Bateria nie powinna mieć wpływu, bo nie zasilasz układu bezpośrednio z baterii, tylko za pośrednictwem regulatora LDO.
  15. Skoro sygnały na wejściach są prawidłowe, to znaczy że coś nie tak z konfiguracją histerezy komparatora. Nie mam doświadczenia z ATTiny więc dużo nie pomogę z konfiguracją. W ostateczności zawsze możesz to odfiltrować programowo Kiedyś budowałem miernik indukcyjności na ATMega, ale tam stosowałem zewnętrzny komparator.
  16. Sprawdź na oscyloskopie oba wejścia komparatora i się wyjaśni co powoduje te zakłócenia.
  17. Aktualnie przenoszę moją bibliotekę do grafiki 2D którą kiedyś pisałem na płytkę STM32F429 Discovery. Mam już zaimplementowane następujące funkcje: - piksel, linia, prostokąt, okrąg (oraz wersje wypełnione) - tekst z antyaliasingiem - wyświetlanie bitmapy z bufora w pamięci Wszędzie gdzie możliwe staram się wykorzystywać akcelerację sprzętowa z użyciem DMA2D Wyświetlanie można skonfigurować jako: - pojedyncza warstwa z dwoma buforami ramki - dwie warstwy z dwoma buforami ramki każda Warstwy miksowane są sprzętowo przez kontroler LTDC w momencie przesyłania obrazu
  18. Zabawa z panelem dotykowym Pozdr
  19. Hmmm... sprawdziłem teraz Farnell i jest 535 sztuk dostępnych. https://pl.farnell.com/maxim-integrated-products/max77751cefg/batt-charger-li-ion-pol-4-2v-85deg/dp/3536071 Pozdr
  20. W październiku był w Farnell w znacznych ilościach Aktualnie jest do dostania z Mouser (dla każdego) i RS Components (tylko dla firm). Obie firmy oferują darmową wysyłkę powyżej pewnej kwoty
  21. Z drukarkami 3D jest tak że modele łatwe obsłudze i niezawodne są niestety drogie. Mam namyśli urządzenia które wyjmujesz z kartonu, uruchamiasz i działa po krótkiej automatycznej kalibracji. Jeżeli ma być taniej to niestety trzeba poskładać taką drukarkę, trzeba się liczyć z koniecznością wymiany niektórych części na lepsze (zakupione oddzielnie). Do tego najczęściej takie drukarki nie mają obudowy, więc może być ciężko z utrzymaniem temperatur przy niektórych materiałach oraz niektóre filamenty emitują przykre zapachy. Tak więc trzeba odpowiedzieć sobie na następujące pytania:
  22. Pomyślałem że udostępnię jeszcze schematy konsolki. Do pobrania w załączniku. MiniConsole_V2.pdf
  23. Będzie na stałe wgrany mały programik (Bootloader). Jeżeli uruchomimy konsole tylko przyciskiem power to uruchomiona zostanie ostatnio wgrana aplikacja. Jeżeli konsolka zostanie uruchomiona z jednoczesnym wciśnięciem menu to pojawi się możliwość wyboru aplikacji z karty oraz konfiguracji konsolki. Wybrana aplikacja zostanie zapisana do flash uC i uruchomiona. Inna możliwością jest wgrywanie i uruchamianie aplikacji z pamięci RAM. Opracuje szablon projektu aplikacji do CubeIDE gdzie wszystko będzie skonfigurowane i na tym będę bazował. Wcześniej muszę napisać biblioteki do poszczególnyc
  24. Mam już w Fusion360 wersję obudowy z naniesionymi poprawkami Są też nieznacznie zaokrąglone kanty
  25. Hej! Ogłaszam wszem i wobec że projekt Miniconsole V2 został ukończony Od strony hardware oczywiście Ostateczne parametry tak jak opisałem na początku projektu, ale przypomnę dla podsumowania: Mikrokontroler: STM32F779II / RAM 512kB / Flash: 2MB SDRAM: 32MB Zewnętrzna pamięć EEPROM: 16kB (do zapisu ustawień) Ekran: 800x480x24bit z pojemnościowym panelem dotykowym Wbudowany Akcelerometr / Żyroskop Czytnik kart SD Wbudowany moduł WiFi Wbudowany joystick analogowy Dźwięk stereo Bateria 4000mAh Wbudowana ładowarka ba
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.