con atmega8 chi co 2 kênh pwm làm sao để điều khiển dc 8 động cơ servo nhi...loại em dùng là Servo SG90????
Thông báo
Collapse
No announcement yet.
giúp đỡ về điều khiển servo
Collapse
X
-
Điều khiển Servo là phát xung vuông.Nguyên văn bởi saugiacmo Xem bài viếtcon atmega8 chi co 2 kênh pwm làm sao để điều khiển dc 8 động cơ servo nhi...loại em dùng là Servo SG90????Nhà phân phối, đại lý bán biến tần,PLC,HMI,AC Servo... Delta
Mr.Quỳnh 0978706839
-
Nếu ko cần điều khiển 1 lúc nhiều servo với nhiều tần số khác nhau thì cứ on off các port bình thường của atmega8 tạo xung PWM đơn giản là được.Làm sao mà bạn dám nói là không làm được khi bạn chưa từng thử một lần nào.
Ngay cả khi bạn đã làm 1 lần và thất bại bạn cũng không có quyền nói là không làm được vì bạn chưa làm lần thứ 2,3...
Comment
-
Loại servo này điều khiển bằng xung có tần số tầm 50Hz, độ rộng xung thay đổi từ 1-2ms. Có thể dùng 1 timer để điều khiển cùng 1 lúc 8 servo này. Ý tưởng như sau:
- ví dụ servo 1 có chu kỳ là 1.5ms thì đầu tiên mới khởi tạo ta cho thời gian tràn timer là 1.5ms
- sau khi timer tràn, trong ngắt timer ta chỉnh lại thời gian tràn timer là chu kỳ của servo 2
- cứ tiếp tục như vậy, trong ngắt timer tiếp theo ta lại chỉnh thời gian tràn timer là chu kỳ của servo 3
- làm tương tự đến servo thứ 8
- sau khi xong servo thứ 8 thì ta sẽ cho một ngắt timer cuối cùng để đảm bảo tần số điều khiển là 50Hz, thời gian tràn timer cuối cùng = 20ms (50Hz) - tổng thời gian tràn timer (từ servo 1 - servo 8)
- lặp lại quá trình trên từ trên xuống dưới để cập nhập độ rộng xung điều khiển
Comment
-
Cái này là code ngắt timer dùng trong MSP430, bác tham khảo nhé (cái này điều khiển có 4 servo thôi) 8 servo tương tự:
// Timer A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
counter++; // Increase counter
if(counter == 5)
counter = 0; // Counter range is 0-4, the last count is used to add 20ms delay
P2OUT &= ~0x0F; // Clear ports
if(counter == 4)
{
CCR0 = 20000 - (saveSignal[0] + saveSignal[1] + saveSignal[2] + saveSignal[3]); // Period = 20ms
}
else
{
P2OUT |= pinOn[counter]; // Set port of the current signal
CCR0 = pcmSignal[counter]; // Set time for the current signal
saveSignal[counter] = pcmSignal[counter];
}
}
Comment
Bài viết mới nhất
Collapse
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
hôm nay, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
Hôm qua, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
Hôm qua, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment