Board logo

標題: 新手試試 --- Arduino L298N Motor擴展板 [打印本頁]

作者: zonebaby    時間: 2009-8-20 23:14     標題: 新手試試 --- Arduino L298N Motor擴展板

係網上搵到E塊板既兩條link,
http://item.taobao.com/auction/i ... 3408dc9106c88a6.htm
http://blog.arduino.cn/2009/04/1 ... %E5%B1%95%E6%9D%BF/

E度就有粒chip既資料
http://www.st.com/stonline/products/literature/ds/1773.pdf
可以了解多D。

睇完先知道料L298N可以用去推動電感負載,好似繼電器,電磁開關,直流同步進電機。

E塊板既介紹就用三個接口去推一隻直流摩打,推兩個摩打就要佔用6個接口,感覺上好似多了一點。

按網頁資料,6個接口分別安排如下:

摩打接口A+A-:
轉動方向一控制:digital pin 13;
轉動方向二控制:digital pin 12;
轉動速度控制  :digital pin 10;

摩打接口B+B-:
轉動方向一控制:digital pin 11;
轉動方向二控制:digital pin 8;
轉動速度控制  :digital pin 9;

另外塊板既digital pin 0-7就特別提供配套既+V(Vcc/5v)同Gnd更方便接駁senor同配件。

L298N Motor
L285NMotor.jpg

圖片附件: L285NMotor.jpg (2009-8-20 23:14, 82.69 KB) / 下載次數 100
https://www.hkepc.com/forum/attachment.php?aid=930549&k=1b2147f1627473892410fed41dadc811&t=1788211762&sid=57Z7Iw6vFG


作者: zonebaby    時間: 2009-8-20 23:17

因為摩打好大機會用比較大的電力,所以線路設計容許使用外接電源供電。
電源接口係圖中最下面的左邊三個中左外面係VEX正電源,右入面係Gnd接地。
中間係通Arduino既外部+5V供電,所以要小心唔好接錯。
至於其它接口,由最右外邊數起分別為A+,A-,B+,B-。

但因塊板設計有兩個摩打電源供電,所以要小心睇下最上面個組Jumper,叫VM,係唔係插在VEX那邊。

如果塊Arduino係使用9V外接電源,同埋9V又啱個摩打用的話,E個Jumper就可以改為插VIN果邊。
即係將個Jumper向上移一格,因為同Arduino既VIN相通,所以摩打變左改為由塊Arduino外接9V電源供電。

因此要小心睇下電源供電規格,同埋兩個摩打的用電要求。基本考慮係兩隻摩打電壓相同,電流用量要求相加。
除此之外更加要留意毎一隻摩打既電壓電流一定要低過L298N既規格好多,以策安全,特別係E塊板粒chip既散熱貼近板面,可

能因此散熱不良而升溫,導致降低左原有既可持續工作規格。

按網頁說明塊板可推動既DC摩打規格為
“...最高工作電壓可達46V,持續工作電流為2A,瞬間峰值電流更是可達3A。...”
但切記實際應用一定要低過E個規格好多好多,以策安全,切記切記。

L298N Supply
L298NSupply.jpg

圖片附件: L298NSupply.jpg (2009-8-20 23:17, 72.63 KB) / 下載次數 92
https://www.hkepc.com/forum/attachment.php?aid=930550&k=8bf3799f45fd801eb76a8235640272c9&t=1788211762&sid=57Z7Iw6vFG


作者: zonebaby    時間: 2009-8-20 23:17

睇番datasheet跟番D接綫口,方便寫code...

OUT1(2)=A+
OUT2(3)=A-
  In1(5)=pin13
  In2(7)=pin12
  EnA(6)=pin10
OUT3(13)=B+
OUT4(14)=B-
In3(10)=pin11
In4(12)=pin8
EnB(11)=pin9

搞番兩個8cm風扇減速試下....

補充:
E個code主要係試下個Arduino PWM係塊L298N Motor擴展板既應用,詳情可參考post#5

code
  1. // motor A
  2. int In1 = 13;
  3. int In2 = 12;
  4. int EnA = 10;

  5. // motor B
  6. int In3 = 11;
  7. int In4 = 8;
  8. int EnB = 9;

  9. unsigned long time;
  10. int startspeed;
  11. int topspeed;
  12. int dir;
  13. int value;

  14. void setup() {
  15.   pinMode(In1, OUTPUT);
  16.   pinMode(In2, OUTPUT);
  17.   pinMode(In3, OUTPUT);
  18.   pinMode(In4, OUTPUT);

  19. // set plus direction
  20.   digitalWrite(In1, HIGH);
  21.   digitalWrite(In2, LOW);
  22.   digitalWrite(In3, HIGH);
  23.   digitalWrite(In4, LOW);
  24.        
  25. }

  26. void loop() {
  27. // set start speed

  28. startspeed = 15;
  29. topspeed = 255 + startspeed;
  30.          // set 4 duty cycles for testing
  31.         for(value = startspeed ; value <= 255; value+=120)
  32.         {  
  33.         
  34.         analogWrite(EnA, value);
  35.         analogWrite(EnB, topspeed - value);
  36.         // delay to see the result or waiting the fan to stop completely
  37.         delay(12000);
  38.         }
  39. }
複製代碼
p/s
1. 增加“重要補充:”一段 [ 於 2009-8-21 11:16 編輯 ]
2. 依據post#5修改左段code,並因此改番個“重要補充:”

[ 本帖最後由 zonebaby 於 2009-8-22 11:21 編輯 ]
作者: zonebaby    時間: 2009-8-20 23:17

E個Code都係放在examples\L285N\fanSpeed入面....

L285N Location

為左安全計先關掉摩打外接電源,再等Compile同upload成功後,再開番試機。
插左電兩把風扇開如唔會轉,要等一陣,兩把風扇就會轉。因純粹試機,冇執個code,識轉就ok。

L285NSuccessA
L285NSuccessA.jpg

L285NSuccessB
L285NSuccessB.jpg

L298N Motor擴展板試機成功.......

圖片附件: L285NSuccessA.jpg (2009-8-20 23:17, 65.25 KB) / 下載次數 137
https://www.hkepc.com/forum/attachment.php?aid=930551&k=0bd1d1fb3b795db360ee204732dcff32&t=1788211762&sid=57Z7Iw6vFG



圖片附件: L285NSuccessB.jpg (2009-8-20 23:17, 69.38 KB) / 下載次數 93
https://www.hkepc.com/forum/attachment.php?aid=930552&k=8b801c00fc64bc0a9c7cfb60c8723acd&t=1788211762&sid=57Z7Iw6vFG


作者: zonebaby    時間: 2009-8-20 23:17

後記:

參考左
http://arduino.cc/en/Reference/AnalogWrite
http://arduino.cc/en/Tutorial/PWM

先知道
1. 用analogWrite前係唔需要預先用pinMode去設定個接口為輸出既。
2. PWM signal frequency 係預設左大約 490-500Hz.
3. 而analogWrite就用作設定個Duty Cycle。最細0代表長關,而最大255代表長開。

如果要調整個PWM Frequency就要睇下E度......
http://www.arduino.cc/playground/Main/TimerPWMCheatsheet....
http://www.arduino.cc/playground/Main/TimerPWMCheatsheet


睇完就將post#3個code作出修改重post,當中改了.......
1. 刪除冇用既 pinMode(EnA, OUTPUT); 同埋 pinMode(EnB, OUTPUT);

2. 把風扇試過Duty Cycle大约130已經可以起動,所以個startspeed就改為........
startspeed = 15;

3. 為左簡化個code同埋試下唔同Duty Cycle下既輸出情況,改個for loop為.....
for(value = startspeed ; value <= 255; value+=120)

即Duty Cycle由15,135,255...,等3個不停地循環落去。

4. 笫二個寫EnB既analogWrite改為.......
analogWrite(EnB, topspeed - value);
令到輸出B剛好同輸出A既Duty Cycle次序反過來,即輸出B=255,135,15...;輸出A=15,135,255...。

5. 為左睇到Duty Cycle變動所帶來的效果,將delay延長,改為
delay(12000);

經修改後.........
等Compile同upload成功後,再開番試機。
重新再插個USB,塊板會重新reset,要等一陣,.....

塊L298N Motor擴展板上面既B+紅灯就會好光,同埋B接口既風扇會轉,因為B接口既Duty Cycle=255,量度個平均電壓=10.6V。
另外板上面既A+紅灯就會暗D,同時把風扇唔會轉,因為A接口既Duty Cycle=15。

再等一陴,delay(12000);,....

塊L298N Motor擴展板上面既B+紅灯仍然光,同埋B接口既風扇都會轉慢D,因為B接口既Duty Cycle變少左得番135,量度個平均電壓=6.2V。
另外板上面既A+紅灯就會變光D,同時把風扇開始會轉,因為A接口既Duty Cycle變大左有135。


又再等一陴,delay(12000);,....

塊L298N Motor擴展板上面既B+紅灯又再變暗D,同埋B接口既風扇開始停,因為B接口既Duty Cycle變少左得番15,量度個平均電壓=0.6V。
另外板上面既A+紅灯就會再變光D,同時把風扇會再轉快D,因為A接口既Duty Cycle再變大左有255。

L285NSuccessC
L285NSuccessC.jpg

個code改過後,個Arduino PWM係塊L298N Motor擴展板試機成功..........

[ 本帖最後由 zonebaby 於 2009-8-22 11:21 編輯 ]

圖片附件: L285NSuccessC.jpg (2009-8-22 11:21, 65.37 KB) / 下載次數 124
https://www.hkepc.com/forum/attachment.php?aid=931313&k=9915c4294118f9e6440272a2595ae8f0&t=1788211762&sid=57Z7Iw6vFG


作者: avdaemon    時間: 2009-8-21 08:44

is it a PWM control?
作者: zonebaby    時間: 2009-8-21 11:05

E個code係參考有關E塊板既兩條link(post#1),附例再簡化。
個code入面既analogWrite好似冇乜作用,同埋個for loop既功能應用方面亦不大理想,遟D會再搞清跫。所以註明.........
“因純粹試機,冇執個code,識轉就ok。”

但E塊板應該可以通過軟件由pin10,9控制EnA,B達到PWM控制。


PS:  個code已搞清楚,並作出修改達到應用arduino PWM控制的目的後,在post#3重貼。

[ 本帖最後由 zonebaby 於 2009-8-22 11:45 編輯 ]
作者: zonebaby    時間: 2009-8-22 11:22

原帖由 avdaemon 於 2009-8-21 08:44 發表
is it a PWM control?


個code已作出修改去達到應用個Arduino PWM的目的。
不過要留意E個code既用法有
PWM signal frequency 係預設左大約 490-500Hz.
既限制。
作者: avdaemon    時間: 2009-8-22 12:31

so L298N  is not a PWM chip? or just a H-bridge?
作者: avdaemon    時間: 2009-8-22 12:33

I found it


作者: zonebaby    時間: 2009-8-22 12:46

可以睇下post#1有關粒L298N chip既datasheet link
http://www.st.com/stonline/products/literature/ds/1773.pdf
仲有多D應用方法同資料,......





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2