Keresés: 
 Bejelentkezés
Nick:
 
Jelszó:
 
 
 
   
» Elfelejtettem a jelszavamat :'(
» Regisztráció
 Fórum témák
» Több téma
 Frissek
RSS hírforrások
  Hírek.rss
  Fórum.rss
  2012. Máj, 22. Kedd
10:09:40
  Jelenleg 465 fő olvassa az oldalt
Fórum » Beszélgetős témák » Robotika kezdőknek »
Robotika kezdőknek  
Témaindító: mspike, idő: Júl 18, 2005
Lapozás Méret:     47 / 51     
(#1160071) Sihu12 Válasz • Feb 6, 2012
Érdemes, ekkora kerekeket szervóval mozgatni?? én a hitec-422-esekre gondoltam, vagy nagyon rossz ötlet??

(#1160116) borvendeg válasza Sihu12 hozzászólására (#1160071) Válasz • Feb 6, 2012
Ez függ a robot súlyától is.

(#1160119) Sihu12 válasza borvendeg hozzászólására (#1160116) Válasz • Feb 6, 2012
Hát ez még elég képlékeny, olyan 3 kiló környékére tehető majd a súlya, inkább 4.

(#1160175) borvendeg válasza Sihu12 hozzászólására (#1160119) Válasz • Feb 6, 2012
Szerintem jó lesz! Főleg ha kerekenként teszel 1-et.

(#1160216) Sihu12 válasza borvendeg hozzászólására (#1160175) Válasz • Feb 6, 2012
köszönöm, reméltem, mert a szervók vezérlését nagyon megszerettem, de sok külföldi oldalon azt találtam, hogy ilyen nagyobb robotoknák, ekkora kerék méretnél a DC motorok jobbak lennének. / de ezt elakartam kerülni /

(#1161243) borvendeg válasza Sihu12 hozzászólására (#1160216) Válasz • Feb 8, 2012
A DC motort sem sokkal bonyolultabb vezérelni.

(#1163688) Axel Válasz • Feb 11, 2012
Sziasztok!
183Hz-es PWM-el hajtok egy TP SG-90-es 9g-s mikroszervót. A gondom az ,hogy nagyon gyakran zúg, mintha folyton pozicionálni akarna és melegszik is (épphogy langyos ). A végállások úgy jönnek ki, hogy 8bites módban 20-as komparálási szintnél egyik végállás míg 90-es szintnél a másik végállás ,kitöltési tényezőben ez azt hiszem 18.8 és 37.7 % között van. Az általános 1 és és 2 ms idők is stimmelnek így. Esetleg túl magas a PWM frekvencia és azért van ez a gond?
Köszi!

(#1163690) borvendeg válasza Axel hozzászólására (#1163688) Válasz • Feb 11, 2012
Hello!
Próbáld meg kisebb frekvenciával. Én ugyan nem sokat használtam szervót, de akkor 50Hz-el hajtottam. Úgy jó volt.

(#1163724) Axel válasza borvendeg hozzászólására (#1163690) Válasz • Feb 11, 2012
Megpróbáltam 47Hz-el (ez a legközelebbi előállítható érték) de még jobban rángat

(#1163764) mzozo95 válasza Axel hozzászólására (#1163724) Válasz • Feb 11, 2012
Szia!

én atmega8 at használtam erre a célra, ezzel a kóddal tökéletesen működött(avrstudio 4, belső rc oszcillátor 8mhz)

  1. #define F_CPU 8000000
  2. #include <avr\io.h>
  3. #include <util/delay.h>
  4.  
  5. short a=5000;
  6.  
  7.  
  8. int main(void) {
  9. DDRB |= _BV(1) |  _BV(2);
  10. //Set PORTB1 pin as output
  11.  
  12. DDRB=0xFF;
  13.  
  14. //TOP=ICR1;
  15.  
  16. //Output compare OC1A 8 bit non inverted PWM
  17.  
  18. //Clear OC1A on Compare Match, set OC1A at TOP
  19.  
  20. //Fast PWM
  21.  
  22. //ICR1=20000 defines 50Hz PWM
  23.  
  24. ICR1=20000;
  25.  
  26. TCCR1A|=(0<<COM1A0)|(1<<COM1A1)|(0<<COM1B0)|(0<<COM1B1)|
  27.  
  28. (0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(0<<WGM10);
  29.  
  30. TCCR1B|=(0<<ICNC1)|(0<<ICES1)|(1<<WGM13)|(1<<WGM12)|
  31.  
  32. (0<<CS12)|(1<<CS11)|(0<<CS10);
  33.  
  34. //start timer with prescaler 8
  35. OCR1A=1500;
  36.  
  37. while(1){
  38. OCR1A=1000;
  39. _delay_ms(a);
  40. OCR1A=2000;
  41. _delay_ms(a);
  42. ;
  43. }}

(#1163768) mzozo95 Válasz • Feb 11, 2012
Sziasztok!

A cikk alapján próbálkoztam atmega8al, usart kommunikációval, de sehogy sem akar sikerülni Bővebben: Link

Másnak működik ez a verzió?
Sok mindent át kellett definiálni, hogy egyáltalán a fordító engedje égetni:
  1. #define    UCSRA    UCSR0A
  2. #define    UCSRB    UCSR0B
  3. #define    UCSRC    UCSR0C
  4. #define    UBRRH    UBRR0H
  5. #define    UBRRL    UBRR0L
  6. #define    UDRE    UDRE0
  7. #define    UDR    UDR0
  8. #define    RXC    RXC0


de még így is 3 hibát kaptam:
Idézet:
„../usart.c:31: error: 'URSEL' undeclared (first use in this function)
../usart.c:31: error: (Each undeclared identifier is reported only once
../usart.c:31: error: for each function it appears in.)
make: *** [usart.o] Error 1
A kvarc helyett 8mhz-n járatom a belső oszcillátort, még ezeket a sorokat módosítottam:
  1. #define F_CPU 8000000
  2. ...
  3.     #define UBRR_ERTEK ((F_CPU / (USART_BAUDRATE * 16)) - 1)



Valaki tudna segíteni kijavítani a hibát?

Előre is köszönöm,
Zoltán

(#1163827) Axel válasza mzozo95 hozzászólására (#1163768) Válasz • Feb 11, 2012
Hello!
Tényleg USART vagy csak UART kommunikáció amit szeretnél? Csak azért mert utóbbihoz nekem van működő kódom, szintén ATmega8L-hez, de a kettő programozás szempontjából ugyanaz.

(#1163844) mzozo95 válasza Axel hozzászólására (#1163827) Válasz • Feb 11, 2012
Szia!

UART! Ebben a pillanatan jöttem rá, hogy megint én rontottam el valamit, az avr studio 4 nél be kell állítani hogy milyen is az AVR, elnézést a felesleges kérdésért!

Itt egy remek cikk az uarthoz, ha valakit érdekel:Bővebben: Link

Egy másik kérdés: char-t hogyan szoktatok sztringbe konvertálni, vagy hogyan lehet megoldani, ha egy parancs több számból, karakterből áll? pl ha a pwm értékét 1567 re szeretném állítani, akkor valahogy össze kell fűznöm a PC-től kapott charokat és átalakítani int-be...

_______________________________________

Több csatornán hogyan lehetséges atmega8nál hardweres pwm? 50hz es frissítési időre, és 1-2ms es kitöltési tényezőre lenne szükségem(servo vezérléshez)
Egy csatornáig tökéletesen működik, a többinél már gond van...

  1. #define F_CPU 8000000
  2. #include <avr\io.h>
  3. #include <util/delay.h>
  4.  
  5. int main(void) {
  6. DDRB=255;
  7.  
  8. ICR1=20000; //20ms ciklus
  9.  
  10. TCCR1A|=(0<<COM1A0)|(1<<COM1A1)|(0<<COM1B0)|(0<<COM1B1)|
  11.  
  12. (0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(0<<WGM10);
  13.  
  14. TCCR1B|=(0<<ICNC1)|(0<<ICES1)|(1<<WGM13)|(1<<WGM12)|
  15.  
  16. (0<<CS12)|(1<<CS11)|(0<<CS10);//8as osztás
  17.  
  18. OCR1A=1500;//1,5ms kitöltés
  19.  
  20. while(1){}; }

Előre is köszönöm,
Zoltán

(#1164068) mzozo95 válasza mzozo95 hozzászólására (#1163844) Válasz • Feb 11, 2012
a 2CH pwm már megvan, elvileg a 3. az be lehet valahogy üzemelni, ebben valaki tudna segíteni?,

Eddig jutottam:

  1. #define F_CPU 8000000
  2. #include <avr\io.h>
  3. #include <util/delay.h>
  4.  
  5. int main(void) {
  6. DDRB=255;
  7. DDRD=255;
  8.  
  9. TCCR1A = (1<<COM1A1)| (1<<COM1B1);
  10. TCCR1B = (1<<WGM13) | (1<<CS11) ;
  11. ICR1 = 10000;
  12. OCR1A = 750;
  13. OCR1B = 750;
  14.  
  15. while(1){};}


Zoltán

(#1164093) sargarigo válasza mzozo95 hozzászólására (#1164068) Válasz • Feb 11, 2012
Kettő van a timer1-en, és egy a tmer2-n.
Én mondjuk még csak kettőt használtam egyszerre..

(#1164127) Fizikus válasza mzozo95 hozzászólására (#1164068) Válasz • Feb 11, 2012
Szia!
Nezzed meg a pl. a Jani-6 robotom kodjat. Ott 2 PWM a DC motorokat vezerli (motor.h fajl), a 3.-ik PWM meg a fejmozgato szervot vezerli.
Bővebben: Link
Udv.: Gabor

(#1164188) sargarigo Válasz • Feb 12, 2012
Hát srácok, nem tudom erről volt-e már szó, de Fizikus barátunk ajánlotta ezt az oldalt, nézzétek meg ti is, sok okosság van rajta: Bővebben: Link

Ez pedig egy másik okosító oldal.

(#1173741) ben77 Válasz • Feb 23, 2012
Sziasztok!
Ezek között az áttételes motorok között vacillálok az épülő robotomhoz:
Áttételes motor
Vettem már két ilyen kereket és nem tudom melyik motor fordulatszáma lenne megfelelő a robotomhoz. Nem nagy az egész, és a sebesség sem annyira fontos, csak azért haladjon.
Ennek a felfogatása teljesen jó, de vajon 320 rpm elég ? eben még nincs tapasztalatom.
A választ előre is köszönöm.

Üdv.: Ben

(#1173795) kameleon2 válasza ben77 hozzászólására (#1173741) Válasz • Feb 23, 2012
Elektromos csavarhúzó 2990 Ft/db Abban is van áttételes motor

(#1173841) ben77 válasza kameleon2 hozzászólására (#1173795) Válasz • Feb 23, 2012
Köszi, ezzel tisztában vagyok. Egy pofás kis robotot szeretnék, nem fúróbol kigányolt motorral. De nem is ez a legnagyobb gond ezzel, hanem hogy méretben és áramfelvételben is nagyon eltér attól ami nekem kell. És ettől még a kérdésemre sajnos nem tudtam meg a választ.

(#1173903) mzozo95 válasza ben77 hozzászólására (#1173841) Válasz • Feb 23, 2012
Szia!

Ajánlom az un rc servo motorokat, ezek eredetileg csak két irányba képesek kitérni, de egy kis átalakítással( egy vágás és egy forrasztás) át lehet alakítani pontosan vezérelhető, kis fordulatú hajtóművekké.
A másik megoldás, veszel egy komolyabb rc modellt, és átalakítod a saját elektromos vezérléseddel... pl:a modellekről sok okosság van itt is.
Az én álláspontom szerint ez első dolog a működés, amíg nem megy tökéletesen az elektronika, nem értem mi hogy működik, nem tudom hogy kell számolni áttételeket, pwm jeleket, stb addig a külső profilt csak vázlatosan tervezem meg, nem éri meg egy szép masina, ami csak szép de nem jó. Ez csak az én álláspontom.
(rengeteg embert látam, akik kitaláltak egy számukra szép kialakítást, csak belefulladtak a sikertelenségbe, mert 0áról kezdnei egy normális robotot bizony nagy kitartást igényel, rengeteg kudarccal és a végén hatalmas örömmámorral, legalább is az első robotnál...;) )
De ha már ezeken túl vagy sok sikert mindenhez ;)

A fordulatszámból a sebességre úgy tudsz következtetni, hogy ha percenként fordul "X"et, és a keréknek "k" a kerülete, akkor percenként X*k utat fog megtenni, ebből máris kijött egy cm/perc sebesség, amit aztán átválthatsz m/sec re vagy km/h ra és könnyen be tudod látni hogy ez elég e az elképzeléseidhez...
(v= f * 2*r*pí; mért egységek: v=m/s; h=hz vagy 1/s, r=méter)

Egyénként milyen robot projektbe kezdtél bele?

Zoltán

(#1174030) kameleon2 válasza ben77 hozzászólására (#1173841) Válasz • Feb 23, 2012
SZia! Nem teljesen értem, hogy egy gyári,új motor kivétele és átépítése miért lenne gányolás, egy akkus csavarhúzóból, de te biztosan tudod a miértjét. Én nem spirálnám túl az elsőt. Ha mégis, vegyél egy kész Scribbler, vagy hasonló robotot, azzal kevesebb a macera és kitűnően ki lehet próbálni rajta mindent - nehogy azt hidd a saját olcsóbb lesz !

(#1175678) Axel Válasz • Feb 26, 2012
Sziasztok!
Kérdésemet főleg Fizikus fórumtársunkhoz intézném de természetesen bárki mástól is örömmel veszem a választ!
Rendeltem BT-UART modult, pontosan olyat mint ami az Ő cikkében szerepel. Működik is de decimális adatoknál probléma, hogy csak úgy kommunikál rendesen ha a CR karaktert is elküldöm, így persze már más lesz a küldött számérték is. (Terminálprogrammal teszteltem de nyilván ez a helyzet egy esetleges saját szoftvernél is.) Milyen megoldást javasoltok, hogy küldhessek normál kizárólag numerikus bájtot egyszerre?
Köszi!

(#1175772) lazsi válasza Axel hozzászólására (#1175678) Válasz • Feb 26, 2012
Azt hiszem, ez a probléma más soros kommunikációnál is fellép.
Én ezt (USB-virtuális soros porttal) úgy oldottam meg, hogy a minden kommunikáció elején az első byte (nagyobb méretű adatcsomagot használó rendszer esetén az első két byte) az átvitt byte-ok számát jelenti. Így a kommunikáció végét nem egy adott karakter (CR) jelenti, hanem a beérkezett byte-ok megfelelő száma. Érdemes lehet valamilyen összeg byte is a végére, amivel ellenőrizheted az esetleges hibát.

A másik megoldás, ha megkerülöd a dolgot, és a decimális adatokat is karakterenként viszed át. Ez viszont jelentősen ( 3 szorosára ! ) megnöveli az átviendő karakterek számát, így a kommunikáció sebességét harmadára csökkenti.

(#1175845) Axel válasza lazsi hozzászólására (#1175772) Válasz • Feb 26, 2012
Ha minden kötél szakad akkor max. átküldöm 2 "nibble"-ben a bájtot, a végükől meg a mikrovezérlő programjában kimaszkolom a CR-t. De ez már csak azért is fura mert a hagyományos pl2303 és CP2102 UART illesztőkkel sosem volt ilyen gondom, azok szépen küldik a bájtokat CR nélkül is.

(#1176097) sargarigo válasza lazsi hozzászólására (#1175772) Válasz • Feb 26, 2012
Ha hexa kódokat küldesz, akkor "csak" duplája lesz az átvitt adatok száma, cserébe javul a hibabiztonság is az eredetihez képest, hiszen csak 0-9, a-f karakterek szerepelhetnek benne.

(#1176102) sargarigo válasza Axel hozzászólására (#1175678) Válasz • Feb 26, 2012
Nem lehet hogy a terminál programot összekavarja ha vezérlőkódot kap? Gondolok itt most az ascii tábla első pár karakterére. Milyen esetekben nem működik? Bizonyos számokkal?

(#1176192) Axel válasza sargarigo hozzászólására (#1176102) Válasz • Feb 26, 2012
Úgy van, hogy az első bájt átmegy CR nélkül is de a második már csak akkor ha CR-t is küldök. (Eltelt egy-két órába mire rájöttem erre). Csak és kizárólag számokról, tehát nyers bájtokról van szó, nem karakterekről.

(#1176258) Fizikus válasza Axel hozzászólására (#1175678) Válasz • Feb 26, 2012
Szia!
A cikkben hasznalt BT modullal az a problema, hogy szinte semmi dokumentacio nincs hozza. A modul firmware-jet is folyamatosan valtoztatjak, ezert belefuthatsz olyan szeriaba, amelyik szinte hasznalhatatlan (nekem is ki kellett egyet dobni, mert minden kiserletem ellenere nem sikerult vele kommunikalnom...).
Ha a BT modul altal hasznalt osszes AT parancsot sikerulne valahonnan megszerezni, az sokat segitene, mert be/ki kapcsolhato lenne vele az echo funkcio, sorvegi kocsivissza es ujsor karakter stb...
E nelkul viszont sajnos nem tudhato, hogy az adott firmware-nel ezt alapbol hogyan allitottak be.
En nem probaltam adatokat decimalis vagy byte formaban kuldeni vele. En karaktereket kuldok, amiket a vevo oldalon visszaalakitok szamma...

(#1176289) Axel válasza Fizikus hozzászólására (#1176258) Válasz • Feb 26, 2012
Hello! Én is valami hasonlóra gondoltam. Ezért is próbáltam előkeríteni a bluecore chip részletesebb doksiját az AT parancsokkal, eddig kevés sikerrel. De egyelőre nem adom fel, hátha lesz valami megoldás.

Következő     47 / 51     
 HEStore.hu
 Hirdetés
TrainModules.hu