Vergelijking driverboards micro:bit

De micro:bit werkt met een interne voedingsspanning van 3,3 Volt. Door deze relatief lage voedingsspanning kan je direct leds aansturen en is de micro:bit ook te voeden met twee AAA-batterijtjes. Nadeel is dat servo’s, motortjes en andere externe onderdelen het zonder extra driverboard niet echt goed doen. Ik vergelijk verschillende driverboards.

5 Volt

Veel van de dingen die we op de micro:bit willen aansluiten werken eigenlijk het liefst met en voedingsspanning van 5 Volt. Ook vragen veel motortjes meer stroom dan de micro:bit kan leveren.

De populaire ‘gele’ motortjes vragen bijvoorbeeld bijna 200mA, terwijl de micro:bit maar 90mA (https://tech.microbit.org/hardware/) kan leveren.

Driverboards

Door de micro:bit aan te sluiten op een driverboard kan je ineens veel meer aansluiten op de micro:bit. Doordat het driverboard werkt met een eigen voedingsbron is de werkspanning ineens hoger en kan er ook meer stroom worden geleverd.

Via het driverboard kan je ook ineens veel meer pinnen gebruiken. De driverboards uit mijn vergelijking zijn in te delen in twee groepen:

  1. Eigen uitbreiding (extensie)
  2. Geen uitbreiding (extensie) nodig

Ik geef zelf de voorkeur aan de bordjes die geen eigen uitbreiding nodig is en je de motor kan aansturen met de standaardblokjes uit de Makecode editor:

  • Scheelt het zoeken naar de uitbreiding.
  • Je blijft dicht bij de ‘basics’ van het aansturen van motortjes en andere dingen.
  • Je bent voor de software niet afhankelijk van de leverancier van het board.

Extra’s

Er zijn allerlei sets te koop met daarin tientallen verschillende sensoren. Deze sensoren zijn vaak ontwikkeld voor de Arduino die werkt met een spanning van 5 Volt. Dankzij de driverbordjes kan je deze (vaak goedkope) sensoren nu ook aansluiten op een micro:bit.

3,3V – 5V

Bij een aantal bordjes heb je de keuze of je de uitgangen voedt met 3,3 Volt of met 5 Volt. Dit doe je dan met een jumper of met een schakelaartje. Het mooiste vind ik het als een deel van de uitgangen met 3,3 V werkt en een ander deel met 5 Volt.

Geluid en bewegen gaat niet (altijd) samen

Bij het testen van de boards bleek dat het gelijktijdig afspelen van geluid en het laten draaien van een servootje niet altijd lukte. Ten onrechte gaf ik de boards hiervan de schuld. Het blijkt dat dit teveel gevraagd is voor de micro:bit. Dit is in het Engels beschreven op https://support.microbit.org/support/solutions/articles/19000054956-using-servos-and-sound-at-the-same-time.

Vergelijking

Ik heb een spreadsheet gemaakt waarin ik de bordjes met elkaar vergelijk. Hieronder per bordje een paar algemene opmerkingen:

Kitronik: Motor Driver Board for the BBC micro:bit – V2

Dit bordje doet gewoon wat het moet doen. Je kan de uitbreiding laden, maar de motor laat zich ook prima besturen met gewone programmablokjes. Om motoren heen en weer te laten draaien gebruik je per motor twee pinnen. Hieronder zie je de digitale en de analoge manier:

https://makecode.microbit.org/_0AUDvP3AV828 https://makecode.microbit.org/_PYMAkYboWawW

Dit is een prima bordje waarmee je motoren kunt aansturen. Verder heeft het eigenlijk geen extra’s. Het is jammer dat er geen 21-polige header is gemonteerd.

Kitronik: all-in-one Robotics Board V1.0

Op het eerste gezicht lijkt dit board erg op het Motor Driver Board van Kitronik, maar er zijn een paar belangrijke verschillen.

Het belangrijkste verschil is dat dit board ook 8 aansluitingen heeft voor servo’s. Dit brengt ons direct bij het tweede verschil: Het board werkt alleen met de speciale Robotics uitbreiding die je vanuit Makecode moet laden.

Je krijgt dan extra blokken waarmee je de servo’s en de vier motoren. Er is ook een blokje waarmee je kan instellen hoeveel stappen een stappenmotor moet maken voor een volledige omwenteling.

Kitronik: Klip Motor Driver for the BBC micro:bit

Dit is een alleraardigst bordje voor eenvoudige toepassingen. Op het board zit een batterijhouder voor drie AA-batterijen. Met krokodilsnoertjes kan je twee motoren aansluiten en de P0-, P1- en P2-pin zijn ook beschikbaar op het board.

De 4,5 Volt uit de drie AA-batterijen is ook beschikbaar via gaten voor krokodilsnoertjes.

Zonder uitbreiding kan je de motoren niet gebruiken:

ZIP leds

Op het board zit ook een uitgang voor ZIP Leds. Dit is hetzelfde als Neopixels, maar deze naam mag Kitroniks niet gebruiken. De blokken voor het besturen van de ZIP Leds zitten ook in de uitbreiding:

Ik mis de mogelijkheid om één led uit te zetten. Hieronder zie je hoe je de vijfde led van een strip uitzet:

DFRobot: Micro:bit Driver Expansion Board

Dit vind ik het meest uitgebreide board in de vergelijking. Het werkt echter alleen met de speciale uitbreiding die helaas niet standaard is opgenomen in Makecode, maar die je moet ophalen vanaf: https://github.com/DFRobot/pxt-motor. Je hebt dan wel de mogelijkheid om direct twee stappenmotoren te besturen:

Het bordje doet het goed, je kan vier gelijkstroommotoren (of twee stappenmotoren) aansluiten en maar liefst 8 servo’s.

Het is jammer dat de spanning op de pinnen niet kan worden omgeschakeld naar 5 Volt. Hierdoor ben je erg beperkt in het gebruik van externe sensoren.

Op het board is ook de I2C-bus uitgevoerd zodat je ook een minidisplay of een intelligente camera kan aansluiten.

ELECFREAKS (Velleman): Motor:bit

Dit is het enige board met een luidspreker aan boord.

Door een schakelaar om te zetten wordt een deel van de poorten gevoed met 5 Volt.

Er is een Makecode-uitbreiding beschikbaar, maar je kan de twee aangesloten motoren ook prima besturen zonder deze uitbreiding. Je moet dan wel rekening houden met de manier waarop de motoren moeten worden aangestuurd.

Ook het Elekfreaks board gebruikt twee pinnen voor iedere motor. Één van deze pinnen (P1) wordt gebruikt om de snelheid in te stellen en de andere pin (P8) om de draairichting aan te geven. De code om een motor heen en weer te laten draaien ziet er dan zo uit:

https://makecode.microbit.org/_Hmw2pw6fMhk6

DaguRobot: Magician:bit

Het board van DaguRobot kwam ik tegen toen ik op zoek was naar een betaalbare robotauto. Het bordje was gemonteerd op een schaamteloos gekopieerd onderstel dat is ontwikkeld door Makecode. Het bordje is echter een eigen ontwikkeling en doet wat het moet doen.

Uitbreidingen zijn niet nodig. Het is wel lastig dat de motoren moeten worden aangesloten via printheaders (pinnetjes). Geef mij maar een kroonsteen. Het is wel bijzonder dat er maar liefst 6 micro:bit zijn uitgevoerd als gat voor een krokodilklem en ook nog eens de 5 Volt los beschikbaar is gemaakt. Dit is ook één van de boards waarop de I2C aansluiting beschikbaar is.

Bij de levering van het board ontbraken overigens de jumpers waarmee de spanning van de externe poorten moet worden ingesteld. Met zo’n jumper stel je dan alle poorten in op 3,3 of op 5 Volt.

In de ‘documentatie’ is nergens aangegeven welke pinnen voor de motoren worden gebruikt. Gelukkig staat dit wel geprint op de achterkant van het board.

Keyestudio: Motor Drive Breakout Board

Wat mij aansprak in dit bord was dat er standaard een reeks pinnen werkt op 3,3 Volt en een andere reeks op 5 Volt. Het kostte echter nogal wat kruim voordat ik het aan de gang had. Documentatie was er nauwelijks te vinden. Uiteindelijk bracht een klein stukje voorbeeldcode op de site van Keyestudio duidelijkheid.

Per motor worden er maar liefst drie pinnen gebruikt om aan te geven wat er moet gebeuren. Op één pin geef je analoog aan wat de snelheid is en met de andere twee pinnen in welke richting de motor moet draaien. Hieronder de code om motor 1 (aangesloten op de pinnen P1, P12 en P13) heen en weer te laten draaien:

https://makecode.microbit.org/_FXCTjj9LVEdA

Via Pin 14 zet je alle motoren aan of uit. De pinnen voor de tweede motor zijn P2, P15 en P16.

Kittenbot: Robotics expansion board for micro:bit

Dit is een interessant bordje vanwege de houder voor een accu (los bestellen!), de vier RGB-leds en de luidspreker (dit laatste is minder belangrijk met de nieuwe micro:bit die zelf een luidspreker heeft).

Je kan 4 gewone motoren (of 2 stappenmotoren) en 8 servo’s aansluiten. Het bordje doet het goed en de documentatie op de website van Kittenbot is duidelijk. Op het bord zit ook een zogenaamde boost convertor die de 3V accuspanning opkrikt naar 5 Volt. Hierdoor doen de servo’s het ook goed als er geen 5 Volt voeding is aangesloten en staat er ook 5 Volt op de header.

Conclusie

Niet het goedkoopste, maart wel de meeste mogelijkheden

Alles op een rijtje:

Conclusie

Het ideale bord zit er niet tussen en leveranciers nemen over het algemeen weinig moeite om hun producten duidelijk te documenteren of doen hun uiterste best om deze documentatie te verstoppen.