Nguyên văn bởi toan88_tnt
Xem bài viết
Thông báo
Collapse
No announcement yet.
AVR và triac
Collapse
X
-
ơ,vẫn phải có ngắt bắt điểm 0 chứ?Mà có nhất thiết phải dùng timer không vậy ,liệu có thể chơi thẳng anh delay_us() hoặc delay_ms() đựoc không vậy.Nguyên văn bởi Katecka Xem bài viếtOK đúng rồi. Giá trị đầu ra cao hay thấp do OCR quy định mà. Cứ quất OCR= xxx không cần can thiệp ngắt véo làm gì, mọi thứ có phần cứng lo
Sườn chương trình như này:
Xin mọi người giúp tiếp!int i=5;(i từ 0 đến 9)
chương trình ngắt ngoài()//sườn lên
{
delay_ms(i);//trẽ i ms rồi tạo xung mở triac
triac=1;//mo triac
delay_us(100);
triac=0;//tắt xung cực G
}
void main()
{
if(nhan_tang==0)// nhấn nút tăng
while(!nhan_tang);chờ nhả nút nhấn tăng
i--;
if(nhan_giam==0)// nhấn nút giảm
while(!nhan_giam);chờ nhả nút nhấn giảm
i++;
if(i>=9) i=9;
if(i<=0) i=0;
}Gian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
-
cứu cứu!!!!
xin moị người chỉ giúp,mạch này sai ở đâu mà khi em đo chân INT0 (cho chưong trình phục vụ ngắt mà không thấy gì cả), chẳng thấy có hiện tựong ji` cả.

Đây là đoạn code viết bằng codevision,lúc cài đặt,em chọn ngắt bàng sườn lên:
Xin giúp đỡ,cảm ơn!
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 4.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
************************************************** ***/
#include <mega8.h>
#include <delay.h>
#define triac PORTB.1
#define tang PINC.0
#define giam PINC.1
int i=5;
// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
delay_ms(i);
triac=0;
delay_us(100);
triac=1;
PORTB.0=1;//cai này để kiểm tra xem co' ngắt không
delay_ms(100);
}
void main(void)
{
PORTB=0x00;
DDRB=0xFF;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: Off
GICR|=0x40;
MCUCR=0x03;
GIFR=0x40;
// Global enable interrupts
#asm("sei")
while (1)
{
// Place your code here
if(tang==0)
while(!tang);
--i;
if(giam==0)
while(!giam);
++i;
if(i<=0) i=0;
if(i>=9) i=9;
};
}Gian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
-
Tôi hay dùng LM393 kèm theo một trở treo 4,7k lên 5V. Nếu bạn dùng LM358 thì bạn nên dùng một trở 10k kéo xuống đất(bạn dùng sườn lên mà). Chắc ăn hơn bạn dùng trở phân áp tạo một điện áp khoảng 0,5 volt ở chân 2 của LM358, làm thế này để cho chân ra 1 bằng 0 khi áp vào chân 3 < 0,5 volt.Nguyên văn bởi toan88_tnt Xem bài viếtxin moị người chỉ giúp,mạch này sai ở đâu mà khi em đo chân INT0 (cho chưong trình phục vụ ngắt mà không thấy gì cả), chẳng thấy có hiện tựong ji` cả.

Đây là đoạn code viết bằng codevision,lúc cài đặt,em chọn ngắt bàng sườn lên:
Xin giúp đỡ,cảm ơn!
Tôi cũng chưa rõ switch của bạn đấu đúng chưa, và mạch reset thiếu trở 10k kéo lên 5V.
Bạn thử khắc phục xem, nếu có gì tôi sẽ thảo luận tiếp với bạn.
Chúc bạn thành công!!!
Comment
-
Hi,
Thông thường những project này thì người ta dùng trực tiếp điện lưới luôn, không dùng biến áp để cấp nguồn cho VĐK như vậy mạch sẽ gọn nhẹ hơn. Hãy tưởng tượng bạn dùng để điều chỉnh tốc độ quạt mà phải gắn thêm một hộp điều khiển bên ngoài nữa thì rất chuối, nếu kích thước mạch đủ nhỏ để nhét toàn bộ vào chân đế của máy quạt sẽ tốt hơn, vã lại các mạch này thường thao tác bằng điều khiển không dây (hồng ngoại hoặc RF) hoặc đơn giản là các phím bấm nên cũng chẳng có nguy hiểm gì cả. Nếu bác muốn làm theo kiểu này thì bác search tài liệu Transformerless power supply sẽ có những thông tin bổ ích. Nếu muốn cụ thể hơn có thể search tài liệu giao tiếp X10 dùng PIC của Microchip. Nếu bác muốn dùng theo kiểu của bác củng tốt nhưng mạch phát hiện điểm 0 (zero detector) dùng luôn 1 điện trở đấu thẳng từ nguồn xoay chiều luôn khỏi cần dùng BJT thì sẽ phát hiện chính xác điểm 0 hơn.
Thân ái.Đường đến những ngày vinh quang không còn xa
Con đường chúng ta... chúng ta đã chọn.
Comment
-
Uhm,mình cũng hướng làm điều khiển quạt bằng sóng RF mà,phần RF thì mình giao tiếp điều khiển được qua các LED đơn rồi, còn đến mấy ông Triac này thìa bị mắc chưa được.Ý bạn là đấu thẳng vào chân ra cầu diode bằng 1 R vào chân INT ah.Thế có ổn không.vì mình search thì thấy mạch Zezo detector này người ta thường cho qua một bộ so sánh OA mà.Nguyên văn bởi Hard Xem bài viếtHi,
Thông thường những project này thì người ta dùng trực tiếp điện lưới luôn, không dùng biến áp để cấp nguồn cho VĐK như vậy mạch sẽ gọn nhẹ hơn. Hãy tưởng tượng bạn dùng để điều chỉnh tốc độ quạt mà phải gắn thêm một hộp điều khiển bên ngoài nữa thì rất chuối, nếu kích thước mạch đủ nhỏ để nhét toàn bộ vào chân đế của máy quạt sẽ tốt hơn, vã lại các mạch này thường thao tác bằng điều khiển không dây (hồng ngoại hoặc RF) hoặc đơn giản là các phím bấm nên cũng chẳng có nguy hiểm gì cả. Nếu bác muốn làm theo kiểu này thì bác search tài liệu Transformerless power supply sẽ có những thông tin bổ ích. Nếu muốn cụ thể hơn có thể search tài liệu giao tiếp X10 dùng PIC của Microchip. Nếu bác muốn dùng theo kiểu của bác củng tốt nhưng mạch phát hiện điểm 0 (zero detector) dùng luôn 1 điện trở đấu thẳng từ nguồn xoay chiều luôn khỏi cần dùng BJT thì sẽ phát hiện chính xác điểm 0 hơn.
Thân ái.
Xin các bạn giúp tiếp!
Cảm ơn nhiều!Gian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
-
Vì đầu vào Into0 của vi điều khiển cũng là đầu vào số nên nếu đưa tín hiệu tương tự vào nó vẫn hiểu là 1 và 0 cơ mà cần j OA cho vuông cạnh xung nữa, độ chệch điểm 0 mình có thể sử lý trong chương trìnhThiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
tức là cho thẳng chân dương cầu Diode vào INT0 mà không qua OA, hay tran gì hả bạn. Bạn có thể nói rõ hơn giúp mình không.Nguyên văn bởi Le Thi Bich Xem bài viếtVì đầu vào Into0 của vi điều khiển cũng là đầu vào số nên nếu đưa tín hiệu tương tự vào nó vẫn hiểu là 1 và 0 cơ mà cần j OA cho vuông cạnh xung nữa, độ chệch điểm 0 mình có thể sử lý trong chương trìnhGian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
-
Cho qua OA tức là thêm một bộ so sánh nhằm mục đích tạo ra một cạnh xung tương đối vuông (chuẩn hóa cạnh xung) vì nếu cho thẳng đầu vào thì cạnh xung dốc (hình sin), Nhưng chân vi điều khiển nhận vào là tín hiệu số luôn có một mốc điện áp, cứ trên mốc đó nó hiểu là 1 dưới mốc đó nó hiều là 0 mặc kệ cạnh đầu vào có dốc đứng hay dốc thoai thoải,
Cho thêm OA càng tốt không sao cả nhưng không cần OA vẫn hoạt động được bạn cho chân dương cầu đi ốt qua một điện trở khoảng 100 Omh cẩn thận thì thêm một con zenner 5V là được. Nên chọn xung vào int0 là cạnh xuống sau đó thêm một tí tẹo delay cho đúng điêm 0 thật là okThiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.
Comment
-
ôk.Mình đã xử lí được ngắt, bắt điểm 0 rồi.Nhưng không hiểu triac sao ý.
Mình cho chân "triac=0" mà tải là 1 bóng đèn quả nhót không sáng.Lạ một điều là khi dùng 1 vật kim loại chạm vào chân G thì đèn lóe sáng rồi tắt ngay.Mình lắp mạch như trong datasheet của MOC3020.
Xin chỉ giúp.
Cảm ơn các bạn nhiều!
Gian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
-
Cảm ơn mọi người, mình mở đc triac rồi nhưng chác bắt 0 chưa chính xác nên đèn bị nháy.Phải không nhỉ.
Đây là đoạn code chương trình trong phần ngắt sườn lên để điều khiển chân "triac".khi có ngắt t tạo một xung kích ra chân "triac" mà sao đèn quả nhót cứ nhấp nháy.
xin hãy chỉ giúp!interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here
delay_ms(4);
triac=0;
delay_us(10);
triac=1;
}Last edited by toan88_tnt; 25-04-2010, 07:50.Gian Khó Cuộc Đời Nuôi Ta Lớn!
Giang Hồ Đẫm Máu Dạy Ta Khôn!
(@_@)______________(@_@)
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
29-01-2026, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -

Comment