Stap 4: Sabertooth Motor Driver uitgelegd
De Sabertooth 2X25amp is een veelzijdig, efficiënt en makkelijk te gebruiken dual motor coureur. Het is geschikt voor hoge aangedreven robots - maximaal 100 pond in een gevecht of 300 lbs voor algemene doeleinden robotics.
De Sabertooth ontvangt macht via de B-schroefaansluitingen andere componenten via de 5V schroef terminalkan aandrijven. Ik experimenteren met het voeden van de Arduino vanaf deze terminal, maar iets over de kracht was niet 'schoon genoeg'... elke keer als ik gehamerd het gaspedaal op maximale snelheid, de 1Sheeld de verbinding zou dalen. In plaats van veel tijd brengen van dit probleem, gebruikte ik een aparte voedingsbron voor de Arduino.
Aways zorgen de 0V schroef terminal is aangesloten op uw grond Arduino, anders de Sabertooth zal niet ontvangen besturingsseinen je Arduino.
U kunt de Sabertooth via verschillende modi. Dit project maakt gebruik van 3 vereenvoudigd seriële modus... Kortom, u stuurt één byte van de gegevens die een nummer van een digital pin op de Arduino aan de S1 kanaal op uw Sabertooth vertegenwoordigt. In dat één byte heb je een bereik van getallen tussen 0 (laagste) en 255 (hoogste)... elk getal een unieke motor, richting en instelling van de netwerkoverdrachtssnelheid alles in één. De Sabertooth interpreteert dat nummer en past de snelheid/richting macht voor beide motoren van de (set) aangesloten op de M1 en M2 schroefaansluiting.
Hier is een klein codefragment ter illustratie van de drijvende één motor voorwaartse 50% en een motor achteruit 75%... 2 x 4 middel 2/4, 1/2, 50%, en 3 x 4 middel 3/4, 75%...
Genummerde waarden 1 t/m 127 bepaalt linker motor, 128 t/m 255 besturingselementen juiste motor
#define FORWARD_4x4_R_MOTOR 255
#define FORWARD_3x4_R_MOTOR 240
#define FORWARD_2x4_R_MOTOR 224
#define FORWARD_1x4_R_MOTOR 208
#define STOPNOW_0x4_R_MOTOR 192
#define REVERSE_1x4_R_MOTOR 176
#define REVERSE_2x4_R_MOTOR 160
#define REVERSE_3x4_R_MOTOR 144
#define REVERSE_4x4_R_MOTOR 128
#define FORWARD_4x4_L_MOTOR 127
#define FORWARD_3x4_L_MOTOR 112
#define FORWARD_2x4_L_MOTOR 96
#define FORWARD_1x4_L_MOTOR 80
#define STOPNOW_0x4_L_MOTOR 64
#define REVERSE_3x4_L_MOTOR 48
#define REVERSE_2x4_L_MOTOR 32
#define REVERSE_1x4_L_MOTOR 16
#define REVERSE_4x4_L_MOTOR 1
...
SaberSerial.write (FORWARD_2x4_R_MOTOR); 2/4 is 50%
SaberSerial.write (REVERSE_3x4_L_MOTOR); 3/4 is 75%
Lees de meegeleverde PDF-documentatie voor meer details, en verwijzen naar de verstrekte code later.