悟空機(jī)器人舵機(jī)工具篇--驅(qū)動(dòng)不易

2023-03-23

12kg舵機(jī)的驅(qū)動(dòng),

● bug?1線串口復(fù)用了Tx和Rx,

? ? debug 使用 2線串口轉(zhuǎn)1線串口的轉(zhuǎn)接板。

●??bug 舵機(jī) I/O 和Pc I/O,復(fù)用了arduino 的串口

? ? debug,使用虛擬串口?

#include <SoftwareSerial.h>

SoftwareSerial roboSerial(10, 11);? ? ? ? ? //定義虛擬串口名為serial,rx為10號(hào)端口,tx為11號(hào)端口

2kg,3kg舵機(jī)的驅(qū)動(dòng),

12kg舵機(jī)的轉(zhuǎn)接板和虛擬串口驅(qū)動(dòng) 能夠很好的運(yùn)行,但是2kg,3kg舵機(jī)不能運(yùn)行

●?bug??2線串口轉(zhuǎn)1線串口的轉(zhuǎn)接板 的頻寬不夠,劣化了信號(hào)

? ? debug? 購(gòu)買(mǎi)新的轉(zhuǎn)接板,或更換舊板上的芯片?? 電容?? 電阻??

●?bug 舵機(jī) I/O 和Pc I/O,復(fù)用了arduino 的虛擬串口,虛擬串口的頻寬不夠,劣化了信號(hào)

? ? debug,使用? Arduino Leonardo板,有2個(gè)串口。USB--Serial。pin0(RX)和pin1(TX)--Serial1


例如:

void setup() {

? Serial.begin(9600);? ? ? ? ? ? ??//設(shè)置PC串口 通信波特率

? Serial1.begin(9600);? ? ? ? ???//設(shè)置設(shè)備串口 通信波特率

? Serial.println("Hello Word");

? Serial1.println("TX:001");? //向數(shù)字引腳0、1所連接的設(shè)備發(fā)送數(shù)據(jù)"TX:001"

}

void loop() {

}

Leonardo 板子的缺陷

// bug , 上傳本程序,運(yùn)行正常。 打開(kāi)PCarduino軟件的串口監(jiān)視器,再關(guān)閉串口監(jiān)視器后,舵機(jī)異常,舵機(jī)表現(xiàn)為一跳一跳的分段快速轉(zhuǎn)動(dòng)。


? ? // debug 這是 Leonardo 板子獨(dú)有的問(wèn)題,打開(kāi)再關(guān)閉串口監(jiān)視器后, Leonardo的運(yùn)行速度大幅降低。?

? ? // debug 原因是:Leonardo 和 PC 之間的鏈接與 Uno 或 Mega 之間的鏈接工作方式不同,如果 PC 不接受數(shù)據(jù),它的輸出緩沖區(qū)可能會(huì)填滿并阻塞(https://forum.arduino.cc/t/serial-print-on-leonardo-very-slow-after-disconnection-from-serial/483017)。

? ? // debug? 通過(guò)? Serial.println(USB_EP_SIZE);可知 leonardo 板子,usb的串口buffer size =64。(https://forum.arduino.cc/t/serial-print-on-leonardo-very-slow-after-disconnection-from-serial/483017/8)?

// debug 程序最后的 delay(2); 改成delay(20); 打開(kāi)再關(guān)閉PC arduinoIDE軟件的串口監(jiān)視器后,經(jīng)過(guò)更長(zhǎng)時(shí)間,舵機(jī)才開(kāi)始一跳一跳的分段快速轉(zhuǎn)動(dòng)。說(shuō)明PC串口有某種緩存。

?// debug 如果串口連接尚未建立,打印/寫(xiě)入基本上會(huì)被忽略;當(dāng)再次關(guān)閉串口時(shí),問(wèn)題就來(lái)了。 (https://forum.arduino.cc/t/serial-monitor-causes-lagging/954328/2)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 20230310 一個(gè)損壞的優(yōu)某某悟空機(jī)器人,去除了頭、電池、雙層主板,只剩一個(gè)帶12個(gè)舵機(jī)的軀體。 ●焊上3根導(dǎo)...
    hydro閱讀 595評(píng)論 0 1
  • 20230311 進(jìn)一步追查原因,是2線串口轉(zhuǎn)1線串口轉(zhuǎn)接板 里 IC--74HC126 的響應(yīng)速度慢導(dǎo)致的,cm...
    hydro閱讀 371評(píng)論 0 1
  • 20230320 起因 分析了OpenCat 4足機(jī)器人的步態(tài),用視覺(jué)化的方式展示。 看OpenCat 步態(tài)控制源...
    hydro閱讀 729評(píng)論 0 0
  • 【瀚文】HelloWord-Smart Keyboard 瀚文 智能鍵盤(pán)是一把我為自己使用需求設(shè)計(jì)的 多功能、模塊...
    william_zhang閱讀 1,540評(píng)論 1 0
  • 舵機(jī)是一種位置伺服的驅(qū)動(dòng)器,主要是由外殼、電路板、無(wú)核心馬達(dá)、齒輪與位置檢測(cè)器所構(gòu)成。一種位置(角度)伺服的驅(qū)動(dòng)器...
    魚(yú)f閱讀 8,289評(píng)論 0 3

友情鏈接更多精彩內(nèi)容