Turinys:
- 1 žingsnis: 1 žingsnis: medžiagos reikalavimas
- 2 žingsnis: 2 žingsnis: Sistema Mecánico-estructura
- 3 veiksmas: 3 veiksmas: „Fabricación De Piezas 3D“
- 4 žingsnis: 4 žingsnis: Sistema Eléctrico/Electronico
- 5 veiksmas: 5 veiksmas: programinė įranga
- 6 veiksmas: 6 žingsnis: „Consejos“
Video: „Proyecto Laboratorio De Mecatrónica“(dviejų ratų balansavimo robotas): 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "Dviejų ratų balansavimo robotas" paso a paso y con explicación y concejos. Este es un system que consiste en que el robot no se debe caer, se debe de mantener en el punto 0 de su punto de gravedad del giroscopio, y así poder moverlo y que este regrese por si mismo a posición original.
1 žingsnis: 1 žingsnis: medžiagos reikalavimas
o „Mecánicos“:
a. 1 metro de varilla roscada (3/8)
b. 14 tornilių M3 x.07 x 6
c. 24 tuercas M8 šešiakampis
d. 3 tornillos M4 x.07 x 6
e. „Filamento PLA“(maždaug 500 g)
o Elektronika:
a. 1 pertraukiklio jungiklis
b. Arduino uno arba nano
c. 2 motores nema 17
d. 2 vairuotojai A4988
e. 3 atsparumas 1k
f. HC-05
g. MPU-6050
h. 2 talpos 100uf arba 47uf
i. Batería lippo 11,1 V
o Piezas fabricadas:
a. 3 MDF plokštės (120 x 170 x 6 mm)
b. Placa PCB (maždaug 8 x 14 cm)
c. Akumuliatoriaus proporcija
d. 2 variantų variklis
e. 2 llantos
o Priedai:
Rekomenduojama programinė įranga, skirta realizuoti projektavimą.
a. „Arduino IDE“programinė įranga
b. „SolidWorks 2018“
c. „Kidcad“programinė įranga
2 žingsnis: 2 žingsnis: Sistema Mecánico-estructura
El modelado de las piezas ir estructura general se realo en SolidWorks, primero se crearon las placas de MDF para checar el espacio disponible para posteriores usos. Estas placas son diferentes entre ellas, la placa inferior tendrá los orificios para los soportes de motores y batería, la central para nuestra PCB y la superior solo tendrá los orificios para darle su estructura.
3 veiksmas: 3 veiksmas: „Fabricación De Piezas 3D“
Para el modelado de los soportes y llantas igualmente utilizamos SolidWorks, estos soportes pueden ser modificados si así lo desean, para un mejor funcionamiento, los soportes tienen orificios de.35 cm de diámetro, para una mejor sujeción.
4 žingsnis: 4 žingsnis: Sistema Eléctrico/Electronico
Naudokite tik PCB, atitinkamus korespondentų korespondentus, haciendo el enlace entre el arduino, „Bluetooth HC-05“modulį ir 6050 giroskopiją bei „los motores“vairuotojus. Las conexiones son las que se muestran en la imagen. Asegúrese de hacer las conexiones correctamente, ya que de no ser así puede ocasionar que el system no funcione correctamente y no lo obedezca.
5 veiksmas: 5 veiksmas: programinė įranga
Programos panaudojimo ir arduino programa, nenutrūkstama programos dalis ir programos dalis su aiškinamuoju susirašinėjimu, al igual anexo nuoroda, visas el. Kodas:
Pos holdconfiguracion
// numatytasis POSHOLD valdymo pelnas
#define POSHOLD_P 2.00
#define POSHOLD_I 0.0
#define POSHOLD_IMAX 20 // laipsnių
#define POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // Vėjo valdymas
#define POSHOLD_RATE_D 0.045 // išbandykite 2 arba 3, kad gautumėte 1 POSHOLD_RATE
#define POSHOLD_RATE_IMAX 20 // laipsnių
// numatytasis navigacijos PID padidinimas
#define NAV_P 1.4
#define NAV_I 0.20 // Vėjo valdymas
#define NAV_D 0.08 //
#define NAV_IMAX 20 // laipsnių
#define MINCHECK 1100
#define MAXCHECK 1900
Aqui se modifica los gains para el poss hold del system.
Giroskopo konfigūravimas:
void Gyro_init () {
TWBR = ((F_CPU / 400000L) - 16) / 2; // pakeisti I2C laikrodžio dažnį į 400kHz
„i2c_writeReg“(MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - 1 ĮRENGINIS
vėlavimas (5);
„i2c_writeReg“(MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - MIEGAS 0; CIKLAS 0; TEMP_DIS 0; CLKSEL 3 (PLL su „Z Gyro“nuoroda)
„i2c_writeReg“(MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (išjungti duomenų sinchronizavimo įvesties kaištį); numatytasis DLPF_CFG = 0 => ACC pralaidumas = 260 Hz GYRO pralaidumas = 256 Hz)
„i2c_writeReg“(MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: nustatyta visa skalė iki 2000 laipsnių per sekundę
// įgalinti I2C apėjimą AUX I2C
#jei apibrėžta (MAG)
„i2c_writeReg“(MPU6050_ADDRESS, 0x37, 0x02); // INT_PIN_CFG - INT_LEVEL = 0; INT_OPEN = 0; LATCH_INT_EN = 0; INT_RD_CLEAR = 0; FSYNC_INT_LEVEL = 0; FSYNC_INT_EN = 0; I2C_BYPASS_EN = 1; CLKOUT_EN = 0
#endif
}
void Gyro_getADC () {
„i2c_getSixRawADC“(MPU6050_ADDRESS, 0x43);
GYRO_ORIENTATION (((rawADC [0] 2, // diapazonas: +/- 8192; +/- 2000 laipsnių per sekundę
((rawADC [2] 2, ((rawADC [4] 2);
GYRO_Common ();
}
void ACC_init () {
„i2c_writeReg“(MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (visa skalė = +/- 8G); ACCELL_HPF = 0 // atkreipkite dėmesį, kad specifikacijose kažkas negerai.
// pastaba: atrodo, kad čia specifikacijose kažkas negerai. Su AFS = 2 1G = 4096, bet pagal mano matavimus: 1G = 2048 (ir 2048/8 = 256)
// patvirtinta čia:
#if apibrėžta (MPU6050_I2C_AUX_MASTER)
// šiame etape MAG yra sukonfigūruotas naudojant originalią MAG init funkciją I2C apėjimo režimu
// dabar mes sukonfigūruojame MPU kaip „I2C Master“įrenginį, kad jis galėtų valdyti MAG per I2C AUX prievadą (čia padaryta HMC5883)
„i2c_writeReg“(MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_LT = 0; I2C_MST_EN = 1 (I2C pagrindinis režimas); I2C_IF_DIS = 0; FIFO_RESET = 0; I2C_MST_RESET = 0; SIG_COND_RESET = 0
„i2c_writeReg“(MPU6050_ADDRESS, 0x37, 0x00); // INT_PIN_CFG - INT_LEVEL = 0; INT_OPEN = 0; LATCH_INT_EN = 0; INT_RD_CLEAR = 0; FSYNC_INT_LEVEL = 0; FSYNC_INT_EN = 0; I2C_BYPASS_EN = 0; CLKOUT_EN = 0
„i2c_writeReg“(MPU6050_ADDRESS, 0x24, 0x0D); // I2C_MST_CTRL - MULT_MST_EN = 0; WAIT_FOR_ES = 0; SLV_3_FIFO_EN = 0; I2C_MST_P_NSR = 0; I2C_MST_CLK = 13 (I2C vergo greičio magistralė = 400 kHz)
i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (skaitymo operacija); I2C_SLV4_ADDR = MAG_ADDRESS
i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 MAG duomenų baitai saugomi 6 registruose. Pirmojo registro adresas yra MAG_DATA_REGISTER
„i2c_writeReg“(MPU6050_ADDRESS, 0x27, 0x86); // I2C_SLV0_CTRL - I2C_SLV0_EN = 1; I2C_SLV0_BYTE_SW = 0; I2C_SLV0_REG_DIS = 0; I2C_SLV0_GRP = 0; I2C_SLV0_LEN = 3 (3x2 baitai)
#endif
}
void ACC_getADC () {
„i2c_getSixRawADC“(MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((rawADC [4] 3);
ACC_Common ();
}
// MAG surinkimo funkcija turi būti pakeista, nes dabar kalbame su MPU įrenginiu
#if apibrėžta (MPU6050_I2C_AUX_MASTER)
void Device_Mag_getADC () {
„i2c_getSixRawADC“(MPU6050_ADDRESS, 0x49); // 0x49 yra pirmasis EXT_SENS_DATA atminties kambarys
#if apibrėžta (HMC5843)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
#if apibrėžta (HMC5883)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));
#endif
#jei apibrėžta (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
}
#endif
#endif
6 veiksmas: 6 žingsnis: „Consejos“
1. Diseño Mecánico: Utilizar y hacer el diseño que mas les convenga, para el uso que se le quiere dar al robot, medir todo bien, para la hora de hacer cortes láser o impresiones en 3D, no tengan que volver a hacerlo y todo quede a la perfección.
2. Diseño eléctrico: Hacer su propia PCB, para que tengan bien ubicadas las conexiones que tienen que hacer, de igual manera hacer primero las conexiones en una protoboard, para comprobar que cuando la pongan en el PCB el funcionamiento sea el correcto y no tengan que agregar mas conexiones o volver a imprimir el PCB.
3. „Diseño“programinė įranga: „Guiarse con la programción base expuesta“, bet ne „hacer su propia“programa “, bet visoms programoms, pradedantiesiems ir pradedantiesiems, norintiems nefunkcionuoti ir neleisti funkcijoms atlikti programos.
Rekomenduojamas:
Dviejų ratų savaiminio balansavimo robotas: 7 žingsniai
Dviejų ratų savaiminio balansavimo robotas: šis nurodymas atliks savaiminio balansavimo roboto projektavimo ir konstravimo procesą. Kaip pastaba noriu tik pasakyti, kad savaime balansuojantys robotai nėra nauja koncepcija ir jie buvo sukurti bei dokumentuoti kitų. Noriu pasinaudoti šia galimybe
2 ratų savaiminio balansavimo robotas: 4 žingsniai
2 ratų savaiminio balansavimo robotas: Mano kuklia nuomone, jūs nesate tikras kūrėjas, nebent sukuriate savo 2 ratų savaiminio balansavimo robotą. :-) Taigi, čia jis yra … ir, svarbiausia, jis veikia !!! Šis projektas atrodo labai paprastas. Vietoj to, tam reikia gerų žinių
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
„Arduino“- balansas - balansavimo robotas - Kaip padaryti?: 6 žingsniai (su nuotraukomis)
„Arduino“- balansas - balansavimo robotas | Kaip pasigaminti?: Šioje pamokoje sužinosime, kaip pasigaminti „Arduino“balansavimo (balanso) robotą. Pirmiausia galite pažvelgti į aukščiau pateiktą vaizdo įrašo pamoką
Balansavimo robotas: 7 žingsniai (su nuotraukomis)
Balansavimo robotas: Tai labai paprastas robotas, kuris naudoja paprastą jungiklį kaip jutiklį ir stovi tik ant dviejų ratų su apverstu švytuoklės mechanizmu. Kai robotas kris, variklis paleidžiamas ir perkeliamas į tą pusę, kur jis kris, todėl variklis