Skocz do zawartości

robaczek122

Użytkownicy
  • Zawartość

    8
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O robaczek122

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  1. Dzięki za odpowiedzi. Kondensator był wlutowany odwrotnie. Miałem 2 takie same obok siebie, ale zapomniałem, że jeden ma być odwrócony o 180 stopni. Wydaje się, że po prostu nie wiedziałem jak działa multimetr i mierzyłem rezystancję przy włączonym zasilaniu mikrokontrolera.
  2. ale chyba nie przez kilka minut jak miałem podłączone zasilanie?
  3. Cześć, Zaprojektowałem płytkę z STM32. Podłączyłem ją pierwszy raz i zaczął dymić mi kondensator tantalowy (był odwrotnie wlutowany, więc wylutowałem i wlutowałem taki sam odwrotnie). Normalnie, kiedy zasilanie nie jest włączone, to multimetr pokazuje że nie ma zwarcia, ale jak podłącze zasilanie, to mam zwarcie między + i masą. Po odłączeniu zasilania, zwarcie jeszcze występuje na jedno "piknięcie (dotknięcie)" multimetru. Zwarcie pokazuje mi ze jest zarówno na wejściu, jak i za regulatorem napięcia. Jednocześnie pokazuje, że najpierw jest napięcie 5V, a później 3.3V. Co to może być?
  4. Nie masz racji. Mogę przecież używać wyjścia PD14 do generowania PWM mimo, że jest tam podpięty także czerwony LED. A piny PA5, PA6, PA7 są współdzielone z żyroskopem L3GD20, a z powodzeniem można ich używać np. jako wejścia analogowe.
  5. Mógłby ktoś popatrzeć na to na swojej płytce. Możliwe, że to jakiś bug. Dzięki
  6. Cześć, Mam płytkę discovery z Botlandu. Chciałem dodać generowanie PWM na TIM9 w STM32CubeMX na kanale 1. Jeżeli ustawię generowanie pwm na kanale 2 wszystko działa poprawnie i silnik się kręci, ale coś jest nie tak z kanałem 1. Doczytałem że TIM9 kanał 1 (PE5) jest używany w LSM303DLHC, ale ja go nie wykorzystuje w projekcie. Jakieś propozycje do sprawdzenia?
  7. Mam płytkę discovery, czyli jest tam STM32F411VCT. Manual znalazłem tutaj: tutaj U mnie jak daję sConfig. IC2Polarity = TIM_ICPOLARITY_BOTHEDGE (oraz IC1Polarity = TIM_ICPOLARITY_BOTHEDGE ), to licznik przestaje działać i wynik jest niezależny od obracania enkoderem. Dla TIM_ICPOLARITY_RISING i FALLING działa poprawnie. @marek1707 Tabelkę rozumiem. Z tabelki poniżej przez Ciebie wskazanej wynika, że zamiana CC1P z 0 na 1 odwraca kierunek obrotu. Znalałem na jakimś forum zdanie o polarity sConfig.IC1Polarity = TIM_ICPOLARITY_BOTHEDGE: The TIM_ICPolarity_Rising is about inverting the input edges, not the counting mode. As far as I can see, you should make both polarities either rising or falling. To quite from the reference manual: I z manuala: To select Encoder Interface mode write SMS=‘001’ in the TIMx_SMCR register if the counter is counting on TI2 edges only, SMS=’010’ if it is counting on TI1 edges only and SMS=’011’ if it is counting on both TI1 and TI2 edges. Select the TI1 and TI2 polarity by programming the CC1P and CC2P bits in the TIMx_CCER register. When needed, you can program the input filter as well. CC1NP and CC2NP must be kept low W kodzie znalazłem: #define TIM_INPUTCHANNELPOLARITY_BOTHEDGE (TIM_CCER_CC1P | TIM_CCER_CC1NP) #define TIM_ICPOLARITY_BOTHEDGE TIM_INPUTCHANNELPOLARITY_BOTHEDGE Czym więc jest CC1P oraz CC1NP na które składa się TIM_ICPOLARITY_BOTHEDGE? Czyli wychodzi na to, że wybierając TIM_ICPOLARITY_BOTHEDGE oraz domyślą wartość z kursu: sConfig.IC1Filter = 15; //zakładam, że to "input filter" wychodzi nam sprzeczny kod, który nie powinien w żaden sposób działać? Ale dalej nie wiem czym jest tem polarity both edge. [ Dodano: 26-07-2017, 08:38 ] Ok przeglądnąłem dokładniej i dostałem odpowiedź, że nie powinienem używać jednocześnie CC1P i CC1NP dla trybu z enkoderem: Do wykrywania zbocza są inne bity: #define TIM_SMCR_SMS_0 (0x1U << TIM_SMCR_SMS_Pos) /*!< 0x0001 */ #define TIM_SMCR_SMS_1 (0x2U << TIM_SMCR_SMS_Pos) /*!< 0x0002 */ Czyli ustawienie: Brak pytań [ Dodano: 26-07-2017, 18:25 ] Mam problem z ostatnim zadaniem z tego tematu - odczytywanie PWM. Lampka [ Dodano: 26-07-2017, 18:33 ] Mam problem z ostatnim zadaniem z tego tematu - odczytywanie PWM. Lampka świeci z różnym natężeniem w zależności od pozycji enkodera. Wnioskuję więc, że zarówno generowanie PWM jak i obsługa enkodera działa poprawnie. Jednak niezależnie od tych dwóch rzeczy zawsze poniższe zmienne mają takie same wartości (są volatile) InputPWMDuty_cycles 0x20000060 1 InputPWMPeriod_cycles 0x20000144 1 InputPWMPeriod_miliseconds 0x20000064 0 Co może być przyczyną? Jak odczytujący timer TIM2 jest połączony z nadawającym timerem TIM4? [ Dodano: 26-07-2017, 18:34 ] --------------------------------------------- Mam problem z ostatnim zadaniem z tego tematu - odczytywanie PWM. Lampka świeci z różnym natężeniem w zależności od pozycji enkodera. Wnioskuję więc, że zarówno generowanie PWM jak i obsługa enkodera działa poprawnie. Jednak niezależnie od tych dwóch rzeczy zawsze poniższe zmienne mają takie same wartości (są volatile) InputPWMDuty_cycles 0x20000060 1 InputPWMPeriod_cycles 0x20000144 1 InputPWMPeriod_miliseconds 0x20000064 0 Co może być przyczyną? Jak odczytujący timer TIM2 jest połączony z nadawającym timerem TIM4?
  8. Cześć, Czym jest polarity do ustawienia w konfiguracji enkodera? W kursie ustawiamy go na Rising Edge. Ale czemu nie Both Edge. Help z programu nie za bardzo mi pomógł, bo nie znalazłem nic o polarity. Z kodu komentarz z tej linii: sConfig.IC2Polarity = TIM_ICPOLARITY_RISING; to: uint32_t IC2Polarity; /*!< Specifies the active edge of the input signal. Gdzie więc szukać odpowiedzi na przyszłość?
×