Proyecto Laboratorio De Mecatrónica (robot s dvěma koly): 6 kroků
Proyecto Laboratorio De Mecatrónica (robot s dvěma koly): 6 kroků
Anonim
Image
Image

Prohlédněte si většinu funkcí, funkcí a funkcí, které vám pomohou zpracovat „Robot se dvěma vyvažovacími koly“. Nejčastěji se jedná o robota, který se netýká robotů, kteří se zabývají mantener en el punto 0 de su punto de gravedad del giroscopio, y así poder moverlo y que este regrese por si mismo a su posición original.

Krok 1: Krok 1: Požadavek na materiál

o Mecánicos:

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

b. 14 tornillos M3 x.07 x 6

C. 24 tuercas M8 hex

d. 3 tornillos M4 x.07 x 6

E. Filamento PLA (přibližně 500 g)

o Electrónicos:

A. 1 vypínač

b. Arduino uno o nano

C. 2 motorky nema 17

d. 2 ovladače A4988

E. 3 odpory 1k

F. HC-05

G. MPU-6050

h. 2 kondenzátory o 100uf o 47uf

já. Baterie lippo 11,1 V

o Piezas fabricadas:

A. 3 desky z MDF (120 x 170 x 6 mm)

b. Deska plošných spojů Placa (přibližně 8 x 14 cm)

C. Vydržte baterii

d. 2 spící motor

E. 2 llantas

o Doplňky:

Softwarová doporučení pro realizaci projektu.

A. Software Arduino IDE

b. SolidWorks 2018

C. Software Kidcad

Krok 2: Krok 2: Sistema Mecánico-estructura

Krok 2: Systém Mecánico-estructura
Krok 2: Systém Mecánico-estructura
Krok 2: Systém Mecánico-estructura
Krok 2: Systém Mecánico-estructura

Jednotlivé režimy a obecné struktury jsou realizovány v SolidWorks, primárně se používají v oblasti MDF, které jsou k dispozici pro konkrétní použití. Různé typy synterů mají různé základní vlastnosti, nižší placenty mají nižší počet otáček než poloviční počet motorů a akumulátorů, centrální centrální paraboly PCB a vynikající sólové tendence pro dosažení většího počtu struktur.

Krok 3: Krok 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 una mejor sujeción.

Krok 4: Krok 4: Sistema Eléctrico/electrónico

Krok 4: Sistema Eléctrico/electrónico
Krok 4: Sistema Eléctrico/electrónico

Používají se desky plošných spojů, zpracovávají se související korespondenty, obsahují základní arduino, modul Bluetooth HC-05, 6050 ovladačů a ovladačů. 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 sistema no funcione correctamente y no lo obedezca.

Krok 5: Krok 5: Software

Krok 5: Software
Krok 5: Software

Využití programu arduino, pokračování v anamnéze programování s odpovídajícími souvislostmi, al igual anexo link, con el codigo completo:

Pozastavení konfigurace

// výchozí zisky ovládání POSHOLD

#define POSHOLD_P 2.00

#define POSHOLD_I 0,0

#define POSHOLD_IMAX 20 // stupňů

#define POSHOLD_RATE_P 2.0

#define POSHOLD_RATE_I 0,08 // Ovládání větru

#define POSHOLD_RATE_D 0,045 // zkuste 2 nebo 3 pro POSHOLD_RATE 1

#define POSHOLD_RATE_IMAX 20 // stupňů

// výchozí navigační PID zisky

#define NAV_P 1.4

#define NAV_I 0,20 // Ovládání větru

#define NAV_D 0,08 //

#define NAV_IMAX 20 // stupňů

#definovat MINCHECK 1100

#definovat MAXCHECK 1900

Změny se mohou lišit v závislosti na držení systému.

Konfigurace gyroskopu:

neplatné Gyro_init () {

TWBR = ((F_CPU / 400000L) - 16) / 2; // změna taktovací frekvence I2C na 400 kHz

i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x80); // PWR_MGMT_1 - RESET ZAŘÍZENÍ 1

zpoždění (5);

i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SLEEP 0; CYKLUS 0; TEMP_DIS 0; CLKSEL 3 (PLL s referencí Z Gyro)

i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (zakázat vstupní pin pro synchronizaci dat); výchozí DLPF_CFG = 0 => šířka pásma ACC = 260 Hz šířka pásma GYRO = 256 Hz)

i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Plné měřítko nastaveno na 2000 stupňů/s

// povolit I2C bypass pro AUX I2C

#if definováno (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

}

neplatné Gyro_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);

GYRO_ORIENTACE ((((rawADC [0] 2, // rozsah: +/- 8192; +/- 2000 stupňů/s)

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

GYRO_Common ();

}

neplatné ACC_init () {

i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (plné měřítko = +/- 8G); ACCELL_HPF = 0 // všimněte si, že ve specifikaci je něco špatně.

// poznámka: Zdá se, že ve specifikaci je něco špatně. S AFS = 2 1G = 4096, ale podle mého měření: 1G = 2048 (a 2048/8 = 256)

// zde potvrzeno:

definováno #if (MPU6050_I2C_AUX_MASTER)

// v této fázi je MAG konfigurován pomocí původní inicializační funkce MAG v režimu bypassu I2C

// nyní konfigurujeme MPU jako zařízení I2C Master pro zpracování MAG přes port I2C AUX (zde provedeno pro HMC5883)

i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_EN = 0; I2C_MST_EN = 1 (hlavní režim 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 slave speed bus = 400kHz)

i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (operace čtení); I2C_SLV4_ADDR = MAG_ADDRESS

i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - 6 datových bytů MAG je uloženo v 6 registrech. První registrační adresa je 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 bajty)

#endif

}

neplatné ACC_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);

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

ACC_Common ();

}

// Funkce získávání MAG musí být nahrazena, protože nyní mluvíme se zařízením MPU

definováno #if (MPU6050_I2C_AUX_MASTER)

zrušit Device_Mag_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 je první paměťová místnost pro EXT_SENS_DATA

definováno #if (HMC5843)

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

#endif

definováno #if (HMC5883)

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

#endif

definováno #if (MAG3110)

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

#endif

}

#endif

#endif

Krok 6: Krok 6: Consejos

1. Diseño Mecánico: Využití a hacer el diseño que mas les conga, para el uso que se le quiere dar al robot, medir todo bien, para la mountain de hacer cortes láser o impresiones en 3D, no tengan que volver a hacerlo y todo quede a la perfección.

2. Electrico: 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 Compobob que cuando la pongan en el PCB el funcionamiento sea el correcto y no tengan souhlasíte s tím, co se připojuje k PCB.

3. Diseño Software: Základní informace o základním programování, základní informace o programech, základní a další funkce, které se mohou týkat šablon programů, jako jsou pokyny k opravě.

Doporučuje: