em đang làm 1 con robot phải dùng 20 em RC servo. Bác nào có kinh nghiệm đã làm rùi chỉ bảo em với. Thanks các bác nhiều
Thông báo
Collapse
No announcement yet.
giúp em điều khiển 20 em RC servo cùng lúc?
Collapse
X
-
theo như mình được biết thì RC servo có 3 dây ra là nguồn (mầu đỏ) GND (đen) và dây xung điều khiển (trằng) hoạt động odr tần số 50 đến 60 hz độ rộng sườn dương từ 1 đến 2ms. Tương ứng với các góc quay của RC servo.
Điều khiển 1 em thì đơn giản nhưng mà điều khiển 20 em lằng nhằng quá
Comment
-
cho mình hỏi cái động cơ sevor của bạn co driver chưa thế, ma bạn kiếm ra cái động cơ nao chưa, mình mới ra chợ kiếm ma cha tháy đâu, mình đang dung loại có đĩa ecoder, chưa có mạch driver nên có 2 chan nguôn, và thêm chân của ecoder nữa tuy theo loại ecodor, bạn co bit cho nao ban thi cho minh biết với , mà gja của no mình hỏi cung cao tu 150k den 200 k day
Comment
-
-Lập một mảng 20 phần tử, giả sử giá trị từ 0 đến 100 tương ứng góc 0-100% (1ms-2ms)
-Bật đồng loạt 20 ngõ ra, cho timer chạy cho hết 1ms đầu
-Bắt đầu ngắt timer mỗi 10us, mỗi lần ngắt cộng dồn một biến nào đó và so sánh với các phần tử trong mảng, nếu nhỏ hơn: giữ nguyên chân đó, nếu lớn hơn: tắt chân
-Chạy hết 100 lần 10us như vậy cũng là 100%, các chân đã tắt hết thì chờ 20ms lại bắt đầu bật.
-lập trình sơ bộ là thế, chọn tốc độ chip cao cỡ 8-16MHz để đủ thời gian xử lý hết chừng đó thao tác trong 10us, nâng cao hơn có thể xử lý vòng tròn, mỗi con xử trong 1ms hết 20 con lại quay về đầuĐã bỏ nghề về quê chăn gà...
Comment
-
Cách của bạn là đúng rồi nhưng mà phần điều xung (trong ngắt timer) này chiếm thời gian xử lý khá nhiều và tần suất khá cao (cứ 10us nhảy vào ngắt 1 lần), không biết yêu cầu của đề tài có giám sát hoặc giao tiếp thêm gì khác phức tạp không chứ nếu hệ thống làm nhiều việc thì cũng mệt đó, nếu xài PIC thì nên xài PIC18 với chế độ PLL4, sử dụng thạch anh 10MHz ta sẽ có tần số tối đa 40MHz (<=> 10MIPS), có như vậy bạn mới có thể xử lý hết 20 output trong thời gian bắt buộc nhỏ hơn 10us và còn để làm việc khác nữa.Nguyên văn bởi Katecka Xem bài viết-Lập một mảng 20 phần tử, giả sử giá trị từ 0 đến 100 tương ứng góc 0-100% (1ms-2ms)
-Bật đồng loạt 20 ngõ ra, cho timer chạy cho hết 1ms đầu
-Bắt đầu ngắt timer mỗi 10us, mỗi lần ngắt cộng dồn một biến nào đó và so sánh với các phần tử trong mảng, nếu nhỏ hơn: giữ nguyên chân đó, nếu lớn hơn: tắt chân
-Chạy hết 100 lần 10us như vậy cũng là 100%, các chân đã tắt hết thì chờ 20ms lại bắt đầu bật.
-lập trình sơ bộ là thế, chọn tốc độ chip cao cỡ 8-16MHz để đủ thời gian xử lý hết chừng đó thao tác trong 10us, nâng cao hơn có thể xử lý vòng tròn, mỗi con xử trong 1ms hết 20 con lại quay về đầu
Theo mình an toàn hơn thì nên chia đa xử lý Master-Slave qua I2C hoặc SPI, trong đó các Slave-MCU chỉ làm công tác điều khiển RC Servo, Master chỉ cần truyền dữ liệu về góc quay đến cho các slave lo việc điều khiển. Vấn đề 1 slave-MCU nên điều khiển bao nhiêu RC Servo cho tiết kiệm ? nếu nhiều quá thì khi ngắt truyền thông đến liệu nó có bị ảnh hưởng bởi ngắt timer điều xung không, và nếu ít quá thì gây lãng phí và rườm rà(tốn nhiều MCU), còn không thì lên google xem có IC chuyên dụng nào điều khiển RC Servo không, mua về làm cho khỏe.
Comment
-
chào các bạn, năm ngoái sau khi vật lộn với mấy cái RC servo mấy bữa thì mình phát hiện ra trong trình dịch bascom avr có một chức năng rất hay là điều khiển RC servo
với mỗi RC servo mình sẽ cấu từ đầu chương trình, và sau chỉ việc gọi nó với giá tri tuơng ưng thui
chương trinh làm việc khá nhẹ. mình điều khiển 4 RC servo cho con robot tha lữa trong robocon 2011 mà ko có vấn đề gì
Comment
-
Bác nói rõ hơn được không ạ. Bác có code nào post nên cho anh em tham khảo với. Thank bác nhiều.Nguyên văn bởi tkbang Xem bài viếtchào các bạn, năm ngoái sau khi vật lộn với mấy cái RC servo mấy bữa thì mình phát hiện ra trong trình dịch bascom avr có một chức năng rất hay là điều khiển RC servo
với mỗi RC servo mình sẽ cấu từ đầu chương trình, và sau chỉ việc gọi nó với giá tri tuơng ưng thui
chương trinh làm việc khá nhẹ. mình điều khiển 4 RC servo cho con robot tha lữa trong robocon 2011 mà ko có vấn đề gì
Comment
-
Bác nói rõ hơn được không ạ. Bác có code nào post nên cho anh em tham khảo với. Thank bác nhiều.Nguyên văn bởi tkbang Xem bài viếtchào các bạn, năm ngoái sau khi vật lộn với mấy cái RC servo mấy bữa thì mình phát hiện ra trong trình dịch bascom avr có một chức năng rất hay là điều khiển RC servo
với mỗi RC servo mình sẽ cấu từ đầu chương trình, và sau chỉ việc gọi nó với giá tri tuơng ưng thui
chương trinh làm việc khá nhẹ. mình điều khiển 4 RC servo cho con robot tha lữa trong robocon 2011 mà ko có vấn đề gì
Comment
-
đay la code bascom. nếu bác ko quen viết bằng bascom thì có thể giao tiếp 2 con ic với nhau,một con chỉ để dk rc thôi.
đây là code cấu hình timer và RC trong bascom.
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
'Config Timer0 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 256
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Compare C Pwm = Clear Up , Prescale = 256
Config Timer2 = Timer , Prescale = 256
Config Timer3 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Compare C Pwm = Clear Up , Prescale = 256
Config Adc = Single , Prescaler = 128 , Reference = Avcc
Config Servos = 4 , Servo1 = Portg.1 , Servo2 = Portb.4 , Servo3 = Portg.4 , Servo4 = Portg.0 , Reload = 10 , Timer = Timer0
sau đó gọi nó ra thôi
Servo(1) = 200
Servo(2) = 10
Servo(3) = 200
Servo(4) = 20
( với mỗi giá trị cho một góc , nếu nhớ ko nhầm hình như tối đa chỉ dược chừng 200 thôi ah)
ngôn ngữ của nó giống VB thôiLast edited by tkbang; 24-07-2011, 16:17.
Comment
-
vẫn mơ hồ quá bạn ơi, ban có thể share code dc ko??
email: quilamspk13@gmail.com
cám ơn ban nhiêu ^^
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment