2016-09-29 66 views
-1

我正在學校項目「自動鐵路系統」 我的項目假設關閉大門時,列車以90秒的時間向車站進入倒計時顯示,並在7區段顯示。和一個LED閃爍。火車離開火車站後,大門打開,蜂鳴器熄滅並熄滅。 我試圖用直流電機打開和關閉門,但它沒有給我準確的角度,我需要我嘗試使用伺服電機。 所以我需要它打開位置零的門,並關閉它在位置90。 我在互聯網上發現的所有代碼,他們使用PWM和定時器,我沒有把它在我的課程中,所以任何人都可以幫助我用簡單的代碼做到這一點,請嗎?如何用簡單的代碼控制使用嵌入式c的伺服電機?

我使用ATMEGA32在16000000 HZ

+1

伺服電機需要的PWM操作。您可以使用內置的PWM,或者您可以使用中斷來以正確的速率打開和關閉引腳。搜索網絡或Stack Overflow以獲取示例代碼和教程。這裏不要問這樣一個廣泛的問題。 – UncleO

+0

謝謝,我會盡量理解pwm並在我的項目中使用它 –

回答

1

其取決於你的模擬伺服頻率規範(其通過PWM控制)運行。在瞭解了伺服規範之後,您可以使用cvavr編譯器的內置功能來設置PWM,或者可以對PWM寄存器進行一些研究。
這裏是PWM設置的一些示例

//using OC0 (B.3) 
DDRB.3 = 1; //set B.3 as output 
TCCR0=0b0111 0001; 
TCNT0=0; //set to Phase Correct PWM mode, no prescaler, and inverted output 

//to assign a value to your PWM 
OCR0 = 127 //50% duty cycle since it was 8 bit