Hiện tại mình đang nghiên cứu động cơ bước. Mình dùng Atmega16. Counter0 mình đọc tín hiệu Encoder, Time1 mình dùng để phát xxung, Timer2 mình dùng để định thời đọc số xung mà Counter0 đọc được. Sau khi mình tính toán được tôc độ của encoder thì mình sẽ đi điều khiển xung cho con động cơ bước, nhưng mừ mình lại muốn khống chế số xung phát ra để động cơ bước chạy được 1 quãng đường thì phải dừng lại. Mình đang bí chỗ này, ko biết có cách nào ko. Mong mọi người giúp đỡ
Thông báo
Collapse
No announcement yet.
khống chế số lượng xung điều khiển động cơ bước
Collapse
X
-
Mình ko biết có cách nào hay hơn ko, lúc trước cần khống chế số xung phát ra thì đơn giản nhất là chọn 1 port làm output bất kì rồi lập trình On /Off thông thường để tạo xung. Dùng timer thì chuyên nghiệp hơn và bắt nó dừng ngay đúng số xung mình cần thì dùng cái ngắt của chính timer đó để đếm xung luôn là OK.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...
-
Tính toán làm gì cho nó cao siêu, học làm gì nhiều cho đầu to mắt cận .Nguyên văn bởi hoang_tuan Xem bài viếtHiện tại mình đang nghiên cứu động cơ bước. Mình dùng Atmega16. Counter0 mình đọc tín hiệu Encoder, Time1 mình dùng để phát xxung, Timer2 mình dùng để định thời đọc số xung mà Counter0 đọc được. Sau khi mình tính toán được tôc độ của encoder thì mình sẽ đi điều khiển xung cho con động cơ bước, nhưng mừ mình lại muốn khống chế số xung phát ra để động cơ bước chạy được 1 quãng đường thì phải dừng lại. Mình đang bí chỗ này, ko biết có cách nào ko. Mong mọi người giúp đỡ
Nghiên cứu gì ở cái motor bước quá đơn giản ? ... Motor bước phổ thông mỗi bước của motor quay 1,8 độ ... quay 1 vòng tròn 360 độ thì cần 200 bước .
Từ góc quay tương ứng với chu vi trục ( quả lô ) thì tính ra số bước cần là quá đơn giản . Ví dụ chu vi quả lô khi gắn với trục motor là 20cm, thì cứ mỗi xung nó đi được quãng đường 20 /200 = 0,1cm ............ muốn đi được quãng đường X thì nó cần Y xung ( toán của lớp 2-3 ).
--- Quả lô là kiểu tính trực tiếp, trong thực tế nếu là bánh răng, hộp số .v..v thì vẫn tính tỉ lệ hộp số, bước/ quãng đường theo cách tương tự .... mà chẳng cần encoder làm gì cho nó phí công dụng của motor bước.
Nếu cần thiết phải có encoder thì cũng đếm encoder rồi so sánh với số xung xem có bị thiếu/ thừa không ( thường bị thiếu ( do trượt lực nếu motor bước quá yếu ) thì ta cấp thêm xung )) ... trong thực tế nếu motor bước quá yếu thì người ta thay bằng cái to hơn, khỏe hơn chứ chẳng mấy thằng ... làm encoder như hệ SERVO. ( trừ những trường hợp quá đặc biệt ).Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
bác queduong hiểu sai ý e rùi, không phải là e muốn tính toán 1 bước thì đi được bao nhiêu cái này chắc ai cũng tính đc mừ. Cái e hỏi là tính được ra số xung rùi vd là 500xung chẳng hạn thì làm cách nào dùng PWM của VDK mừ phát ra đúng số xung như vậy. Cái Encoder của e là đo vận tốc của 1 hệ truyền động khác, động cơ bước điều khiển 1 hệ truyền động khác. Bài toán là điều khiển cái hệ truyền động động cơ bước đó sao cho nó chuyển động tương đối so với hệ có gắn encoder kia ( có thể nhanh hay chậm hay bằng thì tùy theo người vận hành đặt giá trị tương đối)
- Cảm ơn bạn hoahauvn2 nhé . hum qua vừa lên diễn đàn hỏi x thì ngồi đọc code tự nhiên nhìn vào cái ngắt của nó mới chợt nghĩ tới, ngày trước ko quan tâm tới cái ngắt này lém vì nó gán mỗi giá trị đểm ban đầu, mừ mình đã gán nó bằng 1 biến và biến đó mình tính toán ở main rùi.
Comment
-
Vậy PWM là cái gì vậy ?Nguyên văn bởi hoang_tuan Xem bài viếtbác queduong hiểu sai ý e rùi, không phải là e muốn tính toán 1 bước thì đi được bao nhiêu cái này chắc ai cũng tính đc mừ. Cái e hỏi là tính được ra số xung rùi vd là 500xung chẳng hạn thì làm cách nào dùng PWM của VDK mừ phát ra đúng số xung như vậy. Cái Encoder của e là đo vận tốc của 1 hệ truyền động khác, động cơ bước điều khiển 1 hệ truyền động khác. Bài toán là điều khiển cái hệ truyền động động cơ bước đó sao cho nó chuyển động tương đối so với hệ có gắn encoder kia ( có thể nhanh hay chậm hay bằng thì tùy theo người vận hành đặt giá trị tương đối)
- Cảm ơn bạn hoahauvn2 nhé . hum qua vừa lên diễn đàn hỏi x thì ngồi đọc code tự nhiên nhìn vào cái ngắt của nó mới chợt nghĩ tới, ngày trước ko quan tâm tới cái ngắt này lém vì nó gán mỗi giá trị đểm ban đầu, mừ mình đã gán nó bằng 1 biến và biến đó mình tính toán ở main rùi.
soxung = encoder_read();
// ==> phát lại số xung cho motor bước
for(i=0; i<soxung; i++)
{
PIN_out =1;
Delay_us(500);
PIN_out =0;
Delay_us(500);
}
Xong !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
chất lượng hơn dkhien có profile tăng tốc giảm tốc có thể tham khảo ở đây
http://www.atmel.com/images/doc8017.pdf
Generate stepper-motor speed profiles in real time | Embedded
Comment
-
Cái này có hai cách:
Cách 1: PWM có sinh ra ngắt tràn và ngắt so sánh, sử dụng 1 trong 2 ngắt ngắt trên, trong vector ngắt tăng couter, khi đủ thì disable pwm
Cách 2: nối chân output của PWM với 1 chân dùng ngắt cạnh lên (hoặc xuống), trong vector ngắt làm giống như trên
@xin thứ lỗi, lâu quá không chơi món này nên không nhớ rõ lắm, mà hình như nó dzậy đó
Comment
-
Cậu không hiểu được bản chất PWM là cái gì ... nên thiếu sáng tạo mà thôi.Nguyên văn bởi hoang_tuan Xem bài viếtDùng PWM hay hơn là viết lệnh như của bác Queduong ah.
Bị gà eng nhưng đọc qua tài liệu của bác nhatson thấy nó giống phần khai báo phát xung PTO của PLC
Thank u nhatson nhéModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
pp linear cũng có khiếm khuyết cao cấp hơn thì bạn có thể nghiên cứu gia tốc kiểu s shape
tạo xung dkhien step em thấy hay đề cập 2 pán,
1. là step/time
2. là time/step
more
http://gamedev.stackexchange.com/que...able-time-step
hơi bị lạc đề so với yêu cầu chủ theard, dkhien bao nhiêu xung thì sau khi phát 1 xung ta trừ đi số xung phải phát thôi ah
b.rLast edited by nhatson.elec; 07-11-2014, 11:10.
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