Агуулгын хүснэгт:
- Алхам 1: ПХБ -ийн дизайн
- Алхам 2: Протоколыг боловсруулах
- Алхам 3: Firmware -ийг зохион бүтээх
- Алхам 4: Урсгалын кодоор интерфэйс хийх
- Алхам 5: Интерфейсийн бусад аргууд
- Алхам 6: Бэлэн бүтээгдэхүүн
Видео: Бүх нийтийн интерфэйсийн самбар - USB/Bluetooth/WIFI хяналт: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Төхөөрөмжийн мэдээллийн хуудсан дээр үндэслэн шинэ суулгагдсан модулиудын эхнээс нь номын сан бий болгодог. Номын санг бий болгохдоо би код, эмхэтгэх, програмчлах, тест хийх явцад ямар нэгэн зүйл ажиллаж, алдаагүй байдаг. Ихэнхдээ хөрвүүлэх, програмчлах хугацаа нь кодыг засварлах хугацаанаас хамаагүй урт байж болох тул боловсруулах явцад эдгээр алхмуудыг хасах арга нь маш тохиромжтой байдаг.
Би суулгагдсан модулийг компьютертэй холбохыг хүсдэг. Хэрэв модуль нь USB холболттой байдаггүй бөгөөд энэ нь ихэвчлэн тохиолддог бол та ердөө л SPI эсвэл зүгээр л I2C гэх мэт ганц ажлыг хийх өндөр үнэтэй USB хөрвүүлэгч худалдаж авах хэрэгтэй болно.
Ийм учраас би бүх нийтийн интерфэйсийн самбарыг бүтээхээр шийдсэн юм. Энэ нь суулгагдсан модулиудтай компьютер дээр суурилсан хялбар харилцаа холбоо тогтоох зорилготой юм.
Миний шийдсэн самбарын суулгагдсан интерфэйсийн онцлог шинж чанарууд орно.
- Дижитал I/O
- I2C
- ТХН
- UART
- ХОУХ
- Servo мотор
- ADC оролт
- DAC гаралт
Энэ бүгдийг бүрэн бие даан ашиглах боломжтой.
Интерфейсийн самбарыг компьютерт USB холболтоор удирдах боломжтой боловч WIFI эсвэл Bluetooth модулийн нэмэлт холболттой бөгөөд самбарыг алсаас эсвэл IoT төрлийн хувилбараар ашиглах боломжтой болно.
Стандарт 2.54 мм давирхайтай SIL толгойн тусламжтайгаар эмэгтэй дюпон кабелийг самбар болон суулгагдсан модулийн хооронд шууд холбож, хурдан, найдвартай, гагнуургүй холболт хийх боломжтой болно.
Би CAN, LIN, H-bridge гэх мэт зүйлийг нэмж оруулах талаар бодож үзсэн боловч эдгээр нь дараа нь v2 хувилбараар гарч ирж магадгүй юм.
Алхам 1: ПХБ -ийн дизайн
ПХБ -ийг зохион бүтээхдээ бүх зүйлийг аль болох энгийн байлгахыг хичээдэг. Та самбарыг өөрийн гараар барих гэж байгаа бол бүрэлдэхүүн хэсгүүдийг зөвхөн тусгай зориулалтын дагуу хийж, микроконтроллерийн аль болох олон дотоод функцийг ашиглах үед л нэмэх нь чухал юм.
Миний илүүд үздэг цахилгаан бараа нийлүүлэгчийг хараад би хайж байсан онцлог шинж чанартай, боломжийн үнэтэй чипийг олсон. Миний газардсан чип нь PIC18F24K50 байв.
Боломжтой 23 оролт/гаралтын тусламжтайгаар энэ боломжуудыг надад олгосон
- Дигтал I/O
- I2C
- ТХН
- UART
- ХОУХ x 2
- Servo мотор x 6
- ADC оролт x 3
- DAC гаралт x 1
- Оролт/гаралт нь 5V эсвэл 3V3 -аас ажилладаг
- Статусын LED
Миний сонгосон IC -ийн нэг сул тал бол зөвхөн нэг UART дагалдах төхөөрөмжтэй тул Bluetooth эсвэл Wifi хяналтын аргыг ашиглах нь UART холболтыг ашиглахаа болино.
Дууссан схем ба ПХБ -ийг дээрх зургуудад үзүүлэв.
Алхам 2: Протоколыг боловсруулах
Протоколыг боловсруулах эхний алхам бол удирдах зөвлөл танд яг юу хийх шаардлагатай байгааг шийдэх явдал юм. Аливаа зүйлийг салгах нь илүү сайн хяналтыг бий болгодог бол бүх зүйлийг хослуулан самнах нь интерфэйсийг хялбарчилж, самбар болон компьютерийн хоорондох хөдөлгөөнийг бууруулдаг. Энэ бол тэнцвэржүүлэх тоглоом бөгөөд үүнийг төгс болгоход хэцүү байдаг.
Удирдах зөвлөлийн функц бүрийн хувьд та ямар ч параметр, өгөгдлийг зааж өгөх ёстой. Жишээлбэл, ADC оролтыг унших функц нь ямар оролтыг түүвэрлэх, үр дүнг агуулсан буцах утгыг зааж өгөх параметртэй байж болно.
Миний дизайнд оруулахыг хүссэн функцуудын жагсаалт энд байна.
-
Дижитал I/O
- SetPin (PinNumber, муж)
- Муж = GetPin (PinNumber)
-
ТХН
- Эхлүүлэх (SPI горим)
- DataIn = Дамжуулах (DataOut)
- ControlChipSelect (Суваг, муж)
- SetPrescaler (Үнэлгээ)
-
I2C
- Эхлүүлэх ()
- Эхлэх ()
- Дахин ачааллах ()
- Зогс ()
- SlaveAck = Илгээх (DataOut)
- DataIn = хүлээн авах (сүүлчийн)
-
UART
- Эхлүүлэх ()
- TX байт (DataOut)
- BytesAvailable = RX тоо ()
- DataIn = RX байт ()
- SetBaud (Baud)
-
ХОУХ
- Идэвхжүүлэх (Суваг)
- Идэвхгүй болгох (Суваг)
- SetFrequency (суваг, давтамж)
- GetMaxDuty (үүрэг)
- SetDuty (Үүрэг)
-
Servo
- Идэвхжүүлэх (Суваг)
- Идэвхгүй болгох (Суваг)
- SetPosition (Суваг, байрлал)
-
ADC
ADCsample = дээж (суваг)
-
DAC
- Идэвхжүүлэх
- Идэвхгүй болгох
- SetOutput (хүчдэл)
-
WIFI
- SetSSID (SSID)
- Нууц үг тохируулах (нууц үг)
- Статус = CheckConnectionStatus ()
- IP = GetIPAddress ()
Параметрүүдийг хаалтанд, буцаан олголтыг тэнцүү тэмдгийн өмнө харуулна.
Кодлохоосоо өмнө би функц бүрт 128 (хоёртын 0b10000000) -аас эхлэн дээшээ ажиллах командын кодыг оноож өгдөг. Толгойгоо кодонд оруулсны дараа надад лавлах сайхан бичиг байгаа эсэхийг баталгаажуулахын тулд би протоколыг бүрэн баримтжуулдаг. Энэхүү төслийн протоколын бүрэн баримт бичгийг хавсаргасан бөгөөд ирж буй командын код болон битийн өргөнийг багтаасан болно.
Алхам 3: Firmware -ийг зохион бүтээх
Протоколыг байгуулсны дараа энэ нь тоног төхөөрөмжийн функцийг хэрэгжүүлэх явдал юм.
Би програм хангамжийг ойлгох, дибаг хийхэд хялбар байлгахын тулд боломжит тушаал, өгөгдөл дамжуулах чадварыг нэмэгдүүлэхийн тулд боолын системийг хөгжүүлэхдээ төрийн машины энгийн аргыг ашигладаг. Хэрэв танд бусад холбогдсон төхөөрөмжтэй илүү сайн харьцах шаардлагатай бол Modbus гэх мэт илүү дэвшилтэт системийг ашиглаж болох боловч энэ нь ачааллыг нэмэгдүүлж, ажлыг удаашруулна.
Төрийн машин нь гурван төлөвөөс бүрдэнэ.
1) тушаалуудыг хүлээж байна
2) Параметрүүдийг хүлээн авах
3) Хариулах
Гурван муж дараахь байдлаар харилцан үйлчилдэг.
1) Бид хамгийн чухал битийн багцтай байт хүртэл буферт орж ирж буй байтуудыг дамжуулдаг. Ийм байт хүлээн авсны дараа бид үүнийг мэддэг командуудын жагсаалтаас шалгадаг. Хэрэв бид тохирох зүйл олж авбал бид протоколд нийцүүлэхийн тулд параметрийн байт ба буцах байтын тоог өгдөг. Хэрэв параметрийн байт байхгүй бол бид энд тушаалыг хийж 3 -р төлөв рүү алгасах эсвэл 1 -р төлөвийг дахин эхлүүлэх боломжтой. Хэрэв параметрийн байт байгаа бол бид 2 -р төлөв рүү шилжих болно.
2) Бид бүх параметрүүдийг хадгалах хүртэл ирж буй байтуудыг хадгалдаг. Бүх параметрүүд бэлэн болмогц бид тушаалыг гүйцэтгэдэг. Хэрэв буцах байт байгаа бол бид 3 -р шатанд шилжинэ. Хэрэв илгээх буцах байт байхгүй бол бид 1 -р шат руу буцна.
3) Бид ирж буй байтуудыг дамжуулж, байт бүрийн хувьд цуурайтсан байтыг хүчинтэй буцах байтаар дарж бичдэг. Бүх буцах байтыг илгээсэний дараа бид 1 -р шат руу буцна.
Би Flowcode -ийг ашиглан програмыг зохион бүтээсэн бөгөөд энэ нь миний хийж буй зүйлийг нүдээр харуулах болно. Үүнтэй ижил зүйлийг Arduino эсвэл бусад суулгагдсан програмчлалын хэл дээр хийж болно.
Эхний алхам бол компьютертэй холбоо тогтоох явдал юм. Үүнийг хийхийн тулд бичил төхөөрөмжийг зөв хурдаар ажиллуулахаар тохируулах шаардлагатай бөгөөд USB болон UART -ийн дагалдах хэрэгслүүдийг жолоодохын тулд бид код нэмэх шаардлагатай болно. Flowcode дээр энэ нь Comms бүрэлдэхүүн цэснээс USB цуваа болон UART бүрэлдэхүүн хэсгүүдийг төсөл рүү чирэхтэй адил хялбар юм.
Бид UART дээр ирж буй тушаалуудыг барьж авахын тулд RX тасалдал, буфер нэмж, USB -ээс тогтмол санал асуулга авдаг. Дараа нь бид чөлөөт цагаараа буфер хийж болно.
Flowcode төсөл болон үүсгэсэн C кодыг хавсаргав.
Алхам 4: Урсгалын кодоор интерфэйс хийх
Flowcode симуляци нь маш хүчирхэг бөгөөд самбартай ярих бүрэлдэхүүн хэсгийг бий болгох боломжийг олгодог. Бүрэлдэхүүн хэсгүүдийг бий болгохдоо бид одоо байгаа бүрэлдэхүүн хэсгүүдийг төсөл дээрээ чирж, удирдах зөвлөлийн функцийг шууд ашиглах боломжтой болно. Нэмэлт урамшуулал болгон SPI, I2C эсвэл UART -ийн дагалдах төхөөрөмжтэй байгаа бүх бүрэлдэхүүн хэсгүүдийг симуляцид ашиглаж болох бөгөөд комментийн өгөгдлийг Инжекторын бүрэлдэхүүн хэсгээр интерфэйсийн самбар руу дамжуулж болно. Хавсаргасан зургууд нь дэлгэцэн дээр зурвас хэвлэх энгийн програмыг харуулж байна. I2C Display, I2C Injector болон Interface Board -ийн бүрэлдэхүүн хэсгүүдтэй интерфэйсийн самбараар дамжуулан дэлгэцийн бодит техник хангамж, бүрэлдэхүүн хэсгүүдийн тохиргоог дамжуулдаг.
Flowcode 8.1 -ийн шинэ SCADA горим бол үнэмлэхүй нэмэлт урамшуулал бөгөөд ингэснээр бид Flowcode симулятор дээр ямар нэгэн зүйл хийдэг програмыг авч, экспортлох боломжтой бөгөөд ингэснээр лицензийн асуудалгүйгээр ямар ч компьютер дээр ганцаараа ажиллах болно. Энэ нь туршилтын төхөөрөмж эсвэл мэдрэгч кластер гэх мэт төслүүдэд маш сайн байж болох юм.
Би энэ SCADA горимыг ашиглан SSID болон нууц үгийг тохируулах, модулийн IP хаягийг цуглуулахад ашиглаж болох WIFI тохиргооны хэрэгслийг бий болгодог. Энэ нь USB холболтыг ашиглан бүх зүйлийг тохируулах, дараа нь бүх зүйл ажиллаж эхэлмэгц WIFI сүлжээний холболт руу шилжүүлэх боломжийг олгодог.
Зарим жишээ төслүүдийг хавсаргав.
Алхам 5: Интерфейсийн бусад аргууд
Flowcode -ээс гадна та өөрийн сонгосон програмчлалын хэлийг ашиглан интерфэйсийн самбартай харилцах боломжтой. Бид Flowcode -ийг ашиглаж байсан бөгөөд үүнийг нэн даруй эхлүүлэх боломжтой хэсгүүдийн номын сантай байсан боловч энэ нь бусад олон хэлэнд хамаарна.
Интерфэйсийн самбартай харилцах хэл, аргуудын жагсаалтыг энд оруулав.
Python - COM порт эсвэл IP хаяг руу өгөгдөл дамжуулахын тулд цуваа номын санг ашиглах
Matlab - Файлын командыг ашиглан өгөгдлийг COM порт эсвэл IP хаягаар дамжуулдаг
C ++ / C# / VB - Урьдчилан бичсэн DLL -ийг ашиглан COM порт эсвэл Windows TCP / IP API руу шууд нэвтрэх
Labview - Урьдчилан бичсэн DLL, VISA Serial бүрэлдэхүүн хэсэг эсвэл TCP/IP бүрэлдэхүүн хэсгүүдийг ашиглан
Дээрх хэлнүүдийг хэрэгжүүлэхийг хүсч буй хүн байвал надад мэдэгдээрэй.
Алхам 6: Бэлэн бүтээгдэхүүн
Бэлэн бүтээгдэхүүн нь олон жилийн турш миний суулгагдсан хэрэгслийн хэрэгсэлд чухал шинж чанар байх болно. Энэ нь надад Grove -ийн янз бүрийн дэлгэц, мэдрэгчийн бүрэлдэхүүн хэсгүүдийг боловсруулахад тусалсан. Би одоо ямар ч эмхэтгэл хийх, програмчлахаасаа өмнө кодыг бүрэн хадаж авах боломжтой.
Би ажлынхаа урсгалыг сайжруулахын тулд хамт ажиллагсдад зориулж хэд хэдэн самбар тараасан бөгөөд үүнийг маш сайн хүлээж авсан.
Миний зааврыг уншсанд баярлалаа, танд хэрэгтэй байсан гэж найдаж байна, энэ нь бүтээмжийг хурдасгах өөрийн хэрэгслийг бий болгоход тань тусална гэж найдаж байна.
Зөвлөмж болгож буй:
Соронзон терминал бүхий DIY бүх нийтийн зай цэнэглэгч: 5 алхам
Соронзон терминал бүхий DIY бүх нийтийн батерей цэнэглэгч: Сайн байцгаана уу, энэ бол миний хоёр дахь зааварчилгаа тул таны санал хүсэлт цаашид сайжруулахад надад үнэхээр тустай байх болно. Мөн бусад төслүүдийг үзэхийн тулд миний YouTube сувгийг үзээрэй. Өнөөдөр би Magneti ашиглан бүх нийтийн батерей цэнэглэгч хэрхэн хийхийг танд үзүүлэх гэж байна
Tube Amp Build -д зориулсан бүх нийтийн ПХБ -ийн цуврал: 5 алхам
Tube Amp Build -д зориулсан бүх нийтийн ПХБ -ийн цуврал: Хоолойн хэлхээ нь электроникийн хөгжилд чухал алхам болсон. Ихэнх хэсэгт тэдгээр нь хямд, жижиг, илүү үр ашигтай хатуу төлөвт суурилсан технологитой харьцуулахад бүрэн хуучирсан байв. Аудиог эс тооцвол - хуулбарлах болон
"Бүх нийтийн" цаг: 10 алхам (зурагтай)
"Бүх нийтийн" цаг: Энэ цаг нь дэлхийн 24 цагийн бүсэд цагийг харуулах боломжтой; Энэхүү гүйцэтгэлийг цагийн үндсэн бүрэлдэхүүн хэсгүүдийг харуулсан зураг дээр харуулсан зохион байгуулалтын ачаар олж авсан
Бүх зүйлд зориулсан бүх нийтийн цахилгаан хангамж: 7 алхам
Бүх зүйлд зориулагдсан бүх нийтийн цахилгаан хангамж: Сайн байцгаана уу найзуудаа, электроникийн хоббитой тул бид бүгд ажлын вандан дээр цахилгаан хангамж хэрэгтэй болно, мөн түүнчлэн янз бүрийн электроникийг тэжээх төмөр замын цахилгаан хангамж хэрэгтэй болно. нийтлэг төрлийн цахилгаан хангамж
Бүх нийтийн чихэвч/чихэвчний дууны хяналт: 8 алхам (зурагтай)
Бүх нийтийн чихэвч/чихэвчний дууны хяналт: Тиймээс би Хонконгоос PMP (Зөөврийн медиа тоглуулагч) худалдаж авсан бөгөөд ингэснээр NES тоглоомуудаа самбар дээрх эмулятороор тоглуулах боломжтой байсан. Урт хугацааны аялал, нислэг, хүлээлгийн өрөө гэх мэт бол зөөврийн хэрэгслээр цаг алдах дуртай газар боловч