الیکٹرانکس میں ، سروو موٹرز زیادہ تر روبوٹکس پروجیکٹس میں ان کی درستگی اور آسانی سے ہینڈلنگ کی وجہ سے استعمال ہوتی ہیں۔ امدادی موٹریں سائز میں چھوٹی ہیں اور یہ بہت موثر اور توانائی سے موثر ہیں۔ وہ اعلی ٹارک مہیا کرتے ہیں اور موٹروں کی تفصیلات کے مطابق وزن اٹھانے یا آگے بڑھانے کے لئے استعمال کیا جاسکتا ہے۔ اس ٹیوٹوریل میں ہم سروو موٹر اور STM32F103C8 بورڈ کے ساتھ सर्वो کو انٹرفیس کرنے کا طریقہ سیکھیں گے ۔ امدادی موٹر کے شافٹ کی پوزیشن کو مختلف کرنے کے ل A ، ایک پوٹینومیٹر انٹرفیس کیا گیا ہے ، اور زاویہ کی قیمت کو ظاہر کرنے کے لئے LCD بھی ہے۔
ضروری اجزاء
- STM32F103C8 (بلیو گولی) بورڈ
- امدادی موٹر (SG90)
- LCD (16x2)
- پوٹینومیٹر
- بریڈ بورڈ
- جمپر تاروں
سرکٹ ڈایاگرام اور رابطے
SMT32F103C8 پن کی تفصیلات
میں STM32F103C8، ہم 10 ہے اے ڈی سی پنوں (PA0-PB1)، اور ہم یہاں کے لئے صرف ایک پن (PA3) استعمال analogread () potentiometer کے ذریعے موٹر کی شافٹ پوزیشن قائم کرنے کے لئے. اس کے علاوہ ایس ٹی ایم 32 (PA0، PA1، PA2، PA3، PA6، PA7، PA8، PA9، PA10، PB0، PB1، PB6، PB7، PB8، PB9) کے 15 PWM پنوں میں سے ایک پن کو سرو کو دالوں کی فراہمی کے لئے استعمال کیا جائے گا۔ موٹر کا پی ڈبلیو ایم پن (عام طور پر یہ نارنگی رنگ کا ہوتا ہے)۔
ذیل میں تفصیلی مضامین کو پڑھ کر آپ پی ڈبلیو ایم اور اے ڈی سی کے بارے میں مزید معلومات حاصل کرسکتے ہیں۔
- STM32F103C8 میں ADC کا استعمال کیسے کریں
- STM32F103C8 میں پلس کی چوڑائی ماڈیولیشن (PWM)
STM32F103C8 اور LCD کے درمیان رابطہ
STM32F103C8 | LCD |
GND | وی ایس ایس |
+ 5 وی | وی ڈی ڈی |
پوٹینومیٹر سینٹر کا PIN | V0 |
پی بی 0 | RS |
GND | آر ڈبلیو |
پی بی 1 | ای |
پی بی 10 | ڈی 4 |
پی بی 11 | ڈی 5 |
پی سی 13 | ڈی 6 |
پی سی 14 | ڈی 7 |
+ 5 وی | A |
GND | K |
سروو موٹر اور STM32F103C8 کے درمیان رابطہ
STM32F103C8 |
سرور |
+ 5 وی |
سرخ (+ 5V) |
PA0 |
اورنج (PWM پن) |
GND |
براؤن (GND) |
ممکنہ رابطے
ہم نے یہاں TWO potentiometers استعمال کیے ہیں
1. دائیں طرف کا پوٹینومیٹر LCD کے برعکس مختلف ہونے کے لئے استعمال کیا جاتا ہے۔ اس میں تین پن ہیں ، بائیں پن +5V کے لئے ہے اور دائیں جی این ڈی کے لئے ہے اور سینٹر پن ایل سی ڈی کے V0 سے منسلک ہے۔
2. بائیں طرف کا پوٹینومیٹر ینالاگ ان پٹ وولٹیج کو کنٹرول کرکے امدادی موٹر کی شافٹ پوزیشن کو مختلف کرنے کے لئے استعمال کیا جاتا ہے ، بائیں پن میں ان پٹ 3.3V اور دائیں جی این ڈی ہے اور سینٹر آؤٹ پٹ STM32 کے (PA3) سے منسلک ہے
امدادی موٹر کے لئے پروگرامنگ STM32
ہمارے پچھلے سبق کی طرح ، ہم نے بھی FTDI پروگرامر کا استعمال کیے بغیر USB پورٹ کے ذریعے Ardino IDE کے ساتھ STM32F103C8 کا پروگرام بنایا۔ ہم اس کو ارڈینو کی طرح پروگرامنگ کرسکتے ہیں۔ پروجیکٹ کے اختتام پر مکمل کوڈ ذیل میں دیا گیا ہے۔
پہلے ہم نے امدادی اور LCD افعال کے ل library لائبریری کی فائلیں شامل کیں۔
# شامل کریں
پھر LCD ڈسپلے کے لئے پنوں کا اعلان کیا اور اسے شروع کردیا۔ پی ڈبلیو ایم اور پوٹینومیٹر کے ل few کچھ دوسرے متغیرات کا بھی اعلان کیا:
const int rs = PB0، en = PB1، d4 = PB10، d5 = PB11، d6 = PC13، d7 = PC14؛ لیکویڈ کرسٹل ایل سی ڈی (آر ایس ، این ، ڈی 4 ، ڈی 5 ، ڈی 6 ، ڈی 7)؛ int servoPin = PA0؛ int پوٹین = PA3؛
یہاں ہم نے ڈیٹا ٹائپ سروو کے ساتھ متغیر سروکو تشکیل دیا ہے اور اسے پہلے اعلان کردہ پی ڈبلیو ایم پن سے منسلک کیا ہے۔
امدادی امدادی۔ servo.attach (servoPin)؛
پھر پن PA3 سے ینالاگ قدر پڑھیں کیونکہ یہ ADC پن ہے کیونکہ یہ ینالاگ وولٹیج (0-3.3) کو ڈیجیٹل شکل (0-4095) میں تبدیل کرتا ہے۔
ینالاگ ریڈ (پوٹ پن)؛
چونکہ ڈیجیٹل آؤٹ پٹ 12 بٹ ریزولوشن ہے ، ہمیں ڈگری کی حد (0-170) میں قدریں حاصل کرنے کی ضرورت ہے ، یہ اے ڈی سی (0-4096) قدر کو زیادہ سے زیادہ زاویہ 170 ڈگ کے مطابق تقسیم کرتا ہے لہذا ہم 24 کے ساتھ تقسیم کرتے ہیں ۔
زاویہ = (پڑھنا / 24)؛
بیان کے نیچے امدادی موٹر شافٹ کو دیئے گئے زاویہ پر گھومنے کے ل makes بناتا ہے۔
servo.write (زاویہ)؛
مکمل کوڈ ذیل میں دیا گیا ہے اور تبصرے کے ذریعہ اس کی وضاحت کی گئی ہے۔