2019年1月7日 星期一

JX 6221mg 抖動問題

因為之前的Tower pro MG996R故障,本來要更新結果今華居然沒有再進而是使用山寨品替代,完全無法使用(軸大小不同,抖動),後來經過一番搜尋決定直接使用更大扭力機種(價格較高)。找到的就是JX6221mg。網路上對於這顆討論不多,本來看到一個淘寶網頁討論說2A可以使用,結果買來使用後發現會抖動。本來擔心是不是servo.h不支援,後來有找到一篇是說也是抖動最後改使用6V 3A power就可以。由於spec是4.8V-6V,我先找了一個電源供應器5V 10A,結果變成亂轉不受控制(本來輕微抖動),後來發現原來是我沒有將V-接arduino共同地,原來之前一直都是使用錯誤的方式使用external power(只能說MG996R相容性真好)。解決接地問題後發現將線延長使用又會變成抖動狀態,試過減短線長度有用但是變成無法達到我要的長度,懷疑是訊號干擾所以也試了twist pair。也試過並聯單芯線試圖增加截面積,因為不知道確切原因所以整個卡住(上面所有測試MG996R都可以work),後來經過同事建議拿了粗線回家測試(12AWG)結果就可以了,省下一筆買6A3V的錢。只能說有時候測試工具不足就是會有這樣的問題。

另外也順便解決了IDE找不到arduino Yun IP的問題,需要在同一個無線網路下,有線網路下會找不到

2019/5/22更新
遇到馬達卡住或沒反應的狀況,但是其他東西都正常,也應該不是馬達壞掉。後來發現似乎是訊號卡住,須將訊號線拔除,此時馬達會自己亂轉一陣子,應該是清除累積的指令。跑到一定程度後再將訊號線接回即可排除。

2019/6/2更新
上述的問題又再次遇到,這次解決的方法是把排線固定位置(原本是垂下),推測可能是接觸不良或接點氧化。

2019/6/12更新
又再次遇到,這次上面的解決方法都沒用,最後疑似訊號線放電(接觸身體)之後解決,推測可能是由於接地沒有真的接地導致電荷累積影響訊號,如果之後再遇到可以重複測試。

2019/7/15更新
再次遇到,上述方法無法解決,最後是重啟arduino後訊號再次可以進入,所以是arduino在一段時間後訊號紊亂?也試過將arduino接地接觸身體,看來是arduino自身的問題

2019/7/30更新
再次遇到,這次試的方法是將馬達地端與變壓器地端直接串接(原本是兩者皆與arduino ground一起串接),馬達亂轉一陣子後再接回,似乎有解決問題,待觀察


2019/12/7更新

再次遇到輕微抖動的狀況,以上一個方法修復有效,判斷可能是電荷累積或是亂轉活動齒輪組使狀況好轉,電荷累積較有可能,有更新會再po


參考資料
自己
6V 3A
https://arduino.stackexchange.com/questions/46835/controlling-jx-pdi-6221mg-digital-servo-with-arduino
Ground
https://forum.arduino.cc/index.php?topic=276366.0

2018年11月3日 星期六

virtualbox pfsense 網路回不來問題

之前一直有碰到電腦休眠後回復網路回不來的問題,奇怪的是電腦本身可以但是外接的網卡LAN網路卻不通,後來想了一下發現應該是virtualbox自己bridge了所以本機可以但是因為virtualbox在執行中外接網卡卻中斷所以卡住(lock),解決方法是將virtualbox整個關閉後再重新執行就可以解決問題。

參考資料
自己

2018年10月19日 星期五

anacron /sbin/shutdown -h now

最近因為電腦升級加上硬碟損壞,使用舊的ubuntu備份時,一直發現隔天早上ubuntu會自己關機,但是crontab裡面又沒有設定關機。因為最近又很忙,一直沒時間細找只覺得很奇怪,今天總算有時間去看syslog。發現原來是/etc/cron.d/anacron裡面有設定卻忘記。寫下來幫助記憶。

使用的指令
grep -rnw '/path/to/somewhere/' -e 'pattern'

參考資料
自己
http://linux.vbird.org/linux_basic/0430cron.php

2018年10月11日 星期四

google app issues

上個月更新電腦後發現google相關的app都出現斷線的訊息,如google map無法取得路況及大眾運輸的資訊,google now無法搜尋。大概有覺得應該是DNS server的問題,不過一直找不到問題在哪,甚至也以為是WIFI AP的問題。後來發現問題在pfsense的DHCP server選項DNS server我之前因為有開啟DNS forwarder加入自身IP,那個時候是pfsense自己撥接,後來我改成使用dlink router當作gateway之後也沒有做更改。將DNS server設定刪除後解決,DNS forwarder功能也沒問題。

10/11 更新
發現不是上述的問題而是WIFI AP造成,將AP重設後問題解決

參考資料
自己

2018年7月26日 星期四

以netcat取代ping監測設備是否online

這兩天在寫一個程式需要判斷手機是否在線上,一開始使用ping結果後來經過不斷測試(測試過休眠時WIFI保持連線,wakelock,powersaver,power optimization)發現,android手機(我是samsung note 8)只要按電源鍵休眠五分鐘後就會進入doze mode會block ping造成判斷失誤。經過survey後找到可以使用netcat/nmap(後來發現nmap需要另外安裝,我只有使用nmap掃描)獲取手機狀態可得知是否在線。

nc -w 4 -vz <port> <ip>

以下是我試出來可以使用的幾個Port
8080
6101 tcp backupexec
6789 tcp ibm-db2-admin
8701 tcp unknown
9593 tcp cba8
9595 tcp pds

另外由於port通常是close所以nc會是error,這個時候要把error save to file or variable需使用2>&1 std參數

20190131更新: 這幾天更新android後發現WIFI會連上又斷,經過檢查後確定問題應該出在android把我這個nc檢查的行為當成攻擊所以斷開wifi,經過加上sleep延長檢查時間後問題解決,我的機型是samsung note8,供參考。問題發生時好像會顯示不安全的網路及網路連線不可用,不太確定。


參考資料
自己
error output to file and variable

2018年6月27日 星期三

Broadlink RM pro 433 learning

最近在建置smart home,使用google home + broadlink RM pro & mini 3。在學習智慧開關433頻率時遇到無法學習或學習失敗的問題,症狀有可能是學習失敗或者是學習後發射失敗(只是燈不亮)。解決方法是重啟RM pro後再學習。

2018/11/4更新
433RF學習後測試如果設備沒反應,可以選否後重新學習,app看起來有疊加兩次學習的功能,有時候第一次學不會第二次就能成功。但是如果一直刪除重來就會一直失敗。

參考資料
自己

2017年11月7日 星期二

arduino手機控制開門

使用arduino控制開門,與上次不同的是這次code非常簡單,麻煩的反而是機構設計。光是馬達我就從continuous servo(因為是以時間定位會有位置誤差) -> step motor(扭力不足) -> servo才達成想要的目的。另外零件不好找也是一大問題,克難滑輪組(3M電線貼)阻力過大的問題也是後來才發現。

另外一開始沒發現買到的是continuous servo而不是servo,在code上面也卡了一下,continuous servo的數值是速度而非角度。

另外供電不足會造成馬達抖動。由於有接紅外線的module,本來是想用並聯的方式供電,結果馬達就抖動不受控制,找了一些資料以為是電磁干擾,後來獨立拉一條線路供電後就沒事了。供電不足時arduino yun會重啟,並且l13 LED會閃。

這次同時也使用了電晶體想增加紅外線LED的遙控距離,不過還是沒辦法達到理想的要求,換過LED本身也沒用。最後是拉線解決。

第一版

第二版


2018/11/4更新
發現Yun在太久連不到網路後會回復網路預設值,需要再一次手機重新連上後設定無線網路。並且會出現"Could not connect to YunServer 146 Connection refused"的錯誤訊息。解決方法是再重新上傳一次sketch即可解決。另外如果序列埠那邊找不到yum wifi ip,電腦需安裝bonjur後yun重開即可搜尋到。

2019/5/22更新


參考資料

步進馬達
http://ee543.blogspot.tw/2016/01/arduino-uno420.html
http://atceiling.blogspot.tw/2013/04/arduino.html

continuous servo
https://arduino.stackexchange.com/questions/1321/servo-wont-stop-rotating

servo
http://atceiling.blogspot.tw/2017/03/arduino.html
http://www.hobbytronics.co.uk/arduino-tutorial2-servos
http://thats-worth.blogspot.tw/2013/12/arduino-controlling-servo-motor.html

MG995 spec
http://bugworkshop.blogspot.tw/2016/09/diy-robot-towerpro-mg995-servo.html

string to int(角度控制)
https://www.arduino.cc/en/Tutorial/StringToIntExample

電晶體腳位判斷
http://gc.digitw.com/MyDocument/Recognize-Transister/RecognizeTR.htm
http://coopermaa2nd.blogspot.tw/2011/03/lab21-12v.html
http://cms.35g.tw/coding/arduino-remote-daikin/

USB ping腳供電
http://www.coolaler.com/threads/3pinusb.240842/
http://yehnan.blogspot.tw/2013/09/arduinotower-pro-sg90.html

麵包板並聯
https://www.guokr.com/post/718305/

"Could not connect to YunServer 146 Connection refused"
http://yehnan.blogspot.com/2016/04/arduino-yunwi-fi.html
自己