User Tools

Site Tools


eolab:projects:microbit_robot:start

Micro:Bit Robot

We are using makecode to program the microbits.

Workarounds on Ubuntu

Unfortunately setting up the WebUSB mechanism needed to program the mircobits via USB from Chrome, Chromium or Edge on Linux is causing some trouble.

Download the .sh (bash script) file below to your Downloads folder by clicking on the blue title.

prep_microbit_on_ubuntu.sh
set -x
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
 
apt update
apt install ./google-chrome-stable_current_amd64.deb -y
apt install google-chrome-stable -y
 
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666"' > /etc/udev/rules.d/99-microbit.rules 
 
udevadm control --reload-rules
udevadm trigger

Then follow the steps given here:

cd ~/Downloads
chmod 755 prep_microbit_on_ubuntu.sh
sudo ./prep_microbit_on_ubuntu.sh

Goal

Building our own micro:bit robot kit.
Requirements:

  • powered by a mini 5V USB powerbank (e.g. 2000 - 3000 mAh),
  • The Micro:Bit power input is 3.3V regulated, via the 3V skrew connector (conductive holes),
  • driving two SG90 micro servo motors (360°) with wheels (not the yellow DC motors), powered by 5V
  • level shifter for the servo control signal from Micro:Bit 3.3V to 5V for the servos
  • driving at least one additional servo motor (360° or 180°) for further action,

The Micro:Bit Board - Info from Keystudio

Micro:Bit V2 Schematics

Main LDO and Regulator Circuit: NCP114

NCP114

  • out: Vout = 3.3V fixed,
  • in: Vin = 5.5V max,
  • current: Imax = 300mA
  • datasheet: NCP114BMX330TCG

Micro:Bit Regulator Circuit

NOTES:
Read the annotations on the regulator schematic! The board can have FOUR power input sources.

  1. 5V USB via USB connector
  2. 3V - 4.5V via battery connector (skrew terminals)
  3. “lozenge” (Pastille, Raute) shaped power pad, connected to Vout of NCP114
  4. 3V - 5V typ. from edge connector

Findings

:!: It is weird that the power input from the edge connector is directly connected to the voltage output pin of the LDO! Do I (rb) understand this correctly?

Compass and Accelerometer: LSM303AGR

Expansion Boards / Parts

BBC micro:bit GPIO Expansion Board/Adapter

www.electroschematics.com_wp-content_uploads_2022_11_5-bbc-mb-exp_tk-2.jpg www.electroschematics.com_wp-content_uploads_2022_11_6-bbc-mb-exp_tk-3.jpg

Keystudio KS4030

Monk Makes Micro:Bit Servo Controller Board

Kitronik Simple Servo Control Board

Kitronik Compact 16 Servo Driver Board (PCA9685 I2C PWM driver IC)

Original source: https://kitronik.co.uk/products/5694-compact-16-servo-driver-board-for-the-bbc-micro-bit

Datasheet:
5694-kitronik-compact-16-servo-driver-board-for-microbit-datasheet.pdf

Datasheet of PCA9865 at NXP:
PCA9685.pdf

Adafruit tutorial on PCA9865:
https://learn.adafruit.com/16-channel-pwm-servo-driver/overview

Features:

  • Operating Voltage (Vcc): 3V to 12V
  • Number of Servo channels: 16
  • Servo Voltage: Same as input Voltage
  • Max continuous current (all servos): 10A

kitronik.co.uk_cdn_shop_products_5694_additional-2-compact-16-servo-driver-board-microbit_800x.jpg

SG90 Micro Servo Motor 9G

Technical Infos / Video Tutorials

Servo Motors

Servos - Funktionsweise und Eigenbauten
Servos - working principle and homemade types
Using Servo Motors with Arduino

Other Topics

Funktionsweise von Kippstufen
Flip-flop / multivibrator
Pulsweitenmodulation (PWM)
Pulse-width modulation (PWM)
eolab/projects/microbit_robot/start.txt · Last modified: 2024/08/23 18:06 by rolf.becker