@Oracid, ready to come out of retirement!?
- Robot Maker
- → Affichage d'un profil : Aime: Oracid
Statistiques de la communauté
- Groupe Modérateur
- Messages 6 768
- Visites sur le profil 31 155
- Titre Pilier du forum
- Âge Âge inconnu
- Date de naissance Anniversaire inconnu
-
Gender
Homme
#120430 Au bistrot du coin ...
Posté par Oracid - 12 mars 2024 - 08:03
#120380 55cm, char grimpeur
Posté par Oracid - 01 mars 2024 - 02:55
Please, always give the references.
- Sorry the part A in image 2 are 42610 not 56902.
- No, the belt 2815 goes only with the wheel 4185.
- yes, in image 2, between the 2 wheels 4185, there is 2 bushes 3713.
Here is the trolley with his arm. If you don't find the references of parts on Bricklink, please ask.
Please click on me.
- Mike118 aime ceci
#120362 Au bistrot du coin ...
Posté par Oracid - 25 février 2024 - 08:10
La société UBTECH a sorti une série grand public de robots modulaires, UGOT. Ces robots sont très performants et programmables en Scratch.
Il n'est pas impossible qu'à l'avenir cela remette en cause notre activité.
Home Page-UBTECH (ubtrobot.com)
UGOT Robotic Kit: Future Crafted Now - Launching Soon on Kickstarter! (ubtrobot.com)
#120325 Hello les roboticiens!
Posté par Oracid - 18 février 2024 - 06:29
Impressionnant !
Si tu le souhaites, n'hésite pas à créer des sujets, dans la bonne rubrique, pour chacune de tes réalisations.
Bienvenue.
- christoams aime ceci
#120304 UGV à base d'éléments de trottinette ou d'hoverboard
Posté par Oracid - 13 février 2024 - 09:05
Oracid je reve ou c'est la premiere fois que l'on peut enttendre ta voix?
Bon tu es vraiment bluffant dans ce que tu fai bravo à toi.
Merci. Oui, c'est la première fois.
Perso, quand je me vois, je me déteste, mais ma femme m'a dis que c'était bien, alors, j'ai posté.
J'ai essayé en anglais. Au secours !
Le boulot que demande une vidéo comme celle là est vraiment énorme. On ne se l'imagine pas tant que l'on ne l'a pas fait.
De plus, pour pouvoir faire cette vidéo, je suis passé à DaVinci Resolve pour le montage, et à OBS Studio pour l'enregistrement du PC.
Pour ces 2 outils, l'investissement en temps pour regarder les tutos sont assez énormes.
Indépendamment du fond, juste sur la forme, j'aimerais bien avoir vos avis, mais sans complaisance.
Si je suis complètement ridicule, allez-y ! Faites vous plaisir.
#120302 UGV à base d'éléments de trottinette ou d'hoverboard
Posté par Oracid - 13 février 2024 - 01:08
Voici ma dernière vidéo sur le PID.
Comme vous pouvez le constater, je suis revenu au contrôleur ZS-X11H.
Cela fait déjà un an que je suis sur le PID. Il y a eu pas mal de découragement, mais au final, je pense que je m'en sors pas trop mal
Merci d'avance pour vos remarques.
Les codes des deux programmes :
// HB_Motor_PID - with PWM and ZS-X11H controller - 10/02/2024 int pb = A0; // Start/Stop pgm button int DIR_PIN_BT = A2; // Direction button int DIR_PIN_OUT = 10; // Direction Output int HALL_PIN = 2; // interrupt feedback pin int PWM_PIN_OUT = 3; // 490Hz PWM Output volatile float tic, tac, feedback=0.00; // interrupt variables bool dir=0; // direction, 0=clockwise, 1=counterclockwise float now, prvTime, dt; // time variables float P=0.00, I=0.00, D=0.00, error=0.00, errDiff=0.00, prevErr=0.00, maxSum=50, errSum=0.00, pid=0.00; // PID variables float kp=0.15, ki=0.7, kd=0.001, target=15, trgt_min=12, trgt_max=25, fb_min=104, fb_max=46; // variables to be modified void setup() { Serial.begin(115200); pinMode(pb,INPUT_PULLUP); // Start pgm button pinMode(DIR_PIN_BT,INPUT_PULLUP); // Direction button pinMode(DIR_PIN_OUT, OUTPUT); // Direction Output pinMode(PWM_PIN_OUT, OUTPUT); // 490Hz PWM Output attachInterrupt(digitalPinToInterrupt(HALL_PIN), intrupt, RISING); // Attach Interrupt for motor Hall sensors Serial.print("\n\t To start pgm, click on the Start button"); while(digitalRead(pb)); delay(400); Serial.print("\n\t Started"); // start button } void loop() { now = millis(); dt = (now - prvTime) /1000.00; prvTime = now; // time between two loops if( ! digitalRead(DIR_PIN_BT)){ dir = dir ^ 1; delay(300); analogWrite(PWM_PIN_OUT,0); digitalWrite(DIR_PIN_OUT, dir); } // change direction when button pushed pid = PID(); // PID calculation analogWrite(PWM_PIN_OUT, round(pid = constrain(pid,trgt_min,trgt_max)) ); // output PWM PID - constrain speed for security Plotter(); // values for the plotter //Trace(); // print variables } void intrupt(){ tic = millis(); feedback = tic - tac; tac = tic; // time between 2 Hall sensor detections feedback = map( feedback, fb_min, fb_max, trgt_min, trgt_max ); // convert feedback milliseconds to PWM value } float PID(){ noInterrupts(); error = target - feedback; interrupts(); P = kp * error; I = ki * (errSum = errSum + (error * dt)); errSum = constrain( errSum, -maxSum, maxSum ); D = kd * (error - prevErr) / dt; prevErr = error; return P + I + D; } void Plotter(){ Serial.print(0); Serial.print(" "); // to limit plotter scale Serial.print(feedback,3); Serial.print(" "); Serial.print(pid,3); Serial.print(" "); Serial.println(trgt_max,0); // to limit plotter scale } void Trace(){ Serial.print(String() + "\n" + " target: " + target + " feedback: " + String(feedback,3) + " pid: " + String(pid,3) + " error: " + String(error,3) + " prevErr: " + String(prevErr,3) + " errSum: " + String(errSum,3) + " P: " + String(P,3) + " I: " + String(I,3) + " D: " + String(D,3) + " dir: " + dir + " dt: " + String(dt,3) ); }
// MinMax - 10/02/2024 - reference version int HALL_PIN = 2; // interrupt feedback pin int PWM_PIN_OUT = 3; // 490Hz PWM Output int POT_PIN_IN = A7; // Analog potentiomer for speed volatile float feedback=0.00, tic, tac; // interrupt function variables float pot=0, target, trgt_min=0, trgt_max=255, fb_min=0, fb_max=0; // target_PWM value - min and max values between target_PWM and feedback void setup() { Serial.begin(115200); // serial monitor pinMode(PWM_PIN_OUT, OUTPUT); // 490Hz PWM Output pinMode(POT_PIN_IN, INPUT); // potentiometer attachInterrupt(digitalPinToInterrupt(HALL_PIN), intrupt, RISING); // Attach Interrupt for motor Hall sensors } void loop() { pot = analogRead(POT_PIN_IN); // throttle value, determined by potentiometer target = map(pot,0,1023,trgt_min,trgt_max); // convert throttle in PWM value analogWrite(PWM_PIN_OUT, target); // output PWM target Serial.print("\n target: ");Serial.print(target,0); Serial.print(" feedback: ");Serial.print(feedback,0); delay(200); } void intrupt(){ tic = millis(); // time feedback = tic - tac; // time between 2 tic tac = tic; // save previous time }
#120295 Au bistrot du coin ...
Posté par Oracid - 12 février 2024 - 08:03
Du "nouveau" dans le monde de la batterie. Intéressant !
La batterie Lithium-Soufre: La clé d'un avenir électrique prometteur♻️ (youtube.com)
- Melmet aime ceci
#120226 Projet de robots joueurs de foot
Posté par Oracid - 27 janvier 2024 - 07:47
#120212 Naissance de mon Sumo
Posté par Oracid - 24 janvier 2024 - 07:08
Sans trop comprendre le charabia ci-dessus, j
Raspberry Pi Pico : caractéristique, pinout, schéma, GPIO, … (passionelectronique.fr)
- pmdd aime ceci
- Robot Maker
- → Affichage d'un profil : Aime: Oracid
- Privacy Policy