Werbung
Die Jumper sind auf der Rückseite vom Shield
To avoid possible damage to the Arduino board on which the shield is mounted, we reccomend using an external power supply that provides a voltage between 7 and 12V. If your motor require more than 9V we recommend that you separate the power lines of the shield and the Arduino board on which the shield is mounted. This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield. The absolute limit for the Vin at the screw terminals is 18V.
Function pins per Ch. A pins per Ch. B
Direction D12 D13
PWM D3 D11
Brake D9 D8
Current Sensing A0 A1
If you don't need the Brake and the Current Sensing and you also need more pins for your application you can disable this features by cutting the respective jumpers on the back side of the shield.
https://www.arduino.cc/en/Main/ArduinoMotorShieldR3
Ah, cutting Vin Connect.
Hab immer nach Pins zum Jumper setzen gesucht.
Gut, wird heute Abend probiert.
Danke
Also Jumper trennen bringt nichts.
Zitat Peter(TOO)
"über den PWM Eingang kann man den Strom begrenzen" - wie geht das?
Noch was:
Wenn ich am UNO die Lichtschranke anschliesse bekomme ich die richtigen Signale, also von 180 - 1023 im Serial Monitor.
Wenn ich das selbe mit aufgestecktem Motor Shield mache bekomme ich 34 - 36.
Was stimmt da jetzt nicht?
Der Code, falls interessant:
int sensorPin = A0;
int sensorValue = 0;
int ledPin = 13;
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
if (sensorValue > 512) {
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
delay(100);
}
Danke,
Andy
int sensorPin = A0;https://www.arduino.cc/en/uploads/Ma...-schematic.pdfCurrent Sensing A0 A1
Man beachte R1 mit 0R15 zwichen SNSA und GND.
Also anderen Analogeingang als A0 oder A1 nehmen oder SNS0-ENABLE auftrennen, sonst wirken die 0,15Ohm nochmal als unterer Zweig eines Spannungsteilers dessen oberer Teil die Lichtschranke ist, die selbst wohl auch schon ein Spannungsteiler ist.
Also eine Parallelschaltung von Wiederständen im unteren Zweig. und dazu noch mit einem ziemlich kleinen Wiederstand.
Daß da alles in Richtung deutlich keinerer Spannungen verschoben ist, wundert da nicht wirklich.
Die Info hatte ich Dir aber zwei Posts weiter oben geliefert.
Prüf mal ab ob Du einen (oder mehrere) dieser 8 Pins für was anderes als zu Ansteuerung des Shields nutzt. Wenn ja kann es nicht funktionierenFunction pins per Ch. A pins per Ch. B
Direction D12 D13
PWM D3 D11
Brake D9 D8
Current Sensing A0 A1
If you don't need the Brake and the Current Sensing and you also need more pins for your application you can disable this features by cutting the respective jumpers on the back side of the shield.
https://www.arduino.cc/en/Main/ArduinoMotorShieldR3
Geändert von i_make_it (29.06.2016 um 18:43 Uhr)
Das Shield ist direkt auf den UNO draufgesteckt.
Aber ok, ich besorg mir nen anderen treiber, dann sind die Pins frei, und das Wärmeproblem müsste auch gelöst sein.
Danke
Andy
Geändert von Shag (29.06.2016 um 17:31 Uhr)
Mann könnte auch:
ändern in:int sensorPin = A0;
int sensorPin = A2;
oder bis
int sensorPin = A6;
dürfte kostengünstiger sein als neue Hardware zu kaufen.
Das Motorshield hat als Einflußmöglichkeit:
PWM
Brake
und
Current Sensing
als feedback, damit ist es möglich einen Regelkreis zu programmieren, bei dem der Strom bei kleinen Drehzahlen reduziert wird.
OK, nicht einfach aber es geht.
Was soll ein anderer Treiber an dem Problem ändern.
Du nimmst einen größeren Treiber?
Gut daß ändert nichts am Wiederstand der Motorwicklung.
Dann wird halt nicht der Treiber heiß, sondern der Motor brennt durch.
Weißt Du denn was der Treiber können muß, damit das Problem der Erwärmung bei kleinen Drehzahlen nicht auftritt?
Lesezeichen