Beschreibung
Bauen Sie den Hexapod/Roboterarm/eine andere gelenkige Konstruktion Ihrer Träume mit diesem All-in-One RP2040 Servocontroller mit Strommessung, Sensorköpfen und RGB-LEDs.
Servo 2040 ist ein Standalone-Servoregler für die Herstellung von Dingen mit vielen beweglichen Teilen. Er hat vorgelötete Stiftleisten zum Anstecken bis zu 18 Servos - Genug für den langbeinigsten Hexapod-Walker oder jede Menge Freiheitsgrade für deine Roboterarme, -beine oder -tentakel. Servos können ziemlich stromhungrig sein, vor allem die klobigen, deshalb hat Pimoroni ein paar nette aktuelle Überwachung Funktionen, damit Sie den Stromverbrauch im Auge behalten können.
Es gibt sechs adressierbare RGB-LEDs (AKA Neopixels) für visuelle Rückmeldungen und Statusberichte sowie Stiftleisten zum Anschluss bis zu sechs analoge Sensoren - nützlich, um zu erkennen, wo der Boden ist, ob man kurz davor ist, gegen eine Wand zu prallen, oder wie stark der Druck ist Die Kralle auf Ihre unglückliche Testperson ausübt. Es gibt auch einen QW/ST-Anschluss um es super einfach zu machen, eine Qwiic oder QT STEM ein oder zwei Ausbrüche.
Servo 2040 wird von einer gut dokumentierten C++/MicroPython-Servobibliothek mit vielen Beispielen unterstützt, die Ihnen zeigen, wie Sie die einzelnen Funktionen (und alles zusammen) nutzen können.
RP2040 x Servos
Wir haben den RP2040 als Kern dieses Boards wegen der Flexibilität seiner programmierbaren IOs (PIOs) verwendet. Traditionell muss jedes Servo an einen eigenen PWM-fähigen Kanal auf dem Mikrocontroller angeschlossen werden. Das RP2040 hat nur 16 PWM-Kanäle, aber es ist möglich, bis zu 30 Servos mit der Magie der PIOs anzusteuern (wenn man sich mit der Verkabelung auskennt). Die PIOs des RP2040 sind außerdem superschnell, so dass sie Servos mit einer Auflösung von unter einer Mikrosekunde ansteuern können.
Wir haben den RP2040-Mikrocontroller direkt in den Servo 2040 eingebaut, so dass Sie keine separaten Mikrocontroller- und Servotreiberplatinen benötigen. Das sorgt für schöne kompakte Konstruktionen - perfekt für kleine Roboter!
Eigenschaften
- RP2040 (Dual Arm Cortex M0+ mit bis zu 133Mhz und 264kB SRAM)
- 2 MB QSPI-Flash mit Unterstützung für XiP
- 18 Sätze von Stiftleisten für den Anschluss von 3-poligen Hobbyservos
- Unterstützt Servos mit höherer Spannung (bis zu 11V) *
- 6 adressierbare RGB-LEDs/Neopixel
- 6 Sätze von Stiftleisten für den Anschluss analoger Sensoren
- Onboard-Spannungs- und Strommessung
- Reset- und BOOT-Taste (die BOOT-Taste kann auch als Benutzertaste verwendet werden)
- USB-C-Anschluss für Programmierung und Stromversorgung (max. 3 A)
- Schraubklemmen für die externe Stromversorgung (mit Verpolungsschutz) (10A max. Dauerstrom)
- Qw/ST (Qwiic/STEMMA QT) Anschluss für Breakouts
- Vollständig montiert (kein Löten erforderlich)
- C++/MicroPython-Bibliotheken
- Schematische Darstellung
- Mechanische Zeichnung
Software
Da es sich um ein RP2040-Board handelt, ist der Servo 2040 firmware-unabhängig! Sie können es mit C/C++, MicroPython oder CircuitPython programmieren.
Pimoronis C++/MicroPython Bibliotheken werden Ihnen helfen, das Beste aus dem Servo 2040 herauszuholen. Sie sind vollgepackt mit leistungsstarken Funktionen für die Arbeit mit Servos. Die beste Leistung erhalten Sie mit C++, aber wenn Sie ein Anfänger sind, empfiehlt Pimoroni Ihnen, die in ihrem MicroPython Build Batterien zu verwenden.
- MicroPython der Piratenmarke herunterladen
- MicroPython API-Dokumentation
- MicroPython-Beispiele
- C++ Beispiele
Sie können auch CircuitPython auf Ihrem Servo 2040 verwenden, wenn Sie alle Annehmlichkeiten des Adafruit-Ökosystems nutzen möchten (beachten Sie, dass Sie nur bis zu 16 Servos mit CircuitPython steuern können).
Verbinden von Breakouts
Wenn Ihr Breakout einen QW/ST-Anschluss hat JST-SH auf JST-SH Kabel oder Sie können jede unserer I2C-Breakout-Garden-Breakouts einfach mit einem JST-SH auf JST-SH Kabel ; gekoppelt mit einer Qw/ST auf Breakout-Garten-Adapter .
- Liste der Ausbrüche derzeit kompatibel mit unserem C++/MicroPython-Build.
Anmerkungen
- Abmessungen: 62mm x 42mm x 12mm (L x B x H, einschließlich Steckern). Die Befestigungslöcher sind M2,5 und 2,7 mm von jeder Kante entfernt.
- * Wenn Sie Servos mit einer höheren Spannung als 5V betreiben wollen, müssen Sie die Leiterbahn 'Separate USB and Ext. Power' auf der Rückseite der Platine durchtrennen, um zu verhindern, dass der RP2040 durch die erhöhte Spannung beschädigt wird.
- Wenn Sie diese Leiterbahn durchtrennen, müssen Sie die Logik des Boards separat mit Strom versorgen (über USB oder die 5V an der ausgebrochenen Stiftleiste).
- Wenn Sie einen batteriebetriebenen Roboter über USB programmieren, empfehlen wir die Verwendung eines Nur-Daten-USB-Adapter um zu vermeiden, dass Ihr Computer oder der Akku in den Hintergrund gerät.
Über RP2040
Der RP2040-Mikrocontroller des Raspberry Pi ist ein Dual-Core-ARM Cortex M0+ mit einer Geschwindigkeit von bis zu 133Mhz. Er verfügt über 264kB SRAM, 30 Multifunktions-GPIO-Pins (einschließlich eines vierkanaligen 12-Bit-ADC), einen Haufen Standardperipheriegeräte (I2C, SPI, UART, PWM, Taktgeber usw.) und USB-Unterstützung.
Ein sehr interessantes Merkmal des RP2040 sind die programmierbaren IOs, die es Ihnen ermöglichen, benutzerdefinierte Programme auszuführen, die GPIO-Pins manipulieren und Daten zwischen Peripheriegeräten übertragen können - sie können Aufgaben auslagern, die hohe Datenübertragungsraten oder ein präzises Timing erfordern, was traditionell eine Menge Arbeit für die CPU bedeutet hätte.
English Description
Build the hexapod/robot arm/other articulated contraption of your dreams with this all-in-one RP2040 powered servo controller with current measurement, sensor headers and RGB LEDs.
Servo 2040 is a standalone servo controller for making things with lots of moving parts. It has pre-soldered pin headers for plugging in up to 18 servos - enough for the leggiest of hexapod walkers or plenty of degrees of freedom for your robotic arms, legs or tentacles. Servos can be pretty power hungry, especially the chunky ones, so we've added some neat current monitoring functions so you can keep an eye on power consumption.
There's six addressable RGB LEDs (AKA Neopixels) for visual feedback and status reports, plus pin headers to connect up to six analog sensors - useful for sensing where the ground is, if you're about to crash into a wall, or how much pressure The Claw is exerting on your hapless test subject. We've also popped a QW/ST connector on there, to make it super easy to add a Qwiic or STEMMA QT breakout or two.
Servo 2040 is supported by a well documented C++/MicroPython servo library with lots of examples to show you how to use the individual features (and everything together).
RP2040 x servos
We've used RP2040 as the core of this board because of the flexibility of its Programmable IOs (PIOs). Traditionally, each servo needs to be connected to its own PWM capable channel on the microcontroller. RP2040 only has 16 PWM channels, but it's possible to drive up to 30 servos using the magic of PIOs (if you're canny with wiring). RP2040's PIOs are also super fast, so they can drive servos with sub microsecond resolution.
We've built the RP2040 microcontroller right into Servo 2040, so you don't need separate microcontroller and servo driver boards. This makes for nice compact builds - perfect for small robots!
Features
- Powered by RP2040 (Dual Arm Cortex M0+ running at up to 133Mhz with 264kB of SRAM)
- 2MB of QSPI flash supporting XiP
- 18 sets of header pins for connecting 3 pin hobby servos
- Supports higher voltage servos (up to 11V) *
- 6 addressable RGB LEDs/Neopixels
- 6 sets of header pins for connecting analog sensors
- Onboard voltage and current sensing
- Reset and BOOT button (the BOOT button can also be used as a user button)
- USB-C connector for programming and power (3A max)
- Screw terminals for supplying external power (with reverse polarity protection) (10A max continuous current)
- Qw/ST (Qwiic/STEMMA QT) connector for breakouts
- Fully-assembled (no soldering required)
- C++/MicroPython libraries
- Schematic
- Mechanical drawing
Software
Because it's a RP2040 board, Servo 2040 is firmware agnostic! You can program it with C/C++, MicroPython or CircuitPython.
Our C++/MicroPython libraries will help you get the most out of Servo 2040, they're packed with powerful features for working with servos. You'll get best performance using C++, but if you're a beginner we'd recommend using our batteries included MicroPython build for ease of getting started.
You can also use CircuitPython on your Servo 2040, if you want access to all the nice conveniences of Adafruit's ecosystem (note that you will only be able to control up to 16 servos with CircuitPython).
Connecting Breakouts
If your breakout has a QW/ST connector JST-SH to JST-SH cable, or you can easily connect any of our I2C Breakout Garden breakouts with a JST-SH to JST-SH cable; coupled with a Qw/ST to Breakout Garden adaptor.
- List of breakouts currently compatible with our C++/MicroPython build.
Notes
- Measurements: 62mm x 42mm x 12mm (L x W x H, including connectors). The mounting holes are M2.5 and 2.7mm in from each edge.
- * If you want to run servos with a higher voltage than 5V, you'll need to cut the 'Separate USB and Ext. Power' trace on the back of the board to prevent the RP2040 being damaged by the increased voltage.
- If you cut this trace you'll need to provide separate power for the board logic (through USB or the 5V on the broken out header).
- When programming a battery powered robot through USB we'd recommend using something like a data only USB adaptor to avoid back-powering your computer, or the battery.
About RP2040
Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.
One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.