Lego NXT Motoren mit Arduino-Shield

Das gezeigte Motor Shield ist meinen Meinung etwas unterdimensioniert. Bei einem max Strom von 1A (laut http://material.htlwien10.at/projekte/1112_5AHMEA_Leguino/mo_nxtmotor.html) ist ein L293D / SN75441 mit max 0,6mA unterdimensioniert. Da würd ich schon einen L298 nehmen wie zB auf einem aktuellen Arduino Motorshield http://arduino.cc/en/Main/ArduinoMotorShieldR3
Um nicht Platinen Ätzen zu müssen kannst Du 2 ArduinoMotorShield's R3 auch nicht auf den Arduino stecken sondern mit Kabel zwischen Arduino und den beiden Shields neu verbinden. So kannst Du mehr als 1 Shield verwenden.

The shield's pins, divided by channel are shown in the table below:

Function pins per Ch. A pins per Ch. B
Direction D12 D13
PWM D3 D11
Brake D9 D8
Current Sensing A0 A1

Ich schlage Dir die Verwendung des Arduino MEGA vor da dieser mehr Pins allgemein und mehr Interruptpins hat. Die Encoder (QuadraturDecoder) lassen sich einfach mit Interrupteingänge auslesen.

Laut NXT® motor internals macht der Encoder 180 Impulse pro Drehung der äußeren Achse. Wenn man alle Flanken der 2 Signale berücksichtigt kann man auf 720 Impilse pro Drehung kommen. Bei Leerlauf un 9V Versorgungsspannung ist die Drehzahl ca 160 U/min. Das sind bei 180 Impulsen pro Umdrehung 28800 impulse pro minute oder 480 Impulse pro Sekunde bzw Hz. Dies Impulszahl kann Arduino bei kurzen Interruptroutinen ohne Problem, auch von mehreren Enkodern gleichzeitig, bewältigen.

Güße Uwe