タグ付けされた質問 「servo」

趣味のRCサーボなど、自動フィードバック付きのモーター。

11
独自のUSBガジェットを作成する方法を学びたい
私はしばらくの間、他の人のもののためにLinuxキャラクターデバイスドライバーを書いてきました。新しい趣味を見つけたいのですが、自分のUSBギズモを作成するという考えは本当にすてきです。 いくつかのLED、サーボ、およびステップモーターを制御できることに興奮しています。自分で新しいことを学び、最終的に何かがうまくいったときの興奮を本当に楽しんでいます。本格的なMCプログラミングは行っていませんが、私のやり方は知っています。 誰でも完全な初心者に役立ついくつかのキットを推奨できますか?理想的には、次のとおりです。 Linuxフレンドリー 国際的に出荷可能(現在アジアに住んでいます) ブレッドボードキットを提供する 時間があれば、他の人のサイトの回路図や部品リストを含むプロジェクトへのリンクをいただければ幸いです。私は例から勉強したいのですが、良い例です。だから私はここで尋ねています。 私の最終的な目標は、降雨から平均デシベル、光レベルまで、すべてのデータコレクターを作成することです。これが以前に尋ねられた場合は申し訳ありませんが、検索(およびタグの検索)を行いました。

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

9
サーボの「揺れ」を止める方法はありますか?
非常に簡単に言えば、私は他の場所から読み込まれたデータに基づいてサーボ(9gマイクロサーボ)を制御しています。サーボが常に「揺れる」ことを除いて、すべてが正常に機能します。つまり、非常に微妙な動きで振動します(1/2-> 1cm程度の断続的な動き)。 私は次のようなことをしてソフトウェアでこの問題を修正しようとしました: do{ delay(DTIME); positionServo(); lcd.clear(); lcd.setCursor(0,0); lcd.print("X position: "); lcd.print(xRead); lcd.setCursor(0,1); lcd.print("Y position: "); lcd.print(yRead); }while( readChange() ); //while there has been change do-whileが必要な場合は、マッピングされたサーボ値を格納する変数を初期化します(arduinoサーボライブラリを使用)。 readChange()関数は次のように定義されます: int readChange(){ int x_Temp, y_Temp; x_Temp = map(analogRead(x_axisReadPin), 0, 1023, 0, 179); y_Temp = map(analogRead(y_axisReadPin), 0, 1023, 0, 179); if( abs(x_Temp - xRead) …
20 arduino  servo 

4
サーボの失速トルク、kg / cm?
私は最近、ebayからいくつかの安価なTowerPro SG-50 rcサーボを購入しました。それらは非常にうまく機能しているようで、サイズが小さいにもかかわらず非常に強いです。 しかし、実際にはどれほど「強い」のでしょうか。データシートは以下を指定します: ストールトルク: 0.8 kg / cm どういう意味ですか。ストールトルクは、サーボがストールする前に、回転の逆方向に加える必要があるトルクの量だと思います。しかし、ユニットはkg / cmどういう意味ですか?

1
これは電流をブレッドボードから遠ざける正しい方法ですか?
私は最近、エレクトロニクスとロボット工学に興味を持ち始めたので、サーボモーターを使用して仕掛けを動かしたかったのです。555チップは、位置決め用のサーボ用PWM信号を生成し、そしてIは、可変抵抗でサーボを制御します。 簡単に仕掛けを動かすことができると確信していますが、ブレッドボードに3 Aを入れるのは苦手です(サーボが停止した場合に起こります)。 次のような作品はありますか? これにより、サーボに必要な電力がブレッドボードの周囲に送られるため、ブレッドボードは、PWMを作成するために、サーボモーターの制御に必要な電流でのみ動作します。
11 servo  breadboard 

2
連続回転「サーボ」とDCモーター
どのような状況で、DCモーターよりも連続回転「サーボ」を好むべきですか、またはその逆ですか? DCモーターを使用するには、MCUから3つのピンが必要です。2つはフォワード/バックワード/ブレーキ/コースト用で、もう1つはPWM用です。その上で、Hブリッジが必要になります。 連続回転サーボの場合、適切なタイミング信号を送信するために必要な信号ピンとコードは1つだけです。サーボの速度を制御できないのですが?また、モーター内部のHブリッジに似たものでなければならないため、コストは確実に上がりますが、モーターは常に連動します。これはプラスです。 では、それぞれの長所と短所は何ですか?また、いつどちらを選択するべきですか?
11 motor  servo 

2
AVRアセンブリ言語の単体テスト
アセンブリコードをどのようにユニットテストしますか? 私はヘキサポッドロボットプロジェクトの一部としてシリアルサーボコントローラーに取り組んでいますが、コードは複雑になりつつあります;)とにかく、C ++サーバー開発者としての日常業務で単体テストを使用することに慣れています。私のAVRアセンブリコードに同じ種類のテストを適用しようとしています。私は問題なく動作する方法を見つけましたが(ここを参照)、標準ツールやテクニックが足りない場合は興味があります。 更新:サーボコントローラの完全なソースと単体テストに興味がある方のために、ここで利用できるようになりました。
11 avr  robotics  serial  servo 

1
すべてのダイナミックシグナルアナライザーはどうなりましたか?
何十年も前に、ダイナミックシグナルアナライザー(DSA)を提供する少なくとも6社の計装会社がありました。ないスペクトラム・アナライザではなく、ダイナミック信号アナライザ。主な違いは、デュアルまたはマルチチャネル入力と、ミリヘルツに下がった周波数範囲です。DSAは完全なシステムで、サーボシステムの伝達関数を測定し、数分でその安定余裕を分析することができます。 HP(アジレント)、オンノ・ソッキ、ブリュエル・アンド・ケア、アンリツを思い出し、他に少なくとも3人はいた。しかし、今日ではKeysight(Agilentスピンオフ)とStanford Research Systemの780と785しかありませんが、Keysightアナライザーは、深刻なサーボ作業で唯一実行可能なものです。 それで、この市場はどこに行きましたか?確かに需要は、ロボット工学の仕事の増加とともに大きくなっています。新しいアナライザーの開発がHP35670Aを超えて進んでいないことに少しがっかりしました。キーサイトはまだそのモデルを提供していますが、入力はまだアナログです。そして、データを取得するUSB​​はありません。

3
コンポーネントへの電流をどのように測定しますか?
シンプルなサーボを使用してヘキサポッドロボットを構築していて、各サーボへの電流を測定するのがどれほど実現可能か疑問に思っていました(5-6V DCから最大0.25-1Aまで(サーボの失速の仕様がわかりません)。現在まだ))、例えばATMega168を使用しています。有用な読み出しを行うには、サーボの各電源ラインと直列にどのような回路を構築する必要がありますか?この回路全体で電圧降下が発生すると思いますが、どのような可能性がありますか?等

2
Arduino UnoにデジタルPWMピンが6つしかない場合、最大12のサーボをどのようにサポートできますか?
よると、この: サーボライブラリは、ほとんどのArduinoボードで最大12モーター、Arduino Megaで最大48モーターをサポートします。Mega以外のボードでは、ライブラリを使用すると、ピンにサーボがあるかどうかに関係なく、ピン9および10のanalogWrite()(PWM)機能が無効になります。Megaでは、PWM機能を妨げることなく最大12個のサーボを使用できます。12〜23個のモーターを使用すると、ピン11および12のPWMが無効になります。 しかし、によると、この: デジタルI / Oピン14(そのうち6つはPWM出力を提供) では、PWM出力を提供できるデジタルI / Oピンが6つしかない場合、Unoは6つ以上のサーボをどのように制御できますか?
10 arduino  motor  pwm  servo  pins 

4
モーターで非常に正確/微細な回転を実現する方法
軽量のダイヤル(5グラム未満、非常に低いトルク要件、そしてかなり遅い)を回転させる必要がある実験を実行していますが、0.03度の非常に正確で細かいステップを実行する必要があります。 このようなもの(ここではダイレクトドライブとして示されていますが、以下でさらに説明するように他のオプションを開いています): 次のモーターの設定/アプローチのうち、私の目標を達成する可能性が最も高いのはどれですか? 典型的なステッピングモーター(たとえば、1.8度のステップ)で、128マイクロステッピングを使用しますか?ただし、この記事では、マイクロステッピングは精度のみではなく解像度のみを実現すると述べています。 この例のような遊星ギアボックス(51:1比率)のステッパーですか、それとも過度のバックラッシュに悩まされますか? ブラシレスDCモーターとAS5048(14ビット分解能)などの磁気ロータリーエンコーダーを組み合わせて、希望の位置を実現するために独自のPIDループを記述しますか? ステッパーを磁気ロータリーエンコーダーと組み合わせて、正しい方向を追跡し、これをフィードバックとして使用して、ギア付きの場合のバックラッシュ(アプローチ#2)、またはマイクロステップの場合の欠落したステップ(アプローチ#1)を修正しますか? または他のアプローチ? 注:私はそこに快適に0.03度の目標を達成することができ、工業グレードのサーボを存在するが、これらは読んでいる途中、私は微調整と学習のコストで安価なソリューションを期待していたので、私の予算のうち。

2
3.3Vを使用して4.8Vサーボ信号ラインを駆動
私が持っているサーボ 4.8Vの動作電圧を。3.3Vで動作するMCUからサーボを駆動したい。まだ試していませんが、MOSFETまたはNPNトランジスタを使用して信号ラインを4.8Vに駆動する必要があるかどうか疑問に思っていました。3.3V信号を使用して4.8Vサーボを駆動することは可能ですか?パフォーマンスに影響はありますか? 4.8Vで駆動する必要がある場合、どのように接続すればよいですか?ゲートは明らかに信号に(必要な抵抗で)行きますが、サーボの信号線をどのように接続しますか?信号ラインを4.8Vに、グランドをドレインに接続する必要がありますか?これは機能しないと思います。これは可能ですか?

2
MOSFETでサーボを駆動する
サーボを内蔵したバッテリー駆動の小型デバイスを構築しようとしています。バッテリーを節約するためにサーボをオフにできるようにしたいと思います。MOSFETを使用してこれを行うことができることを以前に読んだことがありますが、十分に詳細な例の回路(それらを計算する方法のない抵抗値がない)を見つけるのに苦労しており、正直に言うと、どのような種類の回路かわかりません探しています(これまでにFETを使用したことがありません)。誰かが私に正しい方向に微調整をしてもらえますか? 関連する可能性のある情報: mega88 @ 3.3Vで実行されるコード 6Vバッテリーパックに直接接続された4.8-6Vサーボ(これを変更したい)
9 mosfet  servo 

2
サーボはマイクロコントローラーではなく、サーボテスターに​​応答します。信号は同じに見えます
TowerPro MG90Dサーボ(Manufactuer Link)(ServoDatabase Link)を持っています。 範囲は180度です(非連続)。 それは私のサーボテスターに​​素晴らしく反応します: テスターで次の7%デューティサイクル(約90度)を確認します。 サーボは正常に応答します。 ただし、servo.write()Arduino Mega 2560クローンを使用すると、サーボが角度出力に反応しません。同じピンの同じコードで問題なく動作する他のいくつかのサーボがあります。 Arduinoで次の7%デューティサイクルを観察しますservo.write(90)。 応答なし。サーボは「リンプ」です。それはいかなるポジションも保持していません。 私がこの質問を書いている間、私はしようと考えましたservo.writeMicroseconds()。 ここにありservo.writeMicroseconds(1450)ます: サーボが反応! これがservo.writeMicroseconds(1472)(working)で、これはprevoius non-working と同じ時間間隔servo.write(90)です! servo.writeMicroseconds(1550) (ワーキング): 違いはなんですか? サーボテスターは49.5Hzで動作しましたが、49.9Hzでservo.write()失敗しました。どういうわけかその0.4Hzが違いを生んだのかと思ったのですが、それでも49.9Hzで動作することがservo.writeMicroseconds()わかります。 上記のスコープキャプチャでは、両方が同じ時間間隔servo.write(90)をservo.writeMicroseconds(1472)持っていることがわかります。 1,474,560ns HIGH 18,544,640ns LOW 信号は非常に似ています... 動作しない原因servo.write()は何ですか? 私のコードは可能な限り基本的です: #include <Servo.h> Servo serv1; void setup() { serv1.attach(3); // Pin 3 } void loop() { serv1.write(90); // No response …
8 arduino  pwm  signal  servo 

4
ステッピングモーターとサーボモーターの違いは何ですか?
ステッピングモーターとサーボモーターの違いがよくわかりません。誰かが私にこれを説明できますか? また、これらのモーターは、一時停止またはオフにされたときにどのように動作しますか?何かを所定の位置に保持するのに十分な抵抗力がありますか(たとえば1kg)、それに対して特別な何かをする必要がありますか? これらの2つのどちらを使用すると、小さなステップでゆっくりと動きたいアプリケーションに適していると思いますか(つまり、非常に小さなステップの後に、その位置で一時停止してから、別の小さなステップが必要になるなど)。そして、私は各ステップがまったく同じ程度に変化することを望みます)。 この質問の背景:DSLRカメラを一定期間パンおよびチルトするタイムラプスリグを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.