Pages: [1] 2   Go Down
Author Topic: BrushLess Vs Servo  (Read 2063 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

j'ai une carte contrôleur pour moteur brushless (petit moteur), elle fonctionne niquel!
J'ai un soucis, lorsque je veux utiliser les moteurs brushless et le servo en même temps et bien le servo fonctionne mais pas les moteurs brushless :'(.
Avez vous une idée?
Pour info j'ai une alim 9V. (via des piles)

Voici mon code:

Code:
#include <Ultrasonic.h>
#include <Servo.h>

// motor A
int dir1PinA = 13;
int dir2PinA = 12;
int speedPinA = 10;

// motor B
int dir1PinB = 11;
int dir2PinB = 8;
int speedPinB = 9;


//ultrasonic
int pingPin = 2;
int inPin = 3;

//servo
Servo myservo;  // create servo object to control a servo


void setup() {

  //ultrasonic
   pinMode(pingPin, OUTPUT);
   pinMode(inPin, INPUT);
  
  
   //motor
  pinMode(dir1PinA, OUTPUT);
  pinMode(dir2PinA, OUTPUT);
  pinMode(speedPinA, OUTPUT);
  pinMode(dir1PinB, OUTPUT);
  pinMode(dir2PinB, OUTPUT);
  pinMode(speedPinB, OUTPUT);
  
  myservo.attach(5);
  
}

long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}




void loop() {

  
// Ping ultrason
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(pingPin, LOW);
 // Mesure ultrason
  int duration = pulseIn(inPin, HIGH);
  int cm = microsecondsToCentimeters(duration);

if (cm<30) {
analogWrite(speedPinA, 0);
 analogWrite(speedPinB, 0);
 digitalWrite(dir1PinA, HIGH);
 digitalWrite(dir2PinA, LOW);
 digitalWrite(dir1PinB, LOW);
 digitalWrite(dir2PinB, HIGH);
  myservo.write(0);
  delay(3000);
     myservo.write(180);
     delay(3000);
} else {
 analogWrite(speedPinA, 255);
 analogWrite(speedPinB, 255);
 digitalWrite(dir1PinA, HIGH);
 digitalWrite(dir2PinA, LOW);
 digitalWrite(dir1PinB, LOW);
 digitalWrite(dir2PinB, HIGH);
 myservo.write(90);
}

delay(500);

}


merci
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Petite info en plus, ce sont des moteurs DC classiques, et j'ai remarqué que quand je met en commentaire servo.attach(num); bah les moteurs tournent, sauf evidemment le servo. Il semble qu'il y ait un probleme dans .attach() qui fait que mes moteurs ne tournent pas! :o
Logged

Geneva
Online Online
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Euh...attends voir, dans ton premier message tu parles de moteur brushless et dans le second tu dis que ces sont des moteur DC classique... :-?

c'est pas la même chose !!

Comme d'habitude.... donne nous les réfs, lien et photos de ta carte de contrôle , de tes moteurs et tes servos !
« Last Edit: October 06, 2010, 07:34:26 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Central Europe
Offline Offline
Edison Member
*
Karma: 7
Posts: 1220
Use the Source, Luke.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quelle durée d'impulsion est nécessaire pour ton servo? Essaye avec des valeurs entre 1000 et 2000 pour la fonction myservo.write a la place de 0 et 180. Les premières sont des µs, les dernières des degrés.

Korman
Logged

Geneva
Online Online
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Le problème ne vient apparemment pas des servos (puisqu'ils fonctionnent lorsque le code est correct), mais des moteurs qui ne sont pas des brushless.

Pour actionner des moteur brushless de la même manière que les servo il faut entre le moteur, la plaque et l'alimentation un controleur brushless...
« Last Edit: October 06, 2010, 07:49:38 am by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Concernant les moteurs se sont des moteurs DC classiques, pas brushless, j'ai fait une erreur!
ma carte:


mes moteurs sur plateforme:
http://www.littlebirdelectronics.com/products/4WD-Mobile-Platform-%28Arduino-Controller%29.html

Servo:
sanwa SRM-101

Pour info le shield n'a pas les connectiques supplémentaires que l'on peut voir sur la photo (connectiques servo).

merci
« Last Edit: October 06, 2010, 08:13:00 am by magieweb » Logged

Central Europe
Offline Offline
Edison Member
*
Karma: 7
Posts: 1220
Use the Source, Luke.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Une question stupide, mais as-tu vérifié si la broche 5 est utilisée par la caret de moteurs. Si oui, ça risque de poser des problèmes.

Korman
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oui, les branches 8 9 10 11....12 sont utilisées mais pas la 5 ;-)
Logged

Geneva
Online Online
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Photos ou schéma de ton montage...

Lien vers le datasheet du motor drive shield....
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

les seuls infos que j'ai sur le motor shield:
http://translate.google.fr/translate?hl=fr&sl=zh-CN&tl=fr&u=http%3A%2F%2Fblog.flamingoeda.com%2F2009%2F04%2F19%2Farduino-l298n-%25e7%2594%25b5%25e6%259c%25ba%25e9%25a9%25b1%25e5%258a%25a8%25e6%2589%25a9%25e5%25b1%2595%25e6%259d%25bf%2F

Je refais des essais ce midi et si ça ne fonctionne toujours pas, je vous ferai un schéma de montage
Logged

Geneva
Online Online
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Arfff... c'est chinois  ;D
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi magieweb, ci joint le schéma de ton contrôleur, ça t'aidera peut être ...

Aussi vérifier que le strap VL est en position V5V
moreover,there is a VL jumper wire on this shield, it is used for choosing logic level for L298N, we will choose V5V usually, that's to say get logic coltage from Arduino.



Tout comme tu as testé le servo seul, tu devrais tester le motor shield seul pour valider les branchements.


A+ Teiva
---------------------------------------------------
www.MicroDuino.fr : Votre source Arduino en France
Logged


www.Zartronic.fr : Arduino & Robotique

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci, j'ai essayé toutes les combinaisons concernant les straps! (chez moi ce sont des petits switch).
J'ai vraiment l'impression que le probleme viens du fait que le shield n'aime pas la librairie Servo.h :'(
Any idea?

Logged

Central Europe
Offline Offline
Edison Member
*
Karma: 7
Posts: 1220
Use the Source, Luke.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La librairie Servo n'utilise pas beaucoup de ressources: Timer1 sur l'Arduino duemilanove et Uno et les broches que tu définis avec myservo.attach. Sinon elle ne touche à rien.

Korman
« Last Edit: October 07, 2010, 07:34:46 am by Korman » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 :o pfff je désespère franchement!  :'(
Logged

Pages: [1] 2   Go Up
Jump to: