Skocz do zawartości

r_bot

Użytkownicy
  • Zawartość

    61
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O r_bot

  • Ranga
    4/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Polska

Ostatnio na profilu byli

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

  1. Cześć, wyjeżdzam na dłużej a achciałbym jakoś bezpiecznie przechować kilka baterii LiLon i LiPo. Nie będę miał do nich dostępu przez 6-12mc. Gdzie je przechowywać aby się im nic nie stało i co najważniejsze aby nie zapaliły się? Dodam że baterie mają 3-5 lat. Myślałem aby schować je do woreczków strunowych a potem do jakiegoś metalowego pojemnika? Czy to byłby dobry pomysł? Wielkie dzięki za pomoc.
  2. Witam, Tak jak w temacie, sprzedam mały robot mobilny który widać na zdjęciu, bez modułu Bluetooth i przetwornicy(chyba że znajdę ) *2 x silnik Pololu HP 30:1 1000obr/min *akumulator lipo 1000mAh 7,4V Dualsky *czujnik odległosci HC-SR04 *przetwornica 5V pololu *arduino pro mini (atmega 328) *mostek pololu TB6612fng *pcb + gąsienice + konstrukcja aluminiowa (wykonanie kosztowało masę pracy) Cena do uzgodnienia.
  3. Cześć, Sprzedam konstrukcję robota samobalansującego. Wykonany z blachy aluminiowej 2mm Wymiary 7x16x22cm. Wywiercone otwory idealnie pasują do silników Pololu 37dx52l Cena do negocjacji.
  4. Dziękuję za odpowiedź. Pytałem, bo zdarzyło mi się, że STM32 na płytce discovery uległ uszkodzeniu. STM32 wciąż wykonywał aktualny program, lecz nie można było wgrać do niego nowego programu. Pomogło wlutowanie nowego procesora. Na uszkodzony stm program był wgrywany od kilku do kilkunastu tysięcy razy.
  5. Świetny kurs. Jestem ciekawy ile razy można programować dany układ FPGA. Wiem, że dla uC producent deklaruje 10000 razy możliwość programowania. Jak jest w przypadku FPGA?
  6. ADC nie jest mi potrzebne do regulatora PID, będzie to regulator prędkości wału a nie położenia. Sygnałem wejściowym będzie sygnał z enkodera. Jeśli nie uda mi się zaimplementować regulatora to trudno, na pewno znajdę inne pomysły. O zestawie Maximator też myślałem ale chyba nie ma do niego poradnika nigdzie w internecie. Chyba lepiej zacząć od zestawu Elbert v2.
  7. Elvis Dzięki za wyczerpującą odpowiedź. Z karty SD mogę zrezygnować bo to rzeczywiście nie ma sensu. Jednak pozostałe pozycje chciałbym zaimplementować, szczególnie regulator PID i chciałbym porównać go z regulatorem PID zaimplementowanym na uC. Na 99% wybiorę zestaw z kursu FPGA.
  8. Cześć Po ukazaniu się kursu FPGA na forbocie postanowiłem zabrać się za naukę FPGA. Mam zamiar kupić zestaw używany w kursie. Nigdy wcześniej nie miałem z FPGA styczności i nie wiem czy ten zestaw pozwoli mi w przyszłości zaprojektować układ który będzie w stanie realizować następujące zadania: *implementacja magistrali UART zarówno nadawanie jak i odbieranie. *implementacja regulatora PID(odczyt z enkodera, obliczenie i wystawienie PWM). *implementacja wyświetlacza 7 segmentowego. *implementacja SDIO lub SPI do połączenia z kartą pamięci SD Z góry dziękuję za odpowiedź.
  9. Nie jestem do końca pewien jednej rzeczy. Czy jeden uart będzie mógł obsłużyć programowanie przez bootloader, a po przejściu do aplikacji, komunikację z telefonem? Do uarta będzie podłączony moduł bluetooth. Czy muszę wykorzystać osobne uarty do tych dwóch zadań?
  10. @Elvis I2C wydaje się łatwiejsze dla mnie. Rezystory podciągające sa konieczne? Wydaje mi się, że Rpi ma już rezystory podciągające, ale jeszcze to sprawdzę. Nie rozumiem różnicy pomiędzy DMA normal a DMA circular. @deshipu Musi to być raspberry, docelowo Raspberry Pi zero, ewentualnie mogę spróbować SPI.
  11. Cześć, próbowaliście kiedyś komunikacji pomiędzy RPI stm32? Próbuję użyć do tego celu I2C, na Rpi używam BCM2835 biblioteki, a na STM32, Hal. Niestety działa mi tylko nadawanie z RPi do STM32, STM32 nic nie wysyła. na STM32 włączam nadawanie i obiernie danych przez DMA. HAL_I2C_Slave_Receive_DMA(&hi2c2, (uint8_t*)i2c_rx, SIZE); HAL_I2C_Slave_Transmit_DMA(&hi2c2, (uint8_t*)i2c_tx, SIZE); A na Rpi konfiguracja, wysyłanie i odbieranie: #include <signal.h> #include <string.h> #include <sys/time.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <bcm2835.h> #define I2C_ADDRESS 10 #define LED_RED RPI_GPIO_P1_11 #define SIZE 8 char i2c_tx[SIZE]; char i2c_rx[SIZE]; void timer_handler (int signum) { static int state = 0; static int n = 0; int i = 0; switch(state) { case 0: while(i<SIZE) { i2c_tx[i] = 255-n; i++; n++; } i = 0; while(i<SIZE) { printf("%d ", i2c_tx[i]); i++; } printf("\n"); bcm2835_gpio_set(LED_RED); bcm2835_i2c_write(i2c_tx, SIZE); state = 1; break; case 1: bcm2835_i2c_read(i2c_rx, SIZE); i = 0; while(i<SIZE) { printf("%d ", i2c_rx[i]); i++; } printf("\n\n"); bcm2835_gpio_clr(LED_RED); state = 0; break; } } int main(void) { if(!bcm2835_init()) { printf("INIT ERROR\n"); } else { printf("INIT OK\n"); } bcm2835_gpio_fsel(LED_RED, BCM2835_GPIO_FSEL_OUTP); bcm2835_gpio_fsel(I2C_EN, BCM2835_GPIO_FSEL_OUTP); if(!bcm2835_i2c_begin()) { printf("I2C ERROR\n"); } else { printf("I2C OK\n"); } bcm2835_i2c_setClockDivider(BCM2835_I2C_CLOCK_DIVIDER_150); bcm2835_i2c_setSlaveAddress(I2C_ADDRESS); bcm2835_i2c_set_baudrate(10000); struct sigaction sa; struct itimerval timer; /*Install timer_handler as the signal handler for SIGVTALRM. */ memset (&sa, 0, sizeof (sa)); sa.sa_handler = &timer_handler; sigaction (SIGVTALRM, &sa, NULL); /*Configure the timer to expire after 1 sec... */ timer.it_value.tv_sec = 1; timer.it_value.tv_usec = 0; /* ... and every 1000 msec after that. */ timer.it_interval.tv_sec = 1; timer.it_interval.tv_usec = 0; /* Start a virtual timer. It counts down whenever this process is executing. */ setitimer (ITIMER_VIRTUAL, &timer, NULL); while(1) { } return EXIT_SUCCESS; } Konfigurację I2C zamieszczam w załącznikach. Wiem, że HAL może nie jest najlepszy, kiedyś chciałbym to napisać samemu, ale na razie zależy mi na szybkim prototypowaniu urządzenia. Interesują mnie też inne formy komunikacji pomiędzy RPI a STM32, jak SPI i USB. Dziękuję za pomoc.
  12. Cześć po dłuższej przerwie. Przejrzałem dziś kod źródłowy regulatora PID, plik pid.c i jedna rzecz mnie zastananwia. Składowa struktury pid_params, err_last jest cały czas równa 0. Według mnie w funkcji pid_calculate powinnno się znajdować następujące przypisanie: pid_params.err_last = pid_params.err; Czy ktoś z forumowiczów mógłby to zweryfikować?
  13. Cześć, Mam niepotrzebne silniki Pololu 37dx52l 30:1 350 RPM z enkoderami. chciałbym z nich zrobić robota. Interesuje mnie Line follower, ale czy one nie są za ciężkie na taką konstrukcję? Posiadam jeszcze Pololu HP 30:1 1000RPM 6V ale bez enkoderów. Które się lepiej nadają, i czy enkodery są konieczne? Dzięki za pomoc.
  14. Była jeszcze wpięta dioda z rezystorem ale równolegle względem cewki...
×
×
  • Utwórz nowe...