Component · Controller

Raspberry Pi

Volledige Linux-computer ter grootte van een kaart: het brein voor robots die beeldverwerking, ROS of rekenkracht nodig hebben die een Arduino tekortschiet.

Wat het is

De Raspberry Pi is een volledige computer ter grootte van een creditcard. Waar een Arduino Uno een microcontroller is die één programma eindeloos uitvoert, draait een Pi Linux—hij kan een camera aansturen, met het netwerk praten, ROS 2 draaien en je robotcode allemaal tegelijk uitvoeren. Het is het brein dat je kiest wanneer een robot moet denken en niet alleen reageren.

Die kracht is ook de afweging: multitasking in Linux maakt de Pi minder goed in timing op microsecondeniveau, waar een microcontroller dat moeiteloos doet. De twee zijn partners, geen concurrenten.

Diagram met labels van een Raspberry Pi-computer op één bord: een groene printplaat met langs de bovenrand een 40-pins GPIO-header van gouden contacten, in het midden een Broadcom-systeem-op-chip en een RAM-chip, rechts een gestapeld USB- en Ethernetblok, onderaan HDMI en USB-C-voeding en links een microSD-kaartsleuf.
Een Raspberry Pi pakket een computer op één bord: de SoC en RAM draaien Linux, de 40-pins GPIO-header praat met de robothardware en de microSD bevat het besturingssysteem. SVG downloaden

Hoe het werkt

De Pi start een besturingssysteem (meestal Raspberry Pi OS) vanaf een microSD-kaart en gedraagt zich daarna als elke andere Linux-machine. Voor robotica is het 40-pins GPIO-header het belangrijkste: digitale ingangen en uitgangen, plus I²C-, SPI- en UART-bussen, waarmee de Pi sensoren kan uitlezen en hardware kan aansturen. Daar bovenop zitten de computeronderdelen—USB, Ethernet, Wi-Fi en een camera-interface—die een microcontroller simpelweg niet heeft.

Een veelvoorkomende architectuur is een robot met twee breinen: de Pi verzorgt waarneming en planning (beeldverwerking, SLAM, ROS-nodes) en geeft motorcommando’s door aan een Arduino die de real-time besturing doet.

Wanneer je hem gebruikt

Kies een Pi wanneer de robot de mogelijkheden van een computer nodig heeft:

  • Computer vision — een camera plus OpenCV voor markers, objecten of lijnen detecteren.
  • ROS 2 — nodes, topics en de navigatiestack draaien.
  • Kartering / SLAM — een kaart opbouwen en de robot daarin lokaliseren.
  • Netwerk — een webdashboard, afstandsbesturing of telemetrie.

Blijf bij een Arduino of ESP32 voor zuivere real-time besturingstaken—ze zijn goedkoper, eenvoudiger en beter in precieze timing.

Aansluiting en aandachtspunten

  • 3,3 V-logica, en niet tolerant voor 5 V. Een GPIO-pin voeden met 5 V kan de Pi beschadigen. Gebruik een levelshifter voor signalen van 5 V-onderdelen (bijvoorbeeld de TX-lijn van een HC-05).
  • De Pi kan nog steeds geen motoren voeden. GPIO stuurt signalen; motorstroom loopt via een driver zoals de L298N.
  • De voeding is kieskeurig. Geef hem stabiele 5 V met voldoende stroom; brown-outs beschadigen de SD-kaart en veroorzaken willekeurige herstarts.
  • Schakel de Pi netjes uit. De stroom wegtrekken terwijl Linux draait, kan de kaart beschadigen—ontwerp een veilige uitschakelprocedure of gebruik een alleen-lezen bestandssysteem.

De 40-pins header en welke pins je kunt gebruiken

De header heeft 40 pins, waarvan slechts 26 bruikbare GPIO-pins zijn. De rest zijn voeding en ground.

Functie Pins (BCM-nummering) Opmerkingen
I²C-1 GPIO 2 (SDA), GPIO 3 (SCL) Vaste pull-ups van 1,8 kΩ naar 3,3 V op het bord
SPI0 GPIO 10 (MOSI), 9 (MISO), 11 (SCLK), 8/7 (CE0/CE1)
UART GPIO 14 (TX), 15 (RX) Wordt standaard door de Linux-console gebruikt — moet worden vrijgemaakt
Hardware-PWM GPIO 12, 13, 18, 19 Alleen deze vier; al het andere is software-PWM
Voeding 3,3 V, 5 V 5 V komt rechtstreeks van de ingang — geen spanningsregeling
Algemeen De rest

Twee van die rijen kosten mensen regelmatig een avond.

De UART is de console. Standaard geven GPIO 14/15 een Linux-loginprompt. Sluit daarop een GPS-module of Arduino aan en je krijgt inloggeluid in plaats van gegevens. Maak ze vrij met sudo raspi-config → Interface Options → Serial Port → login shell: no, hardware serial: yes. Bij een Pi 3 en later is er nog een complicatie: de goede UART wordt standaard door Bluetooth gebruikt en die op de header is een minderwaardige „mini-UART” waarvan de baudrate met de CPU-klok meedrijft. Voeg dtoverlay=disable-bt toe aan /boot/config.txt om ze te verwisselen.

Software-PWM zorgt voor jitter. Slechts vier pins hebben hardware-PWM. Al het andere wordt door de kernel gegenereerd, en de Linux-scheduler onderbreekt dat — bij een servo zie je dat als zichtbaar schokken. Dit is de duidelijkste illustratie van waar een Pi zwak in is.

Het timingprobleem, helder uitgelegd

Dit is het belangrijkste om te begrijpen over een Pi in een robot, en het is geen defect — het is hoe een besturingssysteem werkt.

Een microcontroller die loop() uitvoert, draait je code en verder niets, dus een interval van 1 ms is 1 ms. Linux verdeelt de tijd: de kernel kan je proces onderbreken om een netwerkpakket te bedienen, een schijfschrijfactie te voltooien of een van de honderden achtergrondtaken uit te voeren.

Taak Microcontroller Raspberry Pi (standaard Linux)
1 kHz-regellus Triviaal, exact Mogelijk, maar af en toe wordt de deadline van één millisecond gemist
Servo-PWM Zeer stabiel Zichtbaar trillend op software-PWM-pins
Encoder uitlezen op 20 kHz Gewoon met interrupts Onbetrouwbaar — flanken worden gemist
Ultrasone echotiming Nauwkeurig op microseconden Willekeurige fouten van meerdere centimeters
Visie, planning, netwerk Onmogelijk Precies waarvoor het is bedoeld

Het gevolg is de twee-breinenarchitectuur, en dat is geen compromis maar het normale ontwerp voor een serieuze robot:

Raspberry Pi                        Microcontroller
- camera, vision                    - encoder counting
- SLAM, path planning       <-->    - PID motor control
- ROS 2 nodes                       - servo timing
- networking, dashboard             - emergency stop
        high-level goals                  hard real time

Ze praten via USB-serie, UART of I²C met elkaar, en elk doet waar het goed in is. Een Pi die encoderflanken telt, zal ze missen; een Arduino die OpenCV draait, kan dat niet.

Voeding en het SD-kaartprobleem

Voeding is waar Pi-robots falen, en de storingsmodus is ongewoon duur: een brown-out tijdens een schrijfactie beschadigt de SD-kaart, en daarmee verlies je het hele systeembeeld.

Model Aanbevolen voeding Onder belasting
Pi Zero 2 W 5 V, 2,5 A ~350 mA typisch
Pi 3B+ 5 V, 2,5 A ~500 mA, pieken bijna 1,2 A
Pi 4B 5 V, 3 A (USB-C) ~600 mA, pieken bijna 1,5 A
Pi 5 5 V, 5 A (USB-C PD) Nog hoger

Daaruit volgen regels:

  • Voed motoren en een Pi nooit via dezelfde rail. De inschakelstroom van een motor is precies de tijdelijke belasting die een kaart beschadigt.
  • Gebruik een schakelende regulator, geen lineaire, als je van een batterij naar een lagere spanning gaat. Een lineaire regulator die 11,1 V naar 5 V verlaagt bij 1 A, verbrandt 6 W.
  • Let op de bliksemflits. De Pi toont een waarschuwingspictogram voor onderspanning en logt die; vcgencmd get_throttled meldt het ook. Alles wat niet nul is, betekent dat de voeding onvoldoende is en uiteindelijk een kaart beschadigt.
  • Schakel netjes uit. Gebruik sudo shutdown -h now voordat je de stroom onderbreekt. Een robot die met een tuimschakelaar wordt uitgeschakeld, heeft een uitschakelknop op een GPIO nodig, of een alleen-lezen wortelbestandssysteem.

Het alleen-lezen bestandssysteem is het overwegen waard voor een ingezette robot: met overlayfs ingeschakeld wordt er tijdens het gebruik nooit iets op de kaart geschreven en kan de stroom op elk moment worden afgebroken zonder gevolgen. Je verliest de mogelijkheid om lokaal gegevens op te slaan, wat meestal een redelijke afweging is.

Welk model voor een robot

Model RAM Waarom je het kiest
Pi Zero 2 W 512 MB Klein en licht. Voldoende voor een camera en eenvoudige beeldverwerking
Pi 3B+ 1 GB Goedkoop, voldoende voor ROS 2 met bescheiden nodes
Pi 4B (4 GB) 4 GB De praktische balans voor ROS 2 plus beeldverwerking
Pi 5 4–16 GB Merkbaar sneller; vraagt meer stroom en actieve koeling

Voor ROS 2 met een camera is 4 GB het punt waarop het niet meer frustrerend wordt. RViz, een beeldverwerkingsnode en een navigatiestack gebruiken samen meer dan 1 GB, en een Pi die naar de SD-kaart moet wisselen wordt onbruikbaar langzaam—en slijt de kaart op.

Twee accessoires zijn in de praktijk niet optioneel: een koellichaam of ventilator (een Pi 4 remt bij langdurige belasting af bij 80 °C en een afgeremde Pi laat beelden vallen) en een goede A2-klasse microSD-kaart, of nog beter opstarten vanaf een USB-SSD. De snelheid van de kaart is vaker de knelpunt dan de CPU.

Problemen oplossen

Klacht Waarschijnlijke oorzaak Oplossing
Willekeurige herstarts Onvoldoende voeding Controleer vcgencmd get_throttled; gebruik een 3 A-voeding
SD-kaart wordt steeds beschadigd Stroom onderbroken tijdens een schrijfactie Netjes uitschakelen, of een alleen-lezen bestandssysteem
Bliksemflitspictogram Onderspanning Betere voeding en betere kabel — kabels maken uit
Seriële verbinding geeft inloggeluid Console staat nog op UART Schakel de login-shell uit in raspi-config
De baudrate van de seriële verbinding is verkeerd Mini-UART gekoppeld aan de CPU-klok dtoverlay=disable-bt om de goede UART te krijgen
Servo schokt Software-PWM plus de scheduler Gebruik een PCA9685, of een microcontroller
Encodertellingen zijn verkeerd Flanken onder belasting gemist Tel ze op een microcontroller
Wordt na enkele minuten traag De processor wordt door warmte afgeremd Koellichaam of ventilator
GPIO-pin werkt niet meer 5 V op een 3,3 V-pin Niveau verschuiven; de pin is waarschijnlijk beschadigd
I²C-apparaat niet gedetecteerd Interface niet ingeschakeld raspi-config, daarna i2cdetect -y 1

Pi of microcontroller?

Arduino / ESP32 Raspberry Pi
Draait Alleen je code Linux, met je code tussen veel processen
Timing Deterministisch op microsecondenniveau Een benadering met jitter op millisecondenniveau
Opstarttijd Direct 20–30 seconden
Stroomonderbreking Onschadelijk Kan het bestandssysteem beschadigen
Visie, ROS 2, netwerk Nee Ja
Stroomverbruik Milliampères Honderden milliampères tot ampères
Kosten $3–8 $35–80

Eerlijk gezien: dit zijn geen concurrenten. Een Pi kan een encoder niet betrouwbaar tellen en een microcontroller kan geen OpenCV draaien. Vrijwel elke capabele hobbyrobot heeft uiteindelijk beide, en dat vroeg herkennen bespaart veel werk aan het proberen de taak van de ander te doen.

Als het volledige gedrag van je robot in één regellus past — een lijnvolger, een obstakelvermijder, een doolhofoplosser — heb je helemaal geen Pi nodig. Het toevoegen van een Pi maakt de robot juist langzamer opstartend, kwetsbaarder en lastiger om te diagnosticeren.

Verken de graaf

Gebruikt in deze bouwprojecten

Projecten, leerroutes en simulators waarin de Raspberry Pi voorkomt.

Vergelijken

Alternatieven

Vragen

FAQ over de Raspberry Pi

Wat is een Raspberry Pi?

Een Raspberry Pi is een kleine, goedkope computer op één bord met een volledig Linux-besturingssysteem. Anders dan een Arduino, dat één programma op een microcontroller draait, is een Pi een echte computer—hij kan een camera, een browser, ROS en je robotcode tegelijk draaien.

Raspberry Pi versus Arduino—wat heb ik nodig?

Gebruik een Arduino voor real-time besturing van motoren en sensoren; gebruik een Raspberry Pi wanneer de robot beeldverwerking, kartering, ROS of netwerkfunctionaliteit nodig heeft. Veel robots gebruiken beide—de Pi als brein op hoog niveau en een Arduino die in real-time de motoren bestuurt. Door multitasking in Linux is de Pi minder goed in timing op microsecondeniveau, niet beter.

Kan een Raspberry Pi motoren aansturen?

De GPIO-pins kunnen PWM- en richtingsignalen sturen, maar—zoals een Arduino—kunnen ze geen motor rechtstreeks voeden. Je bestuurt motoren nog steeds via een H-brug zoals de L298N. De pins van de Pi zijn ook 3,3 V, dus let op logische niveaus bij het aansluiten van 5 V-onderdelen.

Heb je een Raspberry Pi nodig voor een robot?

Nee. De meeste beginnersrobots (een lijnvolger, een obstakelvermijder) draaien prima op een Arduino voor een fractie van de kosten en complexiteit. Kies pas een Pi wanneer de taak echt een computer nodig heeft—beeldverwerking, SLAM, ROS 2 draaien of een webinterface.

Welke Raspberry Pi-modellen zijn het beste voor robotica?

De Raspberry Pi 4 en Pi 5 zijn de gebruikelijke keuzes—voldoende CPU en RAM voor beeldverwerking en ROS. De Pi Zero 2 W is een kleine, energiezuinige optie voor lichtere robots waar ruimte en batterij belangrijker zijn dan absolute snelheid. Vermijd de oudste modellen (Pi 1 en 2) voor alles wat veel rekenkracht vraagt.

Verder lezen

Bronnen