Parametry sterownika zależą od sterowanego obiektu: masy ruchomej, zakresu ruchu i siły elektromagnesu. Mamy tutaj do czynienia z układem drgającym, który powinien pozostać w stanie metastabilnym, czyli siła wytwarzana przez elektromagnes musi równoważyć ciężar (iloczyn masy ruchomej i przyspieszenia ziemskiego) w zadanym położeniu. Zbyt duża siła odepchnie...
No i tutaj jest właśnie problem, czy ten prąd musi ciągle płynąć nawet gdy nie ma zmiany pozycji? Trochę to bez sensu, akumulatory się rozładowują, a silnik się grzeje. Niby nie musi ciągle płynąć ale najprościej jest zrobić żeby płynął ciągle. Jeśli chodzi o niestosowanie enkoderów (lub innych czujników wyznaczających pozycję rotora względem statora)...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
Generalnie nie ma to wielkiego sensu. Poruszyłeś tak wiele zagadnień, że nie sposób tego opisać w kilku zdaniach. W zupełności można zastosować wewnętrzny ADC z STM32, który też ma rozdzielczość 12-bitów. Stosując równocześnie dwa przetworniki da się uzyskać próbki prądu i napięcia z identycznych chwil czasowych. Do tego całość jest wewnątrz STM32 i...
(at)kubamiszkiewicz Do takich rzeczy potrzeba jakiś program do debugowanie ramki i symulacji mastera/slave modbus. Potrzebujesz konwertera RS485/USB i np. programu ModbusViewTCP. Tutaj może być masa nakładających się błędów np. niewłaściwe parametry komunikacyjne, błędnie zarobiony przewód komunikacyjny, zapis/odczyt nieprawidłowych rejestrów ( trzeba...
To, co jeszcze warto wyciągać z takich drukarek to enkoder liniowy. To wygląda jak ten transoptor szczelinowy, ale przechodzi przez niego taki przeźroczysty pasek z kreskami. Super sprawa. Standardowo można znać przesunięcie paska, względem enkodera o 1/4 odległości pomiędzy kreskami. Działa jak zwykły enkoder, czyli można np. podłączyć, prawie bezpośrednio...
Czy w STM32 można zmusić ADC do pracy w 8 bitach (regular), czy jedynie pozostaje przesunięcie ustawione ADC_JOFR aby mieć odczyt 8bit ?
Mam jeszcze pytanie odnośnie samych danych. W androidzie znajduje się funkcja, która jest wywoływana, gdy dane przyjdą. W jaki sposób można wykonać rozróżnienie przychodzących danych? Mogę oczywiście dodać komendy, jednak będą one nieodróżnialne od danych. Komendy mogą występować na określonych pozycjach (np. pozycja 0 - bajt komendy, pozycja 1,2 -...
Po pierwsze sorry za zwłokę. Po drugie na pewno linii nie pomyliłem. linie adresowe na pewno są przypięte do masy ponieważ na Arduino działa. Adres też nie powinien się zmienić. zegar ma 100k (standard). Zauważyłem, że jak zmienię linię z PB9 na PB7 (SDA), a z PB8 na PB6 (SCL) (to się chyba mapowanie nazywa) to zmienia mi się z HAL_ERROR na HAL_BUSY...
W kodzie jest jedno Delay :) wykorzystane tylko do celu eksperymentu bazujące na przerwaniu Systicka. Niestety po wpisaniu: GPIOA->BSRR = 1 << 5; //set bit Delay(1000); GPIOA->BSRR = 1 << 21; //reset bit układ zachowuje się podobnie jak pisałem wcześniej albo dioda cały czas świeci, a po zamianie linijek jest gaszona. Mam pytanie,...
Witam. Poniewaz chce zostawic w swoim programie pierwsze sektory nieuzywane (ewentualnie bez zadnych konkretnych funkcji) moj program powinien byc wygenerowany z okreslonym offsetem. Przebrnąlem przez skrypt linkera i mam pierwsze 4 kbyte flasha przeznaczone na moja sekcje BOOT, a reszta pamieci na sekcje FLASH. Skoro tablica przerwan tez sie przesuneła...
Musze połączyć się z czujnikami pracującymi na magistrali Modbus. Ponieważ mam z tym problemy, ominąłem magistralę 485 i połączyłem bezpośrednio USARTy obu urządzeń. Niestety, czujnik nie odpowiada. Wysyłam mu jako pytanie jego nr, kod odczytu rejestrów (0x03), dwa bajty adresu pocz. (00,00,) itd. Na końcu wysyłana jest suma kontrolna, też dwa bajty....
już wiem czemu działa [; myślałem, że w STM32 jest tak jak w ARM7 - że jedynie kawałek pamięci jest remapowany w obszar wektorów przerwań. Doczytałem właśnie, że jednak cały FLASH jest dostępny zarówno pod adresem 0 jak i adresem 0x8000000. Właśnie dlatego całość działa. Cofam więc to co powiedziałem - układ będzie działał poprawnie, bo inicjalizacją...
TO masz pecha. BO początku pamięci flash nie da się tak wykorzystać.
to chwyć zakładkę edytora i przesuń utworzysz nowy okno edytora.
Masz przebieg sinusoidalnie zmienny przesunięty względem masy na połowę napięcia zasilania ?
funkcja której używam sama przypisuje 0 lub 1 w zaleznosci czy jest to read czy write dlatego zastosowałem przesunięcie
W takim momencie człowiek poznaje jak bogate ma słownictwo (te, które nie nadaje się do "towarzystwa")... Tyle czasu stracić z powodu takiego błędu... To chyba standard w programowaniu :( Teraz chodzi, nie do końca tak jak bym chciał ale działa już coś. To co odsyła slave jest jak gdyby opóźnione i mam dwa rodzaje ramek jakie otrzymuje: - jedno gdzie...
Proszę https://github.com/RafNie/ultrasonic-mar... Odtwarza losowo zapętlone odgłosy borsuka, przesunięte w zakres ultradźwięków. Ale z praktyki walki z jednym szkodnikiem mogę powiedzieć, że tak naprawę żadne odstraszacze nie działają 😃 Ani worki z psią sierścią Kunagone, ani kostki domestos, ani odstraszacz zapachowy za 100zł....
Rzutowanie to złe rozwiązanie. Trzeba robić przesunięcie w prawo o 8 bitów
Ewentualnie wywołuje się z tysiąc razy. if(TIM2->SR && TIM_SR_UIF) Ten warunek jest zasadniczo błędny, zapewne jest zawsze spełniony. GPIOA -> AFR To nie jest przesunięcie.
Da się to zrobić, trzeba udawać myszkę czyli urządzenie HID. Jedyna uwaga to że myszka nie przesyła współrzędnych ekranu tylko przesunięcie względem aktualnej pozycji. Żeby to obejść wystarczy w sekwencji wyłączającej dać wielokrotne przesunięcie "w lewo i do góry" tak żeby za każdym razem kursor doszedł do lewego górnego rogu. Z tej znanej już pozycji...
Ustawienia 9600 8N1 długość kabla raczej nie ma znaczenia bo wszystko się dzieje u mnie na biurku ponadto nie mam problemów z odbiorem danych które posyłam do ARM. Podglądnąłem transmisje w programie serial monitor i problem polega na tym że ARM wysyła mi różne długości ramki czasem casem 8 tyle ile trzeba czasem 1,3 bajty Najczęściej odsyła 8 bajtów...
Moje pytanie - skąd wytrzasnąłeś to przesunięcie akurat o 7? 4\/3!!
Może masz jakieś przesunięcie w wektorze albo niezgodność nazw? Sprawdź jaka funkcja jest pod tym adresem..
Ja to bym zapisał ewentualnie tak: commandTW w wyniku wyżej opisanych operacji, zostanie promowana z typu uint8_t do uint16_t i przesunięta do starszej części zmiennej command .
Witam, Problem przesunięcia fazowego sygnałów PWM próbuję rozwiązać już jakiś czas, niestety z marnym skutkiem. Czy mógłbyś przesłać kod który rozwiązuje synchronizację/ przesunięcie fazowe na stm32? Każdy kod przyjmę z otwartymi rękoma, mój zestaw to stm32f407VG Pozdrawiam, Antek
Zasadnicze pytanie. Gdzie znajduje się masa w stosunku do zasilania dodatniego? Znajduje się na dole. I tak powinieneś rysować te symbole. Masa ku dołowi, dodatnie ku górze. Zmień potencjometr na taki pobrany z biblioteki pot.lbr lub rcl.lbr Aby sprawdzić czy dany element jest połączony z doprowadzonymi sygnałami, delikatnie go przesuń. Wtedy zobaczysz...
Po pierwsze, ważna sprawa. Adres kości w funkcjach HAL podawany jest w konwencji 8-bitowej (przesunięty o jeden bit w lewo względem drugiej konwencji występującej np. w dokumentacji tej kostki). Czyli dla QN8025 używasz adresu 0x20 (00100000). Druga rzecz. Nie wiem czy Twój moduł posiada oporniki podciągające linie I2C. Sprawdź, ewentualnie dodaj jeśli...
Sprawdź czy to co dostajesz w zmiennej pixel jest zgodne z prawdą :) Może masz np przesunięty odczyt o 8bitów.
Plik nagłówkowy mikrokontrolera można wyłuskać np. z paczki SPL pobranej ze strony ST. Dla Twojego STM32F103VBT6: [url=http://www.st.com/web/catalog/tools... (przycisk download na dole strony). Po rozpakowaniu archiwum: Libraries -> CMSIS -> CM3 -> DeviceSupport -> ST -> STM32F10x -> stm32f10x.h...
Witam Rozumiem, że chcesz aby cały kod wynikowy został umieszczony w pamięci RAM. Żeby tego dokonać należy zmienić adres sekcji ROM w skrypcie linkera: "rom (rx): org = 0x08000000, len = 128k" na pamięć RAM(zaczyna się od adresu 0x20000000 dla stm32). Pamięć RAM również należy przesunąć o odpowiedni adres. Jeżeli masz w kodzie przerwania to nie zapomnij...
Albo dwa timery z przesunięciem, albo sterowanie drugim kanałem przez DMA z dwóch innych CCR tego samego timera.
Witam! Potrzebuję przesyłać na zewnątrz po cztery bity. Żeby było szybko sprawnie i nie męcząco dla rdzenia pomyślałem o dma. Ale minimalny rozmiar przesyłanych danych, a więc i inkrementacji adresu jest 8 bitów. Nie ma tyle ramu, żeby rozrzutnie darować sobie cztery starsze bity i po prostu zwiększać wskaźnik o 8 nie ignorując połowę. Pomyślałem, że...
Nie do końca rozumiem o co chodzi autorowi Chciałem właśnie zapytać autora czemu ma to służyć? Czyżby fazowe sterowanie triaka? Jeśli tak to mam gotowe rozwiązania na ARM STM32 i AVRmega.
Z ADC problem był z trybem ??? Dwa ADC pracują na jednym kanale z przesunięciem fazy, aby wycisnąć 2 razy większą częstotliwość próbkowania.
Na forum ST znalazłem wpis że przestaje jakoś działać DMA powyżej 64kB. Wystarczyło poszukać w dokumentacji. Od adresu 0x20000000 znajdują się 64 kB pamięci DTCM, powyżej jest już zwykły SRAM. DMA nie jest w stanie ogarnąć sytuacji gdy zmienia się "moduł" pamięci, a przy okazji ścieżka dostępu do niego (DTCM jest podłączony do DMA i do innych masterów...
czyli to sprawdzanie długości znaków początkowych to jest "sztuka dla sztuki", jeżeli BREAK byłby na tyle krótki że nie byłby zinterpretowany jako FRAME ERROR to zostałby odczytany jako zwykły bajt w UARTcie prawdopodobnie o wartośći równiej 0, co w konsekwencji mogło by spowodować wysterowanie (albo raczej brak) konkretnego kanału wartością 0. Zatem...
A jaszcze lepiej zapalić LEDa na początku zapisu, a zgasić na końcu. Bo i początek zapisu może być przesunięty względem uruchomienia się układu.
W starym ("antycznym") standardzie języka C - a najwidoczniej taki masz ustawiony - deklaracja zmiennej, czyli `TIM_TimeBaseInitTypeDef timBaseStruct;`, musi być na samym początku funkcji, przed jakimkolwiek "kodem" który coś robi ("executable block"). Innymi słowy: void funkcja(void) { int zmienna1; // ok zmienna1 = 15 + sin(0.1f);...
(at)aader -> Dziękuję za merytoryczne pytania. Te nagrania audio są w wewnętrznego DAC? Zerknąłem w kod i widzę, że używasz wewnętrznego DAC zamiast tego kodeka CS...? Tak, stosuję wewnętrzny DAC dla sygnału m.cz. przy AM i FM. Chodzi o to, że CS43L22, czyli DAC audio może działać też w trybie "analogowym". Dostaje on wtedy sygnał z zewnątrz poprzez...
Wtedy wystarczy 1 dzielnik, który przesunie napięcie ujemne z rezystora w zakres napięć dodatnich obsługiwanych przez ADC Tego właśnie nie mogę sobie wyobrazić :(
A może masz inny pomysł żeby przesunąć wykres przebiegu ponad oś? żeby porzucić pomysł dzielnika napięciowego W każdym torze masz dwa wzmacniacze, izolowany - w nim nic nie zrobisz, drugi ma za zadanie zamienić sygnał różnicowy na odniesiony do masy, jakbyś miał różnicowy ADC to mógł byś mierzyć bezpośrednio, ale skoro decydujesz się przetworzyć różnicowy,...
Chodzi Ci o odwrócenie przebiegu prostokątnego o 180 stopni? - chyba lepiej to zrobić sprzętowo. W pierwszym poście jest rysunek. Chodzi o to, aby wygenerować drugi, taki sam sygnał przesunięty o 90 stopni. Oba te sygnały mają być użyte w mostku H.
Jeśli ktoś znałby dokładną przyczynę tego tj. czy to jest wina samej pamięci czy wina architektury to byłbym wdzięczny za odpowiedź i wskazanie źródeł. Reference Manual 2 Memory and bus architecture 2.1 System architecture https://obrazki.elektroda.pl/4956208900_... Skoro poprzednio miałeś stos w rejonie 0x20030000, to wypadał on w...
A taki pomysł mi przyszedł do głowy - piszesz że sygnał ma bardzo małą amplitudę, może więc masz niepoprawnie przygotowane dane? Zapewne masz dane 12-bitowe, ale może one muszą być przesunięte "w lewo", tak aby to bity 0-3 były wyzerowane i nieistotne? 4\/3!!
Wygrzebany fragment odczytu pozycji dotyku panela : Umieściłem kod w znacznikach syntax, w przyszłości proszę to samemu robić :)
Tylko u mnie nie jest to żadna sekwencja. Kanaly 11 i 12 są zamienione. No właśnie - dlaczego? Jak to stwierdziłeś? Próbowałeś kilka razy pod rząd uruchomić konwersję? Wziąwszy pod uwagę Niedoceniasz "HALa" od ST... (; pozostaje uruchomić debugger i sprawdzić co się właściwie dzieje w uC oraz HAL-u. Docelowo warto również sprawdzić metodę Użyj DMA...
Witam, mam takie pytanie o wytworzenie sygnałów sterujących 6 tranzystorami na stm32. Można zrobić tak, że w trzech tablicach definiuje się wartości sinusa (wypelnienie PWM) i za pomocą DMA (za pomocą trzech kanalow) całkowicie sprzętowo będą wysyłane dane do rejestrów CCRx, a czestotliwosc przesylania bedzie ustalana za pomoca rządań DMA przez np....
Ludzie co wy z tymi kombinacjami?... Aby zrestartować transfer DMA w trybie M2M na F1xx wystarczy: - zapisać do CCR zero - wpisać 0xF przesunięte o ((nr_kanału-1)*4) do DMA->ICFR - zapisać do CNDTR ilosc transakcji - zapisać do CCR konfigurację jednocześnie ustawiając DMAEN ...i leci. Jak DMA skonczy, znajduje się w następującym stanie: - CCR !=0,...
przesunięcie druku konica przesunięcie przesunięcie prądu
podłaczyć stycznik rzutowanie zmiennej dekoder sagemcom pilot
oscyloskop siglent obliczenia linii kablowej
Jak przerobić klawiaturę przewodową na bezprzewodową Bosch AL1830CV Charger Schematic Availability, Key Components, and Common Faults