| Autor |
Wiadomość |
Temat: Jak przerobić serwomechanizmy do napędzania robotów? |
abxyz
Odpowiedzi: 11
Wyświetleń: 4042
|
Forum: Artykuły Wysłany: 27 Kwi 07 11:55 Temat: Jak przerobić serwomechanizmy do napędzania robotów? |
| Ach! szkoda niszczyć sprawne serwomechanizmy; do napędu kół robota można wykorzystać silniki wydobyte ze zużytego sprzętu (magnetofony, walkmany, cdromy od PC itp.). Sprzęty te zawierają w swym wnętrzu wraz z silnikiem przekładnie, najczęściej w postaci kółek sprzężonych gumowymi paskami. |
Temat: Robot kroczący 4 nogi |
abxyz
Odpowiedzi: 11
Wyświetleń: 2101
|
Forum: Nasze sukcesy Wysłany: 28 Kwi 07 12:19 Temat: Robot kroczący 4 nogi |
Fajny robot, zabawny pokaz (trochę jak balet na wodzie, trochę jak bieg kurczaka z obciętą głową ), ale gdy robot kroczy, brakuje mu równowagi, wyraźnie widać jak kuleje. Może nie właściwa kolejność poruszania kończyn?
http://www.edw.com.pl/pdf/k13/51_13.pdf - w tym artykule znajduje się opis algorytmu ruchu czworonoga - może się przyda. |
Temat: Robot żółw. |
abxyz
Odpowiedzi: 4
Wyświetleń: 2371
|
Forum: Nasze sukcesy Wysłany: 28 Kwi 07 11:04 Temat: Robot żółw. |
Witam
Jakiś czas temu, wykonałem robocika, tzw. żółwia (Logo), służył mi on jako model do zabawy w programowanie mikrokontrolerów . Pomysł zaczerpnąłem z artykułu zamieszczonego w EdW ( http://www.edw.com.pl/pdf/k13/38_05.pdf ). Do budowy wykorzystałem tylko to co "było pod ręką", niczego specjalnie nie kupowałem z wyjątkiem miniaturowych łożysk kulkowych (1zł szt.) by koła się 'gładko' obracały.
A oto kilka zdjęć, (przepraszam za słabą jakość, użyłem kamery internetowej). |
Temat: Robot żółw. |
abxyz
Odpowiedzi: 4
Wyświetleń: 2371
|
Forum: Nasze sukcesy Wysłany: 29 Kwi 07 10:59 Temat: Robot żółw. |
1. Jak się porusza?
Robocik porusza się na trójkołowym wózku, dwa duże, napędzane koła z przodu i jedno małe, swobodne kółko z tylu. Koła z przodu obracają się wokół jednej osi, ale każde napędzane jest osobnym zespołem silnik i przekładnia, tylne swobodne kółko może obracać się wokół pionowej osi, tak jak kółka w sklepowym wózku. Mikrokontroler, poprzez h-mosteki, steruje oboma silniczkami, wyłącza i wyłącza, zmienia kierunek obrotów kół. Do obu napędzanych kół przymocowane zostały tarcze z wyciętymi na obwodzie prostokątnymi zębami, obracają się one wraz z kołami wokół osi. Tarcze współdziałając z transoptorami szczelinowymi, przymocowanymi do burty kadłuba robocika i obejmujące szczelinami zęby tarcz, generują sygnały wykorzystywane przez mikrokontroler do regulacji prędkości obrotów obu kół i do mierzenie długości przebytej drogi.
Dodatkowo robocik został wyposażony w dwie "czujki", do wykrywania przeszkód na drodze, wykonane z elastycznego tworzywa i współdziałają z miniaturowymi przyciskami.
2. Co on właściwie robi?
Robocik nie robi nic szczególnego, służący do zabawy i doskonalenia umiejętności programowania małych mikrokontrolerów, wykonuje kolejno zapisane w pamięci komputera komendy (coś w rodzaju: prosto 25cm, obrót w lewo 30 stopni, prosto 40cm );
potrafi:
- poruszać się po linii prostej ( zadaje się odległość do przebycia),
- poruszać się po łuku ( długość promienia i łuku ),
- obracać się w miejscu ( kąt obrotu);
3. Język programowania: asembler
4. Mikroprocesor: AT89C4051
Jak pisałem wcześniej, robocik służył jak model do zabawy w programowanie małych uC, dlatego mikroprocesor umieściłem na osobnej płytce, można ją łatwo wymienić na płytkę z innym procesorem, zrobiłem też płytki z PIC16F84A i AT90S2313.
5. Schemat
Elektronika tego robota jest tak prosta, że nie trzeba specjalnie rysować schematów (uC, dwa h-mostki, akumulatorki ) .
6. Materiały
Prawie w całości robicik został wykonany z części i materiałów pozyskanych z demontażu zużytych domowych sprzętów elektronicznych.
- kadłub robocika - wycięty fragment obudowy drukarki,
- koła napędzane i oś - części drukarki,
- małe kółko - część z walkmana,
- silniki - cdrom, walkman,
- przekładnia (kółka pasowe, paski gumowe, wałeczki i tulejki łożysk ślizgowych) - kasetowy magnetofon, walkman, cdrom,
- transoptory szczelinowe, miniaturowe przyciski - drukarka,
- tarcze enkodera - plastykowa obudowa płytki cd,
- akumulatorki - stary telefon,
Kilka większych zdjęć
http://abxyz.eu.interia.pl/a002/gora1.jpg
http://abxyz.eu.interia.pl/a002/gora2.jpg
http://abxyz.eu.interia.pl/a002/gora21.jpg
http://abxyz.eu.interia.pl/a002/gora22.jpg
http://abxyz.eu.interia.pl/a002/gora3.jpg
http://abxyz.eu.interia.pl/a002/spod.jpg |
Temat: Robot żółw. |
abxyz
Odpowiedzi: 4
Wyświetleń: 2371
|
Forum: Nasze sukcesy Wysłany: 02 Maj 07 12:00 Temat: Robot żółw. |
| ASEM-51 http://plit.de/asem-51/home.htm |
Temat: Poruszanie się robotów. |
abxyz
Odpowiedzi: 18
Wyświetleń: 1651
|
Forum: Na luzie Wysłany: 03 Maj 07 05:17 Temat: Poruszanie się robotów. |
Najlepszym sposobem na przemieszczanie się z miejsca na miejsce jest 'mat zaklęcie'...
posłuchajcie tego
http://mp3.wp.pl/i/sciagnij?id=107812 |
Temat: Czasopisma związane z elektroniką |
abxyz
Odpowiedzi: 47
Wyświetleń: 2068
|
Forum: Na luzie Wysłany: 03 Maj 07 10:03 Temat: Czasopisma związane z elektroniką |
| Ja nie kupuje czasopism, trudno się zdecydować który tytuł wybrać, w każdym zawsze jest coś interesującego. Natomiast wole je pożyczać! Coś ciekawego, to rysuje schemacik w notesie bądź kseruje. |
Temat: Co się może przydać w warsztacie? |
abxyz
Odpowiedzi: 20
Wyświetleń: 1102
|
Forum: Warsztat Wysłany: 05 Maj 07 04:49 Temat: Co się może przydać w warsztacie? |
| A młotek? Bez niego te wszystkie gadżety o których piszecie są bezużyteczne i to wcale nie jest żart. |
Temat: Co się może przydać w warsztacie? |
abxyz
Odpowiedzi: 20
Wyświetleń: 1102
|
Forum: Warsztat Wysłany: 05 Maj 07 07:04 Temat: Co się może przydać w warsztacie? |
Konstruktor bez młotka jest bezradny niczym wilk bez zębów, jak kucharz bez noża, jak dym bez ognia. Tak jak lew jest królem wśród zwierząt, tak młotek jest królem narzędzi.
Bez oscyloskopu można się obejść korzystając z wiedzy i doświadczenia, śrubokręt można zastąpić byle blaszką, zamiast lutować można przewody zapleść. Ale jak trza coś fest przyp..., to nic nie zastąpi porządnego młotka, żadne ciężkie żelastwo. |
Temat: Skąd wziąć przekładnie ślimakowe? |
abxyz
Odpowiedzi: 18
Wyświetleń: 1678
|
Forum: Napęd Wysłany: 17 Maj 07 06:49 Temat: Skąd wziąć przekładnie ślimakowe? |
| A może przekładne ślimakową zastąpisz innym mechanizmem? Do czego ta przekładnia będzie użyta? |
Temat: Fajne roboty |
abxyz
Odpowiedzi: 2
Wyświetleń: 511
|
Forum: Warsztat Wysłany: 02 Cze 07 12:27 Temat: Fajne roboty |
Zobaczcie jaki fajny robot
|
Temat: Prosty czujnik odległości |
abxyz
Odpowiedzi: 5
Wyświetleń: 1081
|
Forum: Czujniki Wysłany: 17 Cze 07 08:46 Temat: Prosty czujnik odległości |
| patrz: http://www.dioda.com.pl/topics5/170.htm |
Temat: Robot |
abxyz
Odpowiedzi: 7
Wyświetleń: 1945
|
Forum: Projekty nieukończone. Wysłany: 21 Cze 07 01:37 Temat: Robot |
| Widać, że prace nad robotem idą pełną parą, podwozie gotowe, jeszcze elektronika i na zawody... |
Temat: problem z mostkiem H |
abxyz
Odpowiedzi: 5
Wyświetleń: 610
|
Forum: Sterowanie Wysłany: 22 Cze 07 10:24 Temat: problem z mostkiem H |
| Szybos, dołącz schemat tego mostka (albo link do schematu) bo właściwie nie wiadomo o czym mowa.. |
Temat: problem z mostkiem H |
abxyz
Odpowiedzi: 5
Wyświetleń: 610
|
Forum: Sterowanie Wysłany: 23 Cze 07 12:25 Temat: problem z mostkiem H |
Szybos
Zamiast bawić się w lutowanie tranzystorów, możesz rozważyć użycie specjalnego układu scalonego, np. L293D - zawiera w sobie dwa gotowe h-mostki, jest tani, prosty do zastosowania i zajmuje niewiele miejsca na płytce.
Patrz
http://www.dioda.com.pl/topics3/145.htm
http://www.st.com/stonline/books/pdf/docs/1330.pdf |
Temat: ThinMan |
abxyz
Odpowiedzi: 5
Wyświetleń: 424
|
Forum: Inne Wysłany: 28 Cze 07 03:28 Temat: ThinMan |
Śledząc co piszecie na forum zauważyłem, że co najmniej kilka osób konstruuje sumobot'y i zapewne zamierzają startować w zawodach.
Ale żeby wygrywać dobrze mieć jakiś pomysł...
Przeglądają internet natrafiłem na ciekawą konstrukcję robota:
http://www.davehylands.com/Robotics/ThinMan/
Jak sądzicie, czy taki 'super" niski robot był by trudnym przeciwnikiem? |
Temat: ThinMan |
abxyz
Odpowiedzi: 5
Wyświetleń: 424
|
Forum: Inne Wysłany: 28 Cze 07 07:25 Temat: ThinMan |
| pawel napisał/a: | | Na zdjęciach widać, że na kołach niema żadnej gumy, więc przyczepność jest zapewne zerowa. |
Z opisu można dowiedzieć się, że robot posiada mosiężne koła z poliuretanowym płaszczem na obwodzie dla dobrej przyczepności. |
Temat: Problem z programem |
abxyz
Odpowiedzi: 15
Wyświetleń: 991
|
Forum: Mikrokontrolery Wysłany: 05 Lip 07 09:49 Temat: Problem z programem |
Rozumiem, że program w ogóle działa, ale nie takiego zachowania oczekiwałeś;
napisz precyzyjnie ( bardzo precyzyjnie !), co twój program powinien robić. |
Temat: Problem z programem |
abxyz
Odpowiedzi: 15
Wyświetleń: 991
|
Forum: Mikrokontrolery Wysłany: 06 Lip 07 10:53 Temat: Problem z programem |
Jeśli funkcja 'klawiatura' ma po prostu odczytać stan wyprowadzenia PD2 uC, to bym ją przerobił tak :
| Kod: |
/* Stan linii PD2 należy odczytać z rejestru PIND, nie z DDRD */
#define klawiszI PIND
unsigned char klawiatura(void)
{
unsigned char zwrot=0;
/* Linia PD2 pracuje jako wejście "podciągnięte do jedynki" */
cbi(klawiszD,pin);
sbi(klawiszP,pin);
/* Odczyt stanu linii PD2 */
if(bit_is_clear(klawiszI ,pin))
{
zwrot=zwrot+1;
}
return zwrot;
} |
|
Temat: Problem z programem |
abxyz
Odpowiedzi: 15
Wyświetleń: 991
|
Forum: Mikrokontrolery Wysłany: 06 Lip 07 07:26 Temat: Problem z programem |
Mała ściąga
zmienna |= _BV(numer_bitu); ustawienie bitu
zmienna &= ~_BV(numer_bitu); zgaszenie bitu
zmienna ^= _BV(numer_bitu); przełączenie bitu
No i przerobiony programik :
| Kod: | #include <avr/io.h>
#define F_CPU 1000000
#define klawiszD DDRD
#define klawiszP PORTD
#define klawiszI PIND
#define pin PD2
/* #define LED_ON sbi(DDRB,PB1);sbi(PORTB,PB1) */
#define LED_ON DDRB|=_BV(PB1);PORTB|=_BV(PB1);
unsigned char klawiatura(void)
{
unsigned char zwrot=0;
/* Linia PD2 pracuje jako wejście "podciągnięte do jedynki" */
/* cbi(klawiszD,pin); */
klawiszD &= ~_BV(pin);
/* sbi(klawiszP,pin);*/
klawiszP |= _BV(pin);
/* Odczyt stanu linii PD2 */
if(bit_is_clear(klawiszI ,pin))
{
zwrot=zwrot+1;
}
return zwrot;
}
/* Dalej bez zmian */
|
Używam avr-gcc v4.0.2, więc WinAVR 2007 też powinien powyższy programik “łyknąć”. |
Temat: Problem z programem |
abxyz
Odpowiedzi: 15
Wyświetleń: 991
|
Forum: Mikrokontrolery Wysłany: 07 Lip 07 10:47 Temat: Problem z programem |
| Kod: | /* Czy na PD2 jest stan wysoki */
if( bit_is_set(klawiszI,pin) )
/* lub tak */
if( klawiszI & _BV(pin) ) |
Dalszej części pytania nie rozumiem, może użyjesz konkretnego przykładu |
Temat: Problem z programem |
abxyz
Odpowiedzi: 15
Wyświetleń: 991
|
Forum: Mikrokontrolery Wysłany: 08 Lip 07 04:39 Temat: Problem z programem |
| Turboasm napisał/a: | | chodzi o to czy na mikroprocesor mogę na np. PC4 podać + czy nie ?? |
Oczywiście,że można na porty we/wy AVRa podawać napięcie odpowiadające niskiemu lub wysokiemu stanowi sygnału cyfrowego, ale tylko, gdy dana linia portu pracuje jako wejście, w przeciwnym razie można uszkodzić port.
Żeby skonfigurować którąś linię portu jako wejście, należy wyzerować odpowiadający tej linii bit w rejestrze DDRx (gdzie x to A,B,C,D); gdy bit jest ustawiony (ma wartość 1), linia portu pracuje jako wyjście. Po starcie uC AVR wszystkie linie portów we/we są skonfigurowane jako wejścia.
Następnie można sprawdzić stan na wyprowadzeniu uC badając wartość odpowiedniego bitu w rejestrze PINx.
Przykład:
| Kod: | /* Zeruje bit nr. 4 rejestru DDRC- linia PC4 ma pracować jako wejście*/
DDRC &= ~ _BV(PC4);
/* Odczyt wartość bitu nr.4 w rejestrze PINC */
/* Czy na PC4 jest stan wysoki? /
if( bit_is_set(PINC,PC4) )
/* Czy na PC4 jest stan niski? /
if( bis_is_clear(sfr,bit) ) |
Dodatkowo, jeśli port pracuje jako wejście i odpowiedni bit w rejestrze PORTx ustawi się na wartość 1, to linia ta będzie wewnętrznie "podciągnięta" przez rezystor do zasilania (ang. with internal pull-up resistors).
Tak jest w twoim programiku; do PD2 przyłączony został przycisk zwierający wyprowadzenie do masy. Gdy przycisk jest zwolniony, to na wejściu jest stan wysoki mimo, że przycisk nie podaje napięcia odpowiadającego wysokiemu stanowi sygnału; natomiast po wciśnięciu przycisku, wyprowadzenie PD2 zostaje zwarte do masy i na wejściu odczytuje się 0.
| Kod: | DDRD &= ~ _BV(PD2); /* Zeruje bit nr 2 rejestru DDRD, linia PD2 będzie wejściem */
PORTD |= _BV(PD2); /* Ustawia bit nr.2 rejestru PORTD, wyprowadzenie PD2 będzie wewnętrznie podciągnięte przez rezystor do zasilania */ |
| Turboasm napisał/a: | | Jak zrobić aby dana instrukcja była wykonywana przez jakiś czas np. sbi(DDRB,PB1) przez 10s ?? |
Jeśli, na przykład, chcesz, żeby dioda przyłączona do PB1 zapaliła się i świeciła przez 10s, po czym na powrót zgasła, można to zrobić tak: zapalasz diodę, czekasz 10 sek., gasisz diodę - czy o to Ci chodziło ? Jeśli tak, to program poniżej dokładnie to robi.
| Kod: |
#define F_CPU 1000000L /* Częstotliwość kwarcu */
#include <avr/io.h>
#include <util/delay.h> /* Żeby można było korzystać z funkcji '_delay_ms' */
int main(void)
{
int i; /* zmienna przyda się w pętli 'for' */
/* Ustawia bin nr. 1 rejestru DDRB, linia PB1 będzie wyjściem */
DDRB |= _BV(PB1);
/* Ustawia bit nr.1 rejestru PORTB, na wyprowadzeniu PB1 pojawi się stan wysoki */
PORTB |= _BV(PB1);
/* Wykonanie tego fragmentu zajmie uC 10s */
for (i = 0; i < 10*100; i++)
_delay_ms(10); /* Każdym razem wykonanie funkcji "_delay_ms" zajmie uC 10ms */
/* Kasuje bit nr.1 rejestru PORTB, na wyprowadzeniu PB1 pojawi się stan niski */
PORTB &= ~_BV(PB1);
while(1){}; /* Nieskończona pętla "uwięzi" program w tym miejscu */
return 0;
}
|
| Turboasm napisał/a: | | Co zrobić aby w/w programie dioda świeciła tylko gdy przycisk będzie trzymany, jak puszcze to gaśnie ?? |
Przerób funkcję 'zaswiec()' w ten sposób:
| Kod: |
#define LED_OFF DDRB|=_BV(PB1);PORTB&=~_BV(PB1);
void zaswiec(void)
{
if(klawiatura()==1)
{
LED_ON;
}
else
{
LED_OFF;
}
} |
| Turboasm napisał/a: | | Gdzie mogę znaleźć programy dla uC w C wraz z opisami ?? |
|
Temat: Płytka stykowa - Czy warto ?? |
abxyz
Odpowiedzi: 18
Wyświetleń: 802
|
Forum: Warsztat Wysłany: 09 Lip 07 11:29 Temat: Płytka stykowa - Czy warto ?? |
| Może warto.., lecz ja wolę zwykłe płytki uniwersalne |
Temat: Dwa banery obok siebie - ankieta |
abxyz
Odpowiedzi: 23
Wyświetleń: 673
|
Forum: O wortalu Wysłany: 10 Lip 07 08:55 Temat: Dwa banery obok siebie - ankieta |
| Można by też, zamiast obok siebie, umieścić dwa lub więcej bannerów jeden pod drugim. Żeby zrobić więcej miejsca w pionie, można by usunąć z okienka "Ogłoszenie" slogan "Przyszłość jest w naszych rękach... " lub przenieś go w inne miejsce, np. wpisać w dolnej części obrazka: http://www.dioda.com.pl/t.../logo_phpBB.gif |
Temat: serwo-programowanie |
abxyz
Odpowiedzi: 10
Wyświetleń: 1306
|
Forum: Mikrokontrolery Wysłany: 18 Lip 07 12:53 Temat: serwo-programowanie |
Na tej stronie jest przykład wraz z opisem
http://winavr.scienceprog...-using-avr.html
więcej szczegółów znajdziesz po adresem
http://mil.ufl.edu/~achamber/servoPWMfaq.html |
Temat: Robot ZEW 1 |
abxyz
Odpowiedzi: 14
Wyświetleń: 2371
|
Forum: Nasze sukcesy Wysłany: 18 Lip 07 10:23 Temat: Robot ZEW 1 |
O kurczę, Prawdziwy robot !
Czy potrafi przenosić przedmioty ? |
Temat: JTAG dla procesora AVR |
abxyz
Odpowiedzi: 3
Wyświetleń: 631
|
Forum: Mikrokontrolery Wysłany: 18 Lip 07 11:02 Temat: JTAG dla procesora AVR |
W artykule opisano jak zbudować interfejs JTAG dla procesora AVR, jest też gotowy do wydruku wzór płytki.
http://liku.sdfpau.org/artykuly.php?a=avrjtag
//Decado
Dla tych, którzy nie wiedzą co to JTAG - wikipedia
|
Temat: Programator z "kilku rezystorów i kabelków" |
abxyz
Odpowiedzi: 3
Wyświetleń: 772
|
Forum: Programowanie Wysłany: 19 Lip 07 09:19 Temat: Programator z "kilku rezystorów i kabelków" |
Oprócz sprzętu ( w tym przypadku kabelka i rezystorów ) potrzebny jest też odpowiedni program, który odpalasz na swoim PC (w pakiecie WinAVR są to programy: uisp lub avrdude). Program taki powinien umieć współpracować z konkretnym typem programatora. Więc najlepiej jest zrobić kabelek zgodny z popularnym programatorem STK200, wtedy będzie działać z każdym programem. Dołączam schemat kabla, rysunek pochodzi ze strony http://elm-chan.org/works/avrx/stk200.png
Zanim podłączysz coś do swojego PC, sprawdź poprawność połączeń. Jeśli nie jesteś pewien swoich umiejętności, kup gotowy programator |
Temat: Programator ISP AVR ze złączem USB |
abxyz
Odpowiedzi: 0
Wyświetleń: 634
|
Forum: Mikrokontrolery Wysłany: 24 Lip 07 10:59 Temat: Programator ISP AVR ze złączem USB |
Projekt programatora ISP AVR ze złączem USB
http://www.fischl.de/usbasp/ |
Temat: Linux, avr, kwarc, zewnętrzna pamięć |
abxyz
Odpowiedzi: 11
Wyświetleń: 886
|
Forum: Mikrokontrolery Wysłany: 30 Lip 07 12:30 Temat: Re: Linux, avr, kwarc, zewnętrzna pamięć |
| Turboasm napisał/a: | | Co muszę zainstalowac aby móc kompilować programy dla avr pod linuksem ?? |
W internecie jest wiele na ten temat, np:
http://paul.graysonfamily.org/thoughts/avrlinux/
| Turboasm napisał/a: | | co do pytania 3 to chodziło mi o to czy coś jeszcze oprócz tego zapisu potrzeba żeby kożystać z dołączonego kwarcu ( z jego częstotliwości ) |
Trzeba przeprogramować (z poziomu programatora) odpowiednie tzw. fuse bity (patrz dokumentacja uC) , nowe Atmega i Attiny pracują z wewnętrznym oscylatorem o częstotliwości 1MHz. |
| |