Мазмұны:
- 1 -қадам: Жабдық
- 2 -қадам: микроконтроллерді орнату
- 3 -қадам: MATLAB орнату
- 4 -қадам: Функциялар
- 5 -қадам: тестілеу
- 6 -қадам: Қорытынды
Бейне: Arduino кондиционері моделі: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Біздің команданың маркетингтік мақсаттағы ақылды пойыз құрылғысының моделін құруға қабілеттілігін көрсету шеңберінде температура сенсоры тізбектегі деректерді оқитын және ақпаратты температура мәніне түрлендіретін жүйені құру болды. жарықтандырылған экранда көрсетіледі және желдеткіштің қосылатынына немесе өшірілетініне назар аударылады. Мақсаты - жақын маңдағы температураны көрсететін автоматтандырылған жүйені қолдана отырып, жолаушылардың жүру жағдайын реттеуге көмектесу.
Arduino микроконтроллер жинағын және MATLAB 2016b және 2017b нұсқаларын қолдана отырып, біз бұл нәтижелерді салыстырмалы түрде сәтті көрсете алдық.
1 -қадам: Жабдық
Микроконтроллер жиынтығы келесідей:
-Sparkfun Қызыл тақта
-Sparkfun нан тақтасы
-LCD тақтасы
-Потенциометр
-Температура сенсоры
-Серво
-USB/Arduino адаптері
-Жампер сымдар (25, минимум)
USB кірісі бар ноутбук (Windows 10)
3D басып шығарылған нысан (міндетті емес)
2 -қадам: микроконтроллерді орнату
Мұны қарастырыңыз: бүкіл жүйе біртұтас бірліктерден тұрады, олардың әрқайсысы түпкілікті нәтижеге маңызды факторды қолданады. Осы себепті, сымдарды шиеленіскен беспорядокқа қоспас бұрын, схеманың бейнесін орнату ұсынылады.
Әрбір жеке модельдің суреттерін Микроконтроллер құралдар жиынтығының нұсқаулығынан немесе оның веб -сайтынан табуға болады
Тақтаға температура сенсоры, потенциометр, серво қосқыштары мен СКД орнатудан бастаңыз. СКД өлшемі мен сымдардың санына қойылатын талапқа байланысты оны басқа бөліктермен бірге нан тақтасының жартысына орналастыру ұсынылады, ал потенциометр біреуге арналған аймақта болуы керек. оның тұтқасын оңай айналдырыңыз.
Анықтама үшін:
СКД: c1-16
Сервис: i1-3 (GND + -)
Температура сенсоры: i13-15 (- GND +)
Потенциометр: g24-26 (- GND +)
Әрі қарай, микроконтроллер қондырғыларының әрбір түйреуішіне қосқыш сымдарды қосуды бастаңыз; жалпы схемада ерікті болса да, дизайн келесі маңызды байланыстармен құрылды:
Потенциометрді СКД -ге қосу: f25 - e3
Servo GND сымы: j1 - сандық кіріс 9
Температура сенсоры GND: j14 - Аналогтық кіріс 0
СКД кірістері: e11-e15-Сандық кіріс 2-5
e4 - сандық кіріс 7
e6 - Сандық кіріс 6
(Ескерту: Егер сәтті болса, СКД жиегіндегі екі шам да жанып тұруы керек және потенциометр адаптерден қуат алғаннан кейін оның жарықтығын реттеуге көмектеседі.)
Қосымша: 3D баспа объектісі талаптың бөлігі ретінде пайдаланылды. Нәзік бөлшектердің ықтимал зақымдалуын болдырмау үшін СКД айналасында жең ретінде кеңейтілген корпус қойылды. СКД экранының өлшемдері шамамен 2-13/16 «x 1-1/16» x 1/4 «болып шықты, сондықтан биіктігі ғана айтарлықтай өзгерді. Егер 3D принтері қол жетімді болса, жеке объектіні қосуды қарастырыңыз. Сонымен қатар, өлшемдер әр түрлі болуы мүмкін екенін ескеріңіз.
3 -қадам: MATLAB орнату
MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle веб -сайтында қол жетімді MATLAB (2016а және одан әрі) жаңартылған нұсқасын орнатыңыз. Ашылғаннан кейін, үй қойындысындағы қондырмаларға өтіңіз және қол жетімді болу үшін микроконтроллер командалары үшін «Arduino жабдықтарына арналған MATLAB қолдау пакетін» жүктеңіз.
Аяқтағаннан кейін микроконтроллердің компьютерге/ноутбукке қосылуын анықтау үшін тест жүргізуге болады. Оларды құралдар жиынтығынан USB адаптерімен қосқаннан кейін «fopen (serial ('nada'))» пәрменін енгізіңіз.
Қате туралы хабар қалқымалы терезеде қосқышты «COM#» деп көрсетеді, ол arduino объектісін жасау үшін қажет, егер ол әрқашан бірдей кіріс болса.
СКД Arduino кітапханасына тікелей қосылмағандықтан, хабарларды көрсету үшін жаңа кітапхана құру керек. «Arduino LCD» іздеп, оны +arduinoioaddons қалтасына орналастырғаннан кейін MATLAB анықтамалық терезесінен табылған СКД мысалынан LCDAddon.m файлын жасау немесе ұсынылған қысылған қалтаны пайдаланып оның мазмұнын жоғарыда көрсетілгенге көшіру ұсынылады. қалта
Егер сәтті болса, MATLAB -та Arduino объектісін құру коды төменде көрсетілгендей болады.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
4 -қадам: Функциялар
MATLAB функциясын жасаңыз. Кірістер үшін біз «eff» және «T_min» айнымалыларын қолданамыз; шығыстар үшін, жалпы конструкцияда қажет болмаса да, біз нәтижелерден деректерді сақтау әдісі ретінде «В» айнымалысын қолдандық. «Эфф» кірісі серво максималды жылдамдығын басқаруға мүмкіндік береді, ал «T_min» кірісі қалаған минималды температураны басқарады. Осылайша «В» мәні уақыт, температура және желдеткіштің тиімділігі үшін үш бағаннан тұратын матрицаны шығаруы керек. Сондай-ақ, егжей-тегжейге бонус ретінде, төменде келтірілген кодта if-операторы бар, ол желдеткіш жылдамдығы қажетті минималды температураға жақындағанда елу пайызға төмендейді.
Егер барлық кірістер мен өтпелі сымдар дәл орналастырылған болса және arduino қосылымының порты COM4 болса және функцияның аты «fanread» болса, келесі код жеткілікті болуы керек:
функция [B] = желдеткіш оқу (Tmin, eff)
анық а; таза lcd; a = arduino ('com4', 'uno', 'Кітапханалар', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % уақыт секундпен
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (lcd, 'Жолдар', 2, 'Бағандар', 2);
егер эфф> = 1 || e <0
қате ('эффект 0 мен 1 арасында орнатылмаса, желдеткіш қосылмайды «)
Соңы
t = 1 үшін: циклдар/интервалдардың 10 % саны
анық c; % қатені қайталауға жол бермейді
v = readVoltage (a, 'A0');
TempC = (v-0.5)*100; 2,7-5,5 В кернеу диапазоны үшін % бағалау
егер TempC> Tmin болса TempC
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff/2); % сервоприводты жарты жылдамдықта қосады
spd = 50;
басқа
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff); % берілген жылдамдықта серво қосады
spd = 100;
Соңы
басқа
c = ['Temp', num2str (TempC, 3), 'C Off'];
writePWMDutyCycle (a, 'D9', 0); % қосылған болса, өшіріледі
spd = 0;
Соңы
printLCD (lcd, c);
үзіліс (3); цикл үшін % үш секунд өтеді
уақыт (t) = t.*3;
tempplot (t) = TempC;
әрекет (t) = spd;
қосалқы жоспар (2, 1, 1)
сюжет (уақыт, темплот, 'b-o') % сызықтық графигі
ось ([0 33 0 40])
xlabel ('Уақыт (секунд)')
ylabel ('Температура (C)')
күте тұр
сюжет ([0 33], [Tmin Tmin], 'r-')
күте тұр
сюжет ([0 33], [Tmin+2 Tmin+2], 'g-')
қосалқы жоспар (2, 1, 2)
бар (уақыт, әрекет) % жолақ графигі
xlabel ('Уақыт (секунд)')
этикетка ('Тиімділік (%)')
Соңы
B = транспозиция ([уақыт; уақытша жоспар; әрекет]);
Соңы
Енді функция аяқталғаннан кейін тестілеудің уақыты келді.
5 -қадам: тестілеу
Енді функцияны командалар терезесінде «function_name (input_value_1, input_value_2)» енгізу арқылы тексеріңіз және қараңыз. Arduino объектісі жоқ екеніне көз жеткізіңіз; олай болса, оны жою үшін «clear a» пәрменін қолданыңыз. Егер қателер орын алса, кез келген қосқыштардың дұрыс емес екенін немесе қате цифрлық немесе аналогтық кірістердің қолданылғанын тексеріңіз. Нәтижелер әр түрлі болады деп күтілуде, бірақ бұл кейбір секіргіш сымдар мен температура сенсорының орналасуына байланысты болуы мүмкін.
Нәтижелерді күту серво өнімділігінде және СКД деректерінде өзгерістерге әкелуі керек. Әр үш секундтық интервалда мәтін жолында Цельсий бойынша температура көрсетілуі керек және желдеткіш толық жылдамдықта, жарты жылдамдықта немесе жоқ жылдамдықта жұмыс істеп тұрған кезде желдеткіштің жұмыс істеп тұрған -қосылмағанын көрсетуі керек. Деректер сәйкес келмеуі керек, бірақ егер әр түрлі нәтиже қажет болса, «Tmin» мәні тізбек шығаратын орташа температураға жақын орналасады.
6 -қадам: Қорытынды
Сынақ пен қателік арқылы орындалуы қиын міндет болса да, соңғы нәтижелер өте қызықты және қанағаттанарлық болып шықты. Бұл жүйе қанша күрделі машинаны, тіпті олардың кейбір бөлшектерін белгілі бір мақсатқа жету үшін бір -біріне тәуелсіз бөлшектердің жиынтығы ретінде қарауға болатынын көрсетуге көмектеседі.
Қорытынды жобаның қарапайым дизайнының арқасында оның өнімділігін жақсартуға мүдделі адамдар жобаны жақсартуға және жетілдіруге мүмкіндік беретін түпкілікті өнімге түзетулер мен өзгертулер енгізе алады. Алайда, бұл тізбектегі осал тұстарды көрсетеді, мысалы, серво активтенуі, бұл тізбектің кернеу көрсеткішінің біртіндеп ауытқуына әкеледі, бұл жүйенің ешқашан бірдей нәтиже бермеуіне әкелуі мүмкін. Сондай -ақ, «эфф» 0,4 және одан жоғары орнатылған кезде серво жылдамдығының өзгеруін көруге қатысты мәселелер туындады. Егер температура мен ылғалдылық сенсоры қолданылса, соңғы модель күрделірек болар еді, бірақ сәйкес келетін мәндерді береді. Дегенмен, бұл күрделі машинаның қарапайым бөлшектердің тіркесімі ретінде жұмыс істей алатынын көрсететін тәжірибе.
Ұсынылған:
Ақысыз сымсыз бұрғылау моделі жаңартылды!: 4 қадам
Арзан сымсыз бұрғылау модулін жаңарту!: Бұл жолы мен арзан сымсыз бұрғылау батареясын қалай жаңартуға болатынын айтамын. Біз жаңартатын жалғыз нәрсе - бұл тек батареяның өзі, себебі арзан бұрғылау батареясының сыйымдылығы аз. Біз батареяға қандай да бір функция қосамыз. ! Қосылған мүмкіндіктер: зарядтау
Arduino Servo Motors арқылы жұмыс жасайтын бірегей сағат моделі: 5 қадам
Ардуино серво қозғалтқыштарымен жұмыс істейтін бірегей сағат моделі: Мен осы нұсқаулықпен сізге Arduino Nano және Servo қозғалтқыштарының көмегімен сағатты қалай жасау керектігін көрсетемін. Мұны істеу үшін сізге келесі элементтер қажет:
(Ascensor) Arduino, App Inventor және басқа ақысыз бағдарламалық қамтамасыз етуді қолданатын лифт моделі: 7 қадам
(Ascensor) Arduino, App Inventor және басқа ақысыз бағдарламалық қамтамасыз етуді қолданатын лифт моделі: ESPConstrucción, paso a paso, de un ascensor a escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), қолданбалы өнертапқыш (коммерциялық панель) ascensor бақылауы) ақысыз CAD және LibreCAD үшін
Ұялы телефон инфрақызыл кондиционері қашықтан басқару пульті DIY өндірісі: 7 қадам
Ұялы телефонның инфрақызыл кондиционері қашықтан басқару пульті DIY өндірісі: Жаздың ыстық мезгілінде үйге немесе кеңсеге барғанда кондиционерді қосқыңыз келеді, бірақ пультті біраз уақыт таба алмайсыз. Бұл өте тітіркендіргіш нәрсе. Бұл ұялы телефон шықпайтын заманда ұялы телефонды … ретінде қолдануға бола ма?
DIY портативті полистирол кондиционері: 7 қадам (суреттермен)
DIY портативті полистирол көбік кондиционері: Ей, балалар, мен соңғы нұсқаулықта стирофон кескішті қалай жасау керектігін көрсеттім, осы аптада мен сізге стирофабельді портативті кондиционер жасауды көрсетемін. Бұл кондиционер коммерциялық модельді алмастырмайды, бірақ оны салқындату үшін қолдануға болады