9:00? 解決編碼器問(wèn)題:霍爾編碼器數(shù)值采集不出來(lái)始終為零,查看定時(shí)器捕捉(因?yàn)橹罢{(diào)試用過(guò)定時(shí)器,不會(huì)有問(wèn)題)珠十,查看硬件線(xiàn)路連接,用示波器查看編碼器波形凭豪,結(jié)果信號(hào)正常焙蹭。一臉蒙蔽,理論上不可能有問(wèn)題啊 嫂伞。
????驅(qū)動(dòng)板孔厉,用單獨(dú)電機(jī)接編碼器接口測(cè)試,過(guò)程中瞟了一眼編碼器硬件接口帖努,嗯撰豺? tmd線(xiàn)序接錯(cuò)了。趕緊改拼余,瞬間正常工作污桦,舒服了。?
????測(cè)試PID讓電機(jī)同步轉(zhuǎn)匙监,編碼器脈沖:10ms檢測(cè)一次的話(huà)是0-90凡橱,然后比例關(guān)系將值限值在0-20在進(jìn)行PID算法(主要是新定做的電機(jī)的霍爾編碼器是安裝在減速箱出軸上的小作,1圈是512細(xì)分,也就是512個(gè)脈沖梭纹,電機(jī)轉(zhuǎn)速是4/s所以 1s=2048個(gè)脈沖? 所以理論上10ms檢測(cè)=20.48個(gè)脈沖)問(wèn)題不大躲惰。
11:30? 開(kāi)始寫(xiě)博客致份,11:40下班看會(huì)資料 準(zhǔn)備吃飯变抽。? ?
12:30聽(tīng)著隔壁老樊的民謠(真的好聽(tīng)),爬著瞇會(huì)氮块,夏天了绍载,容易犯困。
12:40 開(kāi)始工作? ?下午調(diào)試機(jī)器人遙控器程序滔蝉。? 故障報(bào)警函數(shù)和液晶屏顯示击儡。
? ? 遙控器LCD串口屏設(shè)置上傳系統(tǒng)參數(shù)數(shù)據(jù),因?yàn)轱@示數(shù)據(jù)沒(méi)有那么重要蝠引,所以設(shè)置每500ms上傳一次阳谍,節(jié)省CPU時(shí)間。
波特率:發(fā)送二進(jìn)制數(shù)據(jù)位的速率螃概,習(xí)慣上用 baud 表示矫夯,即我們發(fā)送一位二進(jìn)制數(shù)據(jù)的持續(xù)時(shí)間=1/baud。
如果波特率為9600吊洼,發(fā)送一個(gè)位需要的時(shí)間為1/9600s=0.0001042s=0.1042ms,這里按數(shù)據(jù)位為8位训貌,停止位為2位,
加起來(lái)就是10位冒窍,10個(gè)位發(fā)送所需的時(shí)間為:0.1042*10ms = 1.042ms,如果我要發(fā)送10個(gè)字節(jié)的數(shù)據(jù)递沪,那發(fā)送這10個(gè)字節(jié)數(shù)據(jù)給接收方需要
的時(shí)間為:10*1.042ms = 10.42ms,這是算實(shí)際的發(fā)送10個(gè)字節(jié)的數(shù)據(jù)所需要的時(shí)間综液。我們?cè)诮邮辗浇邮諗?shù)據(jù)時(shí)可以
把時(shí)間再加寬一些款慨,讓它有一點(diǎn)余量。讓接收方能穩(wěn)定的把數(shù)據(jù)從發(fā)送方接手過(guò)來(lái)谬莹,可以加個(gè)5ms,或更寬一點(diǎn)10ms,
加上發(fā)送10個(gè)字節(jié)所花的時(shí)間樱调,就是15ms或20ms。
發(fā)現(xiàn)問(wèn)題:有的開(kāi)關(guān)量不能連續(xù)執(zhí)行届良,需要設(shè)計(jì)成點(diǎn)動(dòng)按鍵模式笆凌。
6:00 準(zhǔn)備下班,串口1中斷接收幀數(shù)據(jù)有問(wèn)題? 只能接收到幀頭士葫,需要解決乞而。