Servus allerseits! Habe mir vor kurzem eine CMUcam3 gekauft, und dabei dummerweise nicht beachtet, dass diese (scheinbar) nur eine Baudrate von 115,2kbs unterstützt. Die maximale Baud bei meinem µController (Basic Atom 28Pin) liegt jedoch bei 57,6kbs. Jetzt bin ich auf der Suche nach einem der folgenden Auswege: - Gibt es zufällig eine Möglichkeit die CMUcam3 über eine geringere Baud anzusprechen? - Gibt es ein Modul das die Baudraten entsprechend anpassen kann? (Möchte wenn möglich Nichts löten oder so --> fertiges Modul mit Pins) - Oder kann mir jemand ein möglichst günstiges µControllermodul empfehlen das beide Baudraten unterstützt? (Habe schon in verschiedenen Shops gesucht, aber es stehen nie Infos über die unterstützten Baudraten dabei oder ich bin zu blöd sie zu finden) Danke schonmal im Voraus!
Falls Du Deinen Controller weiter verwenden möchtest, so könntest Du sicherlich auf einen MAX3100 zurückgreifen. Der macht SPI<->UART. Ist ganz einfach und praktisch... Allerdings: ganz ohne Löten kommst Du dann nicht zum Ziel...
Geht auch mit allen AVR´s mit USART mit nem Baudraten Quarz z.b. 7,3728 Mhz geht sogar bis 460800 Baud mit nem 14,~ Quarz kommst sicher noch wesentlich höher.
Es gibt keinen µController, der Basic Atom 28Pin heißt. Ich vermute mal, das ist ne Platine mit nem MC drauf und nem Basic-Interpreter reinprogrammiert. Und dieser Basic-Interpreter unterstützt nur nicht die 115,2kbaud. Der MC selber kann es aber. Oder auf dem Board ist so eine blöde Quarzfrequenz draufgesetzt, daß die 115.2kBaud nicht gehen. Es ist also keine Frage des MC-Typs, sondern der Software bzw. Schaltung. Peter
Wenn ich das richtig sehe, dann ist da ein Renesas H8/3664 verbaut. Der sollte aber so hoch gehen können. http://www.nodna.com/xtc/product_info.php?info=p309_BASIC-Atom-Pro-28-Pin.html http://pond.ie/techinfo/uCore/uc3664/H83664.html Gruß Elektrikser
Elektrikser wrote: > Wenn ich das richtig sehe, dann ist da ein Renesas H8/3664 verbaut. Ne, ein PIC: http://www.basicmicro.com/downloads/docs/atom28.pdf Für das bischen Platine einen so horrenden Aufpreis zu verlangen, finde ich unverschämt. Dafür kriegt man ja 20 MCs. Peter
>Für das bischen Platine einen so horrenden Aufpreis zu verlangen, >finde ich unverschämt. Dafür kriegt man ja 20 MCs. Die Software will auch bezahlt werden.
Wenn ich das Datenblatt richtig verstehe kann der Atom28 aber 115k Serial...
Obelix wrote:
> Die Software will auch bezahlt werden.
Naja, für 85,-Ocken krieg ich aber auch ne Vollversion Bascom-AVR (78,-)
und ne Handvoll ATMega8 (1,70).
Wenn man pro Chip die Software immer wieder neu bezahlt, geht das ganz
schön ins Geld.
Peter
P.S.:
Oder WINAVR (0,-) + 50 ATmega8.
Erstmal danke an alle für die schnelle Hilfe! Der Atom28 kann tatsächlich 115kbs (sogar bis 1250kbs), geht allerdings nur zum Programmieren. Für die Befehle serin und serout ist die maximale Baud aber leider 57,6kbs (siehe Syntax Manual S.105 und S.108). Es gibt zwar noch die Befehle hserin und hserout die auch die hohen Baudraten unterstützen, jedoch bekomme ich damit nicht mal ne Verbindung zu einem Terminal am PC hin. Syntax Manual: http://www.basicmicro.com/downloads/docs/atom3_2.pdf Gruß Phi
Phi wrote: > Es gibt > zwar noch die Befehle hserin und hserout die auch die hohen Baudraten > unterstützen, jedoch bekomme ich damit nicht mal ne Verbindung zu einem > Terminal am PC hin. Vermutlich brauchst Du dann nen MAX232. Peter
Weiß zwar net genau, was der MAX232 so tut, aber meine irgendwo mal aufgeschnappt zu haben, dass das ein Pegelwandler ist. Sollte das so sein, dann bringt mich der glaub au net weiter, ein Pegelwandler ist bereits im Modul integriert. (Hab hoffentlich grad keinen Müll geschrieben, bin nicht so sattelfest bei dem Thema) Gruß Phi
Die CMUcam3 ist ja echt eine interessante Sache (bis auf den Preis von ca. 150€): http://www.cmucam.org/wiki Ich würde versuchen die Open Source Firmware davon auf eine niedrigere Baudrate abzuändern. Im Prinzip ist es IMHO nur ein Parameter bei der Initialisierung der geändert werden muss...
1 | // configure uarts
|
2 | cc3_uart_init (0, CC3_UART_RATE_115200, CC3_UART_MODE_8N1, |
3 | CC3_UART_BINMODE_TEXT); |
Kann natürlich sein, dass die Kamera dann zu schnell Daten produziert und nicht schnell genug an den PC bzw. dein Atom28 los wird. Eventuell gibt die CMUcam3 Community oder die Entwickler Hilfe, wie das Programm für den ARM7 LPC2106 aussehen muss oder jemand übersetzt eine neue Firmware für dich. Der µC auf dem CMUcam3 hat ja einen seriellen Bootloader, so dass ein Update rel. einfach ist.
Is ja sehr interessant! Wenn dass so einfach is...sollte mich glaub mal mehr mit C beschäftigen! Thanxx a lot! Gruß Phi
Ähm soweit ich in deinem Atom-Manual sehe, kannst du doch eine höhere Baudrate benutzen. Du musst allerdings vor den HSERIN/HSEROUT Befehlen noch die Baudrate etc. mit SETHSERIAL setzen (S. 115) Aber lösgelöst davon... was machst du mit dem kitzekleinen (384 Bytes of RAM and 8K of FLASH) Atom, was der fette ARM7TDMI auf dem CMUcam3 nicht nebenbei mit Links miterledigen könnte? Du ziehst deinen Ferrari mit dem Mofa zum Bäcker ;-)
Den sethserial Befehl hab ich natürlich vorher genutzt, um die Baudrate zu setzen, aber am Terminal kommt einfach nix an...weiß au net was ich falsch mach. Habe alle 16 digitalen (davon 2 I2C Stänge mit je 6 Geräten) und dazu noch 3 analoge Pins an meinem Atom mit Sensoren, Motortreiber und Servocontroller besetzt, dass kann die CMUcam3 leider nicht...außerdem erledigt die Hauptrechenarbeit der PC der über Funk mit dem ganzen verbunden ist, der Microcontroller dient eigentlich nur zum Werte sammeln und Servos/Motoren steuern. Darüber hinaus können sich der Atom und die CMUcam3 ja die Arbeit teilen. Mag sein, dass das eine etwas umständliche Lösung ist, aber mir erschien das recht sinnvoll, zumal ein Anwendungsgebiet (neben dem autonomen Handeln) die Fernsteuerung vom PC aus sein soll. Gruß Phi
Mach mal eine Skizze/Foto davon, was du wie verbunden hast. Und wenn du ein selbstgeschriebenes Programm laufen lässt, zeige bitte den Sourcecode davon. Wenn du HSERIN/HSEROUT Befehle zur Kommunikation mit dem PC (oder der Cam) benutzen willst, brauchst du glaube ich einen TTL/RS232-Pegelwandler (hat schon Peter geschrieben) zum Invertieren des TTL-Pegels. http://forums.basicmicro.net/ShowPost.aspx?PostID=19328 Die HSERIN/HSEROUT Befehle empfangen/senden auch nicht an den Pins SIN/SOUT so wie das Programmierkabel, sondern an P14 (Empfangen mit HSERIN) und P15 (Senden mit HSEROUT). http://forums.basicmicro.net/ShowPost.aspx?PostID=19521 Der vorhandene TTL/RS232-Pegelwandler sitzt für diese Aufgabe an den "falschen" Pins.
Ahh, sehr gut...wo steht das? Die CMUcam3 hat ja auch eine TTL Pegel Schnittstelle, kann ich dann von da aus auf P14/P15 gehen, oder brauch ich auch da einen Inverter? Das ganze Projekt ist noch im Entwicklungsstadium: Hat noch keinen Kopf, da die CMUcam erst am Freitag ankam und ich die ja in den Kopf einbauen will (momentan in Arbeit); Akkus hab ich noch keine und leider auch keine Netzteile die genug Saft liefern würden um alles auf einmal zu betreiben --> habe momentan immer nur die Teile angeschlossen an denen ich gerade rumprogrammiere (bis jetzt funktioniert nur die Sprachausgabe und die Distanzmessung nach vorne und hinten, quasi wie ne Einparkhilfe am Auto. Funkverbindung steht auch schon.) Kann dir aber mal ne Skizze der Verkabelung und ein Foto vom aktuellen Stand machen. Liefere das dann gleich nach... Gruß Phi
Mit TTL-TTL müsstest du direkt Cam und Atom28 verbinden können. Die Strecke dazwischen darf aber nicht zu lang (nicht Meterbereich!) sein, weil du sonst viele Übertragungsfehler bekommst. Auf Dauer würde ich die 3,95 € in einen Pegelwandler inkl. Kondensatoren schon investieren bzw. selberbauen ;-) http://www.pollin.de/shop/detail.php?pg=NQ==&a=MzY5OTgxOTk= Die Doku zum Atom und dem Basic-Dialekt ist etwas dünn, aber ich habe auch immer nur quergelesen, seit ich eben in diesen Thread reingerutscht bin. Wertvolle Infos scheint es im Forum des Herstellers zu geben (s. Links in meiner letzten Antwort).
Das Verbindungskabel von CMUcam3 zum ATOM wäre ca. 40cm lang, müsste dann schon gehen. Danke für die Hilfe. Eine Skizze der Verkabelung war mir etwas zu umständlich, müsste aber auch so verständlich sein: Pin Gerät A0 GP2Y0A02YK (am Kopf) A1 GP2D120 (auf Grundplatte nach vorne gerichtet) A2 GP2D120 (auf Grundplatte nach hinten gerichtet) A3 -- 00 I2C Bus1 SDA 01 I2C Bus1 SCL 02 I2C Bus2 SDA 03 I2C Bus2 SCL 04 TxD serieller Funktransceiver 05 RxD serieller Funktransceiver 06 TXD CMUcam3 (am Kopf) 07 RxD CMUcam3 (amKopf) 08 IRPD1 LED1 (auf Grundplatte nach vorne gerichtet) 09 IRPD1 LED2 (auf Grundplatte nach vorne gerichtet) 10 IRPD1 In (auf Grundplatte nach vorne gerichtet) 11 SSC-32 (Servocontroller) 12 IRPD2 LED1 (auf Grundplatte nach hinten gerichtet) 13 IRPD2 LED2 (auf Grundplatte nach hinten gerichtet) 14 IRPD2 In (auf Grundplatte nach hinten gerichtet) 15 Relais für Scheinwerfer (2 am Kopf, 1 am Schwanz) I2C Bus1: SP03 (Sprachausgabe), CMPS03 (Kompass), 2*TPA81 (Temperatursensorzeile am Kopf), MD22 (Motorcontroller) I2C Bus2: 6*SRF08 (US-Distanzsensor; 4 auf Grundplatte, 2 am Kopf) Außerdem befinden sich am Kopf wie auch am Schwanz noch kleine Funkkameras, die Bild und Ton direkt zum PC senden. Wie gesagt, es ist noch nicht alles montiert, also nicht wundern! Das Ende vom Schwanz ist ein Greifer mit 3 Fingern (schwer zu erkennen). Den Körper montiere ich auf die kleine drehbare vorne. Gruß Phi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.