আমি কীভাবে কোনও আরসি সার্ভো নিয়ন্ত্রণ করতে পারি?


26

আমি জিপিআইও পিন থেকে পাইথনের মাধ্যমে একটি ছোট আরসি সার্ভো (5 ভি, 500 এমএ) নিয়ন্ত্রণ করতে চাই ।

হার্ডওয়্যারের

  • প্রয়োজনীয় বৈদ্যুতিক সংযোগগুলি কী কী?
  • আমি কি রাস্পবেরি পাইয়ের সাথে একাধিক সার্ভগুলি সংযুক্ত করতে পারি?
  • বর্তমান কোন সীমাবদ্ধতা আছে? আমার কি ট্রানজিস্টর দিয়ে আউটপুট পিনটি বাফার করা দরকার?
  • আমি সরাসরি রাস্পবেরি পাই থেকে সার্ভোকে শক্তি দিতে পারি, বা আমার কোনও বাহ্যিক বিদ্যুৎ সরবরাহ ব্যবহার করা উচিত? সার্ডোর ঝাঁকুনির শক্তি অঙ্কনটি মসৃণ করতে আমার কি ক্যাপাসিটারের দরকার?

সফটওয়্যার

  • আমার কি সফ্টওয়্যার / পাইথন কোডের প্রয়োজন? আমি জানি আমার 20 এমএস ডাল দরকার, আমি কীভাবে এটি অর্জন করতে পারি?
  • এইভাবে রাস্পবেরি পাই ব্যবহার করা থেকে আমি কী ধরণের সিপিইউ লোড আশা করতে পারি?

এটি একটি অনুরূপ প্রশ্ন যা আপনাকে শুরু করতে সহায়তা করতে পারে: raspberrypi.stackexchange.com/questions/27/…
অ্যান্ড্রু লারসন

উত্তর:


9

প্রয়োজনীয় বৈদ্যুতিক সংযোগগুলি আপনার যে সার্ভোতে রয়েছে তার উপর নির্ভর করে। GPIO 3.3 ভী উপলব্ধ এবং 16 mA বিদ্যুত পর্যন্ত , যা আপনার সার্ভার জন্য অপর্যাপ্ত, তাই আপনি যদি একটি ট্রানজিস্টার সঙ্গে আর ছবি আটকে প্রয়োজন হবে।

আছে সম্প্রসারণ হেডারে 8 GPIO পিনের , যদিও অন্যান্য পিনের মোট 17 GPIO পিনের পর্যন্ত দিতে কনফিগার করা যাবে। আপনার যদি আরও প্রয়োজন হয় তবে আপনাকে এক ধরণের মাল্টিপ্লেক্সার যুক্ত করতে হবে।

যথাযথভাবে সময় নির্ধারিত সিগন্যালগুলি পাওয়া রাস্পবেরি পাই বা কোনও অ-রিয়েল-টাইম ওএসের ক্ষেত্রে জটিল হবে কারণ বিঘ্ন এবং টাস্ক স্যুইচগুলি যে কোনও সময় ঘটতে পারে। সঠিকভাবে সময়সীমা সংকেত সরবরাহ করতে আপনার সম্ভবত বাহ্যিক ইলেকট্রনিক্সের প্রয়োজন হবে।

অ্যান্ড্রু আপনাকে কিছু সফ্টওয়্যার দেখিয়েছে। আপনি যা করছেন তার উপর সিপিইউ লোড নির্ভর করবে, তবে জিপিআইও নিজে কোনও লোড যোগ করবে না।


2
অন্যদিকে - 20 এমএস একটি দীর্ঘ সময়, এমনকি রাস্পবেরি পাই এর সিপিইউ শর্তাদির জন্য। আরসি সার্ভোসের জন্য সময়ের যথার্থতা সম্পর্কে আমি খুব বেশি চিন্তিত হব না।

2
@ টিউবোর: 20 মিমি সার্ভো ডালের সময়কাল নয়, প্রস্থ নয় en.wikedia.org/wiki/Servo_control#Pulse_duration । এবং রেজোলিউশনের প্রয়োজনীয়তা এর চেয়ে আরও খারাপ - 8 বিট রেজোলিউশন পেতে আপনার 2 মিলিসেকেন্ডে 256 পদক্ষেপ প্রয়োজন , সুতরাং 8 ডলার।
মার্টিন থম্পসন

8

আপনি যদি আপনার রাস্পবেরি পাইতে রিয়েলটাইম অপারেটিং সিস্টেম চালাচ্ছেন তবে এটি অবশ্যই সম্ভব। অন্যরা যেমন ইতিমধ্যে বলেছে যে আপনার সার্ভোসের জন্য একটি বাহ্যিক শক্তি উত্সের প্রয়োজন হবে তবে এটি ছাড়া আপনার কোনও অতিরিক্ত হার্ডওয়্যার প্রয়োজন নেই।

আপনি যদি জেনোমাই (লিনাক্সের জন্য রিয়েলটাইম প্যাচ) চালাচ্ছেন তবে আপনি একটি সম্পূর্ণ পরিচিত লিনাক্স সিস্টেম চালাতে পারবেন, তবে যুক্ত রিয়েলটাইম ক্ষমতা সহ।

আমি রাস্পবেরি পাই থেকে সার্ভোগুলি নিয়ন্ত্রণ করার উদ্দেশ্যে একটি ছোট সি লাইব্রেরি লিখেছি। আমি এটির সাথে একই সাথে 3 টি সার্ভো নিয়ন্ত্রণ করার চেষ্টা করেছি, তবে এটি আরও বেশি করে কাজ না করার কোনও কারণ নেই।

আপনি এখানে আমার ছোট গ্রন্থাগারটি পেতে পারেন: https://github.com/simonfi/pi-servo এর জন্য পাইথনের মোড়ক যুক্ত করা তুচ্ছ হওয়া উচিত। রাস্পবেরি পাই এর জেনোমাই এখানে পাওয়া যাবে: http://powet.eu/2012/07/25/raspberry-pi-xenomai/

তিনটি সার্ভোর জন্য প্রয়োজনীয় সংকেত তৈরি করা মূলত সিগু-র স্বল্প পরিমাণে গ্রহণ করা। আমি এখনও তিনটির বেশি পরীক্ষা করে দেখিনি।


5

আপনি যদি লিনাক্স কার্নেল ড্রাইভার ব্যবহার করতে আপত্তি করেন না তবে সেখানে সার্ভোব্লাস্টার রয়েছে যা সার্ভগুলি চর ডিভাইস হিসাবে প্রকাশ করে।

https://github.com/richardghirst/PiBits

আমি একটি নতুন সংস্করণ তৈরি করেছি যা সার্ভোজ ব্যবহারের জন্য সমস্ত জিপিও পিন ব্যবহার করে না। আমি বর্তমানে আইপিগেমপ্যাড ব্যবহার করে আমাদের রোবট ক্লাবটির জন্য এটি তৈরি এবং ডেমোড করেছি এমন একটি ছোট সার্ভো চালিত রোবোটে ব্যবহার করছি।

https://github.com/jronald/PiBits

এছাড়াও, আপনি সত্যিই আরপিআইয়ের মাধ্যমে সার্ভগুলি এমন বিদ্যুৎ চান না তবে পরিবর্তে একটি পৃথক বিদ্যুৎ সরবরাহ ব্যবহার করুন। অবশ্যই আপনাকে সেই ভিত্তিগুলি এক সাথে বেঁধে রাখতে হবে। যেহেতু সার্পিওতে আরপিআই আউটপুট দেয় কোনও ভোল্টেজ স্থানান্তর করার প্রয়োজন হয় না, তবে আপনি জিনিসগুলি ভুলভাবে তারে না দেওয়ার জন্য খুব যত্নবান হতে চাইবেন।


fyi - রিনার্থগ্রিস্ট রেপো রক্ষণাবেক্ষণ করা হয়েছে বলে মনে হচ্ছে যখন জ্রোনাল্ড কাঁটাচামচটি পুরানো এবং ভাঙ্গা মনে হচ্ছে। এছাড়াও, আমি প্রথমে দুটি সার্ভো কন্ট্রোল বাদ দিয়ে
সিডব্লুডে

3

সার্ভগুলি সাধারণত পিডব্লিউএম সংকেত ব্যবহার করে নিয়ন্ত্রণ করা হয়; আপনার জিপিআইওকে পিডব্লিউএম আউটপুট হিসাবে উল্লেখ করা উচিত ।

চিপটিতে পিডব্লিউএম সমর্থন রয়েছে, তাই আমাদের ভবিষ্যতে এটি ব্যবহার করতে সক্ষম হওয়া উচিত। মূলত, সমস্ত সফ্টওয়্যার হ'ল হার্ডওয়্যারকে নির্দিষ্ট ফ্রিক্যুয়েন্সিতে ডাল উত্পাদন করতে বলে। কিছু লোকের আই 2 সি এর মাধ্যমে বহিরাগত পিডব্লিউএম নিয়ন্ত্রক ব্যবহার করে সাফল্য পেয়েছে।


3

রাস্পবেরি পাই এর জন্য একটি এক্সটেনশন বোর্ড পাওয়া যায় যা জার্টবোর্ড বলে যা সার্ভস এবং অন্যান্য লোডগুলি পাই নিজেই চালনা করতে পারে না তা নিয়ন্ত্রণ করতে ব্যবহৃত হয়।


আমারও যুক্ত করা উচিত যে এই পণ্যের জনপ্রিয়তার কারণে আমি বিশ্বাস করি এটি বেশিরভাগ সাইটে বিক্রি হয়েছে যা রাস্পবেরি পাই এবং আনুষাঙ্গিক সরবরাহ করে।
ব্র্যান্ডন বেইলি

3

এই প্রশ্নটি জিজ্ঞাসা করার পর থেকে পাইগুলিতে কীভাবে জিনিসগুলি করা যায় তার জ্ঞানটি বেশ উন্নত হয়েছে।

বাহিরের হার্ডওয়্যার ব্যবহার না করে পাই এর জিপিওগুলিতে হার্ডওয়্যার টাইমড পিডাব্লুএম / সার্ভো ডাল তৈরির কমপক্ষে চারটি উপায় রয়েছে।

এটি করার জন্য কার্নেল মডিউলগুলির ব্যবহারের পরিমাণ হ্রাস করা হয়েছে, নিম্নলিখিত ব্যবহারকারীভূমি সমাধানগুলি উপলভ্য।

  • আমার নিজস্ব পিপ্পিও জিপিওএস 0-31 (সি, পাইথন, সকেট, পাইপ) এর যে কোনওটিতে স্বতন্ত্রভাবে সার্ভো এবং সাধারণ পিডব্লিউএম ডাল উত্পন্ন করবে।
  • সার্ভোব্লাস্টার 21 জিপিওএস (পাইপ) এ স্বাধীনভাবে সার্ভো এবং সাধারণ পিডব্লিউএম ডাল তৈরি করবে।
  • আরপিআইও যে কোনও জিপিওএস 0-31 (পাইথন) এ স্বাধীনভাবে সার্ভো এবং সাধারণ পিডব্লিউএম ডাল তৈরি করবে gene
  • পী-ব্লাস্টার Servoblaster থেকে উদ্ভূত (নল)

2

আমি আশ্চর্য হব যদি আপনি কোনও সার্ভো সঠিকভাবে নিয়ন্ত্রণের জন্য লিনাক্স চালিত অবস্থায় আউটপুটগুলিতে পর্যাপ্ত পরিমাণে সময় দিতে পারেন।

নাড়িটি 2 মিলিসেকেন্ডের ব্যাপ্তিতে নিয়ন্ত্রণ করতে হয়। এমনকি সময়সূচীর টিকটির রেজুলিউশন 100us (যা এটি চাপ দিচ্ছে - এটি সাধারণত 10 মিমি) থাকে, এটি কেবলমাত্র 20 টি পদক্ষেপ আপনি সমাধান করতে পারেন। এবং এটি টাস্ক স্যুইচিংয়ের মাধ্যমে প্রবর্তিত জিটারটি বিবেচনা না করেই।

যদি অন্য টাইমার উপলভ্য থাকে তবে আপনি সম্ভবত খুব নিম্ন স্তরের ড্রাইভার লিখতে পারেন যা সঠিকভাবে সময় পেতে ওএসকে এমনকি প্রাক-শূন্য করতে পারে। মজা লাগছে!


2

আমি মনে করি যে জিপিআইও বন্দর থেকে সরাসরি সার্ভো চালানোর চেষ্টা করা কঠিন হবে এবং যদি এটি সম্ভব হয় তবে প্রচুর সিপিইউ ওভারহেড তৈরি করবে। আমি একটি ইউএসবি সার্ভো নিয়ামক ব্যবহার করি এবং এটি দুর্দান্ত কাজ করে এবং প্রায় কোনও সিপিইউ ব্যবহার করে না, যদিও এটি সেট আপ করা সামান্য কৌশলযুক্ত। আমার কাছে একটি 24 টি চ্যানেল, তবে তারা 6 টি চ্যানেল সংস্করণ তৈরি করে। আমি অন্যান্য বিক্রেতাদের 2 এবং 4 চ্যানেল নিয়ামকগুলিও দেখেছি যা সিরিয়াল ব্যবহার করে যা ইউএসবি এর চেয়ে সহজ এবং সস্তা হবে যদি আপনার এতগুলি সার্ভো নিয়ন্ত্রণ করার প্রয়োজন না হয়।


0

এখানে একটি সম্পূর্ণ কার্যকারী জিপিআইও ওয়েব পরিষেবা রয়েছে যার জন্য আপনি নিজের প্লাগইন লিখতে পারেন। এটি ইতিমধ্যে যে কোনও সংখ্যক সার্ভো নিয়ন্ত্রণ করার জন্য সমর্থন পেয়েছে বলে মনে হয়। বোর্ড লেআউটের জন্য বেশ কয়েকটি চিত্রের জন্য তাদের "সামগ্রী" ডিরেক্টরিটি দেখুন।

https://bitbucket.org/PaulTechGuy/raspberrypi.dotnet.gpioweb

পাই তে সি # চলমান মনোতে রয়েছে বলে মনে হচ্ছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.