Мазмұны:
- Жабдықтар
- 1 -қадам: Оптикалық кодерлер
- 2 -қадам: 3D басып шығарылған бөлшектер
- 3 -қадам: Сымдардың диаграммасы
- 4 -қадам: Arduino коды
- 5 -қадам: Бірінші сканерлеу
Бейне: XYZ нүктелік сканері құтқарылған айналмалы кодерлерді қолданады: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Менің жұмыс орнымнан көп мөлшерде тасталған айналмалы оптикалық кодерлерді алып, ақыры олармен қызықты/пайдалы нәрсе жасауды шештім.
Мен жақында өз үйіме жаңа 3D принтер сатып алдым және оны 3D сканерден артық не мақтауға болады! Бұл жоба сонымен қатар қажетті бөлшектерді өндіру үшін 3D принтерімді пайдалануға тамаша мүмкіндік берді.
Жабдықтар
Оптикалық кодерлер және сәйкес оптикалық датчиктер
Arduino UNO
қосымша прототиптік қалқан
болат рельстер
3D принтерге қол жеткізу
1 -қадам: Оптикалық кодерлер
Бұл жоба үшін кез келген айналмалы кодерді қолдануға болады, егер ол сізге мм -ге «шертулердің» салыстырмалы жоғары санын қамтамасыз етсе. Әлбетте, әр түрлі кодерлер сәйкес монтаж шешімін қажет етеді.
Мен фото датчиктердің қосылу схемасын анықтау үшін үзіліссіздіктің өлшегішін қолдандым.
2 -қадам: 3D басып шығарылған бөлшектер
Бұл бөліктер айналмалы кодерлерді орналастырады және рельс үшін сырғытпаны қамтамасыз етеді. Бір кодер корпусының артқы жағында көлденең рельстерді бекіту үшін екі тесік бар. Қос кодер корпусы - бұл бір -біріне дұрыс бұрыштарда қосылған екі жалғыз корпус.
Мен бұл қондырғыларды fusion360 қондырғыларында кодерлер мен рельстерді таңдауға сәйкес жасадым, кодердің білігінде тот баспайтын болаттан жасалған білікті жақсы ұстауға көмектесу үшін резеңке қаптаманың қысқа бөлігі бар.
Сіз біліктің еркін сырғып кетуін және тігінен ұсталған кезде корпус арқылы құлағанын қалайсыз, бірақ ол сырғып кетпеуі үшін кодерге жеткілікті қысым көрсетуі керек. Мен үшін жұмыс істеген нәрсе біліктің сырғытпасының кодер білігімен 0,5 мм қабаттасуына мүмкіндік беру болды. Резеңке резеңке жеткілікті мөлшерде деформацияланатын және жақсы тартылуды қамтамасыз ететін жеткілікті жұмсақ.
3 -қадам: Сымдардың диаграммасы
Схема өте қарапайым. Опто-датчиктерге инфрақызыл сәуле шығаратын диодтар үшін біраз ток қажет, фотодиодтар үшін жерге және тартылатын резисторлар.
Мен 5мА сериялы эмиттер диодтары үшін шешім қабылдадым, бұл кодерде диодтардағы кернеудің төмендеуі 3,65В құрайды. Мен Arduino -дан резистор үшін 1,35 В қалатын 5В кернеуді қолданамын, 5 мА -да бұл 270 Ом болады.
Фото диодтар аз ғана токты түсіре алатындықтан, тартулар үшін 10к Ом таңдалды, сонымен қатар түйме үшін 10к Ом қолданылды. Жерге қосылған прототип тақтасында қолдануға болатын түйме бар, оны тартқыш резистормен қамтамасыз етіңіз және оны қажетті кіріс істігіне қосыңыз.
4 -қадам: Arduino коды
Кодты түсіндіру қажет, себебі оның жұмысы бірден көрінбеуі мүмкін, бірақ оны 3 кодтаушыны тез өңдеу үшін осылайша оңтайландыру қажет болды.
Біріншіден, біз тек кодер позициясында өзгеріс болған жағдайда, бағыт деректерін өңдегіміз келеді.
өзгертулер = new_value ^ сақталған мән;
Менің кодерлерімнен көбірек рұқсат алу үшін, мен көтерілген және құлаған жиектерді өңдеуге тура келді.
Орнату кезінде менің рұқсатым 1 см үшін 24 рет басылады.
Бұл бізге бірнеше сценарийлерді қалдырады.
S1 тұрақты 0 және S2 0 -ден 1 -ге ауысады
S1 тұрақты 0 және S2 1 -ден 0 -ге ауысады
S1 тұрақты 1 және S2 0 -ден 1 -ге ауысады
S1 тұрақты 1 және S2 1 -ден 0 -ге ауысады
S2 тұрақты 0 және S1 0 -ден 1 -ге ауыстырылады
S2 тұрақты 0 және S1 1 -ден 0 -ге ауысады
S2 тұрақты 1 және S1 0 -ден 1 -ге ауысады
S2 тұрақты 1 және S1 1 -ден 0 -ге ауысады
Бұл шарттар жоғарыдағы шындық кестелерінде жақсы түсініледі, сонымен қатар әр шарт ерікті түрде 0 немесе 1 деп аталатын «бағытты» береді.
Диаграммалар бізге екі маңызды ақпаратты береді:
1) бір диаграмма екіншісіне толық қарама -қарсы, сондықтан егер бізде біреу болса, шығуды жай ғана төңкеру арқылы екіншісін оңай есептей аламыз. Біз бір түйреуіш өзгерсе, екіншісі өзгермесе ғана шығуды төңкереміз, біз оны ерікті түрде таңдай аламыз.
2) диаграмманың өзі S1 және S2 сигналдарының XOR ғана. (басқа диаграмма - бұл ЕМЕС).
Енді кодты түсіну қарапайым.
// Портта параллель оқу // көршілес жұптар бір кодер күйіне жататынын есте сақтаңыз = PINB & 0x3f; // қандай түйреуіштер өзгерді, егер diff = hold ^ state; // ақиқаттық кестесін алу үшін көршілес S1 және S2 сигналдары // ең оңай жолы - ағымдағы күйдің көшірмесін жасау // оны оңға қарай бір аз іздеу = күй >> 1; // енді биттер XOR dir = lookup ^ state үшін тураланған; // есіңізде болсын, егер кірістердің біреуі тұрақты болып қалса, кестені төңкеру керек, бұл үшін бізге IF // операторы қажет емес. Қазіргі уақытта қажетті бит // «dir» айнымалысы бар әр жұптың оң жақ биті // сол жақ бит мағынасыз // «diff» айнымалысы «жиынты» өзгерткен битке ие // сондықтан бізде де бар '01' немесе '10' // XOR бұл 'dir' байтпен // төңкереді немесе мағыналы бит болмайды. dir ^= айырмашылық; // қазір hold айнымалысын ұстау күйін жаңартыңыз; // егер бұл кодтаушы үшін бірде -бір бит өзгерсе if (diff & 0x03) {// егер dir + 0x01) {// бағытын анықтаңыз, сіздің бағдарламалық жасақтамаңызға және сымға ++ немесе --z; } басқа {++ z; }} // қалғандары үшін де if (diff & 0x0c) {if (dir & 0x04) {++ y; } басқа { -y; }} if (diff & 0x30) {if (dir & 0x10) {--x; } басқа {++ x; }}
Түйме басылған кезде біз ағымдағы XYZ мәнін терминалдық бағдарламаға жібереміз.
Сериялық деректер баяу, бірақ қалыпты жұмыс кезінде кодерлердің позициялары бұл уақыт ішінде өзгермейді.
Деректер шикізат ретінде жіберіледі. Сіз математиканы жасай аласыз және деректерді мм немесе дюйммен жібере аласыз және т.
5 -қадам: Бірінші сканерлеу
Ұпай жинау - баяу процесс, мен зондты сол жақ жоғарғы бұрышқа қойып, Arduino -ны қалпына келтіремін.
Бұл үйдегі позицияны нөлге теңестіреді.
Содан кейін зондты мақсатты орынға жылжытыңыз, оны ұстап тұрыңыз және «суретке түсіру» түймесін басыңыз.
Үлкен үлгіні алу үшін мен тек 140 ұпай жинадым, сондықтан соңғы өнім туралы егжей -тегжейлі айтуға болмайды.
Деректерді. PCD файлына сақтап, тақырыпты қосыңыз
#. PCD v.7 - Point Cloud Data файлының форматы НҰСҚА.7 ЕРІСТЕР x y z МАЗМҰНЫ 4 4 4 F F F COUNT 1 1 1 WINTH (сіздің ұпай санауыңыз) БИІКТІКТІҢ 1 КӨРІНІСІ 0 0 0 1 1 0 0 0 Ұпай (сіздің ұпай саны)
Тақырыпқа нүкте санауды қойыңыз, бұл сізге жол нөмірлерін беретін кез келген редакторға оңай.
Нүктелердің үстінде freeCad көрінуі мүмкін, содан кейін олар freeCad -тен. PLY файлы ретінде экспортталады.
MeshLab -те. PLY ашыңыз және объектіні шығарыңыз. Орындалды !!
Ұсынылған:
Сандық сағат жарықдиодты нүктелік матрица - ESP Matrix Android қосымшасы: 14 қадам
Сандық сағатты жарықдиодты матрица - ESP Matrix Android қосымшасы: Бұл мақала PCBWAY.PCBWAY -мен мақтанышпен демеушілікке ие, бүкіл әлемдегі адамдар үшін жоғары сапалы ПХД прототипін шығарады. Өзіңізді сынап көріңіз және PCBWAY -де өте жақсы сапада 5 долларға 10 ПХД алыңыз, рахмет PCBWAY. Мен ойлап тапқан ESP матрицалық тақтасы
Көп түсті нүктелік принтер: 6 қадам
Көп түсті нүктелік принтер: Сәлем баршаңызға. Бұл нұсқаулық көп түсті нүктелік принтердің дизайны мен өндірісіне арналған. Бұл негізінен нұсқаулық ретінде осында жарияланған ұқсас жұмысқа негізделген. Мен сілтеме жасап отырған жұмыс «Dotter: Huge Arduino негізіндегі нүктелік матрица Pr
PA1 DIY түтік преамері: құтқарылған компоненттермен тиімді құрастырылған: 13 қадам
PA1 DIY түтік преаменті: құтқарылған компоненттермен тиімді құрастырылған: Интернетте және басылымда түтік преампаларын құру туралы көптеген ресурстар бар, сондықтан мен сәл өзгеше нәрсемен бөлісемін деп ойладым. Бұл нұсқаулық менің конструкциямның ашық көзі бар преамптің құрылысын қамтиды, және бұл тек
Құтқарылған LED дисплейі Microgame: 13 қадам
Құтқарылған LED дисплейі Microgame: жақсы жаңалық! Мен жаңа ғана жарықдиодты дисплейі бар бейнебақылау камерасын таптым. Бұл дисплейді құтқару және одан жоба жасау уақыты келді дегенді білдіреді. 7 сегментті стандартты дисплейлерде көптеген ақпарат бар, бірақ құрылғы мен электрониканың дисплейлері реттеліп қойылған
Өнеркәсіптік кодерлерді Arduino көмегімен қалай қолдануға болады: 6 қадам
Өнеркәсіптік кодерлерді Arduino -мен қалай қолдануға болады: Инкреционалды кодерлер көбінесе робототехника немесе орналасуды бақылау сияқты өнеркәсіптік қосымшалар үшін қолданылады. Өнеркәсіптік қосымшаларға арналған кодерлер негізінен RS422 дифференциалды интерфейсімен келеді, мен осы шағын жобада өнеркәсіпті қалай қолдану керектігін көрсетемін