Სარჩევი:

Proyecto Laboratorio De Mecatrónica (ორი ბორბლის ბალანსის რობოტი): 6 ნაბიჯი
Proyecto Laboratorio De Mecatrónica (ორი ბორბლის ბალანსის რობოტი): 6 ნაბიჯი

ვიდეო: Proyecto Laboratorio De Mecatrónica (ორი ბორბლის ბალანსის რობოტი): 6 ნაბიჯი

ვიდეო: Proyecto Laboratorio De Mecatrónica (ორი ბორბლის ბალანსის რობოტი): 6 ნაბიჯი
ვიდეო: Proyecto Final | Laboratorio de Sistemas Mecatrónicos 2024, ნოემბერი
Anonim
Image
Image

ეს არის ყველაზე პოპულარული პროდიუსერი, რომლითაც თქვენ შეძლებთ გამოიყენოთ ორი ბორბლიანი ბალანსის რობოტი, რომელიც დაგეხმარებათ კონცეფციის ახსნაში. Este es un sistema que შედგება robot no se debe caer, de de de 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 su posición original.

ნაბიჯი 1: ნაბიჯი 1: მასალის მოთხოვნა

o მექანიკური:

ა 1 metro de varilla roscada (3/8)

ბ 14 ტორნილო M3 x.07 x 6

გ 24 tuercas M8 hex

დ 3 ტორნილო M4 x.07 x 6

ე Filamento PLA (დაახლოებით 500 გრ.)

o ელექტრონიკები:

ა 1 გამთიშველი გადამრთველი

ბ არდუინო უნო ო ნანო

გ 2 ძრავა 17

დ 2 მძღოლი A4988

ე 3 წინააღმდეგობა 1 კ

ვ HC-05

ზ MPU-6050

თ 2 capacitores de 100uf o 47uf

მე. ბატერია ლიპო 11.1 ვ

o Piezas fabricadas:

ა 3 ადგილი MDF (120 x 170 x 6 მმ)

ბ Placa PCB (დაახლოებით 8 x 14 სმ)

გ Soporte batería

დ 2 გზა ძრავისთვის

ე 2 ლანტა

o დამატებითი:

პროგრამული უზრუნველყოფა გვთავაზობს წარმოების პროცესს.

ა Arduino IDE პროგრამული უზრუნველყოფა

ბ SolidWorks 2018

გ Kidcad პროგრამული უზრუნველყოფა

ნაბიჯი 2: ნაბიჯი 2: Sistema Mecánico-estructura

ნაბიჯი 2: Sistema Mecánico-estructura
ნაბიჯი 2: Sistema Mecánico-estructura
ნაბიჯი 2: Sistema Mecánico-estructura
ნაბიჯი 2: Sistema Mecánico-estructura

SolidWorks– ის ძირითადი მოდელი, რომელიც გამოიყენება MDF– სთვის, არის გაფართოებული სამუშაოები შემდგომი გამოყენებისათვის. ეს არის პლაკატები, რომლებიც განსხვავდება მათგან, რომლებიც წარმოიქმნება ქვემოთ მოყვანილ ტენდერებში, რომლებიც წარმოიქმნება ძრავის ძრავისა და ძრავის ცენტრალურ ცენტრში, ასევე ცენტრალური სისტემისთვის, რომელიც დაფუძნებულია PCB– ზე და უმაღლესი სოლო ტენდერებზე, რომლებიც დაკავშირებულია სტრუქტურასთან.

ნაბიჯი 3: ნაბიჯი 3: Fabricación De Piezas 3D

SolidWorks, estop soportes pueden ser modificados si aso lo desean, para un meor funcionamiento, los soportes tienen orificios de.35 cm de dimetro, para una mejor sujeción.

ნაბიჯი 4: ნაბიჯი 4: Sistema Eléctrico/electrónico

ნაბიჯი 4: Eléctrico სისტემა/ელექტრონიკა
ნაბიჯი 4: Eléctrico სისტემა/ელექტრონიკა

PCB– ის გამოყენებისათვის, PCB– ის კორესპონდენციის შემუშავების მიზნით, შეგიძლიათ გამოიყენოთ arduino, Bluetooth HC-05 მოდული, გიროსკოპია 6050 და 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 sistema no funcione correctamente y no lo obedezca.

ნაბიჯი 5: ნაბიჯი 5: პროგრამული უზრუნველყოფა

ნაბიჯი 5: პროგრამული უზრუნველყოფა
ნაბიჯი 5: პროგრამული უზრუნველყოფა

პროგრამის გამოყენებისათვის arduino, გაგრძელება anexamos una parte de la programación con ახსნაში კორესპონდენციის, igual anexo link, con el codigo completeo:

პოზიციის კონფიგურაცია

// ნაგულისხმევი 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 // სცადეთ 2 ან 3 POSHOLD_RATE 1 -ისთვის

#განსაზღვრეთ POSHOLD_RATE_IMAX 20 // გრადუსი

// ნაგულისხმევი ნავიგაციის PID მოგება

#განსაზღვრეთ NAV_P 1.4

#განსაზღვრეთ NAV_I 0.20 // ქარის კონტროლი

#განსაზღვრეთ NAV_D 0.08 //

#განსაზღვრეთ NAV_IMAX 20 // გრადუსი

#განსაზღვრეთ MINCHECK 1100

#განსაზღვრეთ MAXCHECK 1900

Aqui se modifica los gains para el poss hold del sistema.

გირო კონფიგურაცია:

ბათილია 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 - ძილი 0; ციკლი 0; TEMP_DIS 0; CLKSEL 3 (PLL Z Gyro მითითებით)

i2c_writeReg (MPU6050_ADDRESS, 0x1A, MPU6050_DLPF_CFG); // CONFIG - EXT_SYNC_SET 0 (მონაცემების სინქრონიზაციისათვის შეყვანის პინის გამორთვა); ნაგულისხმევი DLPF_CFG = 0 => ACC გამტარობა = 260Hz GYRO გამტარობა = 256Hz)

i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: სრული მასშტაბი დადგენილია 2000 გრადუს/წმ

// ჩართვა I2C შემოვლითი AUX 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_EN = 1; CLKOUT_EN = 0

#დაასრულე თუ

}

void Gyro_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x43);

GYRO_ORIENTATION (((rawADC [0] 2, // დიაპაზონი: +/- 8192; +/- 2000 გრადუსი/წმ

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

GYRO_ საერთო ();

}

ბათილია 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 არის კონფიგურირებული ორიგინალური MAG init ფუნქციის მეშვეობით I2C შემოვლითი რეჟიმში

// ახლა ჩვენ კონფიგურაციას ვაკეთებთ MPU- ს, როგორც I2C სამაგისტრო მოწყობილობას, რომელიც MAG- ს გაუმკლავდება I2C AUX პორტის საშუალებით (გაკეთებულია აქ 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 - 6 მონაცემთა ბაიტი MAG ინახება 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 ბაიტი)

#დაასრულე თუ

}

ბათილია 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)

void 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]));

#დაასრულე თუ

#განსაზღვრული (HMC5883)

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

#დაასრულე თუ

#განსაზღვრული (MAG3110)

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

#დაასრულე თუ

}

#დაასრულე თუ

#დაასრულე თუ

ნაბიჯი 6: ნაბიჯი 6: Consejos

1. სხვა მექანიზმი: გამოიყენეთ ეს დაავადება, რომელიც მოგეხსენებათ, რომ გამოიყენოთ რობოტი, მედიდურობა, როგორც 3D, არ არის საკმარისი იმისათვის, რომ გამოიყენოთ ეს 3D quede a la perfección.

2. მექანიკური მახასიათებლები: 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 ten el sea correcto რა თანხმობაა კონფიგურაციაზე, თუ გსურთ გამოიყენოთ PCB.

3. პროგრამული უზრუნველყოფის პროგრამული უზრუნველყოფა: პროგრამის პროგრამული უზრუნველყოფის გაცნობა, რომელიც მოიცავს პროგრამის პროგრამის გამოყენებას, რომელიც საშუალებას მოგცემთ გაეცნოთ ჩვენს საქმიანობას და გააფართოვოს ის, რაც ხელს შეუწყობს პროგრამის ფუნქციონირების კორექტირებას.

გირჩევთ: