04-12-2015, 01:44
(02-12-2015, 19:14)JasQ napisał(a): witam.
Kod programu , jaki silnik DC , zdjęcie w miarę możliwości , jaki zasilacz . Nie wiem czy zdajesz sobie sprawę że serwo które podałeś potrafi bez obciążenia przy szybkich ruchach pobrać do 2A a przy pełnym obciążeniu ponad 6A w impulsie . Vin to jest zasilanie układu a nie wyjście silnika tam podłączasz zasilanie dla silników a silniki pod wyjście A i B
Ad 1 : Kod programu
#include <Servo.h>
#include <Wire.h>
#include <SoftwareSerial.h>
int bluetoothTx = 1; // TX-O pin of bluetooth mate, Arduino D2
int bluetoothRx = 0; // RX-I pin of bluetooth mate, Arduino D3
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
int servoPin = 10;
Servo servo;
int angle = 0;
//char val;
int led = 9;
const int
PWM_A = 3,
PWM_B = 11,
DIR_A = 12,
DIR_B = 13,
BRAKE_A = 9,
BRAKE_B = 8,
SNS_A = A0;
void setup()
{
pinMode(BRAKE_A,OUTPUT);
pinMode(DIR_A,OUTPUT);
pinMode(BRAKE_B,OUTPUT);
pinMode(DIR_B,OUTPUT);
// bt configuration file
bluetooth.begin(19200);
pinMode(led,OUTPUT);
}
void loop()
{
char val;
servo.write(70);
if( bluetooth.available() )
{
char val = (char)bluetooth.read();
Serial.println(val);
if ( val == 'L' )
{
left();
}
else
if ( val == 'R' )
{
right();
}
else
if ( val == 'F' )
{
forward();
}
else
if ( val == 'B' )
{
backward();
}
}
}
void left()
{
for(angle = 70; angle <= 180; angle++)
{
servo.write(angle);
delay(30);
if (angle<180) servo.write(70);
}
}
void right()
{
for(angle = 180; angle > 70; angle--)
{
servo.write(angle);
delay(30);
if (angle>180 ) servo.write(70);
}
}
void forward()
{
analogWrite(BRAKE_A, LOW);
analogWrite(DIR_A, HIGH);
analogWrite(PWM_A, 255);
delay(5000);
}
void backward()
{
Serial.println("Backward");
analogWrite(BRAKE_A, LOW);
analogWrite(DIR_A, LOW);
analogWrite(PWM_A,250);
delay(5000);
analogWrite(PWM_A, 0);
}
Ad 2
Na temat silnika dc że pochodzi z auta zdalnie sterowanego wielkości 1/10 . Jest to silnik bezszczotkowy który posiada jedynie oznaczenia typu H-34039B088 22000RPM
Znalazłem go na stronie conrad.com skąd pochodzi model który chciałem wykorzystać z arduino.
http://www.conrad.com/ce/en/product/2362...otor-EL007
Silnik dc jest podłączony do gniazda DC przeznaczonego do obsługi tego typu silników na płytce moto shield.
Ad3
W kwestii zasilania to jest to bateria typu lipo o napięciu 7.4 v o pojemności 4200 mah typowa dla aut elektrycznych zdalnie sterowanych
Ad4.
A co do serwo to przyznam że nie zdawałem sobie sprawy że przy obciążaniu pobiera więcej niż 6 A . Zajrzałem do specyfikacji silnika dc i sporo mi to wyjaśniło że silnik dc jest jeszcze bardziej żarłoczny na ampery niż serwo.
Dlatego w tej kwestii miał bym pytanie jaki serwo i silnik dc współgrało by z arduino i moto shieldem bez najmniejszych problemów ??
Ad 5
W kwestii vin to miałem namyśli wejście nie te które mieści się w okolicach gniazd do których podłącza się dwa silniki dc ale chodziło mi o VIN który umiejscowiony jest pomiędzy gniazdem GND ( w sekcji Power ) a A0 ( w sekcji Analog ) Wybacz ale trochę żle się wyraziłem wcześniej.