Satura rādītājs:
- 1. darbība: 1. darbība: materiāla pieprasījums
- 2. darbība: 2. darbība: Sistema Mecánico-estructura
- 3. darbība: 3. darbība: Fabricación De Piezas 3D
- 4. darbība: 4. darbība: Sistema Eléctrico/Electronico
- 5. darbība: 5. darbība: programmatūra
- 6. solis: 6. solis: Consejos
Video: Proyecto Laboratorio De Mecatrónica (divu riteņu līdzsvara robots): 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "Divu riteņu līdzsvara robots" paso a paso y con explicación y concejos. Este es un sistēma 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. darbība: 1. darbība: materiāla pieprasījums
o Mecánicos:
a. 1 metro de varilla roscada (3/8)
b. 14 tornīļi M3 x.07 x 6
c. 24 tuercas M8 hex
d. 3 tornīļi M4 x.07 x 6
e. Filamento PLA (aptuveni 500 grami)
o Elektronika:
a. 1 pārtraucēja slēdzis
b. Arduino uno vai nano
c. 2 motores nema 17
d. 2 autovadītāji A4988
e. 3 pretestības 1k
f. HC-05
g. MPU-6050
h. 2 kondensatori 100uf vai 47uf
i. Batería lippo 11,1 V
o Piezas fabricadas:
a. 3 MDF plāksnes (120 x 170 x 6 mm)
b. Placa PCB (aptuveni 8 x 14 cm)
c. Akumulatora proporcija
d. 2 dažādi dzinēji
e. 2 llantas
o Papildus:
Programmatūra, kas ieteicama realizācijas projektam.
a. Arduino IDE programmatūra
b. SolidWorks 2018
c. Kidcad programmatūra
2. darbība: 2. darbība: Sistema Mecánico-estructura
El modelado de las piezas y estructura general se realizo 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. darbība: 3. darbība: 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. darbība: 4. darbība: Sistema Eléctrico/Electronico
En este paso utilizamos una PCB, para elaborar las conexionesrespondientes, haciendo el enlace entre el arduino, el Bluetooth modulis HC-05, un giroscopio 6050 y los drivers de los motores. 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. darbība: 5. darbība: programmatūra
Para el programmas utilizamos un arduino, anexamos una parte de la programción con su explicación korespondence, al igual anexo link, con el codigo complete:
Pos holdconfiguracion
// noklusējuma POSHOLD vadības ieguvumi
#define POSHOLD_P 2.00
#define POSHOLD_I 0.0
#define POSHOLD_IMAX 20 // grādi
#define POSHOLD_RATE_P 2.0
#define POSHOLD_RATE_I 0.08 // Vēja kontrole
#define POSHOLD_RATE_D 0.045 // izmēģiniet 2 vai 3, lai iegūtu POSHOLD_RATE 1
#define POSHOLD_RATE_IMAX 20 // grādi
// noklusējuma navigācijas PID pieaugums
#define NAV_P 1.4
#define NAV_I 0.20 // Vēja kontrole
#define NAV_D 0.08 //
#define NAV_IMAX 20 // grādi
#define MINCHECK 1100
#define MAXCHECK 1900
Aqui se modifica los guvumi para el poss hold del system.
Žiroskonfigurācijas konfigurācija:
void Gyro_init () {
TWBR = ((F_CPU / 400000L) - 16) / 2; // mainīt I2C takts frekvenci uz 400kHz
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - DEVICE_RESET 1
kavēšanās (5);
i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SLEEP 0; CIKLS 0; TEMP_DIS 0; CLKSEL 3 (PLL ar Z Gyro atsauci)
i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (atspējot ievades tapu datu sinhronizācijai); noklusējuma DLPF_CFG = 0 => ACC joslas platums = 260 Hz GYRO joslas platums = 256 Hz)
i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: pilna skala ir iestatīta uz 2000 grādiem sekundē
// iespējot I2C apvedceļu AUX I2C
#ja definēts (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 (((neapstrādāta ADC [0] 2, // diapazons: +/- 8192; +/- 2000 grādi/s
((rawADC [2] 2, ((rawADC [4] 2);
GYRO_Common ();
}
void ACC_init () {
i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (pilna skala = +/- 8G); ACCELL_HPF = 0 // atzīmējiet, ka specifikācijās kaut kas nav kārtībā.
// piezīme: šķiet, ka šeit ir kaut kas nepareizs. Ar AFS = 2 1G = 4096, bet saskaņā ar manu mērījumu: 1G = 2048 (un 2048/8 = 256)
// apstiprināts šeit:
#if definēts (MPU6050_I2C_AUX_MASTER)
// šajā posmā MAG tiek konfigurēts, izmantojot sākotnējo MAG init funkciju I2C apvedceļa režīmā
// tagad mēs konfigurējam MPU kā I2C Master ierīci, lai apstrādātu MAG, izmantojot I2C AUX portu (šeit darīts HMC5883)
i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_LV = 0; I2C_MST_EN = 1 (I2C galvenais režīms); 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 vergu ātruma kopne = 400 kHz)
i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (lasīšanas darbība); I2C_SLV4_ADDR = MAG_ADDRESS
i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 MAG datu baiti tiek glabāti 6 reģistros. Pirmā reģistra adrese ir 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 baiti)
#endif
}
void ACC_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);
ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((rawADC [4] 3);
ACC_Common ();
}
// MAG iegūšanas funkcija ir jāaizstāj, jo mēs tagad runājam ar MPU ierīci
#if definēts (MPU6050_I2C_AUX_MASTER)
void Device_Mag_getADC () {
i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 ir pirmā atmiņas telpa EXT_SENS_DATA
#if definēts (HMC5843)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
#if definēts (HMC5883)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));
#endif
#ja definēts (MAG3110)
MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));
#endif
}
#endif
#endif
6. solis: 6. solis: 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 Software: Guiarse con la programción base expuesta, pero tratar de hacer su propia programción, para llegar a Entender bien el funcionamiento y en caso de que no funcionar la programción saber como cambiar las instrucciones para que funcione correctamente.
Ieteicams:
Divu riteņu pašbalansējošais robots: 7 soļi
Divu riteņu pašbalansējošais robots: šis pamācība iet cauri pašbalansējoša robota projektēšanas un būvēšanas procesam. Kā piezīmi es tikai gribu teikt, ka pašbalansējošie roboti nav jauna koncepcija un tos ir izveidojuši un dokumentējuši citi. Es vēlos izmantot šo iespēju
CHAMPION 4 Omni riteņu futbola robots!: 7 soļi (ar attēliem)
CHAMPION 4Omni Wheel Soccer Robot! tā ir piedalījusies 3 konkursos, sadarbojoties ar manu
Mecanum Omni riteņu robots ar GRBL pakāpju motoriem Arduino vairogs: 4 soļi
Mecanum Omni riteņu robots ar GRBL pakāpju motoriem Arduino vairogs: Mecanum robots - projekts, kuru es gribēju veidot kopš tā laika, kad to ieraudzīju Dejana gread mechatronics emuārā: howtomechatronics.com Dejan patiešām paveica labu darbu, aptverot visus aparatūras, 3D drukāšanas aspektus , elektronika, kods un Android lietotne (MIT
2 riteņu pašbalansējošais robots: 4 soļi
2 riteņu pašbalansējošais robots: Manuprāt, jūs neesat īsts veidotājs, ja vien neuzbūvējat savu divriteņu pašregulēšanas robotu. :-) Tātad, šeit tas ir … un, pats galvenais, tas darbojas !!! Šis projekts izskatās ļoti vienkāršs. Tā vietā tas prasa labas zināšanas
Līdzsvarojošais robots / 3 riteņu robots / STEM robots: 8 soļi
Līdzsvarojošais robots / trīs riteņu robots / STEM robots: mēs esam izveidojuši kombinētu balansēšanas un trīsriteņu robotu, kas paredzēts lietošanai skolās un pēc skolas izglītības programmās. Robota pamatā ir Arduino Uno, pielāgots vairogs (visas konstrukcijas detaļas ir iekļautas), litija jonu akumulators (viss atbilst