Création ROV
- papy94
- Messages : 653
- Inscription : 23 janv. 2010 14:31
- Localisation : Champigny sur marne
- Contact :
Re: Création ROV
je suis impressionne par ton travail
au niveau du poids de l'ensemble,tu en es ou ?
au niveau du poids de l'ensemble,tu en es ou ?
Re: Création ROV
Même question pour le poids
Du beau boulot tout ça
Bravo
Du beau boulot tout ça
Bravo
Re: Création ROV
hoo l'engin
Haddock : Messieurs, Cet homme est innocent : Tintin nous l’a dit. Allez-vous lui laisser ces menottes… et l’empêcher d’aller me chercher une bouteille de cognac ?
Re: Création ROV
Bonjour, et merci beaucoup.
Pour le poids, je suis actuellement à 3,5Kg. Reste les moteurs environ 75gr chacun et les roulements qui vont avec, pour être large: 100gr par compartiment moteurs X 9 au total: +/- 1kg supplémentaire.
Il faut que je prenne en compte les caissons électronique, l'électronique lui même: caméra, arduinno, variateurs, ect..... 5 à 600gr je pence.
La batterie, je ne suis pas fixé sur le type de celle-ci, niveau poids ça peut être le jour et la nuit. Admettons 500gr.
Et Le flotteur, quoi que celui-ci ne devrais pas être très lourd (styrodur)
Donc normalement il devrait ce situer dans la fourchette des 8 /10Kg.
Pour le poids, je suis actuellement à 3,5Kg. Reste les moteurs environ 75gr chacun et les roulements qui vont avec, pour être large: 100gr par compartiment moteurs X 9 au total: +/- 1kg supplémentaire.
Il faut que je prenne en compte les caissons électronique, l'électronique lui même: caméra, arduinno, variateurs, ect..... 5 à 600gr je pence.
La batterie, je ne suis pas fixé sur le type de celle-ci, niveau poids ça peut être le jour et la nuit. Admettons 500gr.
Et Le flotteur, quoi que celui-ci ne devrais pas être très lourd (styrodur)
Donc normalement il devrait ce situer dans la fourchette des 8 /10Kg.
Re: Création ROV
Ok, 8 à10 kg ça fait déjà un joli bébé
Re: Création ROV
Salut.
Question batterie, si tu es limite en devis de poids,je te préconise les LIFE PO4 à 10A 3,3 V cylindriques.
Gain par rapport à du NICD 7A sous 6 V : 1,2kg vs 800gr. 5 éléments vs 2. Encombrement, ya pas photo.
Pas d'effet mémoire. Pas de décharge induite comme les NIMH.
Seul bémol, cela nécessite d'avoir un chargeur LIFE et cabler le pack pour l'équilibrage.
Sinon, j'ai hâte de voir ta réalisation évoluer dans son milieu.
Question batterie, si tu es limite en devis de poids,je te préconise les LIFE PO4 à 10A 3,3 V cylindriques.
Gain par rapport à du NICD 7A sous 6 V : 1,2kg vs 800gr. 5 éléments vs 2. Encombrement, ya pas photo.
Pas d'effet mémoire. Pas de décharge induite comme les NIMH.
Seul bémol, cela nécessite d'avoir un chargeur LIFE et cabler le pack pour l'équilibrage.
Sinon, j'ai hâte de voir ta réalisation évoluer dans son milieu.
Mes sous-marins en état de marche :
Un Surcouf, un Seaview, une Flying sub, un Minisub, un subracer.
Autres modèles : quadricoptère MiniDex amphibie full carbon, Quad Alien 680 pliable slowfly + Gopro
J-Pay quad 250 racer, Hexacoptère Typhoon H Yunnec.
Un Surcouf, un Seaview, une Flying sub, un Minisub, un subracer.
Autres modèles : quadricoptère MiniDex amphibie full carbon, Quad Alien 680 pliable slowfly + Gopro
J-Pay quad 250 racer, Hexacoptère Typhoon H Yunnec.
Re: Création ROV
C'est vrai que c'est beau,c'est du beau boulot .
moi,je vais me mettre à la couture ,bin oui !!!!! çà ENERVE.
Blague à part ,je souhaite vraiment que tu ne sois pas géné par le poids, çà serai dommage.
Bonne continuation.
A+
Michel.
moi,je vais me mettre à la couture ,bin oui !!!!! çà ENERVE.
Blague à part ,je souhaite vraiment que tu ne sois pas géné par le poids, çà serai dommage.
Bonne continuation.
A+
Michel.
Ma 1ére réalisation:
Albator,sous marin imaginaire en pvc.
Mon futur projet :
Css Hunley en zinc au 1/10, en construction.
Albator,sous marin imaginaire en pvc.
Mon futur projet :
Css Hunley en zinc au 1/10, en construction.
Re: Création ROV
Bonjour à tous,
J'ai quasiment reçu tout le matériel nécessaire pour finir le robot.
Et fini le programme, c'est long mais ça passe dans la "méga".
Ce serait tip top à utiliser mais il y a quelque chose que je ne comprend pas, sur le code du capteur, c'est que je ne vois pas la LED déclarée à la ligne 20 du code, l'entrée 13 est notée "//" donc pas pris en compte
En fait se que je souhaiterais serais de juste faire allumer une LED sur la console de pilotage lors de la présence d'eau dans un caisson étanche du ROV.
J'ai quasiment reçu tout le matériel nécessaire pour finir le robot.
Et fini le programme, c'est long mais ça passe dans la "méga".
Pour le capteur d'eau, je regardais celui de Geeks,// CONTROLE DU ROV
//.........................................................................................
#define motorPin1a 22 // broche 22 digital, moteur 1 marche AV (propulsion)
#define motorPin1b 23 // broche 23 digital, moteur 1 marche AR (propulsion)
#define motorPin2a 24 // broche 24 digital, moteur 2 marche AV (propulsion)
#define motorPin2b 25 // broche 25 digital, moteur 2 marche AR (propulsion)
#define motorPin3a 26 // broche 26 digital, moteur vertical marche AV (plongée)
#define motorPin3b 27 // broche 27 digital, moteur vertical marche AR (plongée)
#define motorPin4a 28 // broche 28 digital, moteur allongement bras gauche marche AV (manip)
#define motorPin4b 29 // broche 29 digital, moteur allongement bras gauche marche AR (manip)
#define motorPin5a 30 // broche 30 digital, moteur rotation bras gauche marche AV (manip)
#define motorPin5b 31 // broche 31 digital, moteur rotation bras gauche marche AR (manip)
#define motorPin6a 32 // broche 32 digital, moteur allongement bras droit marche AV (manip)
#define motorPin6b 33 // broche 33 digital, moteur allongement bras droit marche AR (manip)
#define motorPin7a 34 // broche 34 digital, moteur rotation bras droit marche AV (manip)
#define motorPin7b 35 // broche 35 digital, moteur rotation bras droit marche AR (manip)
#define ledPin36 36 // broche 36 digital, LED sortie capteur
#include <Servo.h>
Servo myservo1; // créer un objet servo 1 pour le contrôler; servo camera
Servo myservo2; // créer un objet servo 2 pour le contrôler; servo pince gauche
Servo myservo3; // créer un objet servo 3 pour le contrôler; servo pince droite
int sensorPin1 = A0; // borne analogique potentiomètre moteur 1 propulsion.......(digital 22/23)
int sensorPin2 = A1; // borne analogique potentiomètre moteur 2 propulsion.......(digital 24/25)
int sensorPin3 = A2; // borne analogique potentiomètre moteur plongée............(digital 26/27)
int sensorPin4 = A3; // borne analogique potentiomètre moteur allong bras gauche.(digital 28/29)
int sensorPin5 = A4; // borne analogique potentiomètre moteur rota bras gauche...(digital 30/31)
int sensorPin6 = A5; // borne analogique potentiomètre moteur allong bras droit..(digital 32/33)
int sensorPin7 = A6; // borne analogique potentiomètre moteur rota bras droit....(digital 33/34)
int potpin8 = A7; // borne analogique potentiomètre servo camera..............(PWM 9)
int potpin9 = A8; // borne analogique potentiomètre servo pince gauhe.........(PWM 10)
int potpin10 = A9; // borne analogique potentiomètre servo pince droite........(PWM 11)
int pinPot1 = A10; // borne analogique potentiomètre LED 1.....................(PWM 12)
int pinPot2 = A11; // borne analogique potentiomètre LED 2 & 3.................(PWM 13&8)
int capteurEau = 37; // borne digitale capteur voie d'eau
int pinLed1 = 12; // borne PWM LED 1
int pinLed2 = 13; // borne PWM LED 2
int pinLed3 = 8; // borne PWM LED 3
int potValue1 = 0; // variable du potentiomètre LED 1
int potValue2 = 0; // variable du potentiomètre LED 2&3
int sensorValue = 0; // variable des potentiomètres moteurs
int val1; // variable du potentiomètre servo caméra
int val2; // variable du potentiomètre servo pince gauche
int val3; // variable du potentiomètre servo pince droite
void setup() {
// declare les broches en sorties:
pinMode(motorPin1a , OUTPUT);// digital 22
pinMode(motorPin1b , OUTPUT);// digital 23
pinMode(motorPin2a , OUTPUT);// digital 24
pinMode(motorPin2b , OUTPUT);// digital 25
pinMode(motorPin3a , OUTPUT);// digital 26
pinMode(motorPin3b , OUTPUT);// digital 27
pinMode(motorPin4a , OUTPUT);// digital 28
pinMode(motorPin4b , OUTPUT);// digital 29
pinMode(motorPin5a , OUTPUT);// digital 30
pinMode(motorPin5b , OUTPUT);// digital 31
pinMode(motorPin6a , OUTPUT);// digital 32
pinMode(motorPin6b , OUTPUT);// digital 33
pinMode(motorPin7a , OUTPUT);// digital 34
pinMode(motorPin7b , OUTPUT);// digital 35
pinMode( pinLed1, OUTPUT); // PWM 12
pinMode( pinLed2, OUTPUT); // PWM 13
pinMode( pinLed3, OUTPUT); // PWM 8
analogWrite( pinLed1, 0 ); // Eteint la LED 1 (PWM 0%)
analogWrite( pinLed2, 0 ); // Eteint les LED 2&3 (PWM 0%)
myservo1.attach(9); // borne 9 PWM servo caméra
myservo2.attach(10); // borne 10 PWM servo pince gauche
myservo3.attach(11); // borne 11 PWM servo pince droite
Serial.begin(9600); // debug capteur eau
Serial.println("Lancement de la capture" ); // indique le lancement de la capture (capteur eau)
}
void loop () {
sensorValue = analogRead(sensorPin1); // moteur propulsion 1
if (sensorValue> 540){
//marhe avant
digitalWrite(motorPin1a , HIGH);
digitalWrite(motorPin1b , LOW);
digitalWrite(motorPin2a , LOW);
digitalWrite(motorPin2b , HIGH);
} else
if (sensorValue< 500) {
//marhe arriere
digitalWrite(motorPin1a , LOW);
digitalWrite(motorPin1b , HIGH);
digitalWrite(motorPin2a , HIGH);
digitalWrite(motorPin2b , LOW);
}
else {
//stop
digitalWrite(motorPin1a , LOW);
digitalWrite(motorPin1b , LOW);
digitalWrite(motorPin2a , LOW);
digitalWrite(motorPin2b , LOW);
}
sensorValue = analogRead(sensorPin2); //moteur propulsion 2
if (sensorValue> 520) {
//gauche
digitalWrite(motorPin1a ,LOW);
digitalWrite(motorPin1b , HIGH);
digitalWrite(motorPin2a , LOW);
digitalWrite(motorPin2b , HIGH);
} else
if (sensorValue< 500) {
//droite
digitalWrite(motorPin1a , HIGH);
digitalWrite(motorPin1b , LOW);
digitalWrite(motorPin2a , HIGH);
digitalWrite(motorPin2b , LOW);
}
sensorValue = analogRead (sensorPin3); // moteur vertical
if (sensorValue>535){
//marche AV
digitalWrite(motorPin3a , HIGH);
digitalWrite(motorPin3b , LOW);
} else
if (sensorValue<495) {
//marche AR
digitalWrite(motorPin3a , LOW);
digitalWrite(motorPin3b , HIGH);
}
else {
//stop
digitalWrite(motorPin3a , LOW);
digitalWrite(motorPin3b , LOW);
}
sensorValue = analogRead (sensorPin4); // moteur along bras gauche
if (sensorValue> 990) {
//marche AV
digitalWrite(motorPin4a , HIGH);
digitalWrite(motorPin4b , LOW);
} else
if (sensorValue< 977) {
//marhe AR
digitalWrite(motorPin4a , LOW);
digitalWrite(motorPin4b , HIGH);
}
else {
//stop
digitalWrite(motorPin4a , LOW);
digitalWrite(motorPin4b , LOW);
}
sensorValue = analogRead(sensorPin5); // moteur rota bras gauhe
if (sensorValue> 993) {
//marche AV
digitalWrite(motorPin5a , HIGH);
digitalWrite(motorPin5b , LOW);
} else
if (sensorValue< 980) {
//marche AR
digitalWrite(motorPin5a , LOW);
digitalWrite(motorPin5b , HIGH);
}
else {
//stop
digitalWrite(motorPin5a , LOW);
digitalWrite(motorPin5b , LOW);
}
sensorValue = analogRead(sensorPin6); // moteur allong bras droit
if (sensorValue> 996) {
//marhe AV
digitalWrite(motorPin6a , HIGH);
digitalWrite(motorPin6b , LOW);
} else
if (sensorValue<988) {
//marche AR
digitalWrite(motorPin6a , LOW);
digitalWrite(motorPin6b , HIGH);
}
else {
//stop
digitalWrite(motorPin6a , LOW);
digitalWrite(motorPin6b , LOW);
}
sensorValue = analogRead(sensorPin7); // moteur rota bras droit
if (sensorValue> 985) {
// marche AV
digitalWrite(motorPin7a , HIGH);
digitalWrite(motorPin7b , LOW);
}
else
if (sensorValue< 970) {
// marche AR
digitalWrite(motorPin7a , LOW);
digitalWrite(motorPin7b , HIGH);
}
else {
//stop
digitalWrite(motorPin7a , LOW);
digitalWrite(motorPin7b , LOW);
}
{ // 3 servos
// servo camera
val1 = analogRead(potpin8); // lire la valeur du potentiomètre 1
val1 = map(val1, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur
// servo pince gauche
val2 = analogRead(potpin9); // lire la valeur du potentiomètre 2
val2 = map(val2, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur
// servo pince droite
val3 = analogRead(potpin10); // lire la valeur du potentiomètre 3
val3 = map(val3, 0, 1023, 0, 179); // la discrétiser pour l'utiliser avec un servomoteur
myservo1.write(val1); // mettre le servomoteur 1 dans la bonne position
myservo2.write(val2); // mettre le servomoteur 2 dans la bonne position
myservo3.write(val3); // mettre le servomoteur 3 dans la bonne position
delay(5); // attendre que les servomoteurs aillent dans leur position
}
{ // LED 1
potValue1 = analogRead( pinPot1 );
// ramener la valeur de 0-1024 à 0-255 pour PWM
int ledPower = potValue1/4;
ledPower = constrain( ledPower, 0, 255 );
// Modifier la puissance de la LED 1
analogWrite( pinLed1, ledPower );
}
{ // LED 2&3
potValue2 = analogRead( pinPot2 );
// ramener la valeur de 0-1024 à 0-255 pour PWM
int ledPower = potValue2/4;
ledPower = constrain( ledPower, 0, 255 );
// Modifier la puissance de la LED 2&3
analogWrite( pinLed2, ledPower );
analogWrite( pinLed3, ledPower );
}
{
//capturer évenement (capteuru eau)
if (digitalRead(capteurEau) == LOW) {
//voie eau dedectée
digitalWrite(ledPin36 , HIGH);
delay(1000);
}
else {
//voie eau non detectée
digitalWrite(ledPin36 , LOW);
delay(1000);
}
}
}
Ce serait tip top à utiliser mais il y a quelque chose que je ne comprend pas, sur le code du capteur, c'est que je ne vois pas la LED déclarée à la ligne 20 du code, l'entrée 13 est notée "//" donc pas pris en compte
En fait se que je souhaiterais serais de juste faire allumer une LED sur la console de pilotage lors de la présence d'eau dans un caisson étanche du ROV.
Dernière modification par oniff le 01 mars 2013 18:55, modifié 1 fois.
- Geeks
- Messages : 3593
- Inscription : 03 juil. 2010 21:04
- Localisation : Brive la Gaillarde (Correze 19)
Re: Création ROV
Bonjour Oniff.
Et bien, jolie travail de programmation
Bon, alors oui, en effet j'ai commenter la ligne de la led 13 car je renvoie l'information sur le port série pour visualiser l'état sur l'écran du PC.
Alors, si je me rapelle bien, à la place de :
tu peux écrire:
Enfin, un truc dans ce style
Et bien, jolie travail de programmation
Bon, alors oui, en effet j'ai commenter la ligne de la led 13 car je renvoie l'information sur le port série pour visualiser l'état sur l'écran du PC.
Alors, si je me rapelle bien, à la place de :
Code : Tout sélectionner
/* LOOP */
void loop() {
//Capturer l'évèvement
if(digitalRead(capteurEau) == LOW) {
//On a une voie d'eau
Serial.println("Etat : presence eau");
delay(1000);
}
else {
//Nous n'avons aucun défaut
Serial.println("Etat : ok");
delay(1000);
}
//Boucler
}
Code : Tout sélectionner
/* LOOP */
void loop() {
//Capturer l'évèvement
if(digitalRead(capteurEau) == LOW) {
//On a une voie d'eau
digitalWrite(30 , HIGH);
delay(1000);
}
else {
//Nous n'avons aucun défaut
digitalWrite(30 , LOW);
delay(1000);
}
//Boucler
}
A défaut d'avoir la science infuse, j'infuse la science. - Racleur de fond depuis Pons 2014.
Sous-marin en état de repos sur cale : Minimog 01
Sous-marin en état de repos sur cale : Minimog 01
Re: Création ROV
Yes, merci Geeks, je viens de compléter avec l’intensité des LEDs réglable. Capteur voie d'eau je m'en occupe. .
Dernière modification par oniff le 01 mars 2013 18:55, modifié 1 fois.