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 Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
...-
Channel: Tâm tình dân kỹ thuật
hôm nay, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
Hôm qua, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -
-
bởi chinhnguyen9Công thức
Gain (dB) = 20 × log₁₀(A)
Thí dụ 1; 60dB
log₁₀(A)=60/20=3
⇒ A=V_out / V_in = 10³ = 1.000
Thí dụ 2; 100dB
log₁₀(A)=100/20=5
⇒ A=V_out / V_in = 105 = 100.000
Tí dụ 3; LM 358
Large Signal Open Loop Voltage Gain AVOL V/mV RL = 2.0...-
Channel: Hướng dẫn sử dụng diễn đàn
19-03-2026, 08:44 -
-
Trả lời cho Mạch 3s bị giảm điện áp đầu rabởi minhtri0405chả biết bạn xử lý được chưa , kích sạc hoặc điện áp > điện áp khối pin vào 2 chân P - P+ , nhiều mạch phải yêu cầu có kích lần đầu sau đó mới chạy...
-
Channel: Điện tử dành cho người mới bắt đầu
18-03-2026, 10:01 -
-
bởi minhtri0405đây có phải là 1 cách để test mosfet xịn hay dỏm khi mua đồ tàu không nhỉ , vì ko thể đập ra để coi lõi rồi trả hàng được....
-
Channel: Tâm tình dân kỹ thuật
18-03-2026, 09:57 -

Comment