Skocz do zawartości

ps19

Użytkownicy
  • Zawartość

    594
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    13

Wszystko napisane przez ps19

  1. Takie złącze, możesz dać 6 pinowe bez problemu (SWO nie jest potrzebne). Nie musi to być raster 2,54 mm są też 2 mm - z jednej strony normalne goldpiny 2,54 mm na tasiemce a z drugiej goldpiny na 2mm. Można dać też 1x6 wg pinologii z Nucleo. Przykłady: https://botland.com.pl/pl/80-przewody-i-zlacza-idc https://botland.com.pl/pl/przewody-i-zlacza-idc/1246-przewod-idc-6-pin-zensko-zenski-30-cm.html
  2. Wyprowadzasz złącze np. samo SWD na goldpinach i tyle, igly są drogie i nie wygodne jak programujesz coś dużą ilość razy w czasie testów. Na Nucleo odpinasz zworki i masz je jako programator a linie są wyprowadzone właśnie na goldpinach. Tak samo robisz na swoim PCB i problem z głowy. Ja mam zamiast goldpinów gniazdo IDC wyprowadzone zgodnie ze standardem SWD.
  3. na początku dodałbym jeszcze ustawianie stanu wysokiego w Setup`ie i pinMode zmienia tryb pracy pinu a nie digitalWrite, a domyślnie piny są wejściami w AVRach także nic dziwnego że nie działa. Void setup () { pinMode(7,OUTPUT); pinMode(8,OUTPUT); digitalWrite(8,HIGH); digitalWrite(7,HIGH); } i cały program: Void setup () { pinMode(7,OUTPUT); pinMode(8,OUTPUT); digitalWrite(8,HIGH); digitalWrite(7,HIGH); } void loop() { digitalWrite(8,LOW); delay(50000); digitalWrite(8,HIGH); delay(300); digitalWrite(7,LOW); delay(50000); digitalWrite(7,HIGH); delay(300); }
  4. Tutaj jest napisane, druga sprawa to może arduino nie wyrabia prądowo - zapalenie diody to jedno, a wyzwolenie cewki przekaźnika to inna sprawa. Polecam używanie słownika w przeglądarce w przypadku dysleksji czy po prostu robieniem błędów - prawym mszy na podkreślone na czerwono słowo i pojawią się poprawne propozycje.
  5. Dokladnie to błędu szukaj w krzemie STMa - ta magistrala w tych procesorach tak ma, ale pod HALem jakoś to działa. Pokaż kod i sprawdź stany rejestru SR od I2C - jak rozwiniesz SFR to masz tam rózne flagi BUSY, ACK itp. W Attolicu, CubeIDE i innych Eclipso podobnych masz okienko SFR w debugu - podgląd rejestrów (Jak nie ma w to poszukaj w View gdzieś). Przed włączeniem I2C możesz spróbować zresetować magistralę I2C - tak procedura jest opisana w Erracie procka. I2Cx->CR1 |= I2C_CR1_SWRST; //Software reset 1 I2Cx->CR1 &= ~ I2C_CR1_SWRST; //Software reset 0 zamiast I2Cx wstawiasz IC21 albo I2C2 itd zależnie którego używasz. Handlery są w pliku stm32fxxxx_it.c (gdzie x to numer rodziny itp), ale jakbyś był w Handlerze to by Ci tam debug wskakiwał po wciśnięciu pauzy. Najważniejsze to kod - dla programisty ważniejsze niż opis słowny, bez tego to możemy wróżyć tutaj przez rok.
  6. Wskazówka nr 1 Standard Peripheral Library (SPL) jest już od kilku lat nierozwijana i niewspierana przez ST, zainteresuj się biblioteką HAL. Co do kodu przerwanie od przycisku nie ma sensu, musiałbyś blokować zmianę stanu diody jakimś timerem w przerwaniu od EXTI bo to się może wykonuje ale na tyle szybko że nie zauważasz. Zmiana priorytetów przerwań na początku nauki - nie polecam. Przy priorytetach domyślnych i tak wykona Ci się to bardzo szybko przy tak prostym programie. Zamiast tego: nvic.NVIC_IRQChannel = EXTI0_IRQn; nvic.NVIC_IRQChannelPreemptionPriority = 0x00; nvic.NVIC_IRQChannelSubPriority = 0x00; nvic.NVIC_IRQChannelCmd = ENABLE; Lepiej użyć: NVIC_EnableIRQ(EXTI0_IRQn); Nie musisz wtedy ustalać priorytetów przerwań i pisać 4 linii kodu.
  7. Masz 3 człony obrotowe a w wyniku wyszedł ci jeden to chyba coś nie tak Masz rotację po X i 2 po Z 1.Przesunięcie po Z o d1, 2. obrót po X po theta1, 3. obrót po Z po theta2, 4. przesuniecie po X o a2/l2 5. obrót po Z po theta3, 6. przesuniecie po X o a3/l3. Powinno ci wyjść: x = cos(th1)*(l2*cos(th2) + l3*cos(th2+th3)) x = sin(th1)*(l2*cos(th2) + l3*cos(th2+th3)) z = d1 + (l2*sin(th2) + l3*sin(th2+th3)) Tutaj masz dla 6 osiowego ale to wystarczy opuścić ostatnie macierze A45 i A56 https://www.researchgate.net/publication/310389891_Kinematics_Analysis_and_Modeling_of_6_Degree_of_Freedom_Robotic_Arm_from_DFROBOT_on_Labview
  8. To nie problem biblioteki jak napisałem - nowa biblioteka nie zapobiegnie użyci zlej funkcji/metody podczas pisania programu. Równie dobrze mogłem zaproponować pisanie na rejestrach w w C czy nawet asemblerze, ale nie o to chodzi. OFFTOP: Wyklikiwanie konfiguracji w Cube niekoniecznie uczy programowania mikroprocesorów bardziej pomaga zacząć nie do końca wiedząc jak działa procesor, ale nie chce wszczynać dyskusji o wyższości bibliotek czy rejestrów bo sam korzystam czasami różnie od potrzeb z różnych kombinacji HAL lub rejestry czy HAL + rejestry.
  9. Od czego jest pin PA5 ? Problem masz raczej w przerwaniu od TIM2 skoro ono działa z f = 4 kHz a PWM ma 12 kHz i na wykresie masz co 3 (okres ?) szpilkę w dół (12/4) Chyba korzystasz z kursu dotyczącego biblioteki SPL już nie rozwijanej, ale to nie problem https://forbot.pl/blog/kurs-stm32-f1-hal-liczniki-timery-w-praktyce-pwm-id24334
  10. https://pdfs.semanticscholar.org/4e98/09960be9ec7f1ad8fadf61dad8cb1c8818d0.pdf http://www.par.pl/2012/PAR_10_2012_Pyka_74_78.pdf https://we.po.opole.pl/dmdocuments/autoreferat_pyka.pdf http://web.mit.edu/jlramos/www/Arquivos/ReportDifferentialDrive.pdf Z książek - Modelowanie i sterowanie mobilnych robotów kołowych - Giergiel,Hendzel, Żylski (PWN) - Robot Dynamics and Control - Mark W. Spong - Robotics: Modelling, Planning and Control (Springer) - https://www.academia.edu/11985316/Introduction_to_Mobile_Robot_Control
  11. Polecam zainteresować się biblioteką pygame ona posiada obsługę joysticków https://www.pygame.org/docs/ref/joystick.html https://www.google.com/search?ei=MohuXZieO5CHwPAPh4utQA&q=pygame+joystick&oq=pygame+joystick&gs_l=psy-ab.3..0j0i203l7j0i22i30l2.140415.144031..144343...1.2..0.202.1162.14j0j1......0....1..gws-wiz.....10..0i71j35i39j0i131j0i67j35i39i19.-THn54tEgsk&ved=0ahUKEwiY_-6t_bTkAhWQAxAIHYdFCwgQ4dUDCAo&uact=5 W C#: https://stackoverflow.com/questions/3929764/taking-input-from-a-joystick-with-c-sharp-net https://www.google.com/search?ei=gopuXZLEKJ2Jk74Pq6-S8AE&q=C%23++joystick&oq=C%23++joystick&gs_l=psy-ab.3..0i7i30l10.5357.5994..6303...0.2..0.66.321.5......0....1..gws-wiz.......0i71j35i304i39j0i8i7i30.OLGzZcpkYYg&ved=0ahUKEwiSjYHI_7TkAhWdxMQBHauXBB4Q4dUDCAo&uact=5
  12. 1. Thinking in Java - edycja 4 (IV) - Cena: 60 zł 2. Roboty JavaScript od podstaw - Cena 15 zl 3. STM32 Aplikacje i Ćwiczenia w języku C (BTC) - Cena 60 zł 4. Budowa Robotów dla średnio zaawansowanych - Cena 35 zł 5. Praktyczny kurs Asemblera - Wydanie 2 (II) - Cena 35 zł 6. Język C Pasja programowania mikrokontrolerów 8-bitowych - Green Book - miękka okładka - bez płyty(ATNEL) - Cena 70 zł 7. Wstęp do programowania w języku C# - 20 zł 8. Sekrety cyfrowej ciemni Scotta Kelby'ego (2008) - 20 zł 9. Algorytmy Struktury danych i techniki programowania - 24 zł 10. Arduino w akcji - 45 zł 11. Płytka rozwojowa - Nuvoton NUC140 (200 zł) 12. FEYNMANA wykłady z fizyki (2 części 1.1 i 1.2) - Cena 100 zł 13. Mikrofon pojemnościowy Blue Yeti -Cena 340 zł 14. Elgato Game Capture HD60 - Cena 600 zł 15. KINETIS FREEboard - płyta rozwojowa z mikrokontrolerem MKL25Z128VLK, Cena 70 zł 16. STM32F429I-DISC1 - zestaw uruchomieniowy z mikrokontrolerem STM32F429ZI, Cena 120 zł 17. Narzędzie wielofunkcyjne Dremel 8100-1/15 F0138100LC - Cena 280 zł Jestem otwarty na propozycje cen, odbiór osobisty Opole lub wysyłka pocztą/kurierem
  13. Ja mam podobny od okolo 3 lat i działa bez zarzutów - używany do zasilania rożnej elektroniki jaki i katowany silnikami i nic mu nie jest.
  14. http://www.basicmicro.com/34VDC_c_19.html Kiedyś nazywali się Ion motion W Polsce chyba w botlandzie jest dostępnych kilka modeli - może gdzieś indziej też są, ale to pierwsze skojarzenie. Aparatura podaje sygnał PPM i pod te sterowniki można podłączyć aparaturę RC.
  15. 1. Kinematyka prosta manipulatora 2. Kinematyka odwrotna manipulatora 3. OpenCV (python/C++)
  16. Dla zainteresowanych relacja z dyscypliny MegaSumo: Playlista: Przykładowy film:
  17. Mamy przyjemność ogłosić, że zawodnicy którzy wygrają 1 lub 2 miejsce w kategoriach MiniSumo, MegaSumo, LineFollower otrzymają oficjalne zaproszenie na 11 edycje zawodów Robochallenge Romania w Bukareszcie, które odbęda się w terminie 2-4 listopada 2018r. Dla osób z zaproszeniem organizator zapewnia zakwaterowanie dla 3 osób z drużyny. Więcej informacji www.robochallenge.ro lub na Facebooku www.facebook.com/RoboChallengeRo. It is a great pleasure to announce the formal invitation for the team to participate in the 11th edition Robochallenge Romania. The competition will be held in Bucharest, Romania on November 2nd – 4th, 2018. The organization committee will sponsor only for 3 persons by team. For more information visit www.robochallenge.ro or like our Facebook page www.facebook.com/RoboChallengeRo. Pozdrawiam ps19 Organizator Jurabot 2018
  18. Znajdź coś dla siebie - każdy ma inne prefferencje https://www.youtube.com/results?search_query=altium+designer+tutorial Eagle - darmowa wersja jest, ale bardzo ograniczona
  19. Lukaszm, Ja zamawiałem chyba z 5 razy pcb z CHRL i jeszcze na cło nie trafiłem.
  20. Witajcie Mam na sprzedaż: 1. Narzędzie wielofunkcyjne Dremel 8100-1/15 F0138100LC, nieużywane, Cena 300 zł http://allegro.pl/dremel-8100-1-15-f0138100lc-i7241858963.html 2. STM32F429I-DISC1 - zestaw uruchomieniowy z mikrokontrolerem STM32F429ZI, Cena 120 zł Używany 1 raz - Wgrany program mrugający diodami 3.NUCLEO-F746ZG - płytka rozwojowa z mikrokontrolerem STM32F746ZGT6, nieużywane, Cena 100 zł 4. KINETIS FREEboard - płyta rozwojowa z mikrokontrolerem MKL25Z128VLK, Cena 75 zł 5. Smart Wrist Band OVERMAX touchgo, Cena 35 zł https://www.ceneo.pl/38269639 Wysyłka kurierem 20 zł, przedmiot mogę wystawić na allegro w celu bezpiecznej transakcji
  21. Pytanie od osoby, która pisze na rejestrach: UART_HandleTypeDef uart; uart.Instance = USART2; uart.Init.BaudRate = 115200; uart.Init.WordLength = UART_WORDLENGTH_8B; uart.Init.Parity = UART_PARITY_NONE; uart.Init.StopBits = UART_STOPBITS_1; uart.Init.HwFlowCtl = UART_HWCONTROL_NONE; uart.Init.OverSampling = UART_OVERSAMPLING_16; uart.Init.Mode = UART_MODE_TX_RX; HAL_UART_Init(&uart); Rejestry (kod pod konfigurację wybranego uarta, ale chodzi głównie o linię z USART->CR1): enum { USART1_NR = 1, USART2_NR = 2, USART3_NR = 3, }; void UsartConfig(uint8_t USART_nr, uint32_t baud_rate) { switch(USART_nr) { case USART1_NR: RCC->APB2ENR |= RCC_APB2ENR_USART1EN; gpio_pin_cfg(GPIOB, 6, GPIO_MODE_AF_PP_2MHZ); //TX gpio_pin_cfg(GPIOB, 7, GPIO_MODE_IN_FLOATING); //RX USART1->BRR = CPU_FREQUENCY/baud_rate; //CLK/2/9600 -- //APB1/9600 break; case USART2_NR: RCC->APB1ENR |= RCC_APB1ENR_USART2EN; gpio_pin_cfg(GPIOA, 2, GPIO_MODE_AF_PP_2MHZ); //TX gpio_pin_cfg(GPIOA, 3, GPIO_MODE_IN_FLOATING); //RX USART2->BRR = CPU_FREQUENCY/2/baud_rate; break; case USART3_NR: RCC->APB1ENR |= RCC_APB1ENR_USART3EN; gpio_pin_cfg(GPIOB, 10, GPIO_MODE_AF_PP_2MHZ); //TX gpio_pin_cfg(GPIOB, 11, GPIO_MODE_IN_FLOATING); //RX USART3->BRR = CPU_FREQUENCY/2/baud_rate; break; } USART->CR1 = USART_CR1_UE | //usart_on USART_CR1_TE | //Transmitter enable USART_CR1_RXNEIE | //RXNE interrupt enable USART_CR1_TXEIE | //TXE interrupt enable USART_CR1_RE; //Receiver enable } Po co ustawiany jest parzystość, kontrola hardware`owa, długości słowa - skoro domyślnie są ustawione identyczne wartości ? Chyba lepiej uczyć pisać krótszy kod niż nadpisywać wartości rejestrów tym samym co już tam jest wpisane Strona 822 RM LINK dejmieno, jak chchcesz się faktycznie czegoś nauczyć to polecam oprócz kursów z forum zgodnie z dokumentacją biblioteki HAL pisać własne programy testować, debugować: LINK
  22. Stabilizator liniowy na 5V np. LM7805 możesz zastosować na zasilaniu układu, dioda ci nic nie da. Napisz dokładnie o co chodzi + jakiś schemat - elektronicy mają problem z epiką i liryką (opowiadania i wiersze)
×
×
  • Utwórz nowe...