Forum Posts

samain
Apr 14, 2022
In Help and Getting Started
Hello, I contact you because my RMD-X6 motor has a problem. As I already told you in another message, I want to make my motor turn using a PID and the command 0xA1. Today, I tried to tune the gains of the PID and everything worked fine. I almost made my day trying to find the good gains. However, during a test all went well so I shut the power down and tried to restart it. At this moment, my motor started to moove really weirdly so I shut it down and restart it once again. When I did it, a spark came out of the motor with smoke... I really don't understand why the motor did that. The only thing I changed in my program during my whole day is the PID gains. I don't think it's because of the current because I only send value between -50 and 100 (while theoretically I can send a value between -2000 and 2000) in the 0xA1 command... Do you have any idea on what could provoke the motor to make spark like that ? For informations, here is my setup : -RMD-X6 -Arduino Uno -CAN bus shield (https://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) -48V power supply Thanks for helping. PS: you can find attached in this e-mail the code I am using.
0
1
15
samain
Apr 12, 2022
In Help and Getting Started
Dear all, I am looking to control my rmd-x6 motors. I am currently making a PID, so everything was fine but I don't know why, the motor doesn't respond anymore. It did turn but not anymore. Now the LED is blinking in green and it is way more difficult for me to make the motor turn (just using my hand). I also tried the GUI, but the motor still doesn't turn. Do you have any idea on what's going on and on how I can debug this ? And what about the LED status ? Thanks !
0
0
9
samain
Mar 15, 2022
In Help and Getting Started
Dear all, I would like to control my RMD-X6 motor to make it turn by CAN communication. Hence, here is the devices I use : -RMD-X6 -Arduino Uno -CAN bus shield (https://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) -48V power supply At the moment, I have managed to make my motor turn, I start by sending the runing command (0x88) then a position closed loop control command (0xA3). However, it seems that for my motor to turn, I have to wait few seconds (4-5s) between sending runing command (0x88) and position command (0xA3), otherwise, the motor don't moove. Do you know why it isn't instantaneous ? Is there a way of reducing this delay ? Thanks !
0
0
19
samain
Feb 16, 2022
In Help and Getting Started
Dear all, I would like to control my RMD-X6 motor to make it turn by CAN communication. Hence, here is the devices I use : -RMD-X6 -Arduino Uno -CAN bus shield (https://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) -48V power supply My problem is that I can't make my motor turn. However, I am sure that the problem doesn't come from the CAN communication. Based on this protocol : https://www.myactuator.com/_files/ugd/cab28a_12650a87d0714b5b9df4aa1e4bafca4a.pdf I am able to read the encoder value in real time for example. Nevertheless, when I want to send a command to make the motor turn (0xA6), the response I got is meaningless (A6 0 0 0 0 0 F3 0). As you can see, some parameters like the motor temperature is 0. Moreover, the only parameter not equal to 0 is the encoder value but I turn the motor myself, this value doesn't change. Finally, if I use the "read running mode" (0x70) command, the response is 0x70 0 0 0 0 0 0xFF which means that I am neither in the current nor speed nor position loop mode. Is there any way to set the mode ? To summarize, if I want informations like encoders values, position, current and speed loop Kp and Ki data, I can get it but if I want to make my motor turn in any of the tree modes it doesn't work. Here is the program I use. #include <SPI.h> //Library for using SPI Communication #include <mcp2515.h> //Library for using CAN Communication struct can_frame canMsg; MCP2515 mcp2515(10); int incomingByte = 1; // 1 arrêt ; 2 démarrage ; void setup() { while (!Serial); Serial.begin(115200); mcp2515.reset(); mcp2515.setBitrate(CAN_1000KBPS); mcp2515.setNormalMode(); Serial.print("Setup done\n\n"); } void printserial(unsigned long ID, unsigned char buf[8]) { // convertit buf[8] en une chaîne de caractères Serial.print(ID, HEX); Serial.print(": "); for (int i = 0; i < 8; i++) { Serial.print(buf[i], HEX); Serial.print(" "); } } long GenPos = 10000; int test=1; void loop() { canMsg.can_id = 0x141; // définir l'identifiant CAN canMsg.can_dlc = 0x08; GenPos = GenPos + 1000; canMsg.data[0] = 0xA6; canMsg.data[1] = 0x00; canMsg.data[2] = 0x02; canMsg.data[3] = 0x02; canMsg.data[4] = GenPos; canMsg.data[5] = GenPos >> 8; canMsg.data[6] = 0x00; canMsg.data[7] = 0x00; Serial.print("Send(2): "); mcp2515.sendMessage(&canMsg); //envoyer un message CAN printserial(canMsg.can_id, canMsg.data); Serial.print("\n"); int len = 10; while ((mcp2515.readMessage(&canMsg) != MCP2515::ERROR_OK)) { /* vérifier la réponse reçue CAN */ delay(1); len--; if ((len <= 0)) { break; } } if (len > 0) { // est venue la réponse Serial.print("Recv : "); printserial(canMsg.can_id, canMsg.data); Serial.print("\n"); } else { // pas de réponse Serial.print("Recv : NO ANSWER"); Serial.print("\n"); } Serial.print("\n"); int pause_3000 = 30; while (pause_3000) { //Serial.println(Serial.available()); if (Serial.available() > 0) { //Serial.println("ghi"); // read the incoming byte: incomingByte = Serial.read(); incomingByte = incomingByte - 0x30; // "1" -> 1 //Serial.println("incomingByte : "); //Serial.println(incomingByte); while (Serial.available() > 0) { Serial.read(); } break; } pause_3000--; delay(100); } } Thanks for the help !
0
1
62
samain
Jan 21, 2022
In Help and Getting Started
Hi everyone, I'm having trouble connecting my RMD-X 8 motor to RMD motor assistant V2.0 or V1.2. Each COM I tried didn't work. I keep having the same answer "Connect error! No response!". Do you have any idea to resolve my problem ? Best regards.
0
1
84

samain

More actions