2020年10月11日 星期日

DHT11溫度濕度模塊

 DHT11溫度濕度模塊

此模塊搭配Arduino使用,需先安裝外部程式libraries
方式1,開啟Arduino軟體程式IDE,
在上列點選-草稿碼>匯入>管理程式庫,
輸入DHT11,選擇安裝後離開重新執行Arduino圖↓


 

方式2,到以下連結網站下載ZIP,
https://github.com/adafruit/DHT-sensor-library
解壓後將整個目錄安裝到你的Arduino位置,
例如Arduino\libraries\DHT_sensor_library圖↓



安裝後建議重新執行Arduino IDE,
在工具列檔案>範例>會出現一個DHT sensor>DHTtester
打開內建範例後查看程式,圖↓

 
注意此段說明~依DHT的版本選用
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
我們使用DHT11,所以只留下
#define DHTTYPE DHT11
其他版本及備註刪除,成為以下碼,圖↓


#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11   // 只留DHT 11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  Serial.println("DHTxx test!");
  dht.begin();
}

void loop() {
  delay(2000);
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);

  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}



選擇好Arduino版本及通訊阜上傳到機板,
習慣先離線斷電再裝硬體,
將DHT11模塊裝上硬體,僅3腳,
在程式裡可看到輸入端為p2接模塊OUT,
正負輸入電力3.3~5v,圖↓


連結電腦執行Arduino IDE,
並打開監控窗,確認鮑率是相符的,
模塊就會開始回傳資料,
濕度++溫度++及體感溫度,圖↓



如需要外接螢幕可參考該相關教文搭配使用,
https://ee543.blogspot.com/2016/05/arduino-uno262iici2c.html


https://www.ee543.com







2020年10月6日 星期二

馬達啟動電容~電風扇換電容換保險絲

馬達啟動電容~電風扇換電容換保險絲

一般的AC電風扇用一段時間後會越轉越慢,
除了綿屑頭髮沒上油等等問題,
原因多都是電容老化,用了一段時間就要更換,

馬達啟動電容分容量,
標示240v是指240v以下,或標示480v以下,
都可在AC110v~240v內使用,
所以只要注意容量,
家用風扇多用3uF,吊扇5uF,
排風扇工業扇等等都差不多的換法,
盡量是換和原本一樣的容量,
若要加大不要超過20%,
過大容易燒壞馬達線圈,
過小則轉速慢或轉不動,

電容安裝的位置多在開關附近,
底座或是立桿處,不需拆網拆葉片,
2台風扇圖↓


查看原本的容量2台都是3uF,AC電力不分腳位,
因此找換一樣容量的焊下換上就行,


如有如圖大小及安裝位置的問題就要依狀況處理了,圖↓


換好電容試轉沒問題就可裝回外殼,完成結束...

若是完全不動,檢查開關電源及保險絲,
綿絮頭髮等等卡在轉軸,馬達溫度過高後燒斷保險絲,
此狀況要拆下後殼更換溫度保險絲,
溫度保險絲有分電流數和溫度,
一般只要不要差太多都可替換
圖↓


將手邊的風扇殼拆下,這應該不難,
遇到的問題多是搖頭的控制鍵拆不下,
注意看照片,搖頭鍵是有個倒勾卡榫,
找個尖的工具挑起卡住的地方就能取下,
圖↓
 
把後殼及鐵網拆光,就可看到馬達線圈,
在電路接點處有個黑色的熱縮管保護著,
把該保護熱縮管剪去就可看到保險絲,圖↓

 
因為這風扇保險沒斷,所以就不繼續拆了,
若要更換方便可拆下馬達架,
焊下保險絲換上即可,
順便把綿屑頭髮清理,並上油,
老舊風扇就可繼續使用了,
不要只因風扇才幾百元,就當垃圾回收去,
保護地球環境,需要大家一起努力,

另台風扇的更換↓





https://www.ee543.com

2020年9月16日 星期三

測試馬達轉速與繞線關係

測試馬達轉速與繞線關係
 
此不說明馬達轉動的原理,但需知道電力與馬達的關係,
右手安培定律,電流通過方向,決定磁場方向,決定馬達轉動方向,
電流由正極流向負極,即右手姆指向負,電流朝4手指方向,
將右手的大拇指指向電流I方向,再將四根手指握緊電線,
則彎曲的方向決定磁場B的方向, 資料圖片來源~維基百科
https://zh.wikipedia.org/wiki/%E5%AE%89%E5%9F%B9%E5%AE%9A%E5%BE%8B
圖↓



DC有刷馬達只要改變正負電流的輸入端,就可改變馬達轉動的方向,
相同電力條件下,影響馬達效能的,就是馬達的繞線,
繞圈數,材料,粗細,方式等,另外就是磁鐵的磁性強度及軸承等,
線圈繞在轉子上,定子在線圈外無直接接觸,
轉子銅線固定在轉軸上,轉軸一端由碳刷電刷接過電,
圖↓


轉速越高一般來說力矩越低,就像汽車低速爬坡檔有力但轉速慢,
而跑車高速轉但無法載重爬坡力低,

繞線越短電流通速度越快,馬達轉速越快,扭力越低,耗電越高,
試想將電池一條電線短路,會耗盡電池電力並電線發燙燒斷,

線圈越長電流越慢,轉速越慢,越省電,
繞線越粗電阻越低,通過電流越大,產生磁性就越強,轉速越快
在有限的繞線範圍內,要高轉速又要高扭力還要低耗電,
就要改善定子的磁力,及電刷和軸承等等條件,
圖↓

以下測試拆解普遍使用在玩具車的130馬達,
外觀尺寸都相同,內部和外觀顏色無關,
圖↓

先以18650電池4.3v測試啟動及空轉及堵轉電流,
就可明顯知道差異,
啟動瞬間電流大,空轉時最低,堵轉為受力致馬達停止,
圖↓

馬達透過計數設備,過48比齒輪盒測2葉片計數,
圖↓

各馬達測試電壓電流轉速完後拆殼比較
圖↓
 
電科同學可找翻課本資料公式,
課本是專人審核的,網路資料很多不正確,
圖↓
w=2Pi*RPM/60,
角速率=2*3.14*轉速/60秒

以及另一公式
T=P*E/w
轉矩=功率*效能/角速率

由於無法取得馬達效能及輸出功率,以下帶耗電瓦數計算,
則可簡化公式為
轉矩N.m=(電流A*電壓V)/(0.105*轉速RPM)

將各馬達測4.2v過48齒輪比時數據記錄並計算
G款=0.17A,0.7W,12000轉,0.00055N.m
D款=1A,4.2w,38400轉,0.00104N.m
W款=0.3A,1.26w,18000轉,0.00069N.m
B款=0.12A,0.5w,11000轉,0.00043N.m
Y款=0.02A,0.08w,2460轉,0.00031N.m

得轉矩單位N.m,可轉換成公制Kgf.cm,參考馬達廠的自動轉換程式
https://www.orientalmotor.com.tw/om/support_tool_tw/torque/

將得到的轉矩/耗電瓦數,計算出每瓦耗電的效率比較
G款=0.0008=繞線徑0.16mm,轉子16片,定子磁力強
D款=0.00025=繞線徑0.16mm,轉子10片,定子磁力弱
W款=0.00039=繞線徑0.16mm,轉子16片,定子磁力中
B款=0.00087=繞線徑0.10mm,轉子16片,定子磁力中
Y款=0.0039=繞線徑0.10mm,轉子16片,定子磁力強

可看出每瓦效能,繞線細長+強磁的效率是最高的,
一般來說售價也最高,
而繞線粗短是最快最耗電效率是最低的,
在應用上,若是要接太陽能板低耗能用,
則需選擇細長線的,低壓低流,
若是要逆向作發電的也是要選細長線的,
高壓低流低速,逆向達轉速時才發出低壓低流,
若是接電池不考慮耗電要快轉的可選粗短線,
要快轉又要載重車用就要粗長線,

影片↓

另篇相關參考
TT馬達測試器 轉速功率轉矩
https://ee543.blogspot.com/2019/12/tt.html
將原本的UNO單片機,改用Nano,
程式是一樣的,稍作修改,顯示在外接螢幕上,
i2c接腳SDA=A4,,SCL=A5,參考另篇螢幕轉接板,
https://ee543.blogspot.com/search?q=i2c
在程式介面要記得選擇到nano在能正常上傳,
圖↓


#include <SCoop.h>
bool BTS= false ;
bool BTL= false ;
int count = 0 ;

#include <Wire.h>
#include <LiquidCrystal_I2C.h> //務必先安裝資料庫,SDA=A4,SCL=A5
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //注意0x3F螢幕位址

void setup()
{
  pinMode( 2 , INPUT); //P2入光電計數器訊號
  Serial.begin(38400);
  mySCoop.start();
  pinMode( 7 , OUTPUT); //P7出高電繼電器控制

 lcd.begin(16, 2); //初始化16字元2行
  for(int i = 0; i < 2; i++) {//閃爍後亮背光
    lcd.backlight();
    delay(200);
    lcd.noBacklight();
    delay(200);
  }
  lcd.backlight();
  lcd.setCursor(0, 0); //第一行顯示
  lcd.print("0");
}

void loop()
{
  BTS = digitalRead(2) ;
  if (( ( BTS ) != (BTL ) ))
  {
    if (( (BTS ) == ( HIGH ) ))
    {
      count = (count + 1 ) ;
      Serial.print(count);
      Serial.println();
    }
  }
 BTL =BTS ;
  delay( 3 );
}

defineTaskLoop(scoopTask2)
{
  digitalWrite( 7 , LOW );
  delay( 3000 );
  digitalWrite( 7 , HIGH );
  delay( 60000 );
  digitalWrite( 7 , LOW );
  lcd.clear();
  lcd.print(count);
  delay( 7000 );
  lcd.noBacklight();
  delay(200);
  lcd.backlight();
  count = 0 ;
  lcd.clear();
  lcd.print("0");
}




https://www.ee543.com


2020年6月12日 星期五

水位控制~單浮球排水時間繼電器

水位控制~單浮球排水時間繼電器

水位控制的接法相當多種,
需依排水或入水及各設備電壓等搭配,
此篇使用單浮球的水位開關搭配時間繼電器,
來控制當水箱滿水時的排水,

以下使用材料
單浮球的水位開關1支
斷電延時的時間繼電器加底座1組
DC12V抽水馬達1個
DC12v電源器1個
線材數條
電源指示燈和馬達指示燈(可不接
圖↓

 
浮球水位開關桿內有磁簧開關,
外部浮球內置磁鐵,
當浮球上下移動帶動磁鐵,
而磁簧開關受到磁鐵影響而通路或斷路,
2線的水位開關視為一進一出的開關接線,
滿水要排水調整為NO,浮球上升時為NC通路,
圖↓水位浮球說明.jpg

繼電器種類多,此處使用單閘斷電延時繼電器,
動作順序=通電-跳閘-斷電-計時-跳閘復歸,
可參考另篇斷電延時繼電器使用方式,
https://ee543.blogspot.com/2020/05/off-delay-timer-relay.html
圖↓斷延繼電圓8腳3.jpg

DC12V電源器接至繼電器,並進火線給水位開關,
當水位觸發火線出給繼電器啟動,
繼電器跳閘啟動馬達,開始抽水,
水位下降開關斷路,繼電器開始計時,
此時間需依水箱大小及馬達排水量來調整運轉時間,
直到設訂時間到,繼電器歸位,馬達斷電停止結束,
圖↓水位圓八接線
單水計時.jpg

影片↓


以上接線是一電源線入水位開關再一線出到繼電器,,
若是接控制器,大多是電源正負入控制器,再2線出到水位開關,則務必接上電阻,,
如不接,該2線會發出正負電力,導致內部電磁感應吸合不放,
可電表量測控制器2接線,就會發現是有電壓電流的,



https://www.ee543.com



2020年5月14日 星期四

時間繼電器~斷電延時繼電器~OFF Delay Timer Relay

時間繼電器~斷電延時繼電器
OFF Delay Timer Relay

和一般瞬時繼電器不同,非通電就跳閘,
時間繼電器有分通電計時和斷電計時,
此篇說明斷電延時的使用,
圖↓斷延繼電圓8腳2.jpg

此款為1閘NO/NC,帶復位歸零腳,
動作順序=通電-跳閘-斷電-計時-跳閘復歸,
圖↓斷延繼電圓8腳3.jpg

當2+7腳位驅動電源通電(注意是否分正負),
同時跳閘,此時並不計時,
等待驅動電源斷電,才開始計時,閘位尚不動作,
直到設定時間到,跳閘復歸,
有帶復位歸零腳位的,可在未到時間短路立即歸零,

以下影片範例搭配復位開關,
可改接感應模塊或水位開關等訊號,
依訊號搭配控制端線圈電壓,驅動電流100mA,
並依需啟動設備時間挑選繼電器,
綠燈表示開關訊號控制端,
紅燈表示被控端設備啟動及停止,
圖↓斷延繼電配線例.jpg
影片↓

控制排水的運用,
當水位上升觸發浮球訊號,即啟動繼電器線圈,
使馬達開始排水,慢慢排水後浮球下降,訊號斷開,
計時器開始計時,依據馬達排水及水桶量,調整排水時間,
待時間到,排水泵斷電停止,影片↓


或是車道進出感應器觸發時閃燈警示幾秒時間


https://www.ee543.com


2020年5月1日 星期五

投幣器 錢道 Coinslot

投幣器 錢道 Coinslot

商用單一硬幣比對式投幣器,
要在投幣器上夾一個硬幣比對使用,
可調整比對的嚴格度,及反應速度的調整,
使用的是DC12V電力,接上線路,紅正黑負,
灰色接計數器不分正負,白色線為訊號輸出,
NO常態輸出高電平,落幣觸發輸出低電平訊號,
一般商用機台娃娃機等,在調整設定時需切換在NC狀態,
待進行機台調整完成後再切回NO作平常營業狀態,圖↓


接線範例
夾上10元硬幣,輸入電源紅正黑負DC12V,
2灰線接計數器,白色接到時間繼電器模塊接收端,圖↓

時間繼電器模塊一樣輸入DC12v電力,
被控端到DC12V的燈帶上,可調整想要啟動的時間,圖↓

確認接線後通電,投幣10元一枚,
計數器跳1下,燈帶亮幾秒,結束,圖↓影片

商用可接上其他音樂或馬達等等,
另控制吹風機加水機搖搖馬扭蛋機小火車..



https://www.ee543.com

2020年3月10日 星期二

馬達驅動模塊L9110

馬達驅動模塊L9110

UNO的電力輸出最大5v0.5A
但數位腳的輸出電流不到0.2A圖↓

而大多的DC馬達都會超過0.2A
所以無法直接以UNO接腳輸出電力轉動馬達,
舊文有使用晶片及堆疊積木模塊的方式驅動,
https://ee543.blogspot.com/2016/03/arduino-uno450l293d.html
https://ee543.blogspot.com/2016/04/arduino-uno452l293d.html

這篇要使用小而方便的馬達驅動模塊L9110,
該單口輸出最大0.8A,足以轉動一般的小馬達,
綠色的端子口為輸出2個馬達共4接點,
針腳中間輸入正負電,A馬達有2控制腳,B馬達也有2控制腳,
該控制腳位需輸入低電位,來啟動馬達的正反轉,
圖↓

接好電源及馬達,只要引入低電位即可觸發馬達轉動,
圖↓

可接上發出低電平訊號的感應器,就可啟動馬達,
運用參考無程式的循跡車利用低電位訊號觸發馬達,
影片↓https://youtu.be/d4mvQgw1x3Q

電腦接上UNO直接上傳內建程式,可修改秒數或不改,
檔案>範例>Basics>Blink如圖↓

上傳後先離線斷電,再接上模塊及馬達配線,
由UNO的+5V和GND提供電力到模塊,
搭配程式P13腳位提供高電和低電訊號到馬達控制腳,
通電後查看內建燈號和馬達變化,
當燈亮時高電平馬達停止,
當燈熄時低電平馬達轉動,圖↓

延伸到控制4腳位,來達到2馬達的正反轉,
2腳位的其中一腳低電才會轉動,
而反之另一腳低電則轉另一方向,
注意馬達突然逆轉容易造成損壞,影片↓


運用在智慧車避障車軌跡車藍牙車等等
可參考另篇藍牙小車文,
https://ee543.blogspot.com/2019/04/a1903unobc6.html



https://www.ee543.com