日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cubieboard通过GPIO驱动步进电机--完结

發布時間:2024/1/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cubieboard通过GPIO驱动步进电机--完结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

2013-4-3更新:由于標準GPIO庫(gpio-sunxi.ko)已經可用了,不建議再使用sun4i-gpio.ko這個驅動。此文僅作思路上的參考,不用照搬
This driver is not recommended now. For the new gpio driver??"gpio-sunxi" is coming. So don't follow this.

1.首先你要編譯并加載sun4i-gpio.ko驅動,如何編譯:參考 <如何編譯單個驅動文件>

2.修改script.bin配置,在末尾加上gpio配置段,如何修改:參考<如何修改script.bin | script.fex>
添加的內容如下:

  • [gpio_para]

  • gpio_used = 1

  • gpio_num = 67

  • gpio_pin_1 = port:PG03<1><default><default><1>

  • gpio_pin_2 = port:PB19<1><default><default><1>

  • gpio_pin_3 = port:PB18<1><default><default><1>

  • gpio_pin_4 = port:PG06<1><default><default><1>

  • gpio_pin_5 = port:PG05<1><default><default><1>

  • gpio_pin_6 = port:PG04<1><default><default><1>

  • gpio_pin_7 = port:PG01<1><default><default><1>

  • gpio_pin_8 = port:PG02<1><default><default><1>

  • gpio_pin_9 = port:PG00<1><default><default><1>

  • gpio_pin_10 = port:PH14<1><default><default><1>

  • gpio_pin_11 = port:PH15<1><default><default><1>

  • gpio_pin_12 = port:PI06<1><default><default><1>

  • gpio_pin_13 = port:PI05<1><default><default><1>

  • gpio_pin_14 = port:PI04<1><default><default><1>

  • gpio_pin_15 = port:PG11<1><default><default><1>

  • gpio_pin_16 = port:PG10<1><default><default><1>

  • gpio_pin_17 = port:PG09<1><default><default><1>

  • gpio_pin_18 = port:PG08<1><default><default><1>

  • gpio_pin_19 = port:PG07<1><default><default><1>

  • gpio_pin_20 = port:PE08<1><default><default><1>

  • gpio_pin_21 = port:PE07<1><default><default><1>

  • gpio_pin_22 = port:PE06<1><default><default><1>

  • gpio_pin_23 = port:PE05<1><default><default><1>

  • gpio_pin_24 = port:PE04<1><default><default><1>

  • gpio_pin_25 = port:PI09<1><default><default><1>

  • gpio_pin_26 = port:PI08<1><default><default><1>

  • gpio_pin_27 = port:PI07<1><default><default><1>

  • gpio_pin_28 = port:PD04<1><default><default><1>

  • gpio_pin_29 = port:PD03<1><default><default><1>

  • gpio_pin_30 = port:PD02<1><default><default><1>

  • gpio_pin_31 = port:PD01<1><default><default><1>

  • gpio_pin_32 = port:PD00<1><default><default><1>

  • gpio_pin_33 = port:PE11<1><default><default><1>

  • gpio_pin_34 = port:PE10<1><default><default><1>

  • gpio_pin_35 = port:PE09<1><default><default><1>

  • gpio_pin_36 = port:PD12<1><default><default><1>

  • gpio_pin_37 = port:PD11<1><default><default><1>

  • gpio_pin_38 = port:PD10<1><default><default><1>

  • gpio_pin_39 = port:PD09<1><default><default><1>

  • gpio_pin_40 = port:PD08<1><default><default><1>

  • gpio_pin_41 = port:PD07<1><default><default><1>

  • gpio_pin_42 = port:PD06<1><default><default><1>

  • gpio_pin_43 = port:PD05<1><default><default><1>

  • gpio_pin_44 = port:PD20<1><default><default><1>

  • gpio_pin_45 = port:PD19<1><default><default><1>

  • gpio_pin_46 = port:PD18<1><default><default><1>

  • gpio_pin_47 = port:PD17<1><default><default><1>

  • gpio_pin_48 = port:PD16<1><default><default><1>

  • gpio_pin_49 = port:PD15<1><default><default><1>

  • gpio_pin_50 = port:PD14<1><default><default><1>

  • gpio_pin_51 = port:PD13<1><default><default><1>

  • gpio_pin_52 = port:PB02<1><default><default><1>

  • gpio_pin_53 = port:PD25<1><default><default><1>

  • gpio_pin_54 = port:PD24<1><default><default><1>

  • gpio_pin_55 = port:PD26<1><default><default><1>

  • gpio_pin_56 = port:PD27<1><default><default><1>

  • gpio_pin_57 = port:PD23<1><default><default><1>

  • gpio_pin_58 = port:PD22<1><default><default><1>

  • gpio_pin_59 = port:PD21<1><default><default><1>

  • gpio_pin_60 = port:PI11<1><default><default><1>

  • gpio_pin_61 = port:PI13<1><default><default><1>

  • gpio_pin_62 = port:PI10<1><default><default><1>

  • gpio_pin_63 = port:PI12<1><default><default><1>

  • gpio_pin_64 = port:PB13<1><default><default><1>

  • gpio_pin_65 = port:PB11<1><default><default><1>

  • gpio_pin_66 = port:PB10<1><default><default><1>

  • gpio_pin_67 = port:PH07<1><default><default><1>

  • 復制代碼

    #注意,sun4i-gpio驅動不是一個標準的linux gpio驅動,無法即時轉換輸入輸出模式,而是定義死在script.bin里的。這里我將67個針腳全都配置為輸出模式了。比如:gpio_pin_67 = port:PH07<1><default><default><1> 中,紅色的1表示將PH07針腳配置為輸出模式,改為0則為輸入模式,gpio_pin_數字 和 針腳名稱 并沒有特定的對應要求,只要一個數字對應一個針腳就可以,使用的時候我們是用針腳名,gpio_pin_數字 可以無視。
    針腳名具體參考:http://linux-sunxi.org/Cubieboard#Expansion_ports

    3.重啟系統,查看/sys/devices/virtual/misc/sun4i-gpio/pin/下是否有67個針腳名,如果沒有,那你使用命令:dmesg 查看是否有gpio驅動或者script配置的報錯信息,再google解決.
    ?
    如果你有led燈或是其他原件,可以參考<Cubieboard GPIO成功點亮LED>來進行測試

    4.先說說控制步進電機的原理,網上已經有一大堆了,如果你完全不了解,可以google搜索"樹莓派 步進電機"或"arduino 步進電機"。我這里就簡單描述一下:除了步進電機,你還需要一塊步進電機的驅動板,買電機的時候就一起買了吧。要讓電機轉動,只需要在某一時刻對驅動板的4個引腳輸出3個低電平一個高電平,下一時刻把高電平往下一個針腳轉移。
    假設:驅動板a b c d 四條線 連接的 cb上的??1 2 3 4針腳,那么我們需要在t1時間輸出電平為:1=>高 2=>低 3=>低 4=>低。
    t1+n毫秒時,輸出1=>低 2=>高 3=>低 4=>低。以此類推,4為高電平后,為通電一周,下次就再重復1為高電平...

    接下來,我寫了一些python代碼。分為兩部分:一是 對針腳電平控制的基礎庫,這樣就能方便的用python對任意針腳進行電平控制;二是 調用基礎庫對電機進行控制的代碼。代碼下載見底部附件

    5.下載代碼之后,先參考確定你要使用哪幾個針腳來控制電機,在上面67個中自己選4個。選好之后,把線接上,把針腳名字記好。除了4根控制線,驅動板還有vcc和gnd兩根線供電,也接在板子上對應的針腳。比如我使用的控制針腳為'pg0', 'pb18', 'pb19', 'pg3'。針腳名和在板子上的位置還是參考:http://linux-sunxi.org/Cubieboard#Expansion_ports正負極我接的U15的1號和19號針腳

    這里要吐槽一下,CB的GPIO針腳是2mm間距的,我用標準的2.45的杜邦線插上去相當困難,所以買線的時候要注意買2.0的杜邦線哦。

    連接控制線的時候,注意順序,驅動板上的4個接線口假設依次為a b c d,那么你給他通電的順序一定要是 a b c d或者 d c b a ,所以要看好順序,然后在下面修改針腳名的時候,依次排列。

    解壓之后,先修改motor_main.py 的第5行
    #modify the tuple to the pins you used
    motor_pins = ('pg0', 'pb18', 'pb19', 'pg3')
    ??#將這里的引腳名改為你已經連接了的引腳名,注意順序
    保存退出,最后執行
    python motor_main.py

    電機轉了!!有木有!!!!!

    下面上圖:

    ?
    雖然你看不出,但它的確在轉。。

    ?
    旁邊的 卡王(帶天線那位) 是打醬油的,請無視

    ?
    來個特寫,驅動板是必須有的

    ?
    引腳接線

    源碼下載:
    ?motor_gpio.zip?(2.18 KB, 下載次數: 263)?


    原文作者:WindLand
    原文鏈接:http://forum.cubietech.com/forum.php?mod=viewthread&tid=139&highlight=%E6%AD%A5%E8%BF%9B%E7%94%B5%E6%9C%BA

    轉載于:https://my.oschina.net/u/1982421/blog/305473

    總結

    以上是生活随笔為你收集整理的Cubieboard通过GPIO驱动步进电机--完结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。