Gebruikershulpmiddelen

Site-hulpmiddelen


fabskills:portfolios:rombout:05_electro_ontwerp

#05: Raspberry Pi Pico-Arduino in KiCAD

Edwin heeft mij gevraagd om een PCB ontwerp te maken waarbij we de Raspberry Pi Pico kunnen gebruiken met bestaande Arduino UNO shields.

Dit ontwerp is gebasseerd op de “Flexypin UNO” variant die door arturo182 is gemaakt. Hier op GitHub standaard de originele sources: https://github.com/solderparty/flexypin_adapters_hw/tree/main/rpi_pico_uno_flexypin

Waarom dan zelf iets maken? We hadden een paar extra wensen:

  • Uitbreiden naar 6 analoge ingangen;
  • Voeding met barrel jack adapter;
  • Met de hand te bouwen.

Hierin is gekozen om de “Flexypin” te laten vallen, omdat het wisselen van Pico borden niet echt nodig is voor ons.

Analoge Inputs

Het uitbreiden van de analoge ingangen naar 6 stuks is niet mogelijk met de standaard Raspberry Pi Pico. De RP2040 chip die daar op zit, heeft namelijk maar 4 ADC ingangen. Om dit op te lossen is een 74LV4053 multiplexer toegevoegd. Dit is een multiplexer die het mogelijk maakt om tussen 2 signalen te wisselen, en dat op 3 individuele paden tegelijk. Hierdoor kunnen we wisselen tussen het doorgeven van de even en oneven ingangen.

Hier zie je het schema met de 4053. De multiplexer wordt bediend met GPIO 22. Deze laat dan ADC2 (GPIO28) kiezen tussen A0 en A1, ADC1 (GPIO27) naar A2 en A3, en ADC2 (GPIO26) naar A4 en A5.

Voeding

Om het project simpel te houden, is er gekozen voor een lineaire regelaar. Hiervoor gebruiken we de klassieke 1117 “low dropout” regelaar. Deze maakt 5V voor de UNO form factor. De 3.3V wordt gemaakt op de Pico zelf. In theorie kan de 1117 tot 15V en 800mA werken, maar dit zal wel beperkt zijn door goede koeling. Het is met name bedoeld om shields te voeden, of een paar kleine servo's kort te kunnen laten bewegen.

KiCAD

Om de UNO na te bouwen heb ik de standaard Arduino UNO uit de library van KiCAD gepakt. In plaatst van deze te gebruiken voor een shield, heb ik echter alle signalen van de Raspberry Pi Pico hier op aangesloten. Het “Flexypin” ontwerp is hiervoor uitgangspunt geweest.

In de PCB layout heb ik de board edge overgetekend met de originele Arduino form factor. Wat betreft onderdeelkeuze is voor 1206 condensatoren en SOIC chips gekozen. Deze zijn met wat oefening met de hand te solderen. Het PCB ontwerp is 2 koperlagen. Helaas moeten we dit ontwerp dus bestellen in plaatst van dat we deze met een freesmachine kunnen fabriceren. Maar dit geeft ook de mogelijkheid om silkscreen in te zetten als documentatie. Hier op staan alle GPIO pin nummers van de Pico, omdat deze afwijken van de originele Arduino UNO.

Resultaat

De PCBs zijn bij Aisler (made in EU!) besteld. Hieronder valt het resultaat te zien:

Let op: de print heeft ook een mogelijkheid om een SWD debugger aan te sluiten (SWDIO en SWCLK). Echter voor de Pico W komen deze pads niet uit bij de Pico. Deze pin header is op deze print dan ook niet gesoldeerd.

fabskills/portfolios/rombout/05_electro_ontwerp.txt · Laatst gewijzigd: door rombout