Skocz do zawartości

Dżony

Użytkownicy
  • Zawartość

    137
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    6

Dżony wygrał w ostatnim dniu 23 lutego 2012

Dżony ma najbardziej lubianą zawartość!

Reputacja

48 Bardzo dobra

O Dżony

  • Ranga
    5/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Tarnowskie Góry
  • Zainteresowania
    Robotyka, Elektronika

Ostatnio na profilu byli

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

  1. Cześć, od kilku dni męczę się by poprawnie skonfigurować i coś odebrać za pomocą I2C z MCP9808(czujnik temp) w stm32f3 (Discovery). Przeszukałem już chyba wszystkie strony w internecie i nie mogę znaleźć informacji jak to poprawnie rozwiązać. Ciężko wzorować się na przykładach z f1, f4 bo mają inne funkcje. Starałem się już przerobić nawet kod z obsługi lsm303. Znalazłem takie info. w necie bo też mi program się wiesza w tym miejscu: while(I2C_GetFlagStatus(MCP9808_I2C, I2C_ISR_TXIS) == RESET) { if((MCP9808_Timeout--) == 0) USART_SendBuff("2"); } link ale nic to nie dało. Tak wygląda część kodu do odczytu: uint16_t MCP9808_Read(uint8_t DeviceAddr, uint8_t RegAddr, uint8_t* pBuffer, uint16_t NumByteToRead) { /* Test on BUSY Flag */ uint32_t MCP9808_Timeout = MCP9808_LONG_TIMEOUT; while(I2C_GetFlagStatus(MCP9808_I2C, I2C_ISR_BUSY) != RESET) { if((MCP9808_Timeout--) == 0) USART_SendBuff("1"); } /* Configure slave address, nbytes, reload, end mode and start or stop generation */ I2C_TransferHandling(MCP9808_I2C, DeviceAddr, 1, I2C_SoftEnd_Mode, I2C_GenerateF) == RESET) { if((MCP9808_Timeout--) == 0) USART_SendBuff("5"); } /* Clear STOPF flag */ I2C_ClearFlag(MCP9808_I2C, I2C_ICR_STOPCF); /* If all operations OK */ return 0; } Ustawienia RCC: RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); Ustawienia GPIO: GPIO_InitTypeDef GPIO_InitStructure; /*--------------------------I2C----------------------------------------*/ GPIO_PinAFConfig(GPIOB, GPIO_PinSource8, GPIO_AF_4); GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_4); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_OType=GPIO_OType_OD; GPIO_Init(GPIOB, &GPIO_InitStructure); /*---------------------------UART--------------------------------------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_7); // USART1_TX GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_7); // USART1_RX I2C Init: void I2C_Config(void) { I2C_InitTypeDef I2C_InitStructure; I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; I2C_InitStructure.I2C_AnalogFilter = I2C_AnalogFilter_Enable; I2C_InitStructure.I2C_DigitalFilter = 0x00; I2C_InitStructure.I2C_OwnAddress1 = 0x00; I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; I2C_InitStructure.I2C_Timing = 0x2000090E; I2C_Init(I2C1, &I2C_InitStructure); I2C_Cmd(I2C1, ENABLE); } Będę wdzięczny za każdą pomoc bo to do projektu na studia i terminy gonią
  2. Dzięki za pomoc, bo Twoje uwagi są naprawdę trafione i dają do myślenia ( co poprawić, żeby było jeszcze lepiej) Moduł BT już mam gotowy i działa z diodkami LED informującym o stanie modułu. To on będzie podłączony do UART1. Jutro wezmę się dalej za poprawianie schematu i wyprowadzenia wolnych pinów
  3. marek1707, chcę zostać przy programowaniu procesora z USB za pośrednictwem FT232RL-to rozwiązanie jest używane w zestawach uruchomieniowych i nawet przy dużych programach nie zauważyłem żeby było to wolne, wręcz przeciwnie. Poza tym jest bardzo proste i nieskomplikowane. BT wykorzystam tak jak już wcześniej pisałem do sterowania kopterkiem za pomocą komputera i kto wie może do jakiś danych zwrotnych. Tu fragment tego co z rana było źle:
  4. marek1707, potem wrzucę już cały poprawiony schemat jak już ten fragment będzie poprawny, czy tak jest dobrze(pomijając już zasilania, tylko czy sam sposób jest poprawny)?
  5. marek1707, po pierwsze dzięki za tak dogłębne przeanalizowanie schematu! Do dyskusji wcale nie za późno, cały czas sobie jeszcze różne rzeczy sprawdzam na PCB, które nie jest już wstanie się wzbić w powietrze . Bardzo mnie zainteresował drugi akapit Twojej wypowiedzi odnośnie bus-powered. Faktycznie dobrze by było kontrolować takie rzeczy. Zajrzałem do noty FT232RL i właśnie myślę jak można by pogodzić uruchomienie na pinie CBUS3 sygnał #PWREN zarówno z ładowarką, która jest na 5V i resztą układu, który jest na 3.3V? Niestety żaden konkret mi nie przychodzi do głowy... Obecna wersja działa bez problemu ale lepiej by było żeby quadzik był bardziej profesjonalnie wykonany. Programikiem FT_Prog do ustawiania rożnych rzeczy już się bawiłem Odnośnie trzeciego akapitu domyślam się w tej kwesti nie jestem w stanie niczego poprawić, skoro self-powered jest od 4V? Tak, będę korzystał z UART1, bo nie mam już miejsca zbytnie na kolejny scalak przełączający UART z ISP. A oporniki na bramkach jeszcze się zmieszczą więc je dodam i miejsce na kwarc również się znajdzie. Co do sterowania to zamierzam kontrolować go BT-112 za pomcą komputera, tak że jakieś dodatkowe rzeczy do startowania go myślę nie będą potrzebne, ale jakieś wolne piny wyprowadzę.
  6. No i fajnie z pomocą KD93, udało się już większość rzeczy uruchomić teraz już tylko dostać się do procka.. [ Dodano: 13-07-2013, 15:08 ] Pragnę poinformować, że już wszystkie błędy wyeliminowałem Za uwagi i sugestie dziękuję
  7. Harnas, spoko każdy może mieć inne podejście, ja jednak postaram się spróbować. Do schematu jakieś uwagi ktoś jeszcze ma, czy raczej wszystko wgląda w porządku?
  8. Bez obrazy, ale jak dla mnie ma to sens- budowanie od nowa. Za każdym razem gdy planuję robota stawiam sobie jakieś wyzwania, według mnie jest to świetny sposób na rozwijanie swoich umiejętności elektroniczno-programistycznych. Więc proszę mnie tu nie zniechęcać, tylko wspierać
  9. MirekCz, no miejsca jest naprawdę mało, ale dzięki za te uwagi postaram się dodać kondensatorki. A procesor taki bo potrzebne mi są 4 kanały PWM do sterowania silniczkami DC (chyba, że jest jakiś mniejszy a go przeoczyłem? )
  10. Tak, będą silniki DC i mieści się w dłoni A sam projekt na pewno będę rozwijał, mam dużo pomysłów. Z racji tego, że pierwsze PCB tego coptera mam już za sobą bo były błędy przy drugiej chciałbym uniknąć przykrych sytuacji (oberwanie kondensatorem w twarz ) Ten schemat już jest względnie poprawiony ale może koledzy widzą jakieś błędy? Jakieś sugestie?
  11. Cześć, ostatnio pracuję nad własny mini quadrocopterem. Widzę, że ostatnio była dyskusja czy można pisać czy nie na ich temat, więc odważę się wrzucić taki temat Wracając do tematu proszę o sprawdzenie poprawność schematu, czy rzucają Wam się jakieś błędy. Połączenia USB->FT232RL->ATmega128, USB->MCP73831 itp. Copter jest zasilany z jedno celowego lipola (3.7V 20C 210mAh), który może być ładowany prądem 500mA. Będę wdzięczny za wszelkie wskazówki Schemat jest w pliku pdf. Płyta_główna.pdf
  12. Firma z której usług korzystałem kilka razy i korzystać pewnie jeszcze będę to WOSZYM polecam
  13. Dżony

    Serwomechanizm

    A nie lepiej kupić po prostu silnik z przekładnią np. z Pololu, wybór jest spory
  14. Dzięki za słowa otuchy mam nadzieję, że jakoś to będzie. Na razie pozostaje czekać do 29 czerwca-> wtedy wszystko się okaże jedyne co, to niezadowolony jestem z matury z fizyki, kosmos, czysta teoria... mam nadzieję, że tym nie tylko mnie uwalili...
  15. Czyli że rekrutacja to bujda na PWR też?
×
×
  • Utwórz nowe...