繼電器與階梯圖 - letry.com.t ·...
TRANSCRIPT
1
洛奇機器人 B002 實驗手冊 曹齊平繪圖編寫 www.letry.com.tw 第九課 繼電器與階梯圖
繼電器: 繼電器裡面有線圈和開關,線圈通電會產生電磁場,磁場的吸引力使得開關啟動,
(RELAY) 我們這裡所用的繼電器有一組線圈和兩組開關,線圈的英文是 Coil,當線圈通電後 ,
會聽到開關發出一個聲音,繼電器的 C 腳與 NO 腳就通電了,C 腳與 NC 腳則斷電。
C(common)腳又稱共同點,NO(normally open)腳又稱常開點或 a 接點,NC(normally close)
腳又稱常閉點或 b 接點。本實驗用的繼電器線圈規格是 5V,但我們在此用 4.5V 電源也可。
繼電器實驗
(1) 請將繼電器線圈接上 4.5V 電源,聽聽繼電器的聲音。
(2) 再加上 300Ω電阻及發光二極體 LED,用繼電器啟動發光二極體 (改成 NC 點再試試看)
(3) 請接及電路,也就是第一個及第二個小開關都要按,LED 才會亮 (要用兩個繼電器)
(4) 請接或電路,也就是第一個或第二個小開關只要按其中一個,LED 就會亮
Coil c nc no
2
(5) 請接自保持電路,按一下小開關,LED 就保持一直亮 (用一個 relay)
(6) 互鎖電路,兩個開關分別各控制一個 LED,若第一個 LED 先亮,第二個 LED 就按不亮
上圖只能鎖住一個 LED,想一想如何能互相鎖住對方?
(7) 想一想下列階梯圖的作用,並完成接線及實驗
(8) 可清除的自保持電路,按一下開關 1,LED 保持亮,按一下開關 2 清除自保持,LED 滅
3
第十課 組合邏輯
反及閘(NAND Gate)
反及閘(NOT AND Gate)的作用是先執行及閘再執行反相閘,所以反及閘的輸出結果與及閘的
輸出結果相反;當所有輸入皆為 1時,則輸出 0。
實驗 1
實驗 2 實驗 3
實驗 4
A B Y
0 0 1
0 1 1
1 0 1
1 1 0
加 R1(最好是 1K以上)電阻的作用是,當開
關按下會輸入高電位,沒按的時候會輸入低
電位而不是空接,輸入若空接會當做 1。
4
實驗 5 本電路相當於哪一個邏輯閘?
實驗 6 試用三個反及閘做出一個或閘
實驗 7 先寫出真值表,再用 4069 及 4081做實驗,看看結果對不對.
然後再將電路全部改用反及閘代替,用一顆 4011 做實驗.
實驗 8 自保持電路 (S按下去放開後 , LED就一直亮 , 按一下 R ,LED才滅)
實驗 10 試結合感測器和邏輯元件
實驗 9 請用一顆 4011做出自保持電路
5
第十一課 正反器、定時器、計數器
實驗一 正反器
正反器是一種記憶電路,圖一電路,按一下第 1號開關,LED就亮,即使放開第一號開關,LED保持
一直亮,直到按一下第 2號開關,LED才滅。
S 是 Set(設定)的簡寫,是用來設定 Q的記憶,R是 Reset 的簡寫,是重新設定的意思,也就是清除
原先的設定。
加 R1(最好是 1K以上)電阻的作用是,當開關按下會輸入高電位,沒按的時候會輸入低電位而不是空
接。一個 4043有 4個 RS正反器。
圖一
實驗二 定時器 555 按一下小開關, LED亮幾妙之後, 自動熄滅.
實驗三 計數器
右圖電路,不斷按開關,四個 LED 會依次輪流
亮,第 10腳接到第 15腳歸零,目的是讓計數 器
數到 4 時,會自動歸零,又從 0 開始數。
第 13 腳若輸入正電,計數器就暫停功用,所以 要
接地(低電位)。
6
第十二課 用 PWM 法調節 LED 的亮度及馬達的轉速
PWM介紹:
電熱器、馬達轉速、燈的亮度….等等的控制,有下列三個方法,其中前兩種不好。
1 控制電壓的高低--需要一個大而無效率的變壓器。
2 控制電流的大小--如果串聯一個可調電阻來控制電流,這電阻會浪費電能,若用電晶體控制電流
大小,電晶體本身會消耗電能。
3 控制通電的時間--控制電流的導通或不導通,這在電路上比較容易做到,我們讓電流通一段時
間,再斷電一段時間,再通電…斷電….通電…斷電…,每一循環週期包括一次通電與斷電,我
們控制每一週期中通電時間的長短,這種方法就是 PWM(Pulse Width Modulation)脈衝寬度調節。
下列實驗將用 555定時器示範說明 PWM方法,我們利用這簡單的電路幫助同學瞭解 PWM方法,工業
上大多採用運算放大器或單晶片微處理機做 PWM控制。
本課實驗請同學自己用不同的電阻及電容試試看
實驗一 閃爍的燈
T1時間--電流經 R1與 R2對 C充電。
T2時間--電流由 C出來經 R2到 7,
請同學們改變不同的 R1、R2及 C,觀
察 LED 的亮滅有何不同。
實驗二 調燈的亮度
加上兩個二極體,限制電流的方向,R1 及R2改
用 2K 可調電阻,調整可調電阻,觀察 LED 的變
化。
改變不同的電容 C,看看 LED的閃爍有何 不同。
若用更小的電容器 C如 103,LED 將看不 出閃
爍,而是亮度改變了。
實驗三 調馬達的轉速
調整可調電阻,看看馬 達轉動
的情形。
改變不同的電容器 C, 觀察馬
達的轉動。
7
第十三課 步進馬達的轉速控制 步進馬達簡介(自 100 年 4 開始,洛奇公司供應的步進馬達內有減速齒輪,慢但是力大)
本實驗用的步進馬達有四組線圈,每組線圈通電一次,馬達轉細微的角度,然後要再換另一組
線圈通電,馬達才會再轉一下,要依順序對這四組線圈通電,馬達才會不斷轉動。如果順序反過來,
步進馬達就會反轉。試著對步進馬達通電看看。
本實驗用簡單的電路控制步進馬達的轉速,市面上有許多專門的 IC控制步進馬達。步進馬達的
轉動角度及速度很容易準確控制,不必用閉迴路控制,開路控制就可,磁碟機、印表機、掃瞄器都
有用到步進馬達。
實驗一
本實驗用計數器 4017把 555產生的脈衝依序分配給 4個輸出,讓 4個 LED輪流亮。
4017的第 10腳接第 15腳,目的是讓計數器數到 4又會回到 0開始。
改變不同的電阻 R1及電容 C試試看,觀察 LED的亮滅速度有何不同變化。
實驗二 1 先用電池端子直接通電給步進馬達,讓步進馬達轉動(五條線自己試找)。
2 依下面電路圖,用可調電阻控制步進馬達的轉速。
8
第十四課 步進馬達的兩相驅動 一相驅動
先前我們進行的步進馬達轉動實驗是一相驅動,一次驅動一個線圈。
A線圈 B線圈 C線圈 D線圈
1 ON
2 ON
3 ON
4 ON
兩相驅動
現在我們要一次驅動兩個線圈,兩相驅動,這樣可以增加步進馬達的扭力。
A線圈 B線圈 C線圈 D線圈
1 ON ON
2 ON ON
3 ON ON
4 ON ON
實驗一
請接出右邊電路,四個 LED 會輪流兩
個兩個亮。
或閘請用 4071。
實驗二
做出右圖電路後,用手 感覺步
進馬達的扭力是不是比 較大。
9
第十五課 溫度感測與控制 (運算放大器的運用)
元件介紹
熱電偶 不同的金屬接合,其接合處會產生微弱的電壓,溫度越高則電壓越高,因此由這電壓
可以推知接合處的溫度,熱電偶就是把兩種不同的金屬接合而成的溫度感測器。本實驗用的是 K
型熱電偶,外皮顏色是青色的,內有紅色及白色兩條線,紅色為正電。接合處在此用絞的接合
在一起,正式使用應該用氬焊或其他高溫融合在一起。
熱敏電阻 溫度會改變熱敏電阻的電阻值,本實驗用的熱敏電阻是負溫度係數的,也就是溫度
越高電阻值越小。編號 102 意指,在攝氏 25 度,電阻值是 1kΩ 。
可調電阻 有三隻腳及一個旋轉柄,轉動旋轉柄,一邊的電阻值會增加,另一邊會減少。
運算放大器 有很多種功能,在做熱電偶實驗時,我們用運算放大器把熱電偶微弱的電壓放
大數百倍至數萬倍,在做熱敏電阻實驗時,我們用運算放大器比較兩個電壓的高低。 運算放
大器有很多型號,在此我們用 LM324,因為 LM324 對電源的要求很寬鬆,3V 以上電源就可以。
一個 LM324 內部有四個運算放大器。
實驗項目:
(1) 用電表量測熱電偶的電壓及熱敏電阻的電阻,再用熱吹風機吹熱電偶,或用手捏熱敏
電阻,再量看看。
(2) 照下左圖接線,用熱電偶控制 LED,用吹風機吹熱電偶,LED 就亮。
(3) 照下右圖接線,用熱敏電阻控制 LED,用手捏熱敏電阻或口呼熱氣讓 LED 亮。
(4) 把 LED 換成電晶體、繼電器及玩具車,做溫控車實驗,遇熱車就跑。
10kΩ棕黑橙金 1kΩ棕黑紅金 6.2MΩ藍紅綠金 300Ω橙黑棕金
實驗 (2) 實驗(3)
本實驗用運算放大器把熱電偶微弱的 本實驗用運算放大器比較可調電阻電壓與熱敏
電壓放大數千倍 (非反相放大器) 電阻電壓誰高 (比較器)
電壓放大率=(R1+R2)/R1 將可調電阻調到 LED 要亮不亮
改變不同的 R1 及 R2 再試試看 然後對熱敏電阻吹熱氣或手捏,LED 就亮了
10
第十六課 創意組合應用 動動腦思考
圖四
11
用單晶片 89C4051-12 控制創意自走車閃避前方的障礙物 89C4051-12 的電源電壓是 2.7V 至 6V 之間, 89C4051-24 電源電壓是 4.5V 至 5.5V 之間, 本自走車採用
三顆電池, 4.5V, 因此建議採用 89C4051-12 , 以防電壓不足.
創意自走車套件所附的 89C4051 已燒錄有練習 1 的範例程式.
例題一 閃避前方的障礙物
假若右前方有障礙物, 則左馬達反轉, 左輪後退, 玩具車向左轉 .
假若左前方有障礙物, 則右馬達反轉, 右輪後退, 玩具車向右轉
電路說明:
1 反相器的目的:
89C2051 的輸入電壓在 1.8V (0.2 * Vcc+0.9) 以上
為 1 , 而 CMOS 反相器在 2.25V(0.5*Vcc)以上為 1 , 比
較適合本教材的感測器電路.
2 10KΩ 電阻及 100μ F 電容器目的:
在電源開啟時, 讓硬體電路穩定後, 再啟動軟體程式
3 本電路可在創意自走車所附的兩個小麵包板上做出
來, 參考右頁圖片.
4 如果要走地面黑色路線 , 請把紅外線感測器朝向
地面, 馬達電線的正負端子互換位置 , 程式不必改
變. , R1 可試改用 300Ω
5 Keil 公司網站提供免費下載的試用版編譯程式, 編譯後會
佔用 2K 以後的記憶體 , 超出 89C2051 的記憶範圍 , 不
可用.
但是 89C4051 可以用.
例題一 (程式 1) ( Keil-C ) 本程式已燒錄在本創意自走車所附的 89C2051 單晶片中
12
#include<at892051.h> // at892051.h 這個檔案裡有各個暫存器對應的記憶位址
main()
{
while (1) // 讓程式反覆執行
{
if (P1_2==1) // 如果右前方有障礙物
P1_3=1; // 左輪反轉
if (P1_2==0) // 如果右前方無障礙物
P1_3=0; // 左輪前進
if (P1_4==1) // 如果左前方有障礙物
P1_5=1; // 右輪反轉
if (P1_4==0) // 如果左前方無障礙物
P1_5=0; // 右輪前進
}
}
例題二 閃避前方的障礙物 (先後退再轉彎) 本電路和例題一相同
假若右前方有障礙物, 則車子先後退, 再向左轉 .
假若左前方有障礙物, 則向右轉 (不後退)
#include<at892051.h> // at892051.h 這個檔案裡有各個暫存器對應的記憶位址
void delay(unsigned int dly);
main()
{
while (1) // 讓程式反覆執行
{
if (P1_2==1) // 如果右前方有障礙物
{
P1_3=1; // 左輪反轉
P1_5=1; // 右輪反轉
delay(100); // 讓車子後退一段時間
P1_5=0; //右輪前進,車子開始向左轉
delay(40); // 讓車子轉彎一段時間
}
if (P1_2==0) // 如果右前方無障礙物
P1_3=0; // 左輪前進
delay(1); // 等一段時間, 讓干擾消失
if (P1_4==1) // 如果左前方有障礙物
P1_5=1; // 右輪反轉
delay(1); // 等一段時間, 讓干擾消失
if (P1_4==0) // 如果左前方無障礙物
P1_5=0; // 右輪前進
delay(1); // 等一段時間, 讓干擾消失
}
}
void delay(unsigned int dly) // 延遲時間的副程式
{
dly=dly*300;
while (dly>0)
dly--;
}
13
例題三 閃避前方的障礙物
假若右前方有障礙物, 則車子左右搖擺五次, 再轉彎前進.
假若左前方有障礙物, 則向右轉 (不後退)
#include<at892051.h>
void delay(unsigned int dly);
unsigned int aa;
main()
{
while (1)
{
if (P1_2==1)
{
P1_3=1;
P1_5=1;
delay(1);
for (aa=1;aa<=5;aa=aa+1)
{
P1_3=1;
P1_5=0;
delay(40);
P1_3=0;
P1_5=1;
delay(40);
}
P1_5=0;
delay(100);
}
if (P1_2==0)
P1_3=0;
delay(1);
if (P1_4==1)
P1_5=1;
delay(1);
if (P1_4==0)
P1_5=0;
delay(1);
}
}
void delay(unsigned int dly)
{
dly=dly*300;
while (dly>0)
dly--;
}
14
BASIC 程式+89C2051-12 入門
以下程式是根據 Bascom Basic 語法 , Bascom 是
MCS-Electronics 公司所開發的 Basic 編譯軟體,
MCS 公司提供 Demo 試用版, 可免費下載, 試用
版編譯後的機器碼大小限制在 2K 之內, 可至
http://www.mcselec.com/index.php?option=com_d
ocman&task=cat_view&gid=98&Itemid=54
網站下載試用版及使用手冊.
以下例題都可用 Demo 版編譯
圖一 例題 1 至例題 5
以下五個程式, 可使圖一的 LED 做不同的變化,
這些範例可幫助初學者學習 Basic 的基本語法.
例題 1 LED 亮 2 秒
P1.3 = 0
Wait 2
P1.3 = 1
End
例題 2
LED 亮 1 秒,滅 1 秒,亮 1 秒,滅 1 秒….不停的閃爍
Do
P1.3 = 0
Wait 1
P1.3 = 1
Wait 1
LoopEnd
作者 曹齊平 www.letry.com.tw
例題 3
LED 亮 0.2 秒, 滅 0.2 秒,….不停的閃爍
Do
P1.3 = 0
Waitms 200
P1.3 = 1
Waitms 200
Loop
End
例題 4
LED 亮..滅..亮..滅.. (共 5 次)
Dim N As Byte
For N = 1 To 5
P1.3 = 0
Wait 1
P1.3 = 1
Wait 1
Next N
End
例題 5
LED 亮..滅..亮..滅.. (共 5 次), 第一次亮 1 秒, 第
二次亮 2 秒, 第三次亮 3 秒
Dim N As Byte
For N = 1 To 5
P1.3 = 0
Wait N
P1.3 = 1
Wait 1
Next N
End
15
圖二 例題 6 及例題 7
例題 6 如果紅外線偵測到物體, LED 就會亮
Do
If P1.5 = 1 Then
P1.3 = 0
Else
P1.3 = 1
End If
Loop
End
例題 7 LED 不停地閃爍, 直到紅外線偵測到
物體, 就不再閃爍了
Do
P1.3 = 0
Wait 1
P1.3 = 1
Wait 1
Loop Until P1.5 = 1
End
圖三 例題 8
例題 8 和例題 6 的程式一模一樣
例題 8 如果紅外線偵測到物體, 馬達就會停
Do
If P1.5 = 1 Then
P1.3 = 0
Else
P1.3 = 1
End If
Loop
End
瞭解了這 8 個範例後, 你應該可以自己設計出更
多更有創意的程式了
16
圖四 例題 9 及例題 10
例題 9 閃避前方的障礙物
如果右紅外線偵測到物體,左馬達就會反轉
如果左紅外線偵測到物體,右馬達就會反轉
Do
If P1.2 = 1 Then
P1.3 = 1
Else
P1.3 = 0
End If
If P1.4 = 1 Then
P1.5 = 1
Else
P1.5 = 0
End If
Loop
End
例題 10 遇障礙物, 先後退再轉彎
Do
If P1.2 = 1 Then
P1.3 = 1
P1.5 = 1
Wait 2
P1.5 = 0
Wait 1
P1.3 = 0
End If
If P1.4 = 1 Then
P1.3= 1
P1.5 = 1
Wait 2
P1.3 = 0
Wait 1
P1.5 = 0
End If
Loop
End