-
Zawartość
2636 -
Rejestracja
-
Ostatnio
-
Wygrane dni
198
Wszystko napisane przez Elvis
-
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
-
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
-
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
-
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.
-
Sprawdzenie schematu: Atmega8, silniki, serwo
Elvis odpisał w temacie użytkownika Mabog10 • Elektronika
Jeśli miałoby uszkodzić, to jest jeszcze jedna opcja - można dać oddzielny stabilizator dla serwa. Zawsze mniej problemów niż dodatkowy akumulator. -
Sprawdzenie schematu: Atmega8, silniki, serwo
Elvis odpisał w temacie użytkownika Mabog10 • Elektronika
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. -
[Programowanie] Mikrokontrolery Microchip PIC. Część 2
Elvis odpisał w temacie użytkownika BlackJack • Artykuły użytkowników
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. -
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.
-
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
-
Atmega64 + DS18B20 - problem z odczytem temperatury.
Elvis odpisał w temacie użytkownika Markownik • Mikrokontrolery
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; -
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ń.
-
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.
-
Enkoder inkrementalny czy potencjometr precyzyjny, problem w wyborze...
Elvis odpisał w temacie użytkownika mazur89 • Elektronika
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 -
Enkoder inkrementalny czy potencjometr precyzyjny, problem w wyborze...
Elvis odpisał w temacie użytkownika mazur89 • Elektronika
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 -
[Kurs] Programowanie ARM LPC1114 cz.7 - Czujniki odbiciowe
Elvis opublikował temat w Artykuły użytkowników
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 -
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ąć.
-
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
-
zmień pętlę while na: while (1) { PORTB |= (1<<PB2); _delay_ms(2000); PORTB &= ~(1<<PB2); _delay_ms(2000); }
-
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
-
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
-
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
-
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...
-
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?
-
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.
-
Jak chodzi o IAR to warto sprawdzić ile ten kompilator kosztuje...