Skocz do zawartości

jaceksz73

Nowy
  • Zawartość

    15
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O jaceksz73

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Według mnie warto przejść na przerwania. Warto też zastanowić się nad STM32H7. Będziesz miał wtedy dużo więcej pamięci do dyspozycji. Odnośnie myślenia przy ruchu przeciwnika, to przy zasilaniu bateryjnym może być problem. Ale jeśli będą to akumulatory i wystarczą na partię, to na pewno warto. Można wtedy spróbować zejść o poziom głębiej z analizą. A Ty jak grasz w szachy to myślisz przy ruchu przeciwnika? Generalnie gra w szachy to gra na czas. Gratuluję pomysłu i konsekwencji w realizaji. Naprawdę super projekt. Zarówno sprzętowo jak i programowo.
  2. A nie próbowałeś zaimplementować "myślenia" podczas ruchu przeciwnika?
  3. Mam jeszcze pytanie o sterowanie. Jeśli linię mamy z lewej strony możemy: a) zwolnić lewe koło, przyspieszyć prawe. b) zwolnić lewe koło, pozostawić prawe na prędkości "znamionowej" - wtedy prędkość na prostych może być większa, ale sterujemy tylko przez hamowanie. c) może jeszcze jakaś inna strategia? Jakie są Twoje doświadczenia w tej materii? Jest to związane bezpośrednio z regulatorem. W regulatorze P i PD musimy podać punkt pracy i zakres wyjścia. Czyli w naszym przypadku prędkość "znamionową" i prędkości min,max. Co u Ciebie najlepiej się sprawdzało?
  4. Jak uruchomić kilka kanałów timera w trybie DMA funkcją: HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef * htim, uint32_t Channel, uint32_t * pData, uint16_t Length) ? Przykładowe wywołanie: uint32_t PrawoPWM = 100; uint32_t LewoPWM = 100; HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_1 , &PrawoPWM, 1); HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_2 , &LewoPWM, 1); Uruchamia tylko kanał 1. Natomiast wywołanie: //HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_1 , &PrawoPWM, 1); HAL_TIM_PWM_Start_DMA(&htim4, TIM_CHANNEL_2 , &LewoPWM, 1); Uruchamia kanał 2. To pytanie pojawiło się kilka razy, ale nie znalazłem odpowiedzi. Generalnie pytanie jest o ostani parametr tej funkcji czyli "length". Co on tak naprawdę oznacza i jak się go wykorzystuje? I dlaczego tylko pierwszy kanał, który startujemy uruchamia się? Dokumentacja mówi: Length: The length of data to be transferred from memory to TIM peripheral. Niestety nie rozumiem tego.
  5. Poproszę o sprawdzenie schematu i płytki PCB. Schemat i płytka narysowana w KiCad 5.1. Listwa ma 12 czujników. Zasilanie diód IR +5V, zasilanie tranzystorów +3V3. Diody pogrupowane po 4 szt. Zdecydowałem się nie wstawiać rezystorów do zasilania diód. Mam problem z footprintem gniazda tasiemki sygnałowej FFC. W projekcie użyłem standardowego gniazda z KiCada (Connector_FFC-FPC:TE_1-1734839-6_1x16-1MP_P0.5mm_Horizontal). Jakie gniazdo stosujecie/proponujecie? (może link do produktu)? Może ktoś mógłby podzielić się footprintem do takiego gniazda w formacie KiCad , które można kupić w Polsce? Nie wiem jakie powinienem zamieścić pliki i w jakim formacie, żeby łatwo i wygodnie można było sprawdzić schemat i płytkę. Te załączone to jpg. Proszę o wskazówki.
  6. Tak podejrzewałem. Bardzo dziękuję.
  7. Dziękuję. A gdzie są rezystory od diód? Widać że diody są łączone po cztery. Ale nie mogę dopasować do tych sekcji rezystorów.
  8. Na listwie z czujnikami KTIR widać na zdjęciu wlutowane elementy między nóżki 1 i 2 czujnika. Tych elementów jest 3. Po jednym na cztery czujniki. Wyglada to na opornik obniżający prąd na diodach. Ale . . . Podłączenie jest rownolegle (nóżki 1 i 2). Jaka stoi na tym idea? Czego nie zrozumiałem? Druga sprawa. Diody tych czujników są zasilane 5v, natomiast wejścia ADC procesora pracują w zakresie 0-3,3v. Na zdjęciach widzę tyko pojedyncze rezystory na każde wyjście. Najprawdopodobniej są to rezystory podciągające. Jaki jest zatem zakres napięć na wyjściu z KTIRa? Generalnie to projekt tej płytki z czujnikami bardzo mi się podoba. Chciałbym go zrozumieć.
  9. Też mnie to zastanawia. Takie sprawdzanie źródła przerwania zajmuje niepotrzebnie czas. Czy mógłby ktoś ten temat rozwinąć. Jak stosować SysTick_IRQn?
  10. W CubeMX jest dokładnie tak jak piszesz. W dokumentacji do F411 jest dokładnie tak samo. Ale pytanie pozostaje: dlaczego w odcinku #6 i odcinku #8 są podane chyba sprzeczne informacje? I drugie pytanie co jest taktowane wolniej a co szybciej. W dokumentacji jest napisane: "Max. interface clock (MHz)" to jest wolniej taktowane i "Max. timer clock (MHz)" to jest szybciej taktowane. Ale co to dokładnie jest?
  11. Proszę o wyjaśnienie taktowania magistrali APB1. W części #6 napisane jest: "Uwaga! Dla magistrali APB1 ograniczenie do 50MHz istnieje tylko dla części obsługującej peryferia. Timery znajdujące się na APB1 Timer Clocks mogą być taktowane częstotliwością 100MHz!". Natomiast w części #8 napisane jest: "Zaglądając na początek artykułu o zegarach dowiemy się, że timer 4 znajduje się na magistrali APB1, a więc będzie taktowany częstotliwością 50MHz (TIM_CLK)." Jak to jest z tym taktowaniem? Przy ustawieniu 50/100MHz co jest taktowanie wolniej a co szybciej?
  12. Bardzo dziękuję za wskazówki i obszerne wyjaśnienia. Odnośnie komunikacji. W artykule napisałeś: Czy program do przejścia mikrokontrolera w bootloader operował na pinach boot0 i boot1 i resetował mikrokontroler? A jak wychodziłeś z bootloadera? Jak realizowałeś debugowanie przez port COM? Czy mogłeś podglądać rejestry czy tylko wysyłałeś dane do portu? Dlaczego nie korzystałeś z programatora lub innej metody?
  13. Zastanawiałem się czy w pytaniu podać moje typy. Nie podałem ich, żeby nie sugerować innym, ale faktycznie wyszło to trochę zbyt ogólnikowo. Planuję złożyć LF na następujących komponentach: 1) procesor: STM32H750VBT6 - 128KB, 480MHz, obudowa 100-LQFP (14x14), Liczba I/O - 82 2) czyjniki IR: 12 szt. KTIR0711S 3) silniki: Pololu HPCB 10:1 z obustronnym wałem 9V (ewentualnie z enkoderem) 4) sterowniki silnika: dwa Pololu DRV8833 - dwukanałowy sterownik silnika 10.8V / 1.2A - Połączone dwa wyjścia ze sterownika na jeden silnik 5) stabilizator napięcia 5V: Stabilizator LDO 5V LM1117MP - SMD SOT223 6) stabilizator napięcia 3,3V: Stabilizator LDO 3,3V LM1117MP - SMD SOT223 7) Bateria: nano tech 35/70C 300mAh 7,4V Pozostaje jeszcze opcjonalny czujnik wykrywający przeszkodę i żyroskop. Tu niejstety nie mam pomysłu. Najtrudniejsze dla mnie jest zasilanie silników. Jak je najlepiej zrealizować? Co sądzicie o takim zestawieniu? Co należałoby zmienić albo dodać?
  14. Poniższe pytanie zostało wydzielone z następującego tematu: --- Dziękuję. A jakie obecnie są najlepsze komponenty do LF? diody: silniki: encodery: sterowniki do silników: stabilizator napięcia 5v: stabilizator napięcia 3,3v: bateria (zasilanie): Czy zalecane jest np użycie drv8833 do jednego silnika? Czy powinno się podnieść napięcie z baterii 2S 7,4v do sterowania silnikiem? Czy stabilizować napięcie sterowania silnikami? Procesor znalazłem taki STM32h750 Ma tylko 128MB pamięci. Czy to wystarczy?
  15. Wiem, że wątek jest stary, ale nadal wiele osób inspiruje. Podałeś schemat i wiele wskazówek. Dziękuję. Do czego wykorzystujesz napięcie 5V? Czy jeden stabilizator 3V3 jest wystarczający pod względem zakłóceń? Niektórzy rozdzielają na zasilanie MCU i ADC.
×
×
  • Utwórz nowe...