während ich mir Gedanken gemacht habe über die Servos, die ich im meinem Humanoiden Roboter, der in Planung ist, einsetzen will, bin ich auf das Open Servo Projekt gestoßen. Nun hab ich nach längeren Überlegungen begonnen ein eignes Open Servo Projekt zu erstellen, nur soll dieser über einen CAN-Bus verfügen, um auch den Leuten mit Echtzeitbetriebssystem eine Chance zu geben, eine Echtzeitsteuerung weiter zu realisieren. Ich habe angefangen mit diesem Projekt bin leider noch nicht ganz fertig, aber wollte trotzdem mal die ersten Schaltpläne online stellen und Tipps von euch ein zu holen, da momentan die Platinen sehr vollgeoackt wäre und nicht gut zu routen sind. Bitte um Verbesserungsvorschläge und Tipps zur Steuerung. Wollte nach erfolgreichen ersten Prototypen auch ein Wiki-Eintrag über dieses Projekt erstellen, damit jeder, der auch auf der Suche nach einer Servosteuerung ist darauf Zugriff hat.
Was soll deine Schaltung den machen?
Stellt der ATmega ne Verbindung zwischen CANBus und Servo her und steuert das Servo oder die Servos per PWM? Oder soll die Schaltung mit dem Controller ins Gehäuse eines gehackten bzw. bearbeiteten Servos? Wenn ja, dann würde ich versuchen ein kleineren Controller zunehmen (Dafür spricht ja die H-Brücke).
Außerdem sehe ich in deinen Schaltplänen noch nicht viel.
Schreib doch nochmal genauer wie du das Servo ansteuern möchtest.
die Elektronik soll in den Servo hinein passen,und mit dem Motor und dem bestehenden Poti verbunden werden. Der Mikrocontroller steuert per PWM die H-Brücke und bekommt über den CAN-Bus seine Befehle wie weite und wie schnell. Was für einen Mikrocontroller wirdest u verwenden? Hab ja gesagt, dass der Schaltplan noch nicht ganz fertig ist, da ich erst eure Meinung zu den verwendeten Teilen hören möchte. Der Controller soll über CAN übertragen bekommen bis zu welcer Position der Servo fahren soll ud wie schnell das passieren soll und soll als Rückgabewerte immer die aktuelle Position des Servos zurückmelden.
Ich würde einen so kleinen Controller wie möglich verwenden und das sind die ATtinys. Du mußt halt gucken was du an Schnittstellen brauchst. Also 1 Pin PWM, 1-2 Pins für die Richtung und n Pins für die Kommunikation mit dem CAN Controller. Denn einen ATmrga wirst du kaum im Gehäuse unterbringen. Dann kommen ja noch Kondensatoren etc dazu.
Welcher jetzt genau deine Anforderung erfüllt kann ich dir so spontan nicht sagen, das musst du aus den Datenblättern entnehmen.
Was noch interessant ist: Welche Sprache willst du nutzen? Denn diese sollte natürlich auch den gewünschten Controller unterstützen.
Ich wollte C als Programmiersprache für dieses Projekt benutzen. Hab aber leider noch kein ATtiny gefnden der vollen SPI unterstützt, um den CAN Bus zu betreiben.
habe den Tiny2313 erfolgreich mit dem MCP ans Laufen bekommen. Mit dem USI war das zwar erst etwas gewöhnungsbedürftig, geht aber. Als Grundlage habe ich das Tutorial von http://www.kreatives-chaos.com/ genommen und den SPI-Zugriff für das USI umgebogen.
Hast du dir schon Gedanken über den Takt für den MCP gemacht? Ich habe einen extra Quarz genommen. Bei mir ist Platz aber auch nicht so das Thema.
Kannst du mir mal die Schaltung und so schicken, damit ich schauen kann wie du des gemacht hast.
Ich bin für jede Idee offen. Den MCP2515 müsste ich ja noch mit einem Quarz versehen um die CAN Geschwindigkeit von 1MB zu realisieren.
so habe das so schnell es ging noch in eine ähm halbwegs verständliche Form gebracht und entschuldige mich schon mal. Hoffe hab keinen Bock reingebaut und ach frag nicht nach K6, es ist ein Steckverbinder zu einem Funkmodul und hat nix mit dem CAN zu tun
Beim USI gibt es noch ein Fallstrick. Der MOSI Pin ist am Controller plötzlich nicht mehr Output sondern Input, gleiches gilt für den MISO nur halt umgekehrt. Am besten du schaust dir die Bezeichnungen im Datenblatt an.
Im Schaltplan habe ich einen Abschlusswiderstand vorgesehen. Den kann man aus Platzgründen gegebenen Falls in den Anschluß verlegen.
Wenn du keinen Wert darauf legst, dass der Controller den MCP reseten kann, möchtest du vielleicht den CLKOUT des MCP nutzen. Wenn du einen Quarz am MCP hast, kannst du damit auch den Controller takten.
nachdem ich gerade eben mit dem Schaltplan fertig wurde und versucht habe dies auf dem Board mit den Maßen 17x20mm unterzubringen, stellte sich heraus, dass die ganze Hardware (MCP2515, MCP2551, Atmega8, ZXMHC 6A07 T8TA) nicht auf das Board passt, deshalb möchte ich nochmal neu beginnen mit dem Schaltplan und wollte euch fragen, was ihr meint welche Bauteile ich verwenden sollte?
Das Board soll noch die gleichen Abmaßungen hab wie zuvor, damit es in das Servo Gehäuse rein passt und soll über CAN verfügen, um eine Echtzeitsteuerung zu gewährleisten. Ich hoffe das Projekt findet im Forum seine Anhänger und wir bekommen eine stabile und schnelle Servosteuerung hin.
Vielen Dank für eure Mithilfe.
Lesezeichen