Як програмувати датчик тиску і двигун за допомогою моторного щита

Я працював над керуванням двигуном високої потужності з важким регулятором двигуна, і я зміг запустити мотор, але я не зміг включити програму для свого датчика тиску і визначити швидкість двигуна. Я впевнений, що правильно підключив деталі на моїй платі, так що я думаю, що мій код повинен мати якусь помилку, або щось зникне. Датчик тиску, який я використовую: Регулятор двигуна, я використовую: http://www.robotshop.com/ru/arduino-compatible-mega-motor-shield-1a-5-28v.html#Useful Код у мене є:

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
Окрім додавання схеми та фотографії, ви можете пояснити, як або чому швидкість двигуна пов'язана з "тиском" у вашій установці. Як правило, швидкість сприймається за допомогою датчика або тахометра або датчика Холу, або показників напруги тощо, а не "тиску"
додано Автор Martin C. Martin, джерело
Як щодо коментування коду журналу, щоб ви могли побачити, що він читає, з встановленим монтажним щитом та командуванням. Також переконайтесь, що щит мотора не проводить щось до А0, як сигнал керування, або як потенційний зворотний зв'язок (наприклад, сенс струму).
додано Автор rossp, джерело
"Я впевнений, що правильно підключив компоненти" - Ви можете бути впевнені, але ми не впевнені. Можливо, ми можемо бачити те, що ви підключили і як це все пов'язано?
додано Автор Majenko, джерело
Це не буде мати змін, але земля та 5В від Arduino не йдуть на правильне місце на макеті. Змініть це, щоб тримати речі стандартними, як ніби були поляризовані частини, там вони були б мертві. Також де червона лінія йде з боку гнучкого горщика?
додано Автор RSM, джерело
Я змінив полярність землі і 5В, але, як ви говорили, це не мало нічого спільного. Я мав червоний дріт на знімку негативний, але зараз це буде позитивним. Дивна річ, яку я помітив; Я отримав крихітні показники напруги, коли я натиснув датчик, але набагато менше, ніж вони повинні були, як, наприклад, 0,01-0,05, коли він повинен був бути більше від 1 до 5, з огляду на те, наскільки сильно я штовхав. Так що деякі напруги повинні пройти, але якось не вистачає.
додано Автор Min, джерело

1 Відповіді

Залежно від налаштувань перемички, щит MegaMoto буде керувати поточними напругами вимірювання на одному або двох аналогових входах Arduino.

На вашій фотографії показано шнур, встановлений для керування A0, що, звичайно, буде суперечити вашій спробі використати той самий штифт для датчика сили.

Якщо ви не використовуєте поточні відгуки, вам здається, що ви можете просто видалити цей перемичок, інакше вам потрібно буде вибрати окремі штифти для поточного сенсу та датчик сили. Прочитайте інструкцію, щоб бути певною.

(Інше розташування іншого перемичка в цьому блоці теж виглядає трохи підозріло, майже здається, що це може скоротити два поточні канали почуттів разом, але не впевнені про це)

0
додано