PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-07-2006, 07:06 PM   #1
sphinx
Đệ tử 3 túi
 
sphinx's Avatar
 
Tham gia ngày: Jul 2005
Bài gửi: 47
:
Break mới đúng phương pháp PWM
Bác thử băm động cơ ở 20k xem, nếu không Break thì nó sẽ thế nào?
sphinx vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-07-2006, 08:24 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi bien_van_khat
Em có 1 vấn đề thế này, ví dụ như nửa cầu bên trái điều khiển = 2 chân PWM, nửa bên phải chọn hướng. Nếu con phía dưới - phải dẫn thì trong 1 chu kỳ lúc con trái - trên dẫn motor quay, đến lúc con dưới - trái dẫn thì 2 đầu dây motor nối tắt, y như bị brake. Em ko bít có vấn đề gì, vì chưa cho chạy thử. Nhưng có lẽ thực tế cách này dường như ko hay. bác namqn góp ý dùm em nhé.
Như sphinx đã nói, điều khiển đúng thì chúng ta cần nối tắt khi hết duty cycle.

Vấn đề là nếu bạn không nối tắt khi hết duty cycle thì dòng điện của động cơ sẽ tìm đường khác để chạy tiếp (do điện cảm của động cơ duy trì dòng điện một cách liên tục). Hệ quả là diode ngược của khóa phía dưới của nửa cầu PWM (giả sử đang dùng MOSFET) cùng với diode ngược của khóa phía trên của nửa cầu kia sẽ tạo đường dẫn cho dòng điện động cơ.

Sẽ có 2 trường hợp xảy ra. Động cơ nhẹ tải, do đó dòng điện trung bình nhỏ, khi đó dòng điện sẽ có thể trở về giá trị 0, và các khóa sẽ dẫn dòng điện theo chiều ngược lại cho đến khi bạn bắt đầu chu kỳ mới. Nếu động cơ nặng tải, dòng điện trung bình đủ lớn, khi đó dòng điện sẽ không về giá trị 0, các diode ngược sẽ phải làm việc cho đến khi bạn bắt đầu chu kỳ mới.

Trong cả hai trường hợp, áp đặt vào động cơ sẽ là +V khi ở phần duty cycle, và -V ở phần còn lại của chu kỳ, thay vì +V ở phần duty cycle, và 0 ở phần còn lại của chu kỳ. Như vậy, khoảng điều khiển của bạn bị hẹp lại, và duty cycle = 50% sẽ ứng với điện áp trung bình bằng 0! (một cách lý tưởng).

Đây không chỉ là lý thuyết, vì nó đã xảy ra khi sinh viên của tôi làm đề tài điều khiển PID cho động cơ DC cách đây khoảng 3 năm.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263

thay đổi nội dung bởi: namqn, 11-07-2006 lúc 12:26 AM. Lý do: viết thiếu vài chữ
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2006, 12:23 AM   #3
sphinx
Đệ tử 3 túi
 
sphinx's Avatar
 
Tham gia ngày: Jul 2005
Bài gửi: 47
:
Trích:
Nguyên văn bởi namqn

Đây không chỉ là lý thuyết, vì nó đã xảy ra khi sinh viên của tôi làm đề tài điều khiển PID cho động cơ DC cách đây khoảng 3 năm.

Thân,
Anh namqn cho em hỏi tí!
Cái đề tài điều khiển PID động cơ anh hướng dẫn ấy mà. Thực hiện mấy vòng điều khiển? dùng loại chíp nào? có tính hàm truyền động cơ không hay là chỉnh định Z-N. Anh nói rõ chút được không? Em muốn tham khảo chút thông tin
sphinx vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2006, 12:30 AM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi sphinx
Anh namqn cho em hỏi tí!
Cái đề tài điều khiển PID động cơ anh hướng dẫn ấy mà. Thực hiện mấy vòng điều khiển? dùng loại chíp nào? có tính hàm truyền động cơ không hay là chỉnh định Z-N. Anh nói rõ chút được không? Em muốn tham khảo chút thông tin
Cái đề tài này cậu sinh viên đó làm khi chưa nắm vững vi xử lý, cả điện tử công suất, nên chỉ làm vòng hở, dùng chip 89C51. Không tính hàm truyền cũng chẳng chỉnh định gì cả. Chỉ làm như một bài thí nghiệm nhỏ, cho phép thay đổi các hệ số P, I, D để thấy ảnh hưởng. Các hệ số được đặt từ máy tính, còn tốc độ thì được truyền về máy tính để vẽ đồ thị.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-07-2006, 12:37 AM   #5
sphinx
Đệ tử 3 túi
 
sphinx's Avatar
 
Tham gia ngày: Jul 2005
Bài gửi: 47
:
Trích:
Nguyên văn bởi namqn
Cái đề tài này cậu sinh viên đó làm khi chưa nắm vững vi xử lý, cả điện tử công suất, nên chỉ làm vòng hở, dùng chip 89C51. Không tính hàm truyền cũng chẳng chỉnh định gì cả. Chỉ làm như một bài thí nghiệm nhỏ, cho phép thay đổi các hệ số P, I, D để thấy ảnh hưởng. Các hệ số được đặt từ máy tính, còn tốc độ thì được truyền về máy tính để vẽ đồ thị.

Thân,

Theo anh thì để điều khiển DC Motor đến nơi đến chốn thì cần làm những bước nào, áp dụng các phương pháp điều khiển nào? Ý em là xây dựng một hệ điều khiển DCservo như Tây nó làm từ rất lâu rồi ý. Áp dụng trong các hệ CNC cũ, hoặc tay máy.

Hôm trước đi làm thí nghiệm CNC thấy cái tay robot 6 bậc ngon quá mà toàn điều khiển bằng động cơ PITTMAN Encoder 504 xung (loại kiếm được ngoài chợ mới hay chứ)
sphinx vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-07-2006, 09:54 PM   #6
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Hì cảm ơn bác namqn rất nhiều.

Bác sphinx đừng mỉa mai em thế tội nghiệp, trước giờ em có rờ tới động cơ bao giờ đâu .
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-10-2006, 12:42 AM   #7
chumeodihia
Đệ tử 1 túi
 
Tham gia ngày: Sep 2006
Bài gửi: 17
:
he he mình cũng đang làm để tài điều khiển đông cơ dùng module PWM của pic8f4431 và dang nghiên cứu dùng encoder để hồi tiếp vận tốc để tính toán sai số phương pháp điều khiển.Có gì cùng thảo luận nhé.vì mình chưa biết tí gì về encoder nên mong các bạn chỉ bước đầu.hihi thanks

chú mèo đihia tái bút
thanks
chumeodihia vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-12-2006, 11:36 AM   #8
fluidmech
Đệ tử 2 túi
 
Tham gia ngày: Jul 2006
Bài gửi: 32
:
Chào các bác,
em đọc trong datasheet cua PIC 18F4431, thay co 8 PWM, chia lam 4 cặp. Nhưng đến khi em dùng ICD2 cua batbatdieu, lập trình bằng PICC rồi burn nhưng không sử dụng được PWM 4,5,6,7. Em cũng mới bắt đầu học thôi, mong các bác chỉ dùm, em cảm ơn các bác nhiều nhiều.
FM
fluidmech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-05-2007, 02:58 AM   #9
pdhvp02
Nhập môn đệ tử
 
Tham gia ngày: May 2007
Bài gửi: 1
:
Em mới tìm hiểu PIC18F4431 để điều khiển động cơ. Cho hỏi các bác dày dạn kinh nghiệm là có cách nào dùng 1 con 4431 để đọc đồng thời 4 encoder (có phase A, B, Z) được không và nếu xử lý cho cả 2 chiều thuận và ngược thì làm sao?
pdhvp02 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-05-2007, 09:26 PM   #10
tinhbanso
Nhập môn đệ tử
 
Tham gia ngày: Nov 2006
Bài gửi: 3
:
mình đang làm đồ án về điều khiển vi trí động cơ dùng pic18 thông qua cổng usb nhưng không có mạch và nguyên lý, điều khiển qua cổng com cũng được mình sẽ phát triển lên. bác nào có cho em. em đang đau đầu về nó. có gì gửi qua mail cho mình cũng được : dhgiang85@gmail.com. cám ơn các bác
tinhbanso vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2008, 01:25 PM   #11
Hi@hi
Nhập môn đệ tử
 
Tham gia ngày: Oct 2007
Bài gửi: 7
:
mode velocity timer5 set mode là inernal sync timer hoặc external sync counter. bác scentoflove xem lại datasheet nha!. tôi đã dung module này rồi đúng là tiện thật.

namqn: scentoflove hỏi phần này cách đây hơn 1 năm rưỡi rồi, và có lẽ đã làm xong từ lâu. Bạn để ý thông tin thời gian khi post bài nhé.

thay đổi nội dung bởi: namqn, 09-04-2008 lúc 05:32 PM.
Hi@hi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2008, 09:25 PM   #12
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Thanks hi@hi, thật sự thì mình cũng ít dùng mode này, lúc đầu mới chơi 4431 thì tò mò sau này wen rồi thi đa số lại dùng mode position.
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-05-2008, 10:31 PM   #13
tamrua
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 22
:
chào mọi người, mấy hôm nay, em làm xong mạch test rôi, Pickit2 cug chạy rồi, em cũng đang bắt đầu làm 18f4431 điều khiển động cơ đây,
code: power_pwm đây, nạp xong nó im re, các bác giúp e với,
==================================================
Code:
int16 duty1=2000;
int16 ref=0,out=0;
signed int16 udk=0,  error=0;


void main()
{
setup_adc_ports( ALL_ANALOG );
setup_adc(ADC_CLOCK_INTERNAL );
delay_ms(1000);
setup_power_pwm_pins(PWM_OFF,PWM_OFF, PWM_OFF,PWM_OFF);
setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEMENTARY, PWM_COMPLEMENTARY,PWM_COMPLEMENTARY);
setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN|PWM_DEAD_CLOCK_DIV_4,1,10000,1000,0,1,10);
set_power_pwm0_duty(2000);
//set_power_pwm2_duty(2000);

while(1)
  {
       set_adc_channel(0);
       delay_us(10);
       ref=read_adc();
       set_adc_channel(1);
       delay_us(10);
       out=read_adc();
       error=ref-out;
       udk=5*error;
       if (udk>2000)
       {
            udk=2000;
       }
       if (udk<-2000)
       {
            udk=-2000;
       }
       duty1=2000+udk;
       set_power_pwm0_duty(duty1);

  }

}
======================================

anh nào giúp em với, còn đọc encoder nữa. em chưa viết được.
chân thành cảm ơn các huynh.

thay đổi nội dung bởi: namqn, 26-05-2008 lúc 10:40 PM.
tamrua vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-05-2008, 12:49 AM   #14
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Bạn ko up sơ đồ mạch thì làm sao có thể giúp bạn. Bạn cũng ko cho biết là im re là ko có xung pwm trên chân PWM0 PWM1 hay là có xung nhưng động cơ ko chạy
Có 1 số điểm trong setup của bạn chưa hợp lý:
_ Giá trị Initial PTMR của bạn là 10000, trong khi giá trị PTPER là 1000.
_ Trước khi set duty bạn nên overide false trên các chân PWM0 PWM1
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-05-2008, 11:23 AM   #15
tamrua
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 22
:
em làm mạch trên testboard nên chưa có sơ đồ, anh thông cảm, đại khái là em nối PWM0(RB0),PWM1(RB1), vào mạch công suất cầu h có ir2184, riêng mạch công suất em test chạy rồi, "ỉm re" em dung LED thử nó vẩn tối thui,

vậy Initial PTMR, PTPER, phải sữa như thế nào hả anh. nó là tham số gì vậy?.
còn set duty (overide false) nữa.

còn Encoder nối với C4,C5, các huynh giúp code giúp em với.

nói tóm lại: em muốn điều khiển vị trí thông qua máy tính.
em mới tập tành thôi, nên có nhiều cái còn mơ hồ quá, mong các huynh chì giáo.
chân thành cảm ơn trước.
thân.

thay đổi nội dung bởi: tamrua, 27-05-2008 lúc 05:01 PM.
tamrua vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
xin bootloader của pic18f4331 hoangminh1234 Tiny Bootloader 30 24-12-2011 02:38 PM
trao doi truonggiang Trao đổi ngoài luồng 2 20-12-2006 11:30 AM


Múi giờ GMT. Hiện tại là 08:13 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam