Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Оптик кодлогч
- Алхам 2: 3D хэвлэсэн хэсэг
- Алхам 3: Утасны диаграм
- Алхам 4: Arduino код
- Алхам 5: Эхний скан хийх
Видео: Аврагдсан эргэлтэт кодлогч ашиглан XYZ цэг сканнер: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Ажлын байрнаасаа олон тооны хаягдсан эргэлдэгч оптик кодлогчдыг олж авсны эцэст би тэдэнтэй хамт хөгжилтэй/хэрэгтэй зүйл хийхээр шийдлээ.
Би саяхан гэртээ шинэ 3D принтер худалдаж авсан бөгөөд үүнийг 3D сканнераас илүү сайн юу гэж хэлэх вэ! Энэхүү төсөл нь 3D эд анги үйлдвэрлэхэд шаардлагатай эд ангиудыг үйлдвэрлэх төгс боломжийг надад олгосон юм.
Хангамж
Оптик кодлогч ба харгалзах оптик мэдрэгч
Ардуино НҮБ
прототип хийх нэмэлт бамбай
ган төмөр зам
3D принтер рүү нэвтрэх
Алхам 1: Оптик кодлогч
Энэ төсөлд мм -ийн хувьд харьцангуй өндөр тооны "товшилт" өгсөн бол бараг бүх эргэлтэт кодлогч ашиглаж болно. Мэдээжийн хэрэг өөр өөр кодлогчдод тохиромжтой холбох шийдэл шаардлагатай болно.
Би гэрэл мэдрэгчийн холболтын диаграммыг олохын тулд тасралтгүй хэмжигчийг ашигласан.
Алхам 2: 3D хэвлэсэн хэсэг
Эдгээр хэсгүүд нь эргэлтэт кодлогчдыг байрлуулж, төмөр замыг гулсуулж өгдөг. Нэг кодлогч орон сууц нь арын хэсэгт хөндлөн төмөр замыг холбох хоёр нүхтэй байдаг. Хос кодлогч орон сууц нь зүгээр л зөв өнцгөөр нийлсэн хоёр дан байшин юм.
Би fusion360 дээрх эдгээр бэхэлгээг кодлогч ба төмөр замын сонголтод тохируулан зохион бүтээсэн бөгөөд кодлогчийн босоо ам нь зэвэрдэггүй ган босоо амыг илүү сайн барихад туслахын тулд дүүжин резинэн бүрхүүлтэй богино хэсэгтэй.
Та босоо амыг чөлөөтэй гулсуулж, босоо байрлалд байрнаас унахыг хүсч байна, гэхдээ энэ нь гулсахгүй байхын тулд кодлогч дээр хангалттай дарамт үзүүлэх ёстой. Надад тохирсон зүйл бол босоо амны гулсагчийг кодлогч босоо амтай 0.5 мм -ээр давхцах боломжийг олгох явдал байв. Чаврын резин нь хангалттай зөөлөн бөгөөд энэ хэмжээгээр деформацид орж, сайн зүтгүүрийг өгдөг.
Алхам 3: Утасны диаграм
Хэлхээ нь маш энгийн. Опто мэдрэгч нь хэт улаан туяаны ялгаруулагч диод, гэрэл диодын газардуулга ба татах эсэргүүцлийг шаарддаг.
Би цуврал ялгаруулагч диодын хувьд 5мА байхаар шийдсэн бөгөөд энэ кодлогчод диод дээрх хүчдэлийн уналт 3.65V байна. Би Arduino -ийн 5V тэжээлийг ашигладаг бөгөөд энэ нь резисторын хувьд 1.35V -ийг үлдээдэг бөгөөд 5mA -д энэ нь 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 юм. (нөгөө диаграм бол энэ биш юм).
Одоо кодыг ойлгох нь энгийн зүйл юм.
// PORT дээр зэрэгцүүлэн уншина уу // зэргэлдээх хосууд ижил кодлогч төлөвт хамаарах болохыг санаарай = PINB & 0x3f; // хэрэв ямар нэгэн diff = hold ^ state байвал ямар зүү өөрчлөгдсөн байна; // Үнэн хүснэгтийг авахын тулд XOR -ийн зэргэлдээх S1 ба S2 дохио // хамгийн хялбар арга бол одоогийн төлөвийн хуулбарыг хийж // баруун тийш нэг жаахан хайх = төлөв >> 1; // одоо битүүдийг XOR dir = lookup ^ state; // санаж байгаарай, хэрэв оролтын аль нэг нь // хэвээр байвал хүснэгтийг эргүүлэх шаардлагатай болно, үүнд бидэнд IF // мэдэгдэл хэрэггүй болно. Одоогоор хүссэн чиглэлийн бит нь 'dir' хувьсагчийн хос бүрийн баруун гар хэсэг юм // зүүн гар нь утгагүй // 'diff' хувьсагч нь 'set' -ийг өөрчилсөн биттэй байдаг. '01' эсвэл '10' // XOR нь 'dir' байтаар хийгдсэн бол утгыг нь // урвуулах болно. dir ^= ялгаа; // одоо hold хувьсагч hold = төлөвийг шинэчлэх; // хэрэв энэ кодлогчын хувьд аль нэг бит өөрчлөгдсөн бол (diff & 0x03) {// чиглэлийг тодорхойлно уу (dir & 0x01) {// өөрийн програм хангамж, утас дээр үндэслэн ++ эсвэл --z; } өөр {++ z; }} // бусад тохиолдолд мөн (if & 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 файлын формат VERSION.7 ТАЛБАР x y z Хэмжээ 4 4 4 FF F COUNT 1 1 1 WIDTH (таны онооны тоо) ӨНДӨР 1 ХАРАХ ЦЭГ 0 0 0 1 0 0 0 ОНОО (таны онооны тоо)
Толгойн хэсэгт цэгийн тоог оруулаарай, энэ нь танд шугамын дугаар өгдөг аливаа редакторт хялбар байдаг.
Цэгүүдийг freeCad дээрээс харж болно, дараа нь freeCad -аас. PLY файл болгон экспортлодог.
MeshLab дээр. PLY -ийг нээж, объектыг гадаргуу дээр байрлуулна уу. Дууссан !!
Зөвлөмж болгож буй:
Шугаман ба эргэлтэт идэвхжүүлэгч: 11 алхам
Шугаман ба эргэлтэт идэвхжүүлэгч: Энэхүү зааварчилгаа нь эргэдэг тэнхлэгтэй шугаман идэвхжүүлэгчийг хэрхэн хийх тухай юм. Энэ нь та объектыг урагш, хойш нь хөдөлгөж, нэгэн зэрэг эргүүлэх боломжтой гэсэн үг юм. 45 мм (1.8 инч) хэмжээтэй объектыг урагш хойш хөдөлгөж эргүүлэх боломжтой
TR-01 DIY эргэлтэт хөдөлгүүрийн шахагч: 6 алхам (зурагтай)
TR-01 DIY эргэлтэт хөдөлгүүр шахагч шалгагч: 2009 оноос эхлэн TwistedRotors-ийн анхны TR-01 v1.0, v2.0 ба v2.0 Baro загварууд нь гар, дижитал, эргэдэг хөдөлгүүр шахах туршилтын стандартыг тогтоожээ. Одоо та өөрөө барьж болно! 2017 онд Mazdaas Rotary E -ийн 50 жилийн ойд зориулан
50 -аад оны Philips радио булшнаас аврагдсан: 7 алхам (зурагтай)
50 -аад оны Philips радио булшнаас аврагдсан: Би чемоданы бумбокс хийсний дараа сонирхолтой чанга яригч хайрцгийг үргэлжлүүлэн ашиглахыг хүссэн. Энэ удаад би чанга яригч болон бусад нэмэлт бүрэлдэхүүн хэсгүүдийг байрлуулах зориулалттай хашлага ашигласан. Би 50-аад оны үеийн Philips-ийн эвдэрч гэмтсэн, ажиллахгүй байгааг олж мэдсэн
Raspberry Pi камер ашиглан 3D биеийн сканнер: 8 алхам (зурагтай)
Raspberry Pi камер ашиглан 3D биеийн сканнер: Энэхүү 3D сканнер нь дижитал технологийг олон нийтийн бүлгүүдэд хүртээмжтэй болгох зорилготой BuildBrighton Makerspace -ийн хамтарсан төсөл юм. Сканнерыг загварын салбарт, хувцасны загварыг өөрчлөх, тоглоомын салбарт ашиглаж байна
Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)
Nokia 5110 Lcd дээрх Rotary Encoder ашиглан Arduino цэс: Эрхэм хүндэт найзуудаа өөр хичээлд урьж байна! Энэхүү видеоноос бид төслүүдээ хэрэглэгчдэд илүү ээлтэй, чадварлаг болгох үүднээс алдартай Nokia 5110 LCD дэлгэцийн цэсийг хэрхэн бүтээх талаар сурах болно. Эхлээд үзье! Энэ бол төсөл