PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welchen PIC nehmen?



tornado
17.05.2006, 17:03
Hallo, ich bin gerade mit meinem Roboter fertig geworden.
Benutzt habe ich einen PIC16 876 (glaube ich, ich weis es nicht auswendig).

Der Roboter ist fÚr den Anfang auch gut, aber ich wollte im Sommer einen neuen Bauen bei dem ich dann schon spezielle Ansprüche hätte.
Ich möchte die Platiene selber machen, also keine fertige nehmen.
ich weis jetzt nicht welcher PIC der besste fúr mich wäre da ich mich noch nicht so damit auskenne.
Der neue Roboter sollte eine Tastatur (3x4) und ein Display haben.
Ich habe mir das so gedacht, dass das Display ausgeschaltet wird wenn man die TAstatur benutzt. So kónnte man alles an den selben Port machen (im Programm müsste halt stehen das der Port mal ein Ein- und mal Ausgang ist).
So bis hier ist das glaube ich noch kein Problem.
Das nächste ist, dass ich gerne ein Funkmodem anbauen würde (Easyradio oder so). dieses "Radio" sollte dann die Daten einer kleinen Kamera an den PC schicken. Die Kamera braucht keine besondere Qualität zu sein. Sie soll halt "normale" Bilder an den PC liefern.

Was der PIC auch noch schaffen müsste wäre Bilder von der Kamera auswerten... ich meine damit, dass er ein Spielfeld filmen oder fotografieren soll und auf dem Boden markierte Punkte oder Felder erkennen soll.

Ist das was ich vorhabe mit einem PIC machbar, oder muss ich mir was anderes Überlegen. Welcher PIC wäre der besste dafür?

kalledom
17.05.2006, 22:59
Hallo tornado,
die Datenmenge eines 'einfachen' Bildsignals in schwarz/weiß mit 8 Bit Helligkeitswert kannst Du ganz schnell ausrechnen: Anzahl Bytes = Pixel pro Zeile * Anzahl Zeilen = 400 * 300 = 120.000 Bytes, das Ganze 25 mal pro Sekunde.
Für eine Auswertung benötigst Du, von zu wenig Speicherplatz mal ganz abgesehen, pro Byte min. 20 Befehle, 1 Befehl dauert bei einem schnellen µC 0,2 Mikrosekunden * 20 Befehle = 4 µs * 120.000 Byte = 480.000 µs = 0,48 s, .... ich höre hier mal auf weiter zu rechnen.

Mobius
18.05.2006, 00:28
Also das mit dem LCD und der Tastatur ist nicht wild, dass packt ein 16F84A ohne Probleme. Du musst das LCD nicht einmal ausschalten, sondern nur einfach das Chip-Select auf low (oder high, näheres siehe Datenblatt) ziehen. Der Inhalt bleibt auf dem Schirm. (Außer du hast vor, das LCD direkt anzusteuern, also ohne Controller :) ).

Das mit dem Bild-Auswerten ist schon happiger, wie kalledom vorgerechnet hat. Schon weil der PIC nur 386 Bytes internen Speicher hat. D.h. würdest du einen externen Speicher brauchen, den ansprechen, aus dem Lesen, etc. Mit einem PIC16F8XX, der max mit 20 MHz getaktet werden kann (5MHz interner Clock, 200ns/Befehl) wirst du leider nicht weit kommen. Vielleicht, wenn du sie nicht selber auswerten musst, sondern die an den PC weiterreichst, d.h. 1/2 Bilder in den extern angeschlossenen SRAM hauen und dann, wenn du grad rechenzeit übrig hast, diesen über das Radiomodul an den PC weitergeben. Der macht die restliche Arbeit und sagt dann dem Robbi bescheid, oder auch nicht :D.

Für eine Bildauswertung AUF einem µC hab ich bis jetzt auf der FH nur auf einem 16Bit RISC auf 40MHz internen Takt gesehen und dieser war schon brutalst an seine Grenzen getrieben (hat nur noch ausgewertet, nichts anderes :) ).
MfG
Mobius

*Mario*
18.05.2006, 11:17
Hallo,

nachdem Du bei der Wahl deines Mikrocontrollers noch frei bist und Du doch sehr anspruchsvolle Dinge damit machst, würde ich Dir empfehlen auf einen ARM7 zurückzugreifen, beispielsweise einen LPC2148. Die haben genügend RAM und FLASH, ausserdem schaffen die 60MHz. (Robuste) Bilderkennung is aber sehr anspruchsvoll, vorallem für Roboter wo nicht immer eine "optimale" Umgebung vorliegt, da könnten 60MHz auch schnell zu wenig werden.
Schau Dir zuerst den Algorithmus an und dessen Erfordernisse, dann entscheide Dich für einen Controller. Ja und wichtig, ein C-Compiler ist da wohl unabdingbar.

Mario

tornado
18.05.2006, 17:05
Da habe ich mir das ganze wohl ein bischen zu einfach vorgestellt.
Heist das dann also, dass man mit einem PIC keine geeignete Bilderkennung hinkriegt?

Und wenn (wenn ich hier Misst schreibe, dann sagt es ruhig) man einen PIC nimmt um die Fotos auszuwerten und der sendet dann an einen Ausgang nur ob rechts links oder wo anders ein HInderniss ist. Ein anderer PIC, der die Bewegungen steuert, empfängt diese Daten (Hinderniss rechts) und fährt nach links.
Im grunde müsste er nur schwarze Linien auf einem weissen Boden erkennen und die nicht überfahren.

kalledom
18.05.2006, 17:24
Du kannst mit keinem PIC ein Bild auswerten, das sollten Dir die anfallenden Datenmengen eigentlich klar gezeigt haben. Übertragen kannst Du die ebenfalls nicht, es sei denn, Du hast für jede Bild-Übertragung mehrere Minuten Zeit.
Bleib doch mal bei den 120.000 Bytes für ein ganz einfaches Schwarz-Weiß-Bild mit sehr niedriger Auflösung:
Übertragung für 1 Byte mit Start- und Stop-Bit bei 9.600 Baud = 1 ms,
120.000 Bytes sind dann 120.000 ms = 120 Sekunden.

Mobius
19.05.2006, 18:42
Im grunde müsste er nur schwarze Linien auf einem weissen Boden erkennen und die nicht überfahren.
Also dafür brauchst du keine Bilderkennung :D. Da reicht ein Fototransistor, ein Digitaler Eingang und ein paar Widerstände. Auch die Hindernisserkennung kann man relativ einfach mittels IR oder/und Ultraschall lösen. Damit lässt sich ein Roboter relativ sicher durch einen Raum lotsen (okay, er sollte mit keinem dünnen schwarzen Stängchen konforontiert werden :D).

Eine andere Möglichkeit wäre, dass du eine Cam benutzt, die schon eine Bilderkennung integriert hat. Da bietet sich die Gameboy Cam an (hab ich bis dato aber nicht geschafft zum Laufen zu bringen), oder aber die CmuCam 2. Beide haben mindestens eine Kantenerkennung implementiert (wenn ihc mich richtig erinnere). Danach müsstest du das erhaltene Bild halt nach charakteristischen Mustern absuchen, was aber wiederrum nicht einfach ist...

MfG
Mobius

tornado
19.05.2006, 19:52
doch, ne kamera brauche ich um auf entfehrnung zu sehen wo der ausgang ist. bei ir sensoren muss er das ganze spielfeld abfahren
mfg
tornado

tornado
20.05.2006, 12:34
Da ich am Donnerstag in der Uni bei einem Roboterwettbewerb zwei PDAs gewonnen habe, bin ich auf eine IDee gekommen... ;-)

ich weis nicht ob das geht, aber vieleicht wisst ihr das.
Kann ich nicht eine Kamera ans PDA hängen und dieses verarbeitet die Bilder? Dann könnte das PDA (Ist es der oder das PDA?) die Daten (wo ein Hindernis oder wo der Ausgang ist, etc.) zu einen PIC senden der die Steuerung der Motoren und der auswertung anderer Sensoren übernimmt.
Geht das, oder spinne ich jetzt total? ;-)

Das mit den Bildern per Funk an den Computer senden, wÄre toll wenn es ginge, ist aber nicht umbedingt notwendig. Ich wúrde halt nur gerne sehen was der Roboter siet.

*Mario*
21.05.2006, 09:53
Hallo Tornado,

nein Du spinnst nicht! Ich halte das für einen ausgesprochen klugen Ansatz. Ich selbst sehe PDA's mehr als ein Mikrocontroller-System mit Bildschirm. So billig wie's die zu kaufen gibt, kriegst nicht mal ein LCD für den Bastler (zugegeben etwas spitz formuliert). Ausserdem gibt's von MS gratis Entwicklungstools inkl. Debugger und Emulator :).

Jedenfalls haben die PDA's ein Problem: Die Verbindung nach außen.

Kaum ein PDA hat noch eine serielle Schnittstelle eingebaut, die meisten haben BT, SDIO und USB. Bei USB wiederum haben die meisten nur einen Client, aber keinen Host Controller (ASUS spendiert seinen PDA manchmal einen Host-Controller). BT kann man recht günstig als Interface benutzen, ist aber Funk mit den üblichen "nicht zuverlässig" Problemchen. Zu SDIO hab ich bislang keine vernünftigen Informationen zusammentragen können. SDIO wäre nämlich mein persönlicher Favorit, da einfach und ein meiner Einschätzung nach recht kleiner Software-Stack im uC nötig.

Grüße
Mario

the_Ghost666
21.05.2006, 11:07
zu deinem microcontroller system:
du könntest einen PIC18F nehmen, die arbeiten mit bis 40mhz, haben einiges mehr an ram und programmspeicher, und eine Gameboykamera kann relativ leicht bilder machen, die auswertbar sind, sogar kantenerkennung usw ist direkt auf dem chip der gameboykamera verdrahtet. allerdings gibts die dinger höchstens noch bei ebay

achja, und wenn du nur sehen willst, was der roboter sieht, oder dein wettbewerb es erlaubt einen großen rechner nebenbei laufen zu lassen, könntest du mit den wireless kameras von zb ebay , die mit 2,4ghz funken, die bilder des roboters übertragen lassen, anschließend am rechner verarbeiten, und die befehle an den PIC per funkmodem zurückschicken. dh der PIC würde nurnoch daten sammeln, wie entfernung per IR sensoren usw, und auf kommandos reagieren, die vom pc berechnet werden.
Die anbindung vom PDA könnte man als IR-Schnittstelle realisieren, die man im PIC per software aufbaut. und ich meine es gibt adapter, die als karten eingeschoben werden und dann einige digitale i/os liefern.

tornado
21.05.2006, 13:21
Danke fúr eure Antworten.
Ja, mein PDA hat eine IRSchnittstelle. Also könnte der wohl doch mit einem PIC komunizieren.

Das mit der funkkamera wÄre eine gute idee, als einfacher Ü-Wagen ;-)
Das werde ich mir nochmal überlegen. Das ist ein guter Ansatz.
Für den Wettbewerb dúrfen aber keine Daten an den Roboter gesendet werden (damit fállt die Idee mit dem Rechenr leider flach).

OK, komunikation zwichen PDA und PIC ist also mehr oder weniger machbar.
der Rest der i/o zum PDA sagt ihr ist schwer.
Ist es denn irgendwie machbar eine Kamera an ein PDA anzuschliessen?
Alternativ músste ich die Gameboykamera mit dem PIC nehmen. (Erst so eine Kamera finden bei Ebay...

"Mobius" hatte weiter oben aber geschrieben, dass das auch nicht gerade einfach ist, er hat seine Kamera nicht zum laufen gebracht.

tornado
21.05.2006, 13:23
Auf jeden FAll denke ich gerade werde ich so oder so beim nächsten Roboter einen PIC18F nehmen, wenn der besser als der 16F ist.

the_Ghost666
21.05.2006, 22:22
Also die PIC18 Familie ist auch nur n 8bitter, aber hat durch einen erweiterten Befehlssatz, zb mit hardwaremultiplikation, besseren hardwaremodulen, auch CAN usw., ausserdem die möglichkeit mit nem 10mhz quarz auf 40mhz takt zu kommen, also 10millionen befehle pro sekunde. dann noch ne menge mehr programmspeicher, ram und flash. ist eigentlich recht einfach vom pic16 auf pic18 umzusatteln.
also ich hab auch ne gameboykamera bei ebay bekommen, leider bisher noch nicht eingesetzt.
Aber wegen der Komplexität, es ist wohl egal ob du eine solche aufgabe auf nem arm oder nem pic löst. auch bei nem Pc wird das genauso schwer bleiben, nur dass du mehr leistung hast. Bilderkennung ist und bleibt schwer.

PICture
22.05.2006, 00:28
Hallo tornado!

Es gibt beim Reichelt den PIC18F2550, der mit 48MHz läuft und u.a. eine USB Schnittstelle hat.

MfG

the_Ghost666
22.05.2006, 00:44
darf ich vielleicht noch was anmerken.
bei microchip.com gibts nen bereich, der sich samples nennt. dort kann man nach einer einfachen anmeldung(firmenname ist bei mir zb none) gratis bis zu 5typen,je 3stück des bauteils kostenlos bestellen, keine versandgebühren, fast alle typen, nur manchmal zu wenig auswahl in den gehäusetypen. und das geht bis zu 2x pro monat.

tornado
22.05.2006, 18:03
@the-Ghost666 nein, wo ist den da der Haken? ;-)
das ist ja wirklich super, wenn man weis was man will.
das werde ich mir merken
danke

tornado
22.05.2006, 18:04
@the-Ghost666 nein, wo ist den da der Haken? ;-)
das ist ja wirklich super, wenn man weis was man will.
das werde ich mir merken
danke
@Picture
48MHz hört sich gut ah. Mein jetziger Roboter funzt mit 1MHz...

the_Ghost666
22.05.2006, 20:12
meinst du damit wirklich 1mhz als quarzfrequenz oder 1mhz systemtakt?? denn diese 48mhz bringen auch nur einen systemtakt von 12mhz, denk daran.
das feine ist noch an den pic18, dass du einen 12mhz quarz nehmen kannst, dh du kommst billiger an deine 48mhz und hast weniger probs mit hochfrequenten signalen

ui... hier stürmt und gewittert es grad gar heftig.... *kopf einzieh*

tornado
22.05.2006, 22:38
am, da fragst du mich jetzt was, ich bin doch noch anfánger ;-)
ich habe an den PIC nen 1mhz quarz dran gemacht.

das mit dem wetter bei euch ist aber schlecht.
hier ist es warm ;-)

the_Ghost666
22.05.2006, 23:10
autsch... n pic mit nem 1mhz quarz schaft demnach nur 250khz, das ist echt lahm. aber wenns reicht. mein standarttakt liegt bei 4mhz, damit hab ich eine million befehle pro sekunde. reicht für die meisten meiner sachen.
Moment, du bist ein einsteiger, aber willst schon mit bildverarbeitung anfangen?? was hast du denn bereits mit nem PIC gemacht?
und ich seh gerade, dass du in Spanien wohnst??

tornado
23.05.2006, 11:14
ja, ich glaube cih fange mal ganz langsam an das alles zu erklären.
cih habe letztes jahr an einem roboterkurs an der uni teilgenommen. das ergebnis war ein roboter der wirklich funktionierte und beim wettbewerb den 2. platz gewann. ICh hatte den in einer 3er gruppe gebaut. dieses Jahr habe ich einen roboter alleine gebaut und wurde erster.
ich hatte mir vorgenommen im sommer eine "testplatiene" für einen PIC zu machen um verschiedene neue sachen auszuprobieren (tastatur, display, sharp ir und ultraschall ).
das will ich auch alles noch machen um mehr über roboter zu lernen.
ich will so noch besser für den wettbewerb im nächsten jahr vorbereitet sein um meinen ersten platz zu verteidigen (wenn das geht) ;-)

die erste aufgabe beim wettbewerb ist aus einem spielfeld rauskommen das zwei "inseln" hat. (da darf man nicht drauf fahren.) Und die "Wände" (schwarzes isollierband ) natürlich auch nicht.
aus diesem spielfeld rauskommen ist glückssache. dann dachte ich dran eine kamera zu nehmen die ein bild macht und guckt wo die linie unterbrochen ist (ausgang).
so wÜrde der roboter schneller rausfinden als wenn er mit zwei irsensoren den ganzen boden abtastet.
die nächste aufgabe ist eine linienfolgung. (das ist einfach).

man hatte mir gesagt, dass das mit der kamera mit einem pic nicht machbar ist. da ich ein PDA beim wettbewerb gewonnen hatte, war das jetzt mal ein erster ansatz...

OK, bildverarbeitung ist schwierig, aber ist es machbar?

...so, das nächst ist das mit spanien... ;-)
ja, ich wohne in spanien, bei valencia (an der küste).
ich komme aber aus deutschland.
das problem hier ist, dass ich kaum an elektronische teile komme. es gibt hier kaum etwas. das was es gibt ist dann zu teuer. wenn uns bekannte besucehn kommen schicke ich denen erst eine lange liste mit allen teilen die sie mir besorgen müssen :-)

tornado
23.05.2006, 11:18
nachdem was ich hier alles geschrieben habe, habt ihr mir glaube ich bewusst gemacht, dass ich mit der bildverarbeitung vieleicht noch etwas warten sollte.
aber meint ihr nicht, dass wenn ich den ganzen sommer am roboter bastel und programiere, dass ich danach soweit wÄre?
also ich habe einen freund in der uni der schon etwas mit bildverarbeitung gemacht hat. da könnte ich mal fragen. nur da gibt es 2 probleme:
er hat alles am pc gemacht (mit fertigen bildern)
er war sich nicht sicher ob er das ohne hilfe des profs nochmal hinbekommt
;-)

the_Ghost666
23.05.2006, 12:02
Lol, versendet reichelt nicht auch ins europäische ausland? ok, kostet mehr.
nagut.

also bildverarbeitung ist meiner meinung nach eine schwierige sache.
du könntest eine kamera nehmen, damit ein swbild schießen und das auf schwarze linien untersuchen. aber wie das genau geht... also machbar ist es. aber wenn die linien auch rund sind, weiß ich nciht, ob eine kantenerkennung zuverlässig arbeitet.
also das mit dem Sensor, der den boden abfährt wird klappen, ist aber natürlich langsamer. aber ich habe von bildverarbeitung sowas von keine ahnung...
n Pic als Porterweiterung geht sehr gut, und dann haben wir ja gesagt, könnte man mit dem pda per IR-Schnittstelle kommunizieren.mhhh
also alles ist ein ebenes feld mit isoband, richtig? dann kannst du sharp und ultraschall abhaken, da gehts nur mit nem liniensensor ala CNY70, oder eben deiner Kamera idee...
du programmierst in C? oder Assembler?

baken oder andere markierungen sind nicht gestattet, oder?

ist der ausgang irgendwie besonders makiert? oder einfach nur eine öffnung in diesem kreis?


also dann besorg dir doch die hilfe des profs.
und du brauchst keine bewegten bilder, reicht ja, wenn du ein standbild schießt, das analysierst, dann dich danach bewegst, und erneut eins schießt um dich zu korrigieren. dazu dann diese CNY70 um sicherzugehen, dass du keine linie überfährst

tornado
23.05.2006, 15:01
ja, sharp und us hilft hier nicht, es ist alles eine ebene.
das wÄre halt nur damit der bot nicht gegen andere bots knallt und für ausserhalb des wettbewerbs.
ich programiere mit c
baken und co sind nicht erlaubt. es darf auch keine information an den roboter gesendet werden. also bilder vom roboter an den pc senden, auswerten und ergebnis zurückschicken geht nicht.

der ausgang ist nicht besonders marrkiert. nur eine öffnung.
vor der öffnung ist allerdings eine insel (falls man das als orientireung nehmen kann). es kann aber auch sein das noch woanders eine insel ist.
deine idee mit dem standbild ist sehr gut.
es reicht wenn der bot alle par sekunden ein bild schiesst und das auswertet und nicht mehrere pro sekunden.

im moment verwende cih die CNY70. Die gefallen mir aber garnicht wegen dem geringen abstand zum boden. das wäre mir dieses mal fast zum verhängnis geworden. sowas wie die lego roboter haben wáre doch nicht schlecht... die stralen auf 3-4 cm.

ich könnte mir hilfe des profs holen, aber ich muss erst etwas selber machen. er kann mir ja nicht alles von 0 an erklären, da er ja auch von einem andern campus ist, ich sein fach nicht habe und ihn nicht kenne ;-)

naja, aber ich kann ja mal per mail fragen in wie fern er mir helfen kann.
vieleicht kann er mir tips oder andere infos geben


eine alternatieve zur kamera, wäre folgendes:
diese strategie wäre zwar auch auf gut glück, aber besser als : ge zur linie und wende dann x grad

eine karte erstellen.
ich hatte in einem anderen thread schon drüber geredet und gute tips bekommen.

spielfeld in kleine kästien einteilen. diese idee war sehr gut.
nachteil bei kartenerstellung une bake: ungenauigkeit.
ausserdem braucht man einen grossen speicher.
ich habe mir gedacht, dass man einen temporären speicher machen könnte. so ´könnte man zwar nicht das ganze spielfeld zeichnen, aber wissen ob man an einer insel ist oder an der aussenlinie.

wie gesagt, die idee mit der kamera wäre eine gute weiterentwiklung fúr den bot bei der ich auch viel lernen würde

mfg
tornado

tornado
23.05.2006, 15:12
habe gerade ein interresantes projekt auf der seite gefunden.
eine kamera die ein objekt verfolgt
so könnte die kamera ja auch eine linie verfolgen

https://www.roboternetz.de/phpBB2/viewtopic.php?t=19615

the_Ghost666
23.05.2006, 17:58
Das Problem mit dem CNY70 ist kenis, du nimmst eine Infrarotdiode, zb aus ner fernbedienung bzw baugleich, einen passenden Fototransistor, und eine schwarze schachtel, damit kein streulicht stören kann. der CNY70 ist nichts anderes, nur mit schlechterer Leistung. Dh da kannst du auch bei mehreren cm abstand noch was erreichen, aber denk dran, dass du dennoch nicht mehr fläche beleuchten kannst. das geht schief, dann könnte die weiße fläche um die linie genug zurückwerfen, sodass du die linie übersiehst.
es gibt auch noch eine störsicherere methode, statt eines fototransistors nimmst du dann SHARP IS471F von zb micromaus (halb so teuer wie conrad)

tornado
23.05.2006, 19:07
ja, das mit den ir sensoren ist eine gute alternative zu dem CNY70

tornado
24.05.2006, 14:52
Um noch mal zur Bildbearbeitung zurück zu kommen...
Wäre es denn möglich ein Bild mit einem PIC zu lesen und bearbeiten (also eine Linie zu erkennen).
Also zur Geschwindigkeit kann ich nur sagen das ein Bild alle 3 - 4 Sekunden genug wäre. Er muss ja nicht 20 Bilder pro Sekunde lesen.
So könnte sich der Roboter merken wo ungefär der Ausgang ist und 3 Sekunden lang in diese Richtung fahren.
Danach misst er wieder und korrigiert notfalls seine Position.
Wäre das machbar mit einem PIC oder PDA? (Ich will mir ja alle Möglichkeiten offen halten)

the_Ghost666
24.05.2006, 15:41
Also ich hab mal bei Microchip geschaut, der PIC18F2620 ist ein 28piner mit 3968Byte RAM, 64kB Programmspeicher, Taktbar mit bis 40Mhz, PWM usw an Board. Es gibt auch noch den Bruder, 18F4620, der hat 44Pins, eben mehr IOPorts, sonst ausstattungsgleich.
So und hier ist das Problem: Der hat eben nur knapp 4kB RAM. Wenn du das Bild analysieren willst, darf es wohl nicht mehr als sagen wir mal 3800Pixel haben, oder du brauchst einen externen RAM. Wenn man die Gameboykamera ran zieht, braucht ein Bild 16kB. Es gibt leute, die das ding mit nem Atmega auslesen. Also denke ich mal, dass Externer RAM her müsste.

Ausserdem hab ich mal einige Büchertips gefunden, ist aus ner Übersicht der Fh-Regensburg
H. Bässmann, Bildverarbeitung Ad Oculos, Springerverlag, 3. Auflage (grundlegende Algorithmen mit SW zum Selberausprobieren - gut zum Einstieg geeignet)

Haberäcker, Hanser-Verlag (studententaugliche Einführung eines FH-Profs./Mathematiker)
Dwayne Phillips, Image Processing in C - Analyzing and Enhancing Digital Images, R&D Publications (mit ausprogrammierten Algorithmen in C)

Bernd Jähne, Digitale Bildverarbeitung, Springer Verlag, 5. Auflage (BV aus Sicht eines Physikers)
Bernd Jähne, R. Massen, B. Nickolay, H. Scharfenberg, Technische Bildverarbeitung - Bildverstehen

Das Platzproblem könntest du halbieren, indem du nur 4bit Graustufen nimmst. bei einem ordentlich beleuchteten Spielfeld ist das aber wohl weniger das Problem, nur auf 1bit runter zu gehen, finde ich zu riskant.

Danach kommt der Prozessorspeed. Hier ist das Problem, dass ich nicht weiß, wie man so ne Bildverarbeitung macht und wieviel Leistung die braucht. Allerdings ist Leistung auch nur Arbeit pro Zeit.

Was auch noch ein Punkt ist: Du kannst auch den Programmspeicher eines PICs missbrauchen. Fast alle PICs können sich in ihren eigenen Programmspeicher schreiben, das nutzt ja jeder Bootloader. Das Problem ist, dass du 1. länger brauchst, 2. der Programmspeicher nur auf 100.000 schreibvorgänge ausgelegt ist, Flash EEProm bis 1.000.000 und RAM nicht limitiert. Dh es ist nicht Empfehlenswert hunderte Bilder in der Sekunde zu machen (Was von der Geschwindigkeit auch nicht geht) oder Berechnungen dort zu machen, dafür gibts RAM.

Andere Möglichkeit: Dich mit nem anderen Controller auseinander setzen, zB den ARMs. Dh aber du musst wieder von unten anfangen. Ähnlich siehts mit dem PDA aus.
Und Bildverarbeitung musst du in beiden Fällen lernen.
Ich hab noch über einen weiteren Sensor nachgedacht. Es gibt doch diese BarcodeScanner. Alternativ ein alter Flachbettscanner. Damit könntest du den Suchbereich vergrößern, ohne ne Kamera zu benutzen.

the_Ghost666
24.05.2006, 15:45
*g* das wusste ich ja garnicht, Klick mal auf den Bildverarbeitung. Das ist vom Roboternetz ein kleines Tutorial


PS: Es gibt bald diese neuen 16Bit PICs, PIC24. Die werden bis zu 16kb RAM haben. Aber die sind weder momentan zu sampeln, noch zu kaufen

tornado
25.05.2006, 10:14
da mit der bildbearbeitung will ich versuchen, aber erst werde ich noch so mit anderen sachen rum experimentieren.
das mit dem scanner.... ...ich wies zwar was du meinst, aber ich glaube es wird auch schwer diese daten auszuwerten...

wenn es diese PICs von denen du redest noch nicht zu kaufen gibt, dann kommen die auch erst in 2 Jahren nach Spanien ;-)

the_Ghost666
25.05.2006, 11:10
saaaaamples ;) die versenden soweit ich weiß kostenlos durch die ganze welt.

tornado
25.05.2006, 14:46
naja, ich werde wohl jetzt erst mal die nächsten wochen fúr die klausuren in der uni lernen. natürlich werde ich auch ab und zu hier rein gucken, aber mit einem neuen Bot werde ich erst im sommer anfangen. und wie gesagt, werde ich mit einer testplatiene und einem normalen pic anfangen. diese "superpics" werde ich dann wohl erst später benutzen.
ich kann ja schonmal dieses samples zeug bestellen. dann habe ich die teile auch ende des sommers hier . die spanische post ist nciht die schnellste. die macht alles: mañana, mañana ;-)
mfg
tornado

the_Ghost666
25.05.2006, 15:52
badididibi, manamana, badibidi, manamana, badibidibi, badibidibdibdibidib.*sing*

tornado
26.05.2006, 19:00
mit mañana meinte ich eigendlich "Morgen" und nicht manamana... *g*

mdettki
27.05.2006, 11:23
Hi,

ich wollte nochmals auf Eure Idee vom Anfang zurückkommen. Ich schreibe gerade meine Diplomarbeit, bei der ich einen Motor mit einem PIC regel und dieser wiederrum über einen Pocket PC gesteuert wird. Sprich man gibt auf auf dem PPC eine Drehzahl vor und der PIC regelt diese ein und meldet die aktuelle Drehzahl zurück. Ich verwende dazu eine Bluetoothverbindung. Diese stellt mir eine serielle Verbindung zwischen PIC und PPC zur Verfügung.

Interessant wäre es doch wenn man wie hier:
http://blogs.msdn.com/windowsmobile/archive/2006/05/13/596684.aspx
einen PPC mit Cam zur Bildverarbeitung und autonomen Steuerung einsetzt und den anderen um in diese eingreifen zu können.

Grüsse

the_Ghost666
27.05.2006, 13:12
Ui, Bluetooth. ist das nicht kompliziert oder zumindest teuer? ok schön schnurlos und ne zukunftsweisende technik. aber würd IRDA nciht reichen?

mdettki
27.05.2006, 16:15
Ich benutze diesen ARF32 für 55,- €:
http://www.reimesch.de/shop.html

Der stelle eine RS232-Schnittstelle bereit. Ist also nicht sonderlich kompliziert.
Oder Du verwendest gleich WIFI, dann zahlst du aber mehr 100,- €.
Der Vorteil ist die größere Bandbreite, die verminderte Störanfälligkeit gegenüber IRDA und vorallem wenn Du Dich mit dem Roboter bewegst brauchst Du keine Sichtverbindung zu halten!

the_Ghost666
27.05.2006, 17:44
achso, ich dachte du nimmst den pocketpc mit auf den roboter

tornado
28.05.2006, 17:29
@mdettki
Deine Diplomarbeit hört sich interressant an, und ist ungefÄr genau das was ich machen wollte.
was für einen PPC benutzt du?

Ich würde das dann auch gerne so versuchen wie du das beschreibst (mit dem PPC den PIC und mit dem PIC den Motor steuern.
ZUm Datenaustausch hat mein PDA eine IRSchnittstelle und RS232)
Könnte ich das Projekt also vieleicht doch verwirklichen?

mdettki
01.06.2006, 16:36
Hi tornado,

wenn Du den Bot mit dem pocketpc steuern willst und dieser quasi mitfährt und so eine stabile IR-Verbindung hat sollte das funktionieren. Die IR-Schnittstelle sollte sich bei dem PPC wie eine COM-Schnittstelle verhalten. Dem Pic spendierst Du eine IR-Diode zum senden und eine zum entfangen.
Die Übertragungsrate wird nicht so toll sein, aber es sollte funktionieren.

tornado
01.06.2006, 18:19
Ja, das ginge. Der PPC müsste mitfahren.

Was meinst du mit "Die Übertragungsrate wird nicht toll sein"? Wo werden die Grenzen bei der Übertragung sein?

Wenn ich eine Kamera anbringe. Sollte die am PPC oder am PIC hängen?
Am PIC wäre besser, oder? Der sendet die Daten per IR oder RS232 an den PCC, der wertet die Daten aus und sendet die "Antwort" (wo ein hinderniss oder eine Linie, etc. ist) per IR an den PIC, der dann den Roboter steuert.
Was haltet ihr davon?

mdettki
01.06.2006, 21:54
Also ich würde versuchen die Kamera direkt mit dem PPC zu verbinden. Damit hast Du eine direkte Verbindung und kannst mit dem PPC die Bilder auswerten. In dem PIC würde ich eine Kollisionserkennung machen und die Steuerung der Motoren übernehmen. Wie man eine Kamera mit dem PPC koppeln kann weiss ich nicht. Vieleicht gibt es was für den SD-Karten Slot.

tornado
02.06.2006, 11:20
es gibt bestimmte PPCs bei denen kann man ganz einfach eine kamera anschliessen (bei meinem leider nicht).
aber mein PPC hat eine usb und einen RS232 schnittstelle (man muss nur etwas basteln um dranzukommen). Könnte man da nicht eine normale USB web kamera dran machen?

mdettki
02.06.2006, 16:57
Eine Usb-Kamera kannst Du nicht einfach anschliessen, da der PPC keinen USB-Host Anschluß hat. Der PPC ist lediglich ein USB-Client. Es wurde hier aber auch schon mal über eine Gameboy-Kamera geschrieben. Schau mal über sie Suche, ob das eine alternative ist. Evt. hat die eine serielle Verbindung.

the_Ghost666
03.06.2006, 12:06
ja, die gameboy kamera hat eine serielle schnittstelle, zum auslesen der pixel-farbwerte brauchst du aber nen AD-Wandler

tornado
03.06.2006, 13:41
Guckt mal hier. Das sind die pins von meinem PPC.
Hier steht aber etwas von USB host.

http://pinouts.ru/PDA/acer_n30_pinout.shtml

the_Ghost666
03.06.2006, 15:05
mh wie ich das jetzt genau verstehen soll, weiß ich nicht, vielleicht gehörst du zu den glücklichen, die ein pda mit usb host haben, oder das ist nur der anschluss für den hast *G* eben die ladeschale oder so. gute frage, da weiß ich grad auch nicht weiter.

tornado
05.06.2006, 17:36
Alo dann hoffe ich doch, dass ich einer der glücklichen bin *g*
falls nicht, kann man nicht die Serielle... nehen? Also einen USB-RS232 Adapter benutzen (gibt es das?)

Ich könnte auch mal eine mail an Acer schicken. Meint ihr die helfen da weiter? da wird ihnen geholfen ;-)
Es gibt noch nicht mal eine normale Bedienungsanleitung bei dem Teil.

the_Ghost666
05.06.2006, 23:08
nein, das würde nichts bringen, denn deiser adapter hätte keine Master funktion, sondern nur slave, das würde das gleiche bringen, wie dein jetztiger ubsport.
also wenn du einen host hättest, könntest du einen usb-stick anschließen und die daten auslesen, kannst das ja mal testen.