-         

Seite 1 von 6 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 51

Thema: Welchen PIC nehmen?

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398

    Welchen PIC nehmen?

    Anzeige

    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?

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    32
    Beiträge
    456
    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 .

    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

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    44
    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

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    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.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    32
    Beiträge
    456
    Im grunde müsste er nur schwarze Linien auf einem weissen Boden erkennen und die nicht überfahren.
    Also dafür brauchst du keine Bilderkennung . 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 ).

    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

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    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

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    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.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    27.01.2006
    Beiträge
    44
    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

Seite 1 von 6 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •