সুচিপত্র:

Proyecto Laboratorio De Mecatrónica (Two Wheel Balance Robot): 6 ধাপ
Proyecto Laboratorio De Mecatrónica (Two Wheel Balance Robot): 6 ধাপ

ভিডিও: Proyecto Laboratorio De Mecatrónica (Two Wheel Balance Robot): 6 ধাপ

ভিডিও: Proyecto Laboratorio De Mecatrónica (Two Wheel Balance Robot): 6 ধাপ
ভিডিও: Amazing arduino project 2024, নভেম্বর
Anonim
Image
Image

En este proyecto se mostrara, el funcionamiento y el como hacer para elaborar un "Two wheel balance robot" paso a paso y con explicación y concejos। Este es un sistema 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 su posición original।

ধাপ 1: ধাপ 1: উপাদান রিকোরিডো

o মেকানিক্স:

ক। 1 মেট্রো ডি ভারিলা রোসকাডা (3/8)

খ। 14 টর্নিলো এম 3 এক্স.07 এক্স 6

গ। 24 টিউয়ারকাস এম 8 হেক্স

ঘ। 3 টর্নিলোস M4 x.07 x 6

ই ফিলামেন্টো পিএলএ (প্রায় 500 গ্রাম)

o ইলেক্ট্রনিক্স:

ক। 1 ইন্টারপ্রেটার সুইচ

খ। Arduino uno o nano

গ। 2 মোটর নেমা 17

ঘ। 2 ড্রাইভার A4988

ই 3 প্রতিরোধক 1k

চ। HC-05

ছ। এমপিইউ -6050

জ। 2 ক্যাপাসিটরস 100uf ও 47uf

আমি Batería lippo 11.1 V

o Piezas fabricadas:

ক। MDF এর 3 টি প্ল্যাকাস (120 x 170 x 6 মিমি)

খ। Placa PCB (প্রায় 8 x 14 সেমি)

গ। Soporte batería

ঘ। 2 soporte প্যারা মোটর

ই 2 ল্যান্টাস

o অতিরিক্ত:

রিয়েলাইজেশন ডেল প্রজেক্টোর জন্য সফটওয়্যার সুপারিশ।

ক। Arduino IDE সফটওয়্যার

খ। SolidWorks 2018

গ। কিডক্যাড সফটওয়্যার

ধাপ 2: ধাপ 2: সিস্টেমা মেকানিকো-এস্ট্রাকচার

ধাপ 2: সিস্টেমা মেকানিকো-ইস্ট্রাক্টুরা
ধাপ 2: সিস্টেমা মেকানিকো-ইস্ট্রাক্টুরা
ধাপ 2: সিস্টেমা মেকানিকো-ইস্ট্রাক্টুরা
ধাপ 2: সিস্টেমা মেকানিকো-ইস্ট্রাক্টুরা

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: ধাপ 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 mejorn sujeci।

ধাপ 4: ধাপ 4: সিস্টেম ইলেক্ট্রিকো/ইলেক্ট্রনিকো

ধাপ 4: সিস্টেম ইলেক্ট্রিকো/ইলেক্ট্রনিকো
ধাপ 4: সিস্টেম ইলেক্ট্রিকো/ইলেক্ট্রনিকো

En este paso utilizamos una PCB, para elaborar las conexiones correspondentes, haciendo el enlace entre el arduino, el modulo de Bluetooth HC-05, un giroscopio 6050 y los ড্রাইভার 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 sistema no funcione correctamente y no lo obedezca।

ধাপ 5: ধাপ 5: সফটওয়্যার

ধাপ 5: সফটওয়্যার
ধাপ 5: সফটওয়্যার

Para el programma utizamos un arduino, a Continuación anexamos una parte de la programmación con su explicación correspondiente, al igual anexo link, con el codigo completo:

অবস্থান কনফিগারেশন

// ডিফল্ট 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 // ডিগ্রী নির্ধারণ করুন

// ডিফল্ট ন্যাভিগেশন পিআইডি লাভ

#NAV_P 1.4 নির্ধারণ করুন

#NAV_I 0.20 // বায়ু নিয়ন্ত্রণ নির্ধারণ করুন

#NAV_D 0.08 সংজ্ঞায়িত করুন //

#NAV_IMAX 20 // ডিগ্রি নির্ধারণ করুন

#MINCHECK 1100 নির্ধারণ করুন

#সর্বোচ্চ 1900 নির্ধারণ করুন

Aqui se modifica los gains para el poss hold del systemema।

কনফিগারেশন গাইরো:

অকার্যকর Gyro_init () {

TWBR = ((F_CPU / 400000L) - 16) / 2; // I2C ঘড়ির হার 400kHz এ পরিবর্তন করুন

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); // কনফিগ - EXT_SYNC_SET 0 (ডেটা সিঙ্কের জন্য ইনপুট পিন নিষ্ক্রিয় করুন); ডিফল্ট DLPF_CFG = 0 => ACC ব্যান্ডউইথ = 260Hz GYRO ব্যান্ডউইথ = 256Hz)

i2c_writeReg (MPU6050_ADDRESS, 0x1B, 0x18); // GYRO_CONFIG - FS_SEL = 3: পূর্ণ স্কেল 2000 ডিগ্রী/সেকেন্ডে সেট

// AUX I2C এর জন্য I2C বাইপাস সক্ষম করুন

#if সংজ্ঞায়িত (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

#যদি শেষ

}

অকার্যকর 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)

// এখানে নিশ্চিত:

#if সংজ্ঞায়িত (MPU6050_I2C_AUX_MASTER)

// এই পর্যায়ে, MAG I2C বাইপাস মোডে মূল MAG init ফাংশনের মাধ্যমে কনফিগার করা হয়

// এখন আমরা I2C AUX পোর্টের মাধ্যমে MAG পরিচালনা করার জন্য MPU কে I2C মাস্টার ডিভাইস হিসেবে কনফিগার করি (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 স্লেভ স্পিড বাস = 400kHz)

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 বাইট)

#যদি শেষ

}

অকার্যকর ACC_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x3B);

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

ACC_Common ();

}

// এমএজি অধিগ্রহণ ফাংশনটি প্রতিস্থাপন করতে হবে কারণ আমরা এখন এমপিইউ ডিভাইসের সাথে কথা বলছি

#if সংজ্ঞায়িত (MPU6050_I2C_AUX_MASTER)

অকার্যকর Device_Mag_getADC () {

i2c_getSixRawADC (MPU6050_ADDRESS, 0x49); // 0x49 হল EXT_SENS_DATA এর জন্য প্রথম মেমরি রুম

#if সংজ্ঞায়িত (HMC5843)

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

#যদি শেষ

#if সংজ্ঞায়িত (HMC5883)

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

#যদি শেষ

#if সংজ্ঞায়িত (MAG3110)

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

#যদি শেষ

}

#যদি শেষ

#যদি শেষ

ধাপ 6: ধাপ 6: 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. ডিজাইনিও ইলেক্ট্রিকো: 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 que agregar mas conexiones o volver a imprimir el PCB।

3. ডিজাইনিও সফটওয়্যার: গিয়ার্স কন লা প্রোগ্রামের বেস এক্সপুস্টা, পেরো ট্রটার ডি হেসার সু প্রপিয়া প্রোগ্রাম, প্যারা লেগার এন্টেন্ডার বিয়ান এল ফানসিওনামিয়েন্টো ওয়াই এন ক্যাসো ডি কিউ ফানসিওনার লা প্রোগামাসিয়ান স্যাবার কমো ক্যাম্বিয়ার লাস ইন্সট্রাকশন প্যারা কিউ ফানসিওন সংশোধন।

প্রস্তাবিত: