Proyecto Laboratorio De Mecatrónica (Roboti mbili ya Usawazishaji wa Gurudumu): Hatua 6
Proyecto Laboratorio De Mecatrónica (Roboti mbili ya Usawazishaji wa Gurudumu): Hatua 6
Anonim
Image
Image

Kwa sababu hii ni muhimu sana, tafadhali jifunze zaidi juu ya "Roboti mbili za usawa wa magurudumu" kwa njia ya ufafanuzi na ufafanuzi. Hii ni pamoja na swala la roboti haifanyi kazi, ikiwa ni pamoja na mantener na punto 0 ya punto ya gravedad del giroscopio, na hivyo ni pamoja na maoni ya watu kwa sababu ya hali ya asili.

Hatua ya 1: Hatua ya 1: Requerido ya Nyenzo

o Makkao:

a. 1 metro de varilla roscada (3/8)

b. Tillillos 14 M3 x.07 x 6

c. Tuercas 24 M8 hex

d. Tillillos 3 M4 x.07 x 6

e. Filamento PLA (500rs aprox)

o Electrónicos:

a. 1 swichi ya usumbufu

b. Arduino uno o nano

c. 2 motores nema 17

d. Madereva 2 A4988

e. 3 vipingaji 1k

f. HC-05

g. MPU-6050

h. 2 capacitores ya 100uf o 47uf

i. Batería lippo 11.1 V

o Piezas vitambaa:

a. Sehemu tatu za MDF (120 x 170 x 6 mm)

b. Placa PCB (aprox 8 x 14 cm)

c. Soporte batería

d. 2 soporte kwa motor

e. 2 llantas

o Ziada:

Recomendados za laini kwa la realización del proyecto.

a. Programu ya IDE ya Arduino

b. SolidWorks 2018

c. Programu ya Kidcad

Hatua ya 2: Hatua ya 2: Sistema Mecánico-estructura

Hatua ya 2: Sistema Mecánico-estructura
Hatua ya 2: Sistema Mecánico-estructura
Hatua ya 2: Sistema Mecánico-estructura
Hatua ya 2: Sistema Mecánico-estructura

Mfano wa vifaa vya ujenzi na muundo wa jumla ni SolidWorks, primero se crearon las placas de MDF for checar el espacio disponible para posteriores usos. Sehemu za watoto ni tofauti kwa sehemu zote, mahali pa chini ni chini kwa sababu ya vituo vya moto vya moto, katikati mwa PCB na kwa njia ya pekee ya mtu binafsi kwa sababu ya mpango huo.

Hatua ya 3: Hatua ya 3: 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 you mejor sujeción.

Hatua ya 4: Hatua ya 4: Sistema Elctrico / elektroni

Hatua ya 4: Sistema Eléctrico / elektroni
Hatua ya 4: Sistema Eléctrico / elektroni

Kwa sababu ya matumizi ya PCB, kwa kutumia maelezo mafupi ya wahusika, haciendo el enlace entre el arduino, moduli ya Bluetooth HC-05, unakamilisha 6050 na madereva ya moto. Las conexiones son las que se muestran en la imagen. Asegúrese de hacer las conexiones correctamente, the que de no ser así puede ocasionar que el sistema no funcione correctamente y no lo obedezca.

Hatua ya 5: Hatua ya 5: Programu

Hatua ya 5: Programu
Hatua ya 5: Programu

Para el programa utilizamos un arduino, anexexos kuendelea na programu unaelezea sehemu ya programu na maelezo mafupi, kiungo cha kawaida, pamoja na kanuni kamili:

Pos holdconfiguracion

// faida ya kudhibiti POSHOLD default

#fafanua POSHOLD_P 2.00

#fafanua POSHOLD_I 0.0

#fafanua POSHOLD_IMAX 20 // digrii

#fafanua POSHOLD_RATE_P 2.0

#fafanua POSHOLD_RATE_I 0.08 // Udhibiti wa upepo

#fafanua POSHOLD_RATE_D 0.045 // jaribu 2 au 3 kwa POSHOLD_RATE 1

#fafanua POSHOLD_RATE_IMAX 20 // digrii

// faida default PID Navigation

#fafanua NAV_P 1.4

#fafanua NAV_I 0.20 // Udhibiti wa upepo

#fafanua NAV_D 0.08 //

#fafanua NAV_IMAX 20 // digrii

#fafanua DUNIANI 1100

#fafanua MAXCHECK 1900

Aqui se modifica los faida kwa sababu ya kushikilia del sistema.

Configuración gyro:

batili Gyro_init () {

TWBR = ((F_CPU / 400000L) - 16) / 2; // badilisha kiwango cha saa cha I2C kuwa 400kHz

i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - DEVICE_RESET 1

kuchelewesha (5);

i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - LALA 0; Mzunguko 0; TEMP_DIS 0; CLKSEL 3 (PLL na kumbukumbu ya Z Gyro)

i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (afya pini ya kuingiza kwa usawazishaji wa data); default DLPF_CFG = 0 => Upelekaji wa ACC = 260Hz Bandwidth ya GYRO = 256Hz)

i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Kiwango kamili kimewekwa hadi 2000 dig / sec

// kuwezesha kupita kwa I2C kwa AUX I2C

# ikiwa imefafanuliwa (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

# mwisho

}

batili Gyro_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);

GYRO_ORIENTATION (((rawADC [0] 2, // masafa: +/- 8192; +/- 2000 deg / sec

((rawADC [2] 2, ((rawADC [4] 2);

GYRO_Common ();

}

utupu ACC_init () {

i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG - AFS_SEL = 2 (Kiwango Kamili = +/- 8G); ACCELL_HPF = 0 // kumbuka kuwa kuna kitu kibaya katika maelezo.

// kumbuka: kitu kinaonekana kuwa kibaya katika maelezo hapa. Na AFS = 2 1G = 4096 lakini kulingana na kipimo changu: 1G = 2048 (na 2048/8 = 256)

// imethibitishwa hapa:

# ikiwa imefafanuliwa (MPU6050_I2C_AUX_MASTER)

// katika hatua hii, MAG imeundwa kupitia kazi ya asili ya MAG init katika hali ya kupita ya I2C

// sasa tunasanidi MPU kama kifaa cha I2C Master kushughulikia MAG kupitia bandari ya I2C AUX (imefanywa hapa kwa HMC5883)

i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_EN = 0; I2C_MST_EN = 1 (mode kuu ya I2C); 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 kasi ya watumwa = 400kHz)

i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (soma operesheni); I2C_SLV4_ADDR = MAG_ADDRESS

i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - ka 6 za data za MAG zimehifadhiwa kwenye rejista 6. Anwani ya kwanza ya usajili ni 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 (ka 3x2)

# mwisho

}

utupu ACC_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);

ACC_ORIENTATION (((rawADC [0] 3, ((rawADC [2] 3, ((rawADC [4] 3);

ACC_Common ();

}

// Kazi ya upatikanaji wa MAG lazima ibadilishwe kwa sababu sasa tunazungumza na kifaa cha MPU

# ikiwa imefafanuliwa (MPU6050_I2C_AUX_MASTER)

kifaa batili_Mag_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 ni chumba cha kwanza cha kumbukumbu cha EXT_SENS_DATA

# ikiwa imefafanuliwa (HMC5843)

MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));

# mwisho

# ikiwa imefafanuliwa (HMC5883)

MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [4] << 8) | rawADC [5]), ((rawADC [2] << 8) | rawADC [3]));

# mwisho

# ikiwa imefafanuliwa (MAG3110)

MAG_ORIENTATION (((rawADC [0] << 8) | rawADC [1]), ((rawADC [2] << 8) | rawADC [3]), ((rawADC [4] << 8) | rawADC [5]));

# mwisho

}

# mwisho

# mwisho

Hatua ya 6: Hatua ya 6: Consejos

1. Diseño Mecánico: Utumiaji wa ugonjwa huu unasababishwa na watu, kwa sababu watu wanakabiliwa na roboti, kufanya kazi vizuri, kwa ajili ya kufanya kazi kwa njia ya 3D, hakuna mtu anayeweza kupenda kazi hii. quede a la perfección.

2. Magonjwa haya: 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 hali ya kawaida ya mkutano na uchaguzi wa PCB.

3. Software Software: Guiarse con la programación base expuesta, pero trat de hacer su propia programación, for the llegar to entender bien el funcionamiento na en caso de que no funcionar la programmeón saber como cambiar las instrucciones for que funcione correctamente.

Ilipendekeza: