![]() |
發布時間: 2025-3-29 08:00
正文摘要:步進電機用的是5V的28BYJ48,是4相5線的,驅動板是ULN2003。 #include <STC12C5A60S2.H> #include <intrins.h> #include <math.h> #include <stdio.h> // 定義IO口 sbit LCD_RS = P1^0; sb ... |
HAOHAO567 發表于 2025-4-9 20:32 您好,我也遇到了同樣的問題,能請問您是怎么解決的嗎? |
找朋友幫忙看了,發現是程序的問題,現在的ai還是比較弱的,寫程序還是一般,只能保證能編譯但是不能完全實現功能。現在已經搞定問題了,需要的功能都能實現了,謝謝大家的幫助了。![]() ![]() ![]() |
查一下硬件,線序接錯了,也會只震動,不轉。 |
會震動不會轉,要么時序出錯,要么丟步。 |
HAOHAO567 發表于 2025-3-29 16:02 你用的這個步進電機帶減速齒輪,速度轉起來估計也不會太快, 你能看到相序燈切換,說明你給的脈沖頻率很低了,再加上減速齒輪的作用,最后輸出軸轉得就更慢了。 你可以在輸出軸上粘貼個長點的紙片什么的,這樣有轉動了也看得明顯一些,多轉一會兒看看變化。 |
chxelc 發表于 2025-3-29 14:09 我程序的延時(50改成2和5)和電機的延時(100改成50)我都改了,也不行.我打算換一家店的電機了。 |
建議你按照如下步驟調整程序 1、處理注釋掉主程序中初始化以外的所有處理 2、將步進電機的正反向驅動寫成函數形式 3、在主程序中先測試電機的正反轉,看成不成功 4、第三步成功了以后,再去把時鐘部分和步進電機的部分整合起來。 單獨函數化及測試步進電機的驅動,應該不麻煩。電機的正反轉函數,按照單步方式書寫。多步函數,按照步數調用單步函數。整個程序盡可能都函數化編程,這樣邏輯關系清晰。 |
把延時時間改長或者改短看看。delay(50)那里。 |
一般啟動速度太低或太高都會有這種現象,供參考 |
啟動速度太快了,慢慢的啟動 |
一直不成功,就只有電機不轉的問題了,我真的搞不明白,各位大哥幫幫我![]() |