Der
Motortreiber auf der Callipe-Platine kennt zwei Modi, die hier mit
den Tasten getestet werden. Knopf A verwendet den Ein-Motor-Modus. Der
Motor kann vorwärts (hier +80%) und rückwärts (-80%) laufen. Er
muss dann zwischen den Pins Motor A und Motor B angeschlossen werden. Nach einem
Tipp von Jörn Alraun vom Calliope-Team habe ich die Drähtchen mit
Zahnstochern eingeklemmt.
Taste
B startet den Test für zwei Motoren, die jeweils gegen GND
angeschlossen werden. Jeder Motor für sich kann zwischen 0% und 100%
angesteuert werden. Aber Achtung, 100% entspricht hier nur der halben
Ansteuerung. Wenn man beide Motoren auf 100% einstellt, teilen sie
sich die aktive Zeit.
Hier der Quelltext zum Kopieren:
input.onButtonPressed(Button.A, () => {
basic.setLedColor(Colors.Red)
motors.motorPower(80)
basic.pause(1000)
motors.motorCommand(MotorCommand.Coast)
basic.pause(1000)
motors.motorPower(-80)
basic.pause(1000)
motors.motorCommand(MotorCommand.Coast)
basic.pause(1000)
})
input.onButtonPressed(Button.B, () => {
basic.setLedColor(Colors.Green)
motors.dualMotorPower(Motor.A, 100)
motors.dualMotorPower(Motor.B, 0)
basic.pause(1000)
motors.dualMotorPower(Motor.B, 100)
motors.dualMotorPower(Motor.A, 0)
basic.pause(1000)
})
Eigentlich
soll eine externe Spannungsquelle an VM angeschlossen werden. Aber das
Schaltbild zeige eine Diode von Vcc nach VM, sodass man hilfsweise mit
3,3 V arbeiten kann. Allerdings läuft die Versorgung dann über den
internen Spannungsregler im Prozessor, sodass man nicht sehr große
Ströme ziehen sollte, sondern maximal etwa 50 mA. Der verwendete Motor
ist sehr sparsam und hat einen Leerlaufstrom von nur 15 mA, sodass man
diese Versorgung verantworten kann.
Parallel
zum Motor liegt der Piezo-Lautsprecher. Ich habe mich erst gewundert, warum
ich nichts höre, da müsste doch die Motor-PWM hörbar werden. Ein Blick
aufs Oszilloskop zeigt es. Die PWM-Frequenz ist mit etwa 40 kHz unhörbar hoch.
Der
Motortreiber DRV8837 von Texas Instruments kann übrigens bis 1,8 A
treiben und verfügt über eine interne Strombegrenzung. Damit ist er
praktisch unkaputtbar.
Der Roboter von Rainer R.
Elektronik-Labor Projekte Microbit