极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: Super169

用想 pro mini 做 12v 风扇既速控及时间制

[复制链接]
发表于 2014-5-7 14:25:31 | 显示全部楼层
本帖最后由 河山 于 2014-5-7 14:27 编辑
Super169 发表于 2014-5-7 12:07
在網上找到一個 ULN2003 控制四個電機的圖, 我想就是你說的做法了.


对,就是这个接法了,你看不懂原理图?只能看实物图吗?“我看看是否可以把 ULN2003 拔出來, 否則就要看看如果插到模塊上去”这个什么意思?是要拆零件用吗?敢情和我是编程小白差不多,你是硬件小白,我是软件小白,哈哈!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 15:29:34 | 显示全部楼层
河山 发表于 2014-5-7 14:25
对,就是这个接法了,你看不懂原理图?只能看实物图吗?“我看看是否可以把 ULN2003 拔出來, 否則就要看 ...


哈哈...因為當初我把你的圖當成是 Arduino 的圖, 所以不明白為何可以 pin9 接 12V, pin8 接地.

因為我只有 ULN2003 模塊, 圖中是直接連線到 ULN2003 上, 如果不肯定接腳是如何引出, 最直接我想法就是把 ULN2003 拆出來吧.  現在手上沒有模塊, 印象中是有4 個 IN 的 插線連接 arduino, 而接步進的是 5P 頭.  或許可以直接用到.

你說的沒錯, 我對電子的東西真是完全不慬的....確是一名是硬小白.
回复 支持 反对

使用道具 举报

发表于 2014-5-7 15:45:19 | 显示全部楼层
Super169 发表于 2014-5-7 15:29
哈哈...因為當初我把你的圖當成是 Arduino 的圖, 所以不明白為何可以 pin9 接 12V, pin8 接地.

因為 ...

对了,你有没有这个ATtiny13的资料,我做个ATtiny13的控制器,用Arduino太浪费了,想用ATtiny13来做,不知道原来Arduino的程序怎么写进ATtiny13来控制,有的话发一份给我,要具体详细些,我对这个写程序很小白的,谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 15:51:14 | 显示全部楼层
河山 发表于 2014-5-7 15:45
对了,你有没有这个ATtiny13的资料,我做个ATtiny13的控制器,用Arduino太浪费了,想用ATtiny13来做,不知 ...

ATTiny13A 是否一樣的?
這裡有篇說明: http://www.instructables.com/id/ ... -Arduino-servo-int/

可惜我沒有 ATTiny13, 否則可以試試先.
我要做的也是很簡單的工作, 如果可以單獨用一個 ATTiny13 + ULN2003 兩顆 chip 完成就更好了.
有機會我去淘寶買一兩顆回來試試.
回复 支持 反对

使用道具 举报

发表于 2014-5-7 16:05:19 | 显示全部楼层
Super169 发表于 2014-5-7 15:51
ATTiny13A 是否一樣的?
這裡有篇說明: http://www.instructables.com/id/Programming-an-ATTiny13A-usin ...

等我的ATtiny13回来试试,现在收集它的资料。你说的这个是硬件如何连接,我头痛的是怎么把在Arduino Uno R3测试好的程序怎么写到ATtiny13来运行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 16:09:29 | 显示全部楼层
河山 发表于 2014-5-7 15:45
对了,你有没有这个ATtiny13的资料,我做个ATtiny13的控制器,用Arduino太浪费了,想用ATtiny13来做,不知 ...

看網上說明, 你需要下載一個 attiny-arduino 的硬體資料到 Arduino IDE 才可以使用.

我已下載了, 希望對你有用.



把內裡的 attiny folder 抄到 arduino IDE 的 hardware folder 之下, 再開啟 Arduino IDE 時, 就可以選 ATTiny 了.



文中說到有些地方要修改的才可以用 ATTiny13A 的, 有問題你可以試試問我.


We then need to offset the clock speed (not a very elegant solution, but i'm working on it!):
  • Open Hardware/attiny/boards.txt
  • Scroll to the bottom of the file, this last few lines contains the data relevant to our chip
  • Change "attiny13.build.f_cpu=9600000L" to "attiny13.build.f_cpu=1000000L"

This will correct delay times etc.
  • Open the Arduino IDE again
  • Go to Tools>Board and select "ATtiny13 (internal 9.6 MHz clock)"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 16:15:01 | 显示全部楼层
河山 发表于 2014-5-7 16:05
等我的ATtiny13回来试试,现在收集它的资料。你说的这个是硬件如何连接,我头痛的是怎么把在Arduino Uno  ...

是否可以直接使用 UNO 的程式, 你可以先下載那個硬件資料放到 Arduino IDE 中.
再在 board 中選用 ATTiny13 進行 Verify, 如果沒錯誤, 應該可以在 ATTiny13 上執行了.
之後就是硬件連接, 再 upload 上去就應該可以了.

但, 有件事要說明一下.........我只是在紙上談兵, 一切只是理論, 我並沒有 ATTiny13 的, 所以不知是否真的可以.
回复 支持 反对

使用道具 举报

发表于 2014-5-7 17:35:40 | 显示全部楼层
Super169 发表于 2014-5-7 16:15
是否可以直接使用 UNO 的程式, 你可以先下載那個硬件資料放到 Arduino IDE 中.
再在 board 中選用 ATTin ...

谢谢,还有这个办法啊,我在 board 中选用 ATTiny13 进行 Verify通过了,过几天回来 ATTiny13 就可以试试了,有什么问题再请教。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 19:52:13 | 显示全部楼层
河山 发表于 2014-5-7 14:25
对,就是这个接法了,你看不懂原理图?只能看实物图吗?“我看看是否可以把 ULN2003 拔出來, 否則就要看 ...

不好意思, 硬小白又出問題了....

我把 電源, arduino 板子, ULN2003 模塊, 風扇都接上了.
寫了一個很簡單的速度測試:
  1. #define FAN_PIN 9

  2. void setup()
  3. {
  4.   Serial.begin(115200);
  5.   pinMode(FAN_PIN, OUTPUT);
  6. }

  7. void loop()
  8. {
  9.   for (int i = 0; i < 255; i += 50)
  10.   {  
  11.     Serial.println(i);
  12.     analogWrite(FAN_PIN, i);
  13.     delay(2000);
  14.   }
  15. }
复制代码


結果, ULN2003 模塊上的小燈, 由暗到亮, 一切正常.  但風扇一點也沒轉.
如果把電源插到另一個直接通電的接口, 風扇就可以轉動了, 但這個是直接供電, 不能控制, 只是證明了風扇插線沒問題.

把 analogWrite 改成 digitalWrite(FAN_PIN, HIGH); 風扇就轉了, 改成 LOW 就會停.  看來 ULN2003 的模塊不接受 PWM 的訊號.

再看看 ULN2003 的例子,  步進馬達是靠轉變 HIGH/LOW 的時間去控制速度, 而並非用 PWM 的, 會否因此 ULN2003 的模塊自動把 PWN 的訊號變成 0/1 的訊號, 只在 255 時才可以對風扇供電?   但 LED 的光度, 會隨 PWM 的數值改變.....
回复 支持 反对

使用道具 举报

发表于 2014-5-7 20:03:28 | 显示全部楼层
本帖最后由 河山 于 2014-5-7 20:34 编辑
Super169 发表于 2014-5-7 19:52
不好意思, 硬小白又出問題了....

我把 電源, arduino 板子, ULN2003 模塊, 風扇都接上了.


电路图上来看下,LED是轻负载和电机有些不同,电机不可能与LED一样可能同步作出反应,会有一个起动电流的。大于起动电流电机才会转起来,不要告诉我12V的电机接5V的电源啊。有可能 i 的范围在100-255之间的。你可以接一个电位器到模拟口检测,然后输出PWM试试看串口的值找合适电机驱动的数值。参考http://www.geek-workshop.com/thread-1113-1-1.html,如果LED能变化,再接上2003和电机试试哪个值合适。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 20:44:46 | 显示全部楼层
河山 发表于 2014-5-7 20:03
电路图上来看下,LED是轻负载和电机有些不同,电机不可能与LED一样可能同步作出反应,会有一个起动电流 ...


電路圖不知是怎樣, 因為我是用了這個 ULN2003 模塊, 內裡是怎樣, 我不太肯定.



電源絕對是足 12 V 的 (3 x 18650, 度出 12.26V 的), 如果插到直通電流的插座 (即相中插電源線的另一個頭), 風扇可以全速轉動的, 所以風扇的插線及電源也應該沒有問題的.
只是, 現在的插法, 是經 Arduino 操控供電, 用 PWM 操控就不行了.  轉用 digital 操控, 以 digitalWrite(FAN_PIN, HIGH) 是可以開動風扇, 只是在 analogWrite 時不會轉動.

由於 ULN2003 是 DIP 接腳, 要拆出來直接測試也不難, 待會我把 ULN2003 拿出來再測試.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-5-7 20:55:46 | 显示全部楼层
Super169 发表于 2014-5-7 20:44
電路圖不知是怎樣, 因為我是用了這個 ULN2003 模塊, 內裡是怎樣, 我不太肯定.

注意 i 不能太小,还有你的电机可是有刷直流电机?如果是电脑用的12V风扇电机的话,它里面是有电路控制的,且是无刷的电机,就不能这样用法了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-7 21:27:18 | 显示全部楼层
河山 发表于 2014-5-7 20:55
注意 i 不能太小,还有你的电机可是有刷直流电机?如果是电脑用的12V风扇电机的话,它里面是有电路控制的 ...

我把 ULN2003 拆了出來, 插在麵包板上測試.


並修改了程式:

  1. #define FAN_PIN 10

  2. void setup()
  3. {
  4.   Serial.begin(115200);
  5.   pinMode(FAN_PIN, OUTPUT);
  6. }

  7. void loop()
  8. {
  9.   for (int i = 200; i < 255; i += 10)
  10.   {  
  11.     Serial.println(i);
  12.     analogWrite(FAN_PIN, i);
  13.     delay(2000);
  14.   }

  15.   Serial.println("low");
  16.   digitalWrite(FAN_PIN, LOW);
  17.   delay(2000);
  18.   
  19.   Serial.println("high");
  20.   digitalWrite(FAN_PIN, LOW);
  21.   delay(2000);

  22. }
复制代码


因為在 250 以下時都不會轉, 所以改成只測試 200 或以上的數值.

結果跟之前有點不同, 只有當 analogWrite 為 250 時風扇會轉動, 甚至在 digitalWrite HIGH 時也不會轉.

我的風扇是可以調速的, 因為我現在是用風扇控制器調速的, 只是想把它們轉成用 Arduino 控制.
電源是 12V 5A 牛, 而我只是用 4cm 0.11 A 的風扇測試, 電流應該不會是問題的, 我還有呢一套是 8cm 0.51A 的 呢.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-5-7 21:39:08 | 显示全部楼层
HIGH的时候应该是停,LOW的时候才会接通电机的,按图看你的风扇里面是有控制电路的,不能用这样的方法来控制,把你风扇的参数或型号或是什么样的风扇发来我研究一下试试。如果我有相同的风扇我拆开来看下,怕是要控制风扇里面的控制电路才可以,一般这种风扇最简单的方法是控制它的供给电压,用PWM控制它的转速是不妥当的。
回复 支持 反对

使用道具 举报

发表于 2014-5-7 21:46:55 | 显示全部楼层
Super169 发表于 2014-5-7 21:27
我把 ULN2003 拆了出來, 插在麵包板上測試.

如果要求不高的话(不是无级调速的话),简单的设定几个速度,可以用2W电阻(50-200欧)降压来实现,如果这样的话我再画个图给你。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-22 23:47 , Processed in 0.065077 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表