Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2636
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    198

Wszystko napisane przez Elvis

  1. Elvis

    Sterowanie silnika przy użyciu PWM

    Model w sumie podobny. Natomiast sterowanie krokowymi nie zawsze jest takie proste. Przykładowo podanie od razu 100% wypełnienia generuje dużo drgań oraz co gorsza jest za głośne. Stąd sterowanie mikrokrokowe, albo jak w przypadku mojego urządzenia - modulowanie obwiedni prądu. Wykonywanie kroku powoli narastającym prądem, a następnie odcinanie prądu między krokami dla oszczędzania energii. Natomiast faktycznie w silniku DC nie następuje "ruszanie" i zatrzymywanie za każdym razem. Zastanawiam się nad czymś innym: silnik ma pewną indukcyjność, jeśli przełączanie jest poniżej stałej czasow
  2. Elvis

    Sterowanie silnika przy użyciu PWM

    W silnikach DC mam mniej doświadczenia, ale w przypadku krokowych właśnie prąd w peak-u ma znaczenie. Problemem jest przesunięcie rotora do nowego położenia. Takie "szarpnięcie" daje znacznie lepszy efekt, niż mały prąd przez dłuższy czas (czyli zachowanie energii). To trochę jak z pchaniem samochodu - jak już go ruszymy to dalej idzie łatwiej. Najtrudniej pokonać siłę statyczną. Myślę, że podobnie jest z silnikiem DC. Jeśli mamy wysoki peak prądu, silnik szarpie do przodu, a później siłą bezwładności kręci się do kolejnego "kroku". Jeśli mamy stały, ale mniejszy prąd nie jest w stanie nic zro
  3. Chciałbym odnieść się do bardzo gorącej ostatnimi czasy dyskusji o częstotliwości PWM przeznaczonym do sterowania silnikiem. Dotychczasowa dyskusja skupiała się na tym, czy można sterować silnikiem przy użyciu wyższej (powiedzmy 20kHz), częstotliwości PWM. Drugi problem, to pytanie, czy silnik jest słabszy przy wyższej częstotliwości. Prosty sterownik Zacznijmy jednak od początku. Możemy oczywiście zacząć od pomiarów, ale czasem warto wykorzystać komputer, pakiet SPICE i najpierw nieco poznać problem. Największym plusem symulacji jest łatwość wykonywania pomiarów. Cena sondy prądowe
  4. Moim zdaniem prawda jest jak zwykle po środku. Co ciekawe obaj macie rację, a jednocześnie popełniacie błąd w procedurze pomiarowej. Zna ktoś indukcyjność silników pololu? Wolałbym tłumaczyć moje zdanie na konkretnych danych.
  5. Jeśli miałoby uszkodzić, to jest jeszcze jedna opcja - można dać oddzielny stabilizator dla serwa. Zawsze mniej problemów niż dodatkowy akumulator.
  6. Przed stabilizatorem i kondensatorami wejściowymi daj jeszcze diodę. Jak silniki będą powodowały spadki napięcia, stabilizator jeszcze chwilę "pociągnie" na energii zgromadzonej w kondensatorach. [ Dodano: 22-01-2012, 12:35 ] Poza tym radziłbym serwo zasilać bezpośrednio z akumulatora. Po pierwsze mniej obciążysz stabilizator, po drugie w serwo też jest silnik, więc i zakłócenia. [ Dodano: 22-01-2012, 12:38 ] I jeszcze jedno - prowadzenie masy. Najlepiej dla silnika poprowadzić oddzielną masę. Tzn. przy wejściu z akumulatora rozdzielić masę dla układów mocy i procesora.
  7. Jak chodzi o dostępność układów to polecam spróbować u dystrybutora: http://www.gamma.pl/ Na darmowe próbki też jest szansa.
  8. Jeśli interesują Cię większe ilości, to nie ma problemu. Zamawiasz partię 3V i po sprawie. Mogę polecić wyświetlacze Ampire: http://ampire.com.tw/en/p1-product.asp Dystrybutorem jest Gamma: http://www.gamma.pl/katalog-produktow/wyswietlacze/znakowe.html Tylko najpierw sprawdź, czy 3V wersja Ci odpowiada. Moim zdaniem kontrast jest trochę gorszy niż 5V.
  9. Nie wszystkie wyświetlacze wymagają napięcia 5V. Niektóre mają wbudowaną przetwornicę. Zobacz np. na stronie farnella. Ceny są znaczne, ale jest trochę wyświetlaczy na 3V. [ Dodano: 14-12-2011, 21:50 ] Przykładowy wyświetlacz na 3V: http://pl.farnell.com/fordata/fdcc1602l-flyybw-91le/disp-lcd-16x2-3v-g-bl/dp/1847940
  10. Ja bym radził odczytać cały scratchpad z DS1820 i sprawdził CRC. Z tymi czujnikami wcale nie tak łatwo się dogadać. Możliwe że błąd jest w samej transmisji po 1-wire. Możesz też spróbować zmienić temp0, temp1 z char na coś większego. Możliwe, że kompilator źle rozumie: temp=(float)(temp1+(temp2*256))/16;
  11. Elvis

    Mobot-RCR-V2 (problem)

    Na AVR można zmienić bez problemu. Po stronie PC odbieraj normalnie, jako 8 bitowe dane. Można też spróbować innego terminala po stronie PC. Polecam putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html A swoją drogą - jeśli komunikacja PC<->moduł i AVR<->moduł działa poprawnie to trzeba tylko wysłać ramkę konfigurującą prędkość 40000 z obu urządzeń.
  12. Elvis

    Mobot-RCR-V2 (problem)

    Moim zdaniem problem jest w niedokładności zegarów. Bit stop-u jest przez odbiornik interpretowany jako najwyższy bit i stąd problem. Proponuję taki eksperyment: zmień format danych na 9 bitów danych, 1 bit stopu i prześlij wartość 0x43.
  13. Ja też widziałem na własne oczy jak takie błędy wyglądają. Na labkach tego nie przerabiałem, za to w pracy wielokrotnie. Oczywiście, że enkodery są wykorzystywane, ale nie są takie proste w użyciu jak mogą się wydawać. Zapewniam, że błędy będą dużo większe niż +- jedna podziałka. Ale to trzeba "na własnej skórze" doświadczyć, żeby uwierzyć. Jako jedno ze źródeł problemów polecam sprawdzić co dzieje się podczas drgania - jeśli tarcza enkodera zatrzyma się na granicy między poziomami odczytu. Jeśli do tego dodamy problem zmiany kierunku ruchu, to robi się bardzo wesoło. Główna wada jest ta
  14. W przypadku enkodera inkrementalnego błędy będą się kumulować. Konieczne więc byłoby dodanie układu zerowania położenie i powrót to takiego miejsca co pewien czas. Potencjometr nie ma takiej wady, działa jak enkoder absolutny. A co do dokładności to głównie zależy od jakości potencjometru oraz jakości przetwarzania sygnału. Jeśli po każdym pomiarze układ wraca do poziomu "zerowego" i jesteś w stanie łatwo dodać układ zerowania, to enkoder sprawdzi się bardzo dobrze. Natomiast jeśli układ ma się np. wychylić, a później przez pewien czas wykonywać ruchy bez powrotu do zera, to polecam pote
  15. Poprzednia część kursu. [Kurs] Programowanie ARM LPC1114 cz.7 - Czujniki odbiciowe W poprzednich częściach kursu poznaliśmy już możliwości procesora niezbędne do zbudowania prostego robota. Potrafimy sterować silnikami, odczytywać poziom napięcia za pomocą przetwornika analogowo-cyfrowego. Tym razem wykorzystamy poznaną wiedzę do wykrywania linii, które jest podstawą do budowy naszego linefollowera. W pierwszej części kursu pojawił się schemat płytki z czujnikami odbiciowymi. Zastosowałem czujniki TCRT5000. Warto w kilku słowach omówić ich działanie. Każdy czujnik składa się z 2 elemen
  16. Elvis

    l298 Pytanie

    Zobacz układ L297. Zawiera sterownik do L298 i umożliwia sterowanie prądowe, czyli właśnie zadanie jaki prąd maksymalnie może przez silniki płynąć.
  17. Poprzednia część kursu. [Kurs] Programowanie ARM LPC1114 cz.6 - ADC W tym odcinku zajmiemy się działaniem przetwornika analogowo-cyfrowego (ang. Analog-to-Digital Converter). Mikrokontroler LPC1114 jest wyposażony w jeden, 10-bitowy przetwornik. Wejście przetwornika podłączone jest przez multiplekser do 8 wejść procesora. Możemy wybrać, sygnał z którego wejścia chcemy odczytać. • AD0 - P0.11 • AD1 - P1.0 • AD2 - P1.1 • AD3 - P1.2 • AD4 - P1.3 • AD5 - P1.4 • AD6 - P1.10 • AD7 - P1.11 Na płytce ZL32ARM znajdziemy potencjometr P1 podłączony do pinu P0.11, czyli kanału AD0
  18. Elvis

    Prośba o sprawdzenie programu

    zmień pętlę while na: while (1) { PORTB |= (1<<PB2); _delay_ms(2000); PORTB &= ~(1<<PB2); _delay_ms(2000); }
  19. Poprzednia część kursu. [Kurs] Programowanie ARM LPC1114 cz.5 - RS-232 W poprzedniej wersji kursu komunikacja przez RS-232 została opisana dla procesora LPC-2114. Nowy procesor działa bardzo podobnie i w artykule opiszę jedynie różnice między układami. Zachęcam, więc najpierw do przeczytania poprzedniego kursu: • tutaj znajdziemy opis komunikacji • biblioteka standardowa (printf) • bootloader Nowy procesor posiada jeden moduł UART, zamiast jak LPC2114 dwa. Pozwala to na obsługę jednego połączenia RS-232. Część o komunikacji poprzez RS232 prawie bez zmian odnosi się do nowego procesora
  20. Elvis

    max232n

    Zobacz jeszcze raz, czy wszystko podłączyłeś jak w dokumentacji układu. Tak powinno wyglądać podłączenie: Datasheet jest tutaj: http://focus.ti.com/lit/ds/symlink/max232.pdf
  21. Elvis

    [C] STM32 - Problem z SysTick

    Jak chodzi o bibliotekę ST to ja za nią nie przepadam. Jest nieoptymalna, ale to jak każda biblioteka, nie można narzekać. Moim zdaniem jest brzydka - wypełnianie niekończących się struktur jest paskudne, ale to rzecz gustu. Natomiast tym co mnie do biblioteki zniechęciło to jej zmiany. Sam już to zobaczyłeś - masz przykład, a nie działa bo nowa wersja bibliteki... Ja interesowałem się STM32 już jakiś czas temu. Byłem niesamowicie zaskoczony, jak po może roku przerwy stare programy nie chciały się skompilować... ST przygotowało nową bibliotekę i musiałem się wszystkiego uczyć od nowa... Ter
  22. Elvis

    [C] STM32 - Problem z SysTick

    No właśnie... Dlatego myślę, że warto poświęcić trochę czasu na poznanie TS - podobnie jak LPCExpresso bazuje na eclipse + gcc. Oczywiście komercyjne środowiska mają swoje zalety, ale cena jest nieco zaporowa...
  23. Elvis

    [C] STM32 - Problem z SysTick

    Przez 30 dni można używać "evaluation edition" - czyli pełna funkcjonalność. Po tym czasie zostaje tylko "Kickstart edition", z ograniczeniem do 32KB kodu. Poza tym jest jeszcze problem ew. "komercyjnego" wykorzystywania kompilatora. TS można pisać programy komercyjne, pod IAR najpierw musimy kupić licencję. Swoją drogą - ktoś wie ile taka licencja kosztuje?
  24. Elvis

    [C] STM32 - Problem z SysTick

    30 dni, a później 32KB kodu... albo spooooory wydatek. Jak chodzi o TS to całkiem dobre środowisko, a nie bardzo rozumiem problem z SysTick. Wystarczy użyć SysTick_Config(), działa bez problemu.
  25. Elvis

    [C] STM32 - Problem z SysTick

    Jak chodzi o IAR to warto sprawdzić ile ten kompilator kosztuje...
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.