anh cho em xin cái sơ đồ + code của đồng hồ thời gian thức được không anh.
Thông báo
Collapse
No announcement yet.
Công cụ học tập và phát triển cho PIC - Hoàn toàn miện phí
Collapse
This is a sticky topic.
X
X
-
Anh Linh ơi em đang cái đồ án về dùng pic16f877a để điều khiển động cơ bước Full Step/Half step và đảo chiều quay bằng các nút nhấn sơ đồ nguyên lý thì em có rồi nhưng code thì em mới đưa vào bấm mô phỏng cái nó chạy luôn rồi hjx anh giúp em nha cảm ơn anh nhiều. dùng kích xung cho từng chân của động cơ bước, nhưng em ko biết viết cho nó giao tiếp bằng các nút nhấn được. Tks anh nhìu nhìu
#include <16f877a.h>
#fuses hs,nowdt,noput
#use delay(clock=20000000)
byte const xoay[]={0b00001000,0b00000100,0b00000010,0b00000001};
void main()
{
int i=0;
set_tris_b(0);
while (1)
{
output_b(0b00001000);
delay_ms(50);
output_b(0b00000100);
delay_ms(50);
output_b(0b00000010);
delay_ms(50);
output_b(0b00000001);
delay_ms(50);
}
}
Comment
-
đây là chương trình điều khiển động cơ dc 2 dây dùng mạch cầu H và pwm từ pic 18.nhưng em cho chạy thỳ nóng fet và tôc độ còn chậm.vậy nên lên đây nhờ giúp đỡ.anh chị nào rành về CCS thỳ giải thích giùm em chương trình và nếu có thể thì điều chỉnh cho tốc độ tối đa giúp em với nhé em cảm ơn trước ah!
đây là chương trình ah:
#include<18F4331.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=2000000)
int16 read, rise, fall, write;
//tan so giam 4 lan
////////////////////////////////
//DO AN VI XU LY////////////////
//DIEU CHINH TOC DO DONG CO DC//
////////////////////////////////
#INT_CCP2
void isr()
{
rise=CCP_1;
fall=CCP_2;
read=fall-rise;
set_timer1(0);
}
void main()
{
setup_ccp1(CCP_Capture_RE);// chan ccp1 dem xung bat canh len
setup_ccp2(CCP_Capture_FE);// chan ccp2 dem xung bat canh xuong
enable_interrupts(global);//ngat ton bo
enable_interrupts(int_ccp2);// ngat chan ccp2
setup_timer_1(T1_internal|T1_DIV_BY_1);//tang len 1 cu moi 2us
set_timer1(0);// lay gia tri timer1=0
setup_power_pwm(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,2 32, 0, 0,0);// pwm se chay tu gia tri 0 den 4*232=928
setup_power_pwm_pins(PWM_BOTH_ON ,PWM_BOTH_ON , PWM_OFF, PWM_OFF);// ca 2 chan deu xuat ra giong nhau 0 hoac 1
while (true)
{ if (read>730&&read<770)
{
set_power_pwm2_duty(1024);
set_power_pwm0_duty(1024);
output_low(pin_a0);
output_low(pin_a1);
output_low(pin_a2);
output_low(pin_a3);
delay_ms(500);
}
else if (read>1000)
{
set_power_pwm0_duty(0);
set_power_pwm2_duty(1024);
output_high(pin_a0);
output_high(pin_a1);
output_low(pin_a2);
output_low(pin_a3);
}
else if (read<600)
{
set_power_pwm2_duty(0);
set_power_pwm0_duty(1024);
output_high(pin_a2);
output_high(pin_a3);
output_low(pin_a0);
output_low(pin_a1);
}
else if (read>770&&read<1000)
{
write=(1024-read)*4;
set_power_pwm0_duty(write);
set_power_pwm2_duty(1024);
output_high(pin_a0);
output_high(pin_a1);
output_low(pin_a2);
output_low(pin_a3);
}
else if (read<730&&read>600)
{
write=(read-500)*4;
set_power_pwm2_duty(write);
set_power_pwm0_duty(1024);
output_high(pin_a2);
output_high(pin_a3);
output_low(pin_a0);
output_low(pin_a1);
}
}
}
Comment
-
Con bò nào bảo rằng MPLAB (xưa) và MPLAB X (nay) tốn phí ?
Comment
-
Nguyên văn bởi MinhTinkerer Xem bài viếtSao mình tìm hoài không thấy cái như tên của chủ đề này dắdt tên vậy chủ thớt, công cụ,phất triển miễng phí, CCS có phí mà.MPLAB củng có phí .
Comment
-
Cho mình hỏi ké nha các bác
Mình dùng phần mềm MikroC viết cho PIC
Mình có kít 16F887A, mình có viết chương trình dùng hàm I2C chạy ngon lành rồi.
Nhưng khi làm mạch với 16F723A thì thấy thư viện I2C của 16F723A không có? Mình thấy 2 con pic này đều có Module I2C mà sao khi viết với 16F723A thì hàm I2C ẩn đi đâu mất.
Comment
-
Mấy cô bác anh chị giúp e với pic 12f thì còn nào là đầy đủ nhất về tất cả phương diện,
E định quét 5 led với kiểu viền đuổi và kiểu sao băng thì chọn loại pic nào và code thế nào
E ko bik quét led và PWM led thì kết hợp trên 1 pic phải làm thế nào
cho e thank trước ạ
Comment
Bài viết mới nhất
Collapse
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Comment on Đồng hồ công tơ điện tửbởi qpdt03
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
Trả lời cho Đồng hồ công tơ điện tửbởi qpdt03Hình ảnh mạch của nó đây, mình mang đồng hồ điện tử ra đo giá trị điện trở dán ghi trên lưng các con điện trở trong mạch đều đúng, mà công tơ điện tử vẫn đo sai, không biết nó hỏng chỗ nào; đã ấn nút reset lại nhưng vẫn không đc. Nhờ các bác có kinh nghiệm giúp đỡ. Thanks!
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 17:03 -
-
bởi qpdt03Mình mới mua 1 cái đồng hồ công tơ điện tử trên shopee; loại hiển thị 4 thông số V,A,W và tổng số Kwh nhưng về cắm thử đc 1 hôm thì chỉ số V báo 378v, cắm về 100v cũng báo 350v có bác nào biết cách sửa chữa nó không chỉ giúp mình nhé. Xin cảm ơn mọi người đã đọc bài.
-
Channel: Điện tử dành cho người mới bắt đầu
23-03-2024, 16:46 -
-
bởi notooth1Các bạn xem giúp mình đây là tụ phân cực hay không phân cực nhé.
...-
Channel: Hướng dẫn tìm thông tin linh kiện
20-03-2024, 18:06 -
-
bởi carl22Xin chào tất cả mọi người.
Tôi hiện đang chế tạo một máy phay CNC. Máy phay được điều khiển thông qua Raspberry Pi 3 b+ và Smoothieboard v1.1 với trình điều khiển động cơ bước ACT DM 542 và động cơ 1,8° 2A.
Trục X 1,8° 3 A chạy qua trình điều khiển động cơ bước vì bảng sinh tố chỉ...-
Channel: Cơ cấu chấp hành (Actuator)
20-03-2024, 15:48 -
-
bởi ningoleChào các bác! Em là newbie về điện tử đang muốn làm một cái đèn báo cho ổ cắm nhưng chưa rành về mạch mong các bác giúp đỡ!
Nhu cầu của e là muốn làm 1 đèn báo nguồn AC 220V:
Nguồn 220v -> Phích cắm -> nối với 1 ổ cắm....-
Channel: Điện tử dành cho người mới bắt đầu
20-03-2024, 11:09 -
-
Trả lời cho có cần thiết phải lắp mạch bms cho khối pin ?bởi bao98Tất nhiên là bạn cần nó!
BMS là một phần không thể thiếu trong hệ thống ắc quy của xe điện.
nếu bạn không cài đặt BMS, có thể xảy ra vấn đề về pin, thậm chí có thể dẫn đến tai nạn-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 22:51 -
-
Trả lời cho [đồ án] xung đột nguồn điện 12vbởi bao98Để tìm hiểu xem bộ điều hợp UART của bạn được kết nối với cổng USB nào trên Raspberry Pi, bạn có thể sử dụng lệnh ls /dev/ttyUSB* hoặc ls /dev/ttyACM* trong thiết bị đầu cuối. Điều này sẽ liệt kê các cổng USB có sẵn để liên lạc nối tiếp. Cáp có thể được xem ở đây. Bạn cũng có thể kết nối và...
-
Channel: Hỗ trợ học tập
19-03-2024, 22:38 -
-
Trả lời cho cho hỏi move điện là g?bởi DiennuocAQLà sự tiếp xúc giữa 2 tiếp điểm không được tốt gây ra. Ví dụ như đầu dây điện cắm vào chân attomat nhưng lâu ngày ốc siết lỏng dần ra, làm dòng điện chuyển tiếp không tốt, gây ra hệ thống điện chập chờn gọi là move ạ
-
Channel: Điện tử dành cho người mới bắt đầu
19-03-2024, 12:40 -
Comment