Агуулгын хүснэгт:

Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap: 3 алхам
Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap: 3 алхам

Видео: Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap: 3 алхам

Видео: Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap: 3 алхам
Видео: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Долдугаар сарын
Anonim
Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap
Arduino дээр суурилсан импульсийн индукцийн детектор - LC -Trap

Ганцхан тэжээлийн хүчдэлтэй энгийн Ardino Pulse Induction металл илрүүлэгчийн талаар өөр санаа хайж байхдаа Teemo -ийн нүүр хуудсыг олж харлаа.

www.digiwood.ee/8-electronic-projects/2-metal-detector-circuit

Тэрээр LC-Trap зарчмыг ашиглан энгийн импульсийн индукцийн детекторыг бүтээжээ. Үүнтэй төстэй хэлхээг TechKiwiGadgets -ийн Instructable дээр байрлуулсан болно. Teemo хэлхээнд PIC микроконтроллерийн дотоод харьцуулагчийг ашигладаг тул гадны бүрэлдэхүүн хэсэг бага шаардагддаг.

Тиймээс би энэ схемд PIC хянагчийн оронд Arduino-ийг ашиглаж, хэр хол явж болохыг олж мэдэхийг уриалав.

Алхам 1: Схем

Схем
Схем
Схем
Схем
Схем
Схем

Arduino нь дотоод аналог дохиог харьцуулагчийн оролт руу чиглүүлэхийг зөвшөөрдөггүй тул Arduino -ийн схем нь арай илүү төвөгтэй юм. Энэ нь энгийн хүчдэлийн хэмжигдэхүүний хоёр бүрэлдэхүүн хэсгийг нэмдэг. Энэ нь Flip Coil загварын 9 -тэй харьцуулахад 12 гаднах бүрэлдэхүүн хэсэгтэй (чанга яригч болон 16x2 LCD дэлгэцийг орхих) дизайныг бий болгодог.

Схемийн ажиллах зарчмыг Teemo вэбсайт дээр маш сайн тайлбарласан болно. Үндсэндээ ороомог тэжээгдэж, дараа нь унтраадаг. Унтраасны дараа ороомог ба конденсатор зэрэгцэн норгосон хэлбэлзлийг бий болгоно. Чичиргээний давтамж, ялзралд ороомгийн ойролцоо орших метал нөлөөлдөг. Хэлхээний талаархи дэлгэрэнгүй мэдээллийг Teemo эсвэл TechKiwi -ийн эндээс Instructables хуудсан дээрээс үзнэ үү.

Флип ороомгийн импульсийн индукцийн детекторын нэгэн адил би дотоод харьцуулагч болон ороомогоос дохио авахын тулд тасалдал үүсгэх боломжийг ашигладаг.

Энэ тохиолдолд харьцуулагч дээр тохируулсан жишиг хүчдэлийн эргэн тойронд хүчдэл хэлбэлзэж байгаа тул би олон тасалдал авах болно. Чичирхийллийн төгсгөлд ороомог дээрх хүчдэл 5В орчим байх болно, гэхдээ яг биш. Би ойролцоогоор 4.9 вольтын хүчдэл авахын тулд 200 Ом ба 10 к Ом хүчдэлийн төхөөрөмж сонгосон

Схемийн нарийн төвөгтэй байдлыг багасгахын тулд D4 ба D5 -ийг ашиглан GND (10к эсэргүүцэл) ба 5В (220 Ом эсэргүүцлийн хувьд) нийлүүлэв. Зүүг детекторыг асаахад байрлуулна.

Энэ хувилбарт би Arduino дээр суурилсан металл илрүүлэгчийг хэрхэн програмчлах талаар тайлбарласан дууны хяналттай олон өнгийн аппарат ашиглан чанга яригчийн холболтыг нэмсэн. Энэ нь зорилтот шинж чанарыг ялгахаас гадна дохионы хүчийг мэдрэх боломжийг олгодог. Чанга яригчийг нэмэлт 5 зүү толгой руу холбож болно. Толгойн үлдсэн 3 голыг түлхэх товчлууруудад ашиглах болно (хэрэгжүүлэх болно).

Алхам 2: Програмчлал

Програмчлал
Програмчлал
Програмчлал
Програмчлал
Програмчлал
Програмчлал

Одоо хэлхээг боловсруулж, загварыг бүтээсэн тул металлыг илрүүлэх зохистой аргыг олох цаг болжээ.

1. Импульс тоолох

Чичиргээний импульсийг бүрэн задрах хүртэл тоолох нь нэг санаа юм.

Хэрэв ороомгийн ойролцоо метал байгаа бол хэлбэлзлийн хэмжээ буурна. Энэ тохиолдолд харьцуулагчийн жишиг хүчдэлийг сүүлийн импульсийг бараг хэмжиж чадахгүй байхаар тохируулах ёстой. Тиймээс ямар нэгэн зүйл илрэх тохиолдолд лугшилт тэр дороо алга болно. Энэ нь жаахан асуудалтай байсан.

Чичирхийллийн долгион бүр хоёр тасалдал үүсгэдэг. Нэг нь доошоо, нөгөө нь дээшээ буцаж явна. Лавлах хүчдэлийг хэлбэлзлийн долгионы оргилд яг тохируулахын тулд доош буух ба дээшлэх хоорондох хугацаа аль болох богино байх ёстой (зураг харна уу). Харамсалтай нь энд Arduino орчны хэт ачаалал нь асуудал үүсгэдэг.

Тасалдлын триггер бүр энэ кодыг дууддаг:

ISR (ANALOG_COMP_vect) {

Toggle1 = Toggle0 // сүүлийн утгыг хадгалах Toggle0 = TCNT1; // шинэ үнэ цэнэ авах}

Энэ код нь хэсэг хугацаа шаардагддаг (хэрэв би зөв санаж байгаа бол шулмын 78 орчим мөчлөг нь ойролцоогоор 5 микросекунд @ 16MHz). Тиймээс хоёр импульсийн хоорондох хамгийн бага илрэх зай нь энэ кодын зарцуулсан цаг юм, хэрэв хоёр триггерийн хоорондох хугацаа богиносвол (зургийг үзнэ үү), код нь хоёр дахь тасалдлыг илрүүлэхээс өмнө бүрэн гүйцэд хийгдсэн тул үүнийг илрүүлэхгүй болно.

Энэ нь мэдрэмтгий чанар алдагдахад хүргэдэг. Үүний зэрэгцээ, хэлбэлзлийг намдаах нь гадны аливаа нөлөөнд маш мэдрэмтгий байдаг тул энэ аргыг арай хэцүү болгодог болохыг би анзаарсан.

2. Давтамжийг хэмжих

Металлыг илрүүлэх өөр нэг арга бол хэлбэлзлийн давтамжийг хэмжих явдал юм. Давтамжийн өөрчлөлт нь металыг ялгаварлах боломжийг олгодог тул хэлбэлзлийн бууралтыг хэмжихтэй харьцуулахад энэ нь том давуу талтай юм. Хэрэв ороомгийн дэргэд төмрийн материал байгаа бол давтамж удааширч, ороомгийн ойролцоо үнэт металл байвал давтамж нэмэгдэх болно.

Давтамжийг хэмжих хамгийн хялбар арга бол ороомог хэлбэлзэж эхэлсний дараа импульсийн хэмжээг хэмжих явдал юм. Эхлэх ба сүүлчийн импульсийн хоорондох хугацааг хэмжсэн импульсийн нийт тоонд хуваах нь давтамж юм. Харамсалтай нь сүүлийн хэдэн хэлбэлзэл нь тэгш хэмтэй бус байна. Метал байгаа нь чичиргээний ялзралд нөлөөлдөг тул сүүлийн хэлбэлзэл нь илүү тэгш бус байдаг тул уншилтыг тайлбарлахад хэцүү байдаг. Зураг дээр энэ бол 1 -ээс 1 'ба 2 -оос 2 хүртэлх огтлолцол бүхий шоу юм.

Илүү сайн арга бол давтамжийг хэмжихийн тулд өмнөх импульсийг ашиглах явдал юм. Туршилтын явцад зарим импульсийн импульс бусадтай харьцуулахад илүү мэдрэмтгий байдаг нь сонирхолтой юм. Хаа нэгтээ хэлбэлзлийн 2/3 нь өгөгдлийг олж авахад тохиромжтой цэг юм.

Өгөгдлийг боловсруулж байна

Ороомог хийх цагийг хийх импульс () функцийг дууддаг давталт () дээр үндэслэсэн анхны код. Үр дүн нь гайгүй байсан ч цаг хугацааг сайжруулах хүсэлтэй байсан. Үүнийг хийхийн тулд би цаг хэмжигч дээр суурилсан кодыг бүтээсэн бөгөөд ингэснээр Arduino дээр суурилсан металл илрүүлэгчийг хэрхэн програмчлах талаар тусад нь авч үзэв. Энэхүү зааварчилгаа нь LCD гаралт гэх мэт цаг хугацаа, өгөгдөл таслах зэргийг нарийвчлан тайлбарласан болно

1. LCD дэлгэц

Эхний арга бол 10 импульсийг хэмжих, дараа нь утгыг нь LCD дэлгэц дээр харуулах явдал байв. I2C өгөгдөл дамжуулах нь хэт удаан байсныг олж мэдээд би импульс тутамд зөвхөн нэг тэмдэгт шинэчлэхийн тулд код болгон өөрчилсөн.

2. Хамгийн бага үнэ цэнийн хандлага

Уншлагын тогтвортой байдлыг сайжруулахын тулд хэмжсэн өгөгдлийг илүү сайн мэдрэхийн тулд би цуваа гаралтын горимыг бичсэн. Тэндээс харахад ихэнх уншилт бага зэрэг тогтвортой байсан ч зарим нь тийм биш байсан! "Ижил" хэлбэлзлийн импульсийн зарим уншилтууд хоорондоо маш хол зайтай байсан тул давтамжийн өөрчлөлтийг шинжлэх арга барил бүрийг сүйтгэх болно.

Үүнийг нөхөхийн тулд үнэ цэнэ нь найдвартай байх "хил" бий болгосон. I. e. утгууд нь хүлээгдэж буй утгаас 35 -аас дээш цикл таймер байсан бол эдгээр утгыг үл тоомсорлов ("Arduino дээр суурилсан металл илрүүлэгчийг хэрхэн програмчлах" зааварт дэлгэрэнгүй тайлбарласан болно)

Энэ арга нь маш тогтвортой байсан нь батлагдсан.

3. Хүчдэл

Teemo -ийн анхны загвар нь 5 вольтоос бага хүчээр ажилладаг. Миний таамаглал "илүү вольт = илүү их хүч = илүү мэдрэмтгий" байсан тул би уг төхөөрөмжийг анх 12 В хүчдэлээр тэжээсэн. Энэ нь MOSFET -ийг халаахад хүргэсэн. Энэхүү халаалт нь хэмжсэн утгуудын ерөнхий өөрчлөлтөд хүргэж, детекторыг байнга дахин тэнцвэржүүлэхэд хүргэдэг. Хүчдэлийг 5 В хүртэл бууруулснаар MOSFET -ийн дулааны үүсгэлтийг уншилтын бараг ямар ч хазайлт ажиглагдаагүй хэмжээнд хүртэл бууруулах боломжтой байв. Энэ нь хэлхээг илүү хялбар болгосон тул Arduino-ийн хүчдэлийн зохицуулагч шаардлагагүй болсон.

MOSFET -ийн хувьд би эхлээд IRL540 -ийг сонгосон. Энэхүү MOSFET нь логик түвшинд нийцдэг боловч 100V -ийн хамгийн их хүчдэлтэй байдаг. Илүү сайн гүйцэтгэлийг 200V -ийн үнэлгээтэй IRL640 болгон өөрчилнө гэж найдаж байсан. Харамсалтай нь үр дүн ижил байсан. Тиймээс IRL540 эсвэл IRL640 нь энэ ажлыг хийх болно.

Алхам 3: Эцсийн үр дүн

Эцсийн үр дүн
Эцсийн үр дүн
Эцсийн үр дүн
Эцсийн үр дүн
Эцсийн үр дүн
Эцсийн үр дүн

Илрүүлэгчийн давуу тал нь үнэт болон хар өнгийн материалыг ялгадагт оршино. Сул тал нь энэхүү энгийн схемийн мэдрэмж нь тийм ч сайн биш юм. Гүйцэтгэлийг харьцуулахын тулд би Flip-Coil детектортой ижил лавлагаа ашигласан. Зарим зүйлийг тодорхойлоход сайн байж магадгүй, гэхдээ жинхэнэ хайлт хийхэд сэтгэл дундуур байх магадлалтай.

Энд PIC хянагчтай анхны загвар нь 16 МГц -ийн оронд 32 МГц дээр ажилладаг тул давтамжийн өөрчлөлтийг илрүүлэх илүү өндөр нарийвчлалыг өгдөг тул илүү мэдрэмтгий байж магадгүй юм.

100 мм -ийн 48 эргэлт бүхий ороомог ашиглан үр дүнд хүрсэн.

Урьдын адил санал хүсэлтийг хүлээж авах боломжтой

Зөвлөмж болгож буй: