熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-4-6 12:40
正文摘要:轉(zhuǎn)速越低,毛刺越多!!我試過(guò)并聯(lián)一個(gè)104電容,但是抖動(dòng)寬度依然有35us左右。 在做電機(jī)測(cè)速和控制實(shí)驗(yàn),但這個(gè)電機(jī)的光電管輸出波形非常不理想,最開(kāi)始沒(méi)注意用單片機(jī)的外部中斷進(jìn)行累加,結(jié)果發(fā)現(xiàn)速度顯示忽 ... |
| 為啥不用帶編碼器的DC馬達(dá)?還自己搞了一個(gè)電路,這是浪費(fèi)資源啊! |
學(xué)習(xí)單片機(jī)lq 發(fā)表于 2020-4-7 21:34 這個(gè)是紅外對(duì)管,環(huán)境光影響不大,用霍爾元件測(cè)速?zèng)]試過(guò),抽空也試試,謝謝你的回復(fù) |
lsgzq 發(fā)表于 2020-4-7 17:53 謝謝解答,我試試 |
| 首先環(huán)境光線必須控制到不能干擾兄電管,其次發(fā)光和檢測(cè)距離盡量縮短,實(shí)際使用的電路要么使用槽形光耦,要么使用專(zhuān)門(mén)的碼盤(pán)。如果無(wú)法改進(jìn),還可以改用霍爾元件,在電機(jī)轉(zhuǎn)盤(pán)上設(shè)小磁鐵,都是成熟的方法。 |
這是一個(gè)用555組成的脈沖整形電路,你可以參考一下。
|
|
軟件很難完成這個(gè)任務(wù),因?yàn)閱纹瑱C(jī)的輸入腳高低電平的轉(zhuǎn)換是固定不可調(diào)的,達(dá)到規(guī)定的電壓?jiǎn)纹瑱C(jī)就認(rèn)為是高電平,低于規(guī)定的電壓就認(rèn)為是低電平,其實(shí)你在向單片機(jī)輸入檢測(cè)電平的時(shí)候,已經(jīng)存在著不規(guī)整的干擾了,單片機(jī)對(duì)輸入的信號(hào)照單全收,所以會(huì)出錯(cuò),就算有軟件算法可以解決這個(gè)問(wèn)題,也不值得去消耗寶貴的資源干這種事。 如果用555電路去整形,其成本不超過(guò)2元錢(qián),并且檢測(cè)閥值可調(diào),單片機(jī)的軟件也不用修改,是一種很好的解決方案。 |
|
51單片機(jī)能用軟件算法跳過(guò)這部分不穩(wěn)定區(qū)域嗎? 采用外部中斷接收這個(gè)波形。 我目前采用的是定時(shí)器方式去除這部分雜波,定時(shí)器每隔0.1ms(檢測(cè)了接12V電源時(shí)最快頻率)檢測(cè)一次,如果檢測(cè)2次都為低電平則輸出波形變化一次。 這樣可以做到整形,但這樣做太耗費(fèi)CPU資源,稍不留意就會(huì)錯(cuò)過(guò)1個(gè)或者幾個(gè)脈沖。 現(xiàn)在加了0.1uf電容簡(jiǎn)單濾除了部分高配雜波,但還有些抖動(dòng),但抖動(dòng)范圍在0.1ms內(nèi)結(jié)束。 主要尋求低成本的方式解決,軟件算法整形最好,但想找個(gè)效率高點(diǎn)的方法,定時(shí)器頻繁進(jìn)入中斷檢測(cè)太耗費(fèi)資源了。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
| 你的電路應(yīng)該是用一個(gè)發(fā)光管主動(dòng)發(fā)光,然后通過(guò)反射光檢測(cè)電機(jī)的轉(zhuǎn)速吧?抖動(dòng)的原因是反射光不穩(wěn)定,從強(qiáng)到弱,從弱到強(qiáng)不斷的變化。你可以在光接收端加一個(gè)硬件整形電路,設(shè)置一個(gè)閥值電壓,超過(guò)設(shè)定閥值的時(shí)候才有輸出,這樣出來(lái)的波形就是規(guī)整的(簡(jiǎn)單的運(yùn)放電路就可以實(shí)現(xiàn)整形)。 |
| 參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
|---|---|---|
|
| + 20 | 回帖助人的獎(jiǎng)勵(lì)! |
| 可能用施密特電路,加回差可以 |
Powered by 單片機(jī)教程網(wǎng)