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
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:03 -
-
Trả lời cho Cấu hình chiến game "quốc dân" cho nền tảng AM5: Lựa chọn tối ưu ngân sách với Ryzen 5 7500Fbởi kumarbrMình đồng ý với hướng build AM5 bằng 7500F, nhưng nếu có thể cố thêm ngân sách thì nên lên RX 7600 ngay từ đầu. 4GB VRAM của RX 6500 XT bắt đầu khá chật với nhiều game mới, còn RX 7600 sẽ dùng thoải mái hơn trong vài năm tới.
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 15:49 -
-
bởi theidiotcatTrong thời buổi vật giá leo thang, việc sắm một bộ máy tính chơi game đáp ứng đủ tiêu chí "ngon, bổ, rẻ" là ưu tiên hàng đầu của nhiều bạn trẻ. Lúc này, combo sử dụng vi xử lý AMD Ryzen 5 7500F kết hợp cùng card màn hình Radeon...
-
Channel: Đánh giá sản phẩm DTVN
16-06-2026, 10:16 -
-
bởi theidiotcatAMD Ryzen 9 9950X3D không chỉ là một bộ vi xử lý đơn thuần; nó là lời khẳng định về sức mạnh của kiến trúc Zen 5 kết hợp cùng công nghệ 3D V-Cache đột phá. Trong bối cảnh thị trường linh kiện PC cạnh tranh khốc liệt, đây được xem...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:21 -
-
bởi theidiotcatBộ đôi Ryzen 9 9950X3D2 và Radeon RX 9070 XT 16GB là sự kết hợp phần cứng cao cấp nhất của AMD hiện nay. Đây không chỉ là một dàn máy tính để giải trí thông thường, mà là công cụ làm việc mạnh mẽ dành cho những ai có nhu cầu xử lý cường...
-
Channel: Đánh giá sản phẩm DTVN
15-06-2026, 09:09 -
-
bởi theidiotcatKhi ráp một bộ máy tính cấu hình cao, việc cân đối ngân sách cho từng linh kiện là rất quan trọng. Sự kết hợp giữa vi xử lý AMD Ryzen thế hệ mới có công nghệ 3D V-Cache và card đồ họa Radeon RX 9070 XT đang là lựa chọn rất đáng tiền....
-
Channel: Đánh giá sản phẩm DTVN
11-06-2026, 10:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Giới thiệu bản nhạc đệm mới nhộn nhịp tươi vui, nghe là muốn... xuất gia đi tu liền!!!!😁...
-
Channel: Tâm tình dân kỹ thuật
11-06-2026, 09:51 -

Comment