Мазмуну:

LED Компас жана Альтиметр: 7 кадам (Сүрөттөр менен)
LED Компас жана Альтиметр: 7 кадам (Сүрөттөр менен)

Video: LED Компас жана Альтиметр: 7 кадам (Сүрөттөр менен)

Video: LED Компас жана Альтиметр: 7 кадам (Сүрөттөр менен)
Video: Сравнение G-Shock Magma Ocean Коллекция | GPRB1000 Rangeman | GWF1035 Frogman | MT... 2024, Ноябрь
Anonim
Image
Image
Райондук диаграмма жана ПХБ
Райондук диаграмма жана ПХБ

Светодиоддуу объекттер мени дайыма кызыктырат. Ошондуктан бул долбоор популярдуу санарип компастын HMC5883L сенсорун 48 LED менен бириктирет. Светодиоддорду тегерекке коюу менен, жарык болуп турган багыт сиз бара жаткан багыт. Ар бир 7.5 градус деталдуу жыйынтыктарды берген жаңы LEDди айдайт.

GY-86 тактайы MS5611 барометрдик басым сенсорун да камсыздайт. Бул сенсордун жардамы менен бийиктикти эсептөөгө болот. Жогорку чечилиштен улам алтиметр үчүн эң сонун.

GY-86 тактасындагы MPU6050 сенсорунда 3 огу акселерометр жана 3 огу гироскопу бар. Гироскоп убакыттын өтүшү менен бурчтук абалдын ылдамдыгын өлчөй алат. Акселерометр гравитациялык ылдамданууну өлчөй алат жана тригонометрия математикасын колдонуу менен сенсор жайгашкан бурчту эсептөөгө болот. Акселерометр менен гироскоптун маалыматтарын бириктирүү менен сенсордун багыты жөнүндө маалымат алууга болот. Бул HMC5883L компастын эңкейишинин ордун толтуруу үчүн колдонулушу мүмкүн (жасоо үчүн).

Бул көрсөтмөдөгү кыска нускоочу видеолор анын кантип иштээрин кеңири түшүндүрүп берет. Калибрлөө процедуралары автоматташтырылган, ошондуктан ийгиликке кепилдик берилет. Температура Цельсий (демейки) же Фаренгейт боюнча жеткиликтүү.

Көңүл ачуу !!

1 -кадам: Альтиметр

Image
Image

Альтиметр MS5611 барометрдик басым сенсорун колдонот. Бийиктикти атмосфералык басымдын өлчөөсүнүн негизинде аныктаса болот. Бийиктик канчалык чоң болсо, басым ошончолук төмөн болот. Ишке киргенде, бийиктиги деңиз деңгээлиндеги 1013,25 мбар басымын колдонот. 21 -пиндеги баскычты басуу менен сиздин жайгашкан жериңиздеги басым шилтеме катары колдонулат. Ошентип, бир нерсенин бийиктигин болжол менен өлчөөгө мүмкүндүк берет (мисалы, унаа менен өйдө баратканда).

"Гипсометрикалык формула" деп аталган бул долбоордо колдонулат. Бул формула өлчөөнү компенсациялоо үчүн температураны колдонот.

float alt=((powf (булак / ((float) P / 100.0), 0.19022256) - 1.0) * ((калкып жүрүү) TEMP / 100 + 273.15)) / 0.0065;

Гипсометрикалык формула жөнүндө көбүрөөк маалыматты бул жерден таба аласыз:

Гипсометриялык формула

Заводдун калибрлөө маалыматы жана сенсор температурасы MS5611 сенсорунан окулат жана эң так өлчөөлөрдү алуу үчүн кодго колдонулат. Тест учурунда мен MS5611 сенсорунун аба агымына жана жарыктын интенсивдүүлүгүндөгү айырмачылыктарга сезгич экенин байкадым. Бул көрсөтмө видеосуна караганда жакшыраак натыйжаларга жетиш үчүн болушу керек.

2 -кадам: Бөлүктөр

1 x Microchip 18f26k22 микроконтроллери 28-PIN PDIP

3 x MCP23017 16-бит I/O Expander 28-пин SPDIP

48 х LED 3мм

MS5611, HMC5883L жана MPU6050 сенсорлору менен 1 х GY-86 модулу

1 x SH1106 OLED 128x64 I2C

1 х керамикалык конденсатор 100nF

1 x 100 Ом каршылыгы

3 -кадам: Райондук диаграмма жана ПХБ

Райондук диаграмма жана ПХБ
Райондук диаграмма жана ПХБ

Баары бир тараптуу ПХБга туура келет. Бул жерден Eagle жана Gerber файлдарын табыңыз, аны өзүңүз жасай аласыз же ПХБ өндүрүүчүсүнөн сураңыз.

Мен машинамда LED Компас менен Альтиметрди колдоном жана OBD2 интерфейсин электр булагы катары колдоном. Микроконтроллер туташтыргычка эң сонун дал келет.

4 -кадам: Eagle PCB Дизайн Программасы менен LEDди секундада кантип тегиздөө керек

Сиз бул чынында эле жагымдуу өзгөчөлүктү Eagle PCB Дизайн Программасында көрүшүңүз керек, ал сизге бир нече сааттык жумушту үнөмдөйт. Бул Eagle өзгөчөлүгү менен сиз LEDлерди секундада тегерек кылып тегиздей аласыз.

Жөн гана "Файл" өтмөгүн чыкылдатыңыз, андан кийин "Run ULP". Бул жерден "cmd-draw.ulp" чыкылдатыңыз. "Жылдыруу", "даража кадамы" жана "Айлампа" тандоо. "Аты" талаасындагы биринчи LEDдин атын толтуруңуз. "X борборунун координаты" жана "Y борборунун координаты" талааларындагы торго тегеректин борборунун координаттарын коюңуз. Бул долбоордо 48 LED бар, ошондуктан 360тын 48ге бөлүнүшү "Angle step" талаасы үчүн 7.5 түзөт. Бул тегеректин радиусу 1,4 дюйм. Hit enter жана сизде LEDлердин эң сонун чөйрөсү бар.

5 -кадам: Компастын калибрлөө процесси

Image
Image

HMC5883L 12 биттик ADCди камтыйт, ал Цельсий боюнча 1ден 2 градуска чейинки компастын багыт тактыгын берет. Бирок ал керектүү маалыматтарды берүүдөн мурун аны калибрлөө керек. Бул долбоордун үзгүлтүксүз иштеши үчүн x- жана y жылышын камсыз кылган бул калибрлөө ыкмасы бар. Бул эң татаал ыкма эмес, бирок бул долбоор үчүн жетиштүү. Бул процедура сизге бир нече мүнөттөн турат жана сизге жакшы натыйжаларды берет.

Бул программаны жүктөө жана иштетүү менен сиз бул калибрлөө процессинде жетекчиликке аласыз. OLED дисплейи процесс качан башталып, качан бүтөөрүн айтып берет. Бул калибрлөө процесси сенсорду 360 градуска бурууну суранат, аны таптакыр түз кармап (жерге горизонталдуу). Аны штативге же ушул сыяктуу нерсеге орнотуңуз. Муну колуңуз менен кармоо эч кандай натыйжа бербейт. Жыйынтыкта OLEDде офсеттер көрсөтүлөт. Бул процедураны бир нече жолу иштетсеңиз, дээрлик бирдей натыйжаларды көрүшүңүз керек.

Ыктыярдуу түрдө, чогултулган маалыматтар RS232 аркылуу 27 пин (9600 baud) аркылуу да жеткиликтүү болот. Жөн эле Putty сыяктуу терминалдык программаны колдонуңуз жана бардык файлдарды журнал файлына чогултуңуз. Бул маалыматтарды Excelде оңой эле импорттоого болот. Бул жерден сиз HMC5883Lдин ордун кантип окшоштурарын оңой көрө аласыз.

Орнотуулар микроконтроллердин EEPROMуна коюлат. Булар 7 -кадамда таба турган компас жана бийиктиги программалык камсыздоону иштетүүдө жүктөлөт.

6 -кадам: Жайгашкан жериңиздин магниттик бурулушунун ордун толтуруңуз

Image
Image
Сенсорлор таймашы
Сенсорлор таймашы

Магниттик Түндүк жана географиялык Түндүк (Түндүк Уюл) бар. Сиздин компас жердин магнит талаасынын сызыктарын ээрчип, магниттик Түндүктү көрсөтөт. Магниттик Түндүк менен географиялык Түндүктүн айырмасы магниттик ийилүү деп аталат. Менин жайгашкан жеримде ийилүү 1 градус 22 мүнөт болгондуктан, бул компенсацияга арзыбайт. Башка жерлерде бул ийилүү 30 градуска чейин болушу мүмкүн.

Сиздин жайгашкан жериңиздеги магниттик бурулушту табыңыз

Эгерде сиз муну компенсациялоону кааласаңыз (милдеттүү эмес), микроконтроллердин EEPROMсунда кыйшайууну (градус жана мүнөт) кошо аласыз. 0x20 жайгашкан жерде сиз кол койгон он алтылык формада даражаларды кошо аласыз. Бул кол коюлган, анткени ал да терс бурулуш болушу мүмкүн. 0x21 жайгашкан жерде сиз мүнөттөрдү он алтылык түрүндө кошо аласыз.

7 -кадам: Кодду түзүңүз

Image
Image

Бул булак кодун түзүңүз жана микроконтроллериңизди программалаңыз. Бул код C99 режиминде MPLABX IDE v5.20 жана XC8 компилятор v2.05 менен туура түзөт (андыктан C99 каталогдорун камтыйт). Ошондой эле он алтылык файл бар, андыктан сиз компиляция процедурасын өткөрүп жибере аласыз. Калибрлөө маалыматын (5 -кадамды караңыз) кайра жазууга жол бербөө үчүн "EEPROM маалыматтар иштетилген" деген кутучаны алып салганыңызды тактаңыз. Программисти 3,3 вольтко коюңуз!

27 пинди жерге туташтыруу менен Фаренгейт температурасын аласыз.

Ахим Дөблерге µGUI графикалык китепканасы үчүн рахмат

Сенсорлор таймашы
Сенсорлор таймашы

Сенсорлор конкурсунда экинчи орунду ээледи

Сунушталууда: