Мазмуну:

Proyecto Laboratorio De Mecatrónica (Эки дөңгөлөктүү тең салмактуулук роботу): 6 кадам
Proyecto Laboratorio De Mecatrónica (Эки дөңгөлөктүү тең салмактуулук роботу): 6 кадам

Video: Proyecto Laboratorio De Mecatrónica (Эки дөңгөлөктүү тең салмактуулук роботу): 6 кадам

Video: Proyecto Laboratorio De Mecatrónica (Эки дөңгөлөктүү тең салмактуулук роботу): 6 кадам
Video: Спецагент Морозила ► 1 Прохождение Daymare: 1994 Sandcastle 2024, Ноябрь
Anonim
Image
Image

Бул "Эки дөңгөлөктүү тең салмактуулук роботу" программасын иштеп чыгуунун эң чоң мүмкүнчүлүгү болуп саналат. Төмөнкү роботтун жоктугу, анын мааниси жок дегенди билдирет, мантерендин эң акыркы пункту 0 де графвенад дель -гироскопия, жана сиз өзүңүздүн оригиналдуу пикириңизди караңыз.

1 -кадам: 1 -кадам: Материалдык керектөө

o Мекениктер:

а. 1 метро де варилла роскада (3/8)

б. 14 торнилло M3 x.07 x 6

в. 24 tuercas M8 hex

г. 3 торнилло M4 x.07 x 6

д. Filamento PLA (болжол менен 500 гр)

o Электрондук:

а. 1 үзгүлтүк өчүрүүчү

б. Arduino uno nano

в. 17 мотору жок

г. 2 айдоочу A4988

д. 3 каршылык 1к

f. HC-05

ж. MPU-6050

ч. 100uf же 47uf 2 конденсатор

мен. Batería lippo 11.1 V

o Piezas фаберликтери:

а. MDFтин 3 орду (120 x 170 x 6 мм)

б. Placa PCB (болжол менен 8 x 14 см)

в. Soporte batería

г. 2 мотор үчүн

д. 2 лланта

o Кошумча:

Программалар программалык камсыздоону сунуштайт.

а. Arduino IDE программасы

б. SolidWorks 2018

в. Kidcad программасы

2-кадам: 2-кадам: Система Mecánico-estructura

2-кадам: Mecánico-systema системасы
2-кадам: Mecánico-systema системасы
2-кадам: Mecánico-systema системасы
2-кадам: Mecánico-systema системасы

SolidWorksтун жалпы моделдерин түзүү, MDF үчүн эң арткы планшеттердин арткы бөлүктөрү. Төмөнкү шарттарда, эң төмөнкү тендерлерди жасоо үчүн, эң башкысы - ПКБ жана эң жогорку соло тендер лос orificios үчүн эң сонун тендер.

3 -кадам: 3 -кадам: Fabricación De Piezas 3D

SolidWorksтун эң сонун үлгүлөрүнүн бири, бул функциялардын бири дагы, эң чоңу да.35 см де диаметро, дагы бир жолу эң чоңу.

4 -кадам: 4 -кадам: Eléctrico/electrónico системасы

4 -кадам: Eléctrico/electrónico системасы
4 -кадам: Eléctrico/electrónico системасы

ПКБдан кийин, бул технологияны иштеп чыгуу үчүн, HC-05, Bluetooth HC-05 модулу, жана драйверлер 6050 ж. Las conexiones son las que se muestran en la imagen. Жөндөмдөрдү оңдоп -түзөө, бул жерде эч кандай функция жок, же эч кандай оңдоолор жок.

5 -кадам: 5 -кадам: Программалык камсыздоо

5 -кадам: Программалык камсыздоо
5 -кадам: Программалык камсыздоо

Ар кандай программалар колдонулганда, программанын үзгүлтүксүз иштеши, анексуалдык шилтеме жана аналогдук шилтемелердин толуктоосу:

Pos holdconfiguracion

// демейки POSHOLD көзөмөлү

#аныктоо POSHOLD_P 2.00

#аныктоо POSHOLD_I 0.0

#аныктоо POSHOLD_IMAX 20 // градус

#аныктоо POSHOLD_RATE_P 2.0

#аныктоо POSHOLD_RATE_I 0.08 // Шамалды башкаруу

#аныктоо POSHOLD_RATE_D 0.045 // POSHOLD_RATE 1 үчүн 2 же 3 аракет кылыңыз

#аныктоо POSHOLD_RATE_IMAX 20 // градус

// демейки Навигация PID утуштары

#define NAV_P 1.4

#define NAV_I 0.20 // Шамалды башкаруу

#аныктоо NAV_D 0.08 //

#аныктоо NAV_IMAX 20 // градус

1100

#Define MAXCHECK 1900

Акча табуу системасы үчүн эң чоң жетишкендик.

Gyro конфигурациясы:

жараксыз Gyro_init () {

TWBR = ((F_CPU / 400000L) - 16) / 2; // I2C саат ылдамдыгын 400 кГцке өзгөртүү

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

кечигүү (5);

i2c_writeReg (MPU6050_ADDRESS, 0x6B, 0x03); // PWR_MGMT_1 - SLEEP 0; ЦИКЛ 0; TEMP_DIS 0; CLKSEL 3 (Z Gyro шилтемеси менен PLL)

i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (маалыматтарды синхрондоштуруу үчүн киргизүү пинин өчүрүү); демейки DLPF_CFG = 0 => ACC өткөрүү жөндөмү = 260Hz GYRO өткөрүү жөндөмдүүлүгү = 256Гц)

i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: Толук масштаб 2000 град/сек

// AUX I2C үчүн I2C айланып өтүүсүн иштетүү

#аныкталган болсо (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_KR = 1; CLKOUT_EN = 0

#endif

}

жараксыз Gyro_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);

GYRO_ORIENTATION (((rawADC [0] 2, // диапазону: +/- 8192; +/- 2000 град/сек

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

GYRO_Common ();

}

жараксыз ACC_init () {

i2c_writeReg (MPU6050_ADDRESS, 0x1C, 0x10); // ACCEL_CONFIG-AFS_SEL = 2 (Толук масштаб = +/- 8G); ACCELL_HPF = 0 // спецификада бир нерсе туура эмес экенин эске алыңыз.

// эскертүү: бул жердеги спецификада бир нерсе туура эмес окшойт. AFS = 2 1G = 4096 менен, бирок менин өлчөөм боюнча: 1G = 2048 (жана 2048/8 = 256)

// бул жерде тастыкталган:

#аныкталган болсо (MPU6050_I2C_AUX_MASTER)

// бул этапта, MAG I2C айланып өтүү режиминде баштапкы MAG init функциясы аркылуу конфигурацияланат

// азыр биз MPUду I2C AUX порт аркылуу MAG менен иштөө үчүн I2C Master түзмөгү катары конфигурациялайбыз (бул жерде HMC5883 үчүн жасалган)

i2c_writeReg (MPU6050_ADDRESS, 0x6A, 0b00100000); // USER_CTRL - DMP_EN = 0; FIFO_EN = 0; I2C_MST_EN = 1 (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 кул ылдамдыгы шинасы = 400 кГц)

i2c_writeReg (MPU6050_ADDRESS, 0x25, 0x80 | MAG_ADDRESS); // I2C_SLV0_ADDR - I2C_SLV4_RW = 1 (окуу операциясы); I2C_SLV4_ADDR = MAG_ADDRESS

i2c_writeReg (MPU6050_ADDRESS, 0x26, MAG_DATA_REGISTER); // I2C_SLV0_REG - MAGнын 6 маалымат байты 6 реестрде сакталат. Биринчи каттоо дареги - 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 байт)

#endif

}

жараксыз ACC_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);

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

ACC_Common ();

}

// MAG алуу функциясын алмаштыруу керек, анткени биз азыр MPU түзмөгү менен сүйлөшөбүз

#аныкталган болсо (MPU6050_I2C_AUX_MASTER)

жараксыз Device_Mag_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 EXT_SENS_DATA үчүн биринчи эстутум бөлмөсү

#аныкталган болсо (HMC5843)

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

#endif

#аныкталган болсо (HMC5883)

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

#endif

#аныкталган болсо (MAG3110)

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

#endif

}

#endif

#endif

6 -кадам: 6 -кадам: Consejos

1. Diseño Mecánico: Utilizar y hacer el hastalıkño que mas les 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. Электрондук диагностика: ПКБ, паракорчулуктун деңгээли оңдоп -түзөө, эң башкысы hacer, higer manera hacer primero las conexiones en una protoboard, para comprobar que cuando la el pongan en el PCB el funcionamiento тениз оң. que agregar mas conexiones o PCV үчүн эң маанилүү нерсе.

3. Diseño Software: Guiarse con la programación expuesta, trac de de hacer program propión, a para llegar a entender bien el funcionamiento y en caso de que no funcionar la programación saber como cambiar las instrucciones for fun funcione düzeltme.

Сунушталууда: