Mundarija:
- 1 -qadam: Sensor (Ko'z) QTR 8RC
- 2 -qadam: Atmega328P mikrokontroller (miya)
- 3 -qadam: Dvigatel va dvigatel haydovchisi
- 4 -qadam: Shassi va boshqalar
Video: PID liniyasi izdoshi Atmega328P: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
KIRISH
Bu ko'rsatma PID (proportsional-integral-lotin) nazorati (matematik) bilan ishlaydigan miyaning ichida (Atmega328P) ishlaydigan samarali va ishonchli chiziq izdoshini yaratish haqida.
Chiziq izdoshi - bu avtonom robot, u oq rangdagi qora chiziqni yoki qora maydonda oq chiziqni kuzatadi. Robot ma'lum bir chiziqni aniqlay olishi va uni kuzatishi kerak.
Shunday qilib, LINE FOLLOWER yaratish uchun bir nechta qismlar/qadamlar bo'ladi, men ularning hammasini bosqichma -bosqich muhokama qilaman.
- Sensor (chiziqni ko'rish uchun ko'z)
- Mikrokontroller (ba'zi hisob -kitoblarni bajarish uchun miya)
- Dvigatellar (mushak kuchi)
- Motor haydovchi
- Shassi
- Batareya (energiya manbai)
- G'ildirak
- Boshqa
Mana LINE TAKIBCHISI VIDEOSI
Keyingi bosqichlarda men har bir komponent haqida batafsil ma'lumot beraman.
1 -qadam: Sensor (Ko'z) QTR 8RC
Ushbu ajoyib sensorni ishlab chiqarish uchun Pololuforga rahmat.
Modul 0,875 dyuym (9,525 mm) oralig'ida teng ravishda joylashtirilgan sakkizta IQ -emitent va qabul qiluvchi (fototransistor) uchun qulay tashuvchidir. Sensorni ishlatish uchun avval kuchlanish tugmachasini bosib, chiqish tugunini zaryadlash kerak. uning chiqish pinasi. Keyin siz tashqi tomondan berilgan kuchlanishni olib tashlash va integratsiyalashgan fototransistor tufayli chiqish voltajining qancha vaqtgacha parchalanishini aniqlash orqali aks ettirishni o'qishingiz mumkin. Qisqa parchalanish vaqti katta aks ettirishning belgisidir. Bu o'lchov usuli bir qancha afzalliklarga ega, ayniqsa, QTR-8RC modulining LED quvvatini o'chirish qobiliyati bilan birlashganda:
- Analog-raqamli konvertor (ADC) talab qilinmaydi.
- Chastotani taqsimlovchi analog chiqishiga nisbatan sezgirlik yaxshilandi.
- Ko'p mikrokontroller bilan bir nechta sensorlarni parallel o'qish mumkin.
- Parallel o'qish LED quvvatini yoqish opsiyasidan optimallashtirilgan foydalanish imkonini beradi
Xususiyatlar
- Olchamlari: 2,95 dyuym x 0,5 dyuym 0,125 dyuym (bosh pimlari o'rnatilmagan)
- Ishlash kuchlanishi: 3.3-5.0 V
- Ta'minot oqimi: 100 mA
- Chiqish formati: 8 ta raqamli kirish-chiqish mos keladigan signal, ularni vaqtli yuqori impuls sifatida o'qish mumkin
- Optimal sezish masofasi: 0,125 dyuym (3 mm) Maksimal tavsiya etilgan sezish masofasi: 0,375 dyuym (9,5 mm)
- Pimsiz vazn: 0,11 oz (3,09 g)
QTR-8RC chiqishlarini raqamli kiritish-chiqarish liniyalariga ulash
QTR-8RC moduli sakkizta bir xil sensorli chiqishga ega, ular Parallax QTI singari chiqish liniyasini yuqori haydashga va keyin chiqish voltajining parchalanish vaqtini o'lchashga qodir bo'lgan raqamli kirish-chiqish liniyasini talab qiladi. Sensorni o'qishning odatiy ketma -ketligi:
- IQ LEDlarini yoqing (ixtiyoriy).
- I/U chizig'ini chiqishga o'rnating va uni baland haydang.
- Sensor chiqishi ko'tarilishi uchun kamida 10 mikron ruxsat bering.
- I/U chizig'ini kirishga aylantiring (yuqori impedans).
- I/U chizig'ining past bo'lishini kutib, kuchlanishning pasayish vaqtini o'lchang.
- IQ LEDlarini o'chiring (ixtiyoriy).
Ushbu bosqichlar odatda bir nechta kirish -chiqish liniyalarida parallel ravishda bajarilishi mumkin.
Kuchli aks ettirish bilan parchalanish vaqti bir necha o'nlab mikrosaniyalargacha bo'lishi mumkin; aks ettirishsiz, parchalanish vaqti bir necha millisekundgacha bo'lishi mumkin. Buzilishning aniq vaqti mikrokontrolleringizning kirish -chiqish liniyasi xususiyatlariga bog'liq. Oddiy holatlarda (masalan, past aks etuvchi stsenariylarda nozik farqlarni o'lchashga urinmaganingizda) 1 soniya ichida barcha 8 ta sensordan 1 kHz gacha namuna olish imkonini beradi. Agar past chastotali namuna olish etarli bo'lsa, LEDlarni o'chirish orqali quvvatni sezilarli darajada tejash mumkin. Misol uchun, agar 100 Gts chastotali namuna olish tezligi maqbul bo'lsa, LEDlar 90% o'chirilishi mumkin, bu esa o'rtacha oqim sarfini 100 mA dan 10 mA gacha kamaytiradi.
2 -qadam: Atmega328P mikrokontroller (miya)
Atmel korporatsiyasiga rahmat, bu ajoyib mikrokontroller AKA Atmega328 ishlab chiqarish uchun.
ATmega328P uchun asosiy parametrlar
Parametr qiymati
- Flash (Kbayt): 32 Kbayt
- Pin soni: 32
- Maks. Ishlash chastotasi. (MGts): 20 MGts
- CPU: 8-bitli AVR
- Maksimal kirish -chiqish pinlari: 23
- Qo'shimcha uzilishlar: 24
- SPI: 2
- TWI (I2C): 1
- UART: 1
- ADC kanallari: 8
- ADC rezolyutsiyasi (bit): 10
- SRAM (Kbayt): 2
- EEPROM (bayt): 1024
- I/U etkazib berish klassi: 1,8 dan 5,5 gacha
- Ishlash kuchlanishi (Vcc): 1,8 dan 5,5 gacha
- Taymerlar: 3
Batafsil ma'lumot uchun Atmega328P ma'lumotlar jadvaliga o'ting.
Ushbu loyihada men Atmega328P -ni bir necha sabablarga ko'ra ishlataman
- Arzon
- Hisoblash uchun etarli RAM mavjud
- Ushbu loyiha uchun etarli kirish -chiqish pinlari
- Atmega328P Arduino -da ishlatiladi. Siz Rasm va Videoda Arduino Uno -ni ko'rishingiz mumkin, lekin men Arduino IDE yoki Any Arduino -ni ishlataman. Men interfeys taxtasi sifatida faqat uskunani ishlatganman. Men yuklagichni o'chirib tashladim va chipni dasturlash uchun USB ASP -dan foydalandim.
Chipni dasturlash uchun men Atmel Studio 6 dan foydalanganman
Hamma manba kodi GitHub -da Yuklab oling va test.c faylini tekshiring.
Ushbu to'plamni kompilyatsiya qilish uchun siz POLOLU AVR LIBRARY SETUP -ni yuklashingiz va o'rnatishingiz kerak.
Men, shuningdek, Atmega328P ishlab chiqish kartasi sxemasi va taxta faylini yuklayman … Siz uni o'zingiz ishlab chiqarishingiz mumkin …
3 -qadam: Dvigatel va dvigatel haydovchisi
Men aktuator sifatida 350RPM 12V BO tipli tishli DC motorini ishlatganman. Qo'shimcha ma'lumot olish uchun … MOTORLIK
Dvigatel haydovchisi sifatida men L293D H- ko'prigi IC dan foydalanganman.
Men sxematik va taxta faylini shu maqsadda biriktiraman.
4 -qadam: Shassi va boshqalar
Bot 6 mm qalinlikdagi yog'ochdan yasalgan.
Tavsiya:
Android telefonni zaryadlovchi qurilmasi uchun quvvat liniyasi filtrini loyihalash va qurish: 5 qadam
Android telefon zaryadlovchi qurilmasi uchun quvvat liniyasi filtrini loyihalashtirish va qurish: Men ko'rsatma beraman, men standart USB -ni mini -USB kabeliga qanday ulash, o'rtasiga ajratish va ortiqcha shovqinni kamaytiradigan filtr pallasini o'rnatish. odatiy android quvvat manbai tomonidan ishlab chiqarilgan xash. Menda portativ telefon bor
Oddiy DTMF (ohang) telefon liniyasi dekoderini qanday qilish kerak: 3 qadam
Oddiy DTMF (ohangli) telefon liniyasi dekoderini qanday qilish mumkin: Bu DTMF signallarini har qanday telefon liniyasida dekodlash imkonini beradigan oddiy loyiha. Ushbu qo'llanmada biz MT8870D dekoderidan foydalanamiz. Biz oldindan tuzilgan ohang dekoderidan foydalanmoqdamiz, chunki, ishoning, buni orqa tomondan og'riq
GoPiGo3 liniyasi izdoshi: 8 qadam
GoPiGo3 liniyasi izdoshi: Ushbu darslikda biz chiziq izdoshini olamiz va uni qora chiziq bo'ylab harakatlanishi uchun GoPiGo3 -da ishlatamiz
Python yordamida GiggleBot liniyasi izdoshi: 5 qadam
Python yordamida GiggleBot chizig'ining izdoshi: Bu safar biz MicroPython-da Dexter Industries GiggleBot-da qora chiziqni uning o'rnatilgan izdoshi sensori yordamida kuzatamiz. GiggleBot-ni BBC mikro: bit bilan bog'lash kerak. tegishli ravishda nazorat qilinadi. Agar
GiggleBot liniyasi izdoshlarini sozlash - Kengaytirilgan: 7 qadam
GiggleBot chizig'ining izdoshlarini sozlash - Kengaytirilgan: Ushbu qisqa ko'rsatmalarda siz o'zingizning GiggleBot -ni qora chiziqni kuzatib borishga sozlaysiz. Boshqa GiggleBot Line Follower qo'llanmasida biz sozlash ssenariysi bo'yicha ishlash uchun qiymatlarni qattiq kodladik. Siz buni shunday qilishni xohlashingiz mumkin