Fórum témák

» Több friss téma
Fórum » Robotika kezdőknek
 
Témaindító: mspike, idő: Júl 18, 2005
Lapozás: OK   13 / 82
(#) labu01wx válasza vilmosd hozzászólására (») Jún 9, 2010 /
 
Szia!

Egy ilyennél a bázist szabadon kell hagyni?
(#) sikolymester hozzászólása Jún 13, 2010 /
 
Sziasztok!

Ennél a cikknél: http://www.hobbielektronika.hu/kapcsolasok/egyszeru_soros_kommunika...t.html

Az alábbi kép szerepel: http://www.hobbielektronika.hu/kapcsolasok/files/447/tablazat.jpg

Hibásan áll ott, hogy az USB-nél +5 és -5 voltos jelszintek vannak. A D+ D- vezeték nem azt jelenti, hogy negatív feszültség lenne a D- on. A D+ és D- vezetékeknél a logikai 0 jelszintje 0 volt, a logikai 1 jelszintje 3,3 volt. Pontos toleranciát nem tudok mondani.
A 2 adat vezetéken mindig egymás logikai inverze van, de nem feszültség inverze. Tehát ha egyiken 3,3 volt van, akkor a másikon 0, nem pedig -3,3.

Gondoltam leírom ide, nehogy valaki komolyan vegye.
(#) Moderátor hozzászólása sikolymester hozzászólására (») Jún 13, 2010
 
Köszi, hogy észrevetted, jogos.

A cikk javítása közben felfigyeltem én is erre, de akkor sajnos csak a szöveges leírásban vettem észre és javítottam ki az USB-re vonatkozó néhány szót; szóval a szöveges magyarázatban már "javított" verzió áll, ha olvassátok (toleranciasávokat írtam); ezt a táblázatot, majd megkérjük, hogy javítsa Fizikus, ha ráér. :yes:
(#) KTobi válasza (») Jún 13, 2010 /
 
Ha az átvitel szimmetrikus jellel történik, akkor nem inverz logika kell, hogy legyen rajta, hanem inverz feszültség. Most nem mernék megesküdni rá, de úgy tudom, hogy az inverz feszültség van a D- vezetéken.
(#) Norberto válasza KTobi hozzászólására (») Jún 13, 2010 /
 
A képen egy USB adatfolyam látszik: http://www.edn-europe.com/cmsimages/0608/52f2.jpg
(#) Fizikus válasza sikolymester hozzászólására (») Jún 13, 2010 /
 
Lehet hogy igazatok van az USB-vel kapcsolatban.
A Making Things Talk könyvet olvastam, abban határozottan azt írta a szerző, hogy a Data+ és Data- feszültségösszege mindig nulla, ebből számomra az következik, hogy ha a Data+ +5V, akkor a Data- -5V, és ha a Data+ 0V, akkor a másik is annyi. De lehet hogy félreértettem valamit. Nem vagyok profi az USB kommunikációs protokol ismeretében, de ha valaki küld egy linket ahol ez érthetően le van írva, akkor természetesen szívesen kijavítom a cikkben is.

Üdv.: Gábor

U.i.: Ezúton megkérdezném Norberto tőled hogy a visszaperjeleket hogyan tudtad a kódba beilleszteni? Mert nekem mindig kiszedte a weboldal a mentés után.
(#) Norberto válasza Fizikus hozzászólására (») Jún 13, 2010 /
 
(#) Norberto válasza Fizikus hozzászólására (») Jún 13, 2010 / 1
 
Olyan módon sikerült, hogy duplán raktam be a kódban minden helyre ezt a visszaperjelet és így mentettem el az oldalt. De arra figyelni kellett, hogy további mentés már ne legyen az adott oldalon ennek elmentése után, mert egy visszaperjelet leszed belőle a rendszer, tehát vissza kell írni mindig duplára, ha a rendszer közben "megenné". Néhány programnyelvben ilyen "duplázással" van megoldva, hogy a feldolgozás művelete helyett lehessen extrém karaktereket is beszúrni, ha szükséges.
(#) Fizikus válasza Norberto hozzászólására (») Jún 13, 2010 /
 
Mégegy kérdés (tudom hogy kicsit off, de lehet hogy mást is érdekel aki cikket akar írni):
Miért van az pl. hogy néhány formázás a mentés után eltűnik? (pl. nem tudok betűméretet változtatni, néhány felkövérnek kijelölt betű nem lesz az, eltűnnek a betűszínek stb..)
(#) Norberto válasza Fizikus hozzászólására (») Jún 13, 2010 /
 
A betűszínezés jelenleg le van tiltva, úgy tudom, a másikra viszont sajnos nem igazán van tippem, mivel van, hogy egyes betűket át lehet állítani félkövérré /ahogy a cikkedben is van néhány helyen/, viszont más betűknél ez néha nem működik. Ennek az okát sajnos én nem tudom, csak Topi tudná (elképzelhető, hogy darabszám-korlátozás van bevezetve a félkövérré alakításra?!).
(#) skynetpro hozzászólása Jún 15, 2010 /
 
Üdv! Jó a cikk, csak néhány megjegyzés:
Idézet:
„Lassan emeljük a kristály oszcillátoron a feszültséget”

Ezt szerintem félrefordítottad, inkább azt jelentené, hogy a tápfeszültség bekapcsolás után lassan emelkedik, nem hirtelen (pufferkondi van a tápon)

Idézet:
„Amikor egy új karakter érkezik, az UART rendszer egy megszakítást generál. A mikrovezérlő félbehagyja a főprogram futtatását, az adott megszakításhoz tartozó megszakítás kiszolgáló rutinhoz ugrik (ISR). Jelen esetben ez az UART karakter érkezett nevű megszakítás. Ez az ISR beolvassa az új karaktert az UART-ból, és átteszi egy pufferbe, végül törli a megszakítást, majd a mikrokontroller visszatér a főprogramhoz és ott folytatja, ahol félbehagyta. Mindez a háttérben fut, a főprogramot ez nem befolyásolja.

A kiemelt utolsó mondatot én törölném, mert félreérthetővé teszi a dolgot. Az interrupt rutin nem a háttérben fut. Ez azt jelentené, hogy több szálon folyik a programvégrehajtás. Ahogy azt Te is jól tudod, erről szó sincs, IT-nál a stack-re kerül a PC (program counter) regiszter értéke és a vezérlés a megfelelő interrupt vectorra ugrik (ezek fixen, előre definiált, nem módosítható címek)
Az interrupt rutin végén egy RETI utasítás a stack tetején lévő címet beemeli a PC-be és ott folytatódik a főprogram, ahol a megszakítás beérkezése előtt abbamaradt.

De. Érdemes lenne kitérni azokra a globális változókra, amelyeket interruptból és a főprogramból is el szeretnél érni. Ezeket C-ben a volatile kulcsszóval kell deklarálni (pl.
  1. unsigned volatile char valtozo;
) ennek elmulasztása elég érdekes eredményre vezet! (két különböző változó lesz ugyanazzal a névvel)
Kiemelném továbbá azt a tényt, hogy a C nyelvben írt program sorai nem elemi utasítások. Előfordulhat, hogy egy több byte-os változó növelésekor annak alsó bájtját már megnövelte a CPU, ekkor befut egy IT, ami módosítja ezt a változót, visszatérve az IT-ból a változó felső bájtját is növelné (mert túlcsordult az alsó) de közben az IT belenyúlt és így a változónk értéke teljesen váratlan lesz, ami galibát okozhat. Célszerű tehát ilyen helyeken tiltani az interruptokat, majd a mutatvány végén újra engedélyezni. (CLI, SEI)

Épp nemrég írtam egy ringbufferes UART kezelő kódot C-ben. (az általad linkelt UART library-t ismertem, csak épp nem jutott eszembe) Egész jól kommentezett, ha gondolod, odaadom, kiteheted.

Szólhattál volna esetleg néhány szót még a paritásbitről, illetve kommunikációvezérlésről, flow controlról, (!) CRC-ről és arról, hogyan érdemes egy bonyolultabb kommunikációt felépíteni, de ez már tényleg nagy falat lenne.

Az USB-s kollégáknak pedig úgy tudom igazuk van és a D+ nem a D- negáltja. Próbálkoztam a V-USB library-vel, de nekem nem nagyon jött össze, ezért lett belőle UART.

Egyébként elég korrekt cikk, grat. Egy hónapja mit meg nem adtam volt ezért!
(#) Fizikus válasza skynetpro hozzászólására (») Jún 16, 2010 /
 
Koszi a hozzaszolast skynetpro!

Biztos van meg tobb kisebb pontatlansag is a cikkben, de en is meg csak ismerkedem a mikrovezerlovel es a C-vel. Ezert nekem elsosorban az a cel, hogy ha meg akarok oldani valamit, akkor az mukodjon. Utanaolvasok, megprobalom alap szinten megerteni es alkalmazni. Kesobb ha jobban megismerkedtem a temaval akkor reszleteiben is jobban atlatom majd.
Nincs egy eve amikor elkeztdtem az elektronikaval es a mikrovezerlovel hobbi szinten foglalkozni. Azota folyamatosan fejlesztgetem a robotomat es ujabb periferiakat kezdek el hasznalni (eloszor csak a digitalis I/O-t es a PWM-et hasznaltam majd jott az ADC, a megszakitasok, es most a soros kommunikacio)
Azert irom a cikkeimet, hogy a hozzam hasonlo kezdok ne szenvedjenek vele annyit mint en.
Ezert lehet hogy nem a legcelszerubben / legelegansabban oldok meg nehany dolgot, de nekem az a fo hogy mukodik.

Idézet:
„Szólhattál volna esetleg néhány szót még a paritásbitről, illetve kommunikációvezérlésről, flow controlról, (!) CRC-ről és arról, hogyan érdemes egy bonyolultabb kommunikációt felépíteni.”


Szivesen irtam volna ezekrol is, ha meglenne hozza a tudasom, de jelenleg ezekrol nem sokat tudok.

Idézet:
„Épp nemrég írtam egy ringbufferes UART kezelő kódot C-ben. (az általad linkelt UART library-t ismertem, csak épp nem jutott eszembe) Egész jól kommentezett, ha gondolod, odaadom.”


Koszonom, nagyon szivesen vennem ha elkuldened. Probaltam megerteni hogy hogyan mukodik a Peter Fleury UART kodjaban a ringbuffer, de nem jartam sikerrel, ehhez az en C tudasom meg edeskeves.

Udv.: Fizikus
(#) webster hozzászólása Jún 17, 2010 /
 
Üdv!
Arduino mikrokontroller szeretnék 4 kereken guruló robotot készíteni. Az alapja egy meglévő (kb 40cm-hosszú) autó, hátsó kerék meghajtással. Szükségem lenne még 2db motorra, az egyik mindenképpen egy szervó motor, ami az első kerekeket mozgatja, a másik pedig egy kisebb lenne, ami a kocsi tetején lévő infra távolságmérőt forgatja.Tudna esetleg valaki ajánlani ezekhez motorokat? A kisebbik motornak ~360 fokban kellene forognia, (tehát csak 1x kellene körbefordulnia, majd vissza). Úgy tudom a szervó motorok nem tudnak teljes kört leírni.. Vagy tévedek?! Valamint a 3 motor plusz a kontroller tápellátását se tudom hogy kellene megoldani..(Az autó eredetileg 4db bébi elemmel ment, de hát ide ez kevés...)
(#) Manyoc hozzászólása Jún 18, 2010 /
 
Egy kis olvsni való a robotikával ismerkedőknek
(#) Hp41C válasza Fizikus hozzászólására (») Jún 24, 2010 /
 
Szia!

Az USB D+ és D- vonala 3.3V szintekkel dolgozik, ellenfázisban vezéreltek a kommunikáció alatt. A felismerés és inicializálás alatt a vonalakon levő szintek alapján dönti el a host, hogy mekkora adatátviteli sebességgel kezdje a kommunikációt. A vonalakon a 0V és a +3.3V közötti feszültségek megengedettek.
További leírások: USB.org
(#) ISF79 hozzászólása Jún 24, 2010 /
 
Remek cikkek Fizikus
Várjuk szeretettel a TTL-Bluetooth -os cikket is.
(#) Fizikus válasza ISF79 hozzászólására (») Jún 25, 2010 /
 
Hát ha sikerül valahogyan működésre bírnom, akkor lesz róla cikk is. De eddig minden kísérletem csődöt mondott
(#) berghammer hozzászólása Jún 29, 2010 /
 
A "Soros LCD vezérlőpanel használata AVR-rel" című cikkben miért nem egy plussz avr-t használsz az lcd meghajtásához?

Szerintem sokkla egyszerűbb lenne még egy avr használata és a két avr közötti kommunikáció TWI (I2C) buszon keresztül, vagy akár ugyanígy soros kommunikációval 1 I/O láb felhasználásával.

Ez a megoldás egyrészt olcsóbb lenne, másrészt sokkal többet lehetne belőle tanulni.
(#) labu01wx válasza Fizikus hozzászólására (») Jún 29, 2010 /
 
Szia!
Én egy BlueGiga wt11-et használok a robotom vezérlésére. Neked milyen modulod van? Én rádugtam rs232-re ott mindent beállítottam, géppel összepároztam, és utánna elrejtettem más bt eszközök elől. Utánna ha a gépen megnyítom a bt com portját akkor a modul autómatán átáll spp-re és lehet küldeni az adatot uart-on.
(#) Fizikus válasza berghammer hozzászólására (») Jún 30, 2010 /
 
Ez a megoldas is az eszembe jutott (marmint hogy epitek egy ATmega8-on alapulo soros LCD vezerlot), de a tudasom ehhez meg keves. Meg nem hasznaltam a TWI (I2C) buszt sem eddig. Most nincs idom ezeket megtanulni, de ha te nagyon ertesz ehhez, es szerinted nagyon egyszeru, akkor irj egy cikket rola. Szivesen elolvasnam.
(#) berghammer válasza Fizikus hozzászólására (») Jún 30, 2010 /
 
Az a baj, hogy én sem értek hozzá és kiváncsi lettem volna a használatára. Mindemellet nem szeretek késsz paneleket venni. Inkább megépítem őket magamnak.
(#) szkrep hozzászólása Jún 30, 2010 /
 
Közben én is tuningolom a régen elkezdett robotomat, kapott egy rádiómodult, házi készítésű ultrahangos távolságszenzort, a jól bevált Sharp infrás távszenzort, működik az odometria, a mérések eredményeit a számítógépen ábrázolja (mellékelt képen egy sarok), azon pedig most dolgozom, hogy 2 jeladóhoz képest meghatározza a helyzetét, és így akár egy szobát feltérképezzen.
Kb 1000 sornyi kód mászkál rajta, és a számítógépen összesen...
Mellékelek pár képet a jelenlegi állapotáról (maga a robot, és a rádió vevője, ami vagy számítógépre küldi a fogadott adatot rögtön, vagy EEPROMba menti, és később kiírja).
(#) labu01wx válasza szkrep hozzászólására (») Jún 30, 2010 /
 
Szia!
Azt a számítógépes programot te írtad?
Ha igen meg tudnád mondani, hogy hogyan küldesz és fogadsz com porton?
(#) szkrep válasza labu01wx hozzászólására (») Jún 30, 2010 /
 
Simán egy netről bányászott RS232 port figyelő programmal egy .txt fájlba mentek mindent, ami bejön (eleve úgy küldöm, hogy a programom értse). Van 100 féle ingyenes ilyesmi. Később a .txt fájlt olvassa be a programom.
(#) labu01wx válasza szkrep hozzászólására (») Júl 1, 2010 /
 
Meg tudnád mondani a program nevét?
Nekem a robot egy labiritus alaprajzát küldi el com porton, amit a pc kirajzol a képernyőre.
(#) szkrep válasza labu01wx hozzászólására (») Júl 1, 2010 /
 
>Ezt< használom.
(#) labu01wx válasza szkrep hozzászólására (») Júl 1, 2010 /
 
Ezer köszönet. Én c++ programozok, ott winapit kellett volna használni, hogy tudjak fogadni com portról.
(#) Fizikus válasza szkrep hozzászólására (») Júl 2, 2010 /
 
Szia!

A kozepso kepen a bal oldalon levo kis panel az mi?
(#) szkrep válasza Fizikus hozzászólására (») Júl 2, 2010 /
 
Azt a gép egy soros portnak látja. Lényegében az az USB- UART átalakító. (Egy PIC intézi az egészet, a Microchip egyik példaprogramja fut rajta)
(#) Fizikus válasza szkrep hozzászólására (») Júl 2, 2010 /
 
En is erre tippeltem, csak kar hogy nem AVR alapu, mert akkor elkertem volna a forraskodjat...
Következő: »»   13 / 82
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem