Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: бағдарламалау
- 3 -қадам: Электр тізбегі
- 4 -қадам: 3D басып шығарылған бөлшектер
- 5 -қадам: құрастыру
Бейне: Су асты көлігі: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
**************** БҰЛ НҰСҚАУЛЫҚ ӘЛІМДЕ ЖҰМЫСТА
Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse жобасының талаптарын орындау үшін жасалған (www.makecourse.com).
Бұл нұсқаулық Оңтүстік Флорида университетінің Makecourse сыныбына мен ойлап тапқан су асты көлігінің құрылысына қысқаша шолу болады. Бұл нұсқаулықта мен есепшот материалдарымен қамтамасыз етемін, мен қолданған Arduino Uno басқару кодын және су асты қондырғысын қалай жинауға болатынын шолуды ұсынамын.
1 -қадам: материалдар
Мұнда қолданылатын электроника:
1x Arduino Uno
1x mobius экшн камерасы
1x mobius экшн-камера usb-b-A/V кабеліне
1x далалық көрініс 777 дисплей экраны
1x турник 50A ESC (электронды жылдамдықты реттеу)
1x Turnigy теңіз бағдарламалау картасы
1x T-моторлы навигатор 400кв
1x YEP 20A BEC (батареяны жою схемасы)
6x хобби король HK15139 су өткізбейтін серво
2x параллель T-қосқышының ж
2х18 дюймдік серво ұзартқыш сымдар
6х 6 дюймдік серво ұзартқыш сымдар
2x 1300mah 3s Lipo батареялары
2x 2500mah 4s Lipo батареялары
5х және 12в бекітілген шығысы бар 1х қуат тарату тақтасы
Құрылыс материалдары мұнда:
1х 3/16 дюймдік фанера парағы
1x 6 дюймдік ABS жеткізу түтігі
1x силикон түтігі
1x банка икемді тығыздағыш
ABS 3D принтер жіптерінің 4x катушкалары
1х24 дюймдік тартпаның сырғытпасы
Жылуды төмендететін түтік
1x10 фут скотч бренді duraloc velcro
1x JB Weld пластикалық эпоксидті
1х 6,2 дюймдік акрилді қауіпсіздік камерасының күмбезі
2 рет IP68 Ethernet арқылы өту
2x 24 дюймдік cat6 Ethernet кабелі
1x 200 футтық cat6 Ethernet кабелі
Қолданылатын жабдық келесідей болды:
24x 1/2 дюймдік жезден жасалған ағаш бұрандалар
24x ------ бұрандалар (серводормен бірге беріледі)
Қолданылған құралдар:
Филипп және тегіс бұрандалы бұрағыштар
Аллен кілттер жиынтығы
Пісіру темірі
Жылу мылтығы
3D принтері (мен Monoprice Maker Select Plus қолдандым)
2 -қадам: бағдарламалау
Төменде суасты қондырғысын басқару үшін жасалған код берілген. Мен.ino файлын жүктеуге болатындай етіп тіркедім.
Бұл код Arduino Uno үшін Arduino компиляторы арқылы жасалған.
/**********************************************************************************************************************************************************************
Автор: Джуна Пауэрс Күні: 11/9/2018 Мақсаты: Қашықтан басқарылатын су асты көлігінің бақылау коды ****************************** ************************************************ ************************************************ **********************************/#include // Сервистік кітапхананы қосқанда Servo roll1; // роллды Servo ролл2 деп жариялау; // роллды Servo elev1 серво деп жариялау1; // elev1 сервопривод2 серво деп жариялау; // elev2 -ді Servo yaw1 серво деп жариялау; // yaw1 -ді Servo yaw2 серво деп жариялау; // yaw2 -ді Servo esc серво деп жариялау; // esc -ті серво деп жариялау
int pot1 = 0; // pot1 айнымалы мәнін бүтін сан ретінде инициализациялау және оны 0 int pot2 = 1 -ге теңестіру; // pot2 айнымалысын бүтін сан ретінде инициализациялау және оны 2 int pot3 = 2 -ге тең ету; // pot3 айнымалы мәнін бүтін сан ретінде инициализациялау және оны 4 int pot4 = 3 -ке тең ету; // pot4 айнымалы мәнін бүтін сан ретінде инициализациялау және оны 5 int val1 -ге тең ету; // val1 айнымалы мәнін бүтін сан ретінде int val2; // val2 айнымалысын бүтін сан int val3 ретінде инициализациялау; // val3 айнымалысын бүтін сан int val4 ретінде инициализациялау; // val4 айнымалысын интвализациялау бүтін сан ретінде int val5; // val5 айнымалы мәнін бүтін сан int val6 ретінде инициализациялау; // val6 айнымалы мәнін бүтін инт val7 ретінде инициализациялау; // val7 айнымалы мәнін бүтін сан ретінде енгізу int val8; // val8 айнымалы мәнін Int mspeed бүтін сан ретінде инициализациялау; // mspeed айнымалы мәнін бүтін сан ретінде инициализациялау
void setup () {// Arduino инициализация кезеңі Serial.begin (9600); // Сериялық монитордың ролін инициализациялау roll1.attach (2); // Сервалық ролл1 цифрлық түйреуіш 2 ролл2.attach (3) бекіту; // Сервалық орамды2 цифрлық түйреуішке бекіту 3 elev1.attach (5); // servo elev1 цифрлық пин 5 elev2.attach (6) бекіту; // servo elev2 цифрлық пин 6 yaw1.attach (8) бекіту; // 8 yaw2.attach (9) цифрлық түйреуішіне yaw1 серво бекіту; // servo yaw2 цифрлық пин 9 esc.attach (11) бекіту; // Servo esc цифрлық түйрегішке бекіту 11 roll1.write (90); // Серво -ролл1 -ді оның орташаланған орамына жазу2.write (90); // Серво -ролл2 -ді орталықтандырылған күйге жазу elev1.write (90); // servo elev1 -ді орталықтандырылған позицияға жазу elev2.write (90); // servo elev2 -ді yaw1.write (90) орталықтандырылған күйіне жазу; // Сервис yaw1 -ді yaw2.write (90) орталық күйіне жазу; // Сервис yaw2 -ді оның орталық күйіне жазу esc.write (180); // Servo esc жазбасының орталықтандырылған күйге кешігуі (2500); // 2 секунд esc.write күтілуде (90); кешіктіру (5000); }
void loop () {// Негізгі код шексіз цикл үшін, егер (analogRead (pot1) <1 && analogRead (pot2) <1 && analogRead (pot3) <1 && analogRead (pot4) = 485 && val1 <= 540) {// «Джойстик» (потенциометр) орталықтандырылған roll1.write (90) екенін тексеру; // Серво -ролл1 орталық орамға жазу2.write (90); // Серво ролл2 орталық орталыққа жазу} else {// «Джойстик» орталықтандырылмаған болса не істеу керек val1 = карта (val1, 0, 1023, 10, 170); // val1 -ді 10 -нан 170 -ке дейін салыстыру және val1 roll1.write -ге тағайындау (val1); // val1 roll2.write (val1) анықтайтын позитонға servo roll1 жазу; // serv1 roll2 позициясына val1 арқылы анықталады
val2 = analogRead (pot2); // оқу pot2 (2 -ші аналогтық түйреуіш) және val2 ретінде мәнді сақтау, егер (val2> = 485 && val2 <= 540) {// «Джойстик» (потенциометр) elev1.write (90) ортасында орналасқанын тексеру; // servo elev1 орталық күйге көтерілу2.write (90) жазу; // servo elev2 орталық позицияға жазу} else {// «Джойстик» орталықтандырылмаған болса не істеу керек val3 = map (val2, 0, 1023, 10, 170); // val2 10 -нан 170 -ке дейін салыстыру және val3 val4 -ке тағайындау = map (val2, 0, 1023, 170, 10); // val2 170 -тен 10 -ға дейін салыстыру және val4 elev1.write (val3) тағайындау; // val3 elev2.write (val4) анықтаған позитонға servo elev1 жазу; // serv4 elev2 позициясына val4 арқылы анықталады}
val5 = analogRead (pot3); // оқу pot3 (4 -ші аналогтық түйреуіш) және мәнін val5 ретінде сақтау, егер (val5> = 485 && val5 <= 540) {// «Джойстик» (потенциометр) yaw1.write (90) ортасында орналасқанын тексеру; // Сервис yaw1 орталық күйге жазу yaw2.write (90); // Сервис yaw2 орталық позицияға жазу} else {// «Джойстик» орталықтандырылмаған болса не істеу керек val6 = map (val5, 0, 1023, 10, 170); // val5 -ті 10 -нан 170 -ке дейін салыстыру және val6 -ға тағайындау val7 = map (val5, 0, 1023, 170, 10); // val5 10 -нан 170 -ке дейін салыстыру және val7 -ге тағайындау yaw1.write (val6); // val6 yaw2.write (val7) анықтаған позитонға yaw1 сервоін жазу; // val7 анықталған позитонға yaw2 серво жазу
val8 = analogRead (pot4); // Оқу кастрюлі 4 (аналогтық түйреуіш 5) және val8 мәнін val8 ретінде сақтау 80) кешіктіру (1000); // 1000 миллисекунд күтілуде} esc.write (val8); // val8 mspeed = val8 анықтайтын жылдамдыққа esc servo жазу; // Салыстыру үшін ағымдағы жылдамдықты сақтау}} Serial.print («дроссель»); // «Throttle» сөзін көрсету үшін Serial Print пайдалану Serial.println (val8); // Дроссель Serial.print («ролл») мәнін көрсету үшін сериялық басып шығаруды пайдалану; // «Roll» сөзін көрсету үшін Serial Print пайдалану Serial.println (val1); // Сериялық басып шығаруды пайдалану, орам Serial.print («қадам») күйіне орнатылған мәнді көрсету үшін; // «Pitch» сөзін көрсету үшін Serial Print пайдалану Serial.println (val3); // pitch1 мәні Serial.println (val4) мәнін көрсету үшін Serial Print пайдалану; // Serial Print көмегімен pitch2 мәні Serial.print («yaw») мәнін көрсету үшін; // Serial.println (val6) «Yaw» сөзін көрсету үшін Serial Print пайдалану; // Serial Print функциясын қолдану yaw1 мәні Serial.println (val7) мәнін көрсету үшін; // Serial Print көмегімен yaw2 мәнін көрсету үшін}
3 -қадам: Электр тізбегі
Суға бататын қондырғыдағы схеманың суреті қоса берілген.
Мен сымды жеңілдету үшін Arduino үшін арнайы қалқан жасадым. Мен Eagle Schematic & Board файлдарын қалқанға жүктедім. Мен тақтаны тегістеу үшін LPKF S63 қолдандым. басқару тақтасы алдыңғы жағында орналасқан серверлер Arduino -ға қосылады
контроллер ішіндегі тізбектің фотосуреті қоса берілген.
4 -қадам: 3D басып шығарылған бөлшектер
Мен барлық файлдарды Monoprice Maker Select Plus -те басып шығардым. Мен Esun ABS 1.75мм жіпшесін қолдандым. Менің басып шығару параметрлері баспа температурасы үшін 105 градус C және экструдер температурасы үшін 255 градус болды. Әр бөліктің тек 1 бөлігі ғана қажет, тек сізге алдыңғы қанаттың 6 данасы қажет болады. Назар аударыңыз, бұл бөлшектер қабырғаның қалыңдығы 1000 мм етіп басылған. Бұл бөлшектер 100% толтырумен басып шығарылуы үшін жасалды, осылайша олар жағымсыз болады.
5 -қадам: құрастыру
********************************* ЖАҚЫНДА ШЫҒАДЫ *************** *******************
Ұсынылған:
Лондонның жер асты картасының сағаты: 9 қадам (суреттермен)
Лондондағы жер асты картасы сағаты: 2014 жылы, Лондонда 3D басып шығару бойынша кеңес беру практикасында және Stratasys машинасын пайдаланып түрлі түсті литофандармен тәжірибе жасағанда, мен өз қолыммен сыйлық жасаймын. кеңселер. Мен едім
Су асты жүзу бассейні Bluetooth Күнді тазартатын робот: 8 қадам
Су асты жүзу бассейні Bluetooth күн сәулесінен тазартатын робот: Менің үйімде менің бассейнім бар, бірақ жиналмайтын бассейндердің ең үлкен мәселесі - судың сүзгісі түспейтін түбіне жиналған кір. Сондықтан мен кірді түбінен тазартудың жолын ойладым. Ал басқалары бойынша
OMeJI - 15 тобы SubBob Squarepants Су асты: 37 қадам
OMeJI - 15 тобы SubBob Squarepants суға бататын: Бұл 1/2 дюймдік 40 кестеге негізделген ПВХ суға бататын/қашықтан басқарылатын көлік құралы. Ол қос ілгегі бар тоғыз футтық бассейннің түбінде екі жалауды алуға арналған. Тулар Академия орта мектебі ұйымдастырған байқаудың бір бөлігі болды
Су асты көлігі: 3 қадам
Underwater Rover: Бұл жобада біз зерттелмеген мұхиттарымыздың мәселесін су астындағы ровер жасау арқылы шешеміз. Бұл ровер мұхиттың үлкен тереңдігін зерттей алады және оның айналасында мәліметтер жинай алады. Көптеген компаниялар
BTS - 28 команда (R2 -DTimbs) Су асты/Су асты қайығы: 17 қадам
BTS - 28 тобы (R2 -DTimbs) Суға бататын/Су асты: жергілікті жабдықтар дүкенінен табуға болатын материалдардан су асты құрылысына арналған оқулық. Ақырғы су асты қондырғысы алға, артқа, бұрылуға, жоғары жылжуға және жылжуға мүмкіндік алады. су бойымен төмен