Hoe druksensor en motor te programmeren met motorafscherming

Ik was bezig met het regelen van een krachtige motor met een motorcontroller voor zwaar werk, en ik kon mijn motor laten draaien, maar ik was niet in staat om een ​​programma voor mijn druksensor op te nemen en het de snelheid van de motor te laten bepalen. Ik ben er vrij zeker van dat ik de onderdelen correct op mijn printplaat heb aangesloten, dus ik denk dat mijn code een vergissing moet hebben of dat er iets ontbreekt. De druksensor die ik gebruik: De motorcontroller die ik gebruik: http://www.robotshop.com/en/arduino-compatible-mega-motor-shield-1a-5-28v.html#Useful De code die ik heb:

int motorValue=0;
int sensorValue=0;
int sensorPin=A0;
int EnablePin=8;
int PWMPin2=3; 

void setup() {
 //put your setup code here, to run once:
pinMode(EnablePin, OUTPUT);
//pinMode(sensorPin, OUTPUT);
Serial.begin(9600);
pinMode(PWMPin2, OUTPUT);
pinMode(sensorPin, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
sensorValue = analogRead(sensorPin);

//float voltage = sensorValue * (5.0/1023.0);

//Serial.println(voltage);

delay(50);

motorValue=map(sensorValue,0,1023,0,255);
//motorValue=sensorValue/4;
//analogWrite(motorPin,motorValue);
digitalWrite(EnablePin, HIGH);
analogWrite(PWMPin2, motorValue);
}

Edit: The sensor works by reading the voltage. Here's an actual picture of how I wired it: Here's how I wired it I used this wiring to print out the voltage with just the Arduino and it worked, and I'm using it with the same wiring but while having the motor shield on top, so that's why I'm guessing that I must not be programming the sensor right with the motor controller. I couldn't get the voltage readings when I used this setup with the motor driver shield.

0
Naast het toevoegen van een schema en een foto, zou je kunnen uitleggen hoe of waarom de motorsnelheid te maken heeft met "druk" in je opstelling. Gewoonlijk wordt snelheid gemeten met behulp van een encoder, of een toerenteller, of een Hall-sensor, of spanningsmetingen enz. In plaats van "druk"
toegevoegd de auteur Martin C. Martin, de bron
Wat dacht je van het laten kloppen van de logging code, zodat je kunt zien wat het leest met de motor shield geïnstalleerd en bevolen. Zorg er ook voor dat het motorscherm iets niet op A0 aansluit, hetzij als een besturingssignaal of als potentiële feedback (bijvoorbeeld motorstroomgevoeligheid).
toegevoegd de auteur rossp, de bron
"Ik ben er vrij zeker van dat ik de onderdelen correct heb aangesloten" - U bent misschien vrij zeker, maar we weten het helemaal niet zeker. Kunnen we misschien zien wat je hebt aangesloten en hoe het allemaal is verbonden?
toegevoegd de auteur Majenko, de bron
Dit maakt geen verschil, maar de grond en 5V van de Arduino gaan niet naar de juiste plek op het breadboard. Verander dat om de dingen standaard te houden, alsof er gepolariseerde delen zijn daar zouden ze dood zijn. Waar gaat de rode lijn ook vanaf de zijkant van de flexpot?
toegevoegd de auteur RSM, de bron
Ik heb de polariteit van de grond en de 5V veranderd, maar het leek geen verschil te maken, zoals je zei. Ik had de rode draad op de foto negatief, maar nu gaat het positief. Het vreemde wat ik zag; Ik kreeg piepkleine spanningsmetingen toen ik op de sensor drukte, maar veel lager dan ze hadden moeten zijn, zoals 0.01-0.05, toen het meer als 1 tot 5 had moeten zijn, gezien hoe hard ik aan het duwen was. Dus er moet wat spanning doorkomen, maar op de een of andere manier niet genoeg.
toegevoegd de auteur Min, de bron

1 antwoord

Afhankelijk van de instellingen van de jumper, stuurt het MegaMoto-schild de huidige detectiespanningen naar een of twee van de Arduino-analoge ingangen.

Je foto toont de shunt die is geïnstalleerd om A0 te besturen, wat uiteraard in strijd zal zijn met je poging om dezelfde pen te gebruiken voor de krachtsensor.

Als je geen gebruik maakt van de huidige feedback, lijkt het alsof je die jumper gewoon kunt verwijderen, anders moet je verschillende pinnen kiezen voor de huidige richting en je krachtsensor. Raadpleeg de handleiding om zeker te zijn.

(De andere plaatsing van de andere jumper in dat blok ziet er ook een beetje verdacht uit, lijkt bijna dat het de twee huidige zintuigkanalen samen kan kortsluiten, maar is daar niet zeker van)

0
toegevoegd