Ðăng Nhập

View Full Version : các Bác giúp em làm modul thu dữ liệu với


duongngocy
14-01-2011, 06:01 PM
Vấn đề của em là cần làm một cái mô đun để gắn vào một cái bơm nước để xác định xem bơm nước đó khởi động vào lúc nào và mỗi lần khởi động thì hoạt động trong thời gian bao lâu. Cuối ngày hoặc cuối tháng thì có thể gỡ cái mô đun này mang về nhà kết nối vào máy tính để lấy ra bản báo cáo về ngày làm việc đó của máy bơm (mở rộng ra có thể là cho các thiết bị khác). Việc xác định khi nào bơm hoạt động và trong thời gian bao lâu thì rất bình thường rồi, cái khó ở đây là em không biết làm sao để lưu các dữ liệu này lại rồi khi mang về máy tính thì đọc ra lại. Em nghĩ mỗi lần bơm khởi động và hoạt động thì một trường dữ liệu mới được lập ra và ghi lại thời gian khởi động, thời gian hoạt động ứng với lần khởi động đó. Em định dùng vi điều khiển Pic để làm, bước đầu thì chỉ làm sao lưu dữ liệu trong 1 ngày thôi. Việc truyền dữ liệu vào máy tính cũng đơn giản là làm giao tiếp 232 trước đã. Em đã có tìm hiểu về EEPROM nhưng thấy khó quá. Mong các Bác cao thủ trên diễn đàn chỉ hướng để em làm. Xin chân thành cảm ơn!

thanh_nam1977
14-01-2011, 09:26 PM
Không có cao thủ nào giúp em gái sao

duongngocy
14-01-2011, 10:19 PM
mong các anh giúp em với vì em cũng mới bước vào cái lĩnh vực về pic chưa lâu nói chung là về vi điều khiển em còn rất yếu. Cốt lõi thắc mắc của em bây giờ là làm sao để lưu dữ liệu vào bộ nhớ và có thể đọc ra trở lại. Em nên dùng IC nhớ, usb hay cái gì đây? mong mọi người tư vấn

KVLV
14-01-2011, 11:02 PM
pic giao tiếp với SD card (security digital), thẻ nhớ. hay dùng i2c eeprom của microchip.

duongngocy
15-01-2011, 07:24 AM
em cũng có hỏi vài người ở bách khoa đà nẵng họ nói nên dùng SD card USB, nhưng em là người mới tập tành nên chỉ cần làm đơn giản với EEPROM có sẵn trong PIC đã, ai có kinh nghiệm xin tư vấn giúp

duongngocy
15-01-2011, 10:16 AM
Vấn đề của em là cần làm một cái mô đun để gắn vào một cái bơm nước để xác định xem bơm nước đó khởi động vào lúc nào và mỗi lần khởi động thì hoạt động trong thời gian bao lâu. Cuối ngày hoặc cuối tháng thì có thể gỡ cái mô đun này mang về nhà kết nối vào máy tính để lấy ra bản báo cáo về ngày làm việc đó của máy bơm (mở rộng ra có thể là cho các thiết bị khác). Việc xác định khi nào bơm hoạt động và trong thời gian bao lâu thì rất bình thường rồi, cái khó ở đây là em không biết làm sao để lưu các dữ liệu này lại rồi khi mang về máy tính thì đọc ra lại. Em nghĩ mỗi lần bơm khởi động và hoạt động thì một trường dữ liệu mới được lập ra và ghi lại thời gian khởi động, thời gian hoạt động ứng với lần khởi động đó. Em định dùng vi điều khiển Pic để làm, bước đầu thì chỉ làm sao lưu dữ liệu trong 1 ngày thôi. Việc truyền dữ liệu vào máy tính cũng đơn giản là làm giao tiếp 232 trước đã. Em đã có tìm hiểu về EEPROM nhưng thấy khó quá. Mong các Bác cao thủ trên diễn đàn chỉ hướng để em làm. Xin chân thành cảm ơn!

duongngocy
16-01-2011, 11:53 AM
chẳng ai quan tâm vấn đề của em à

tdm
16-01-2011, 03:52 PM
Vấn đề của em là cần làm một cái mô đun để gắn vào một cái bơm nước để7 xác định xem bơm nước đó khởi động vào lúc nào và mỗi lần khởi động thì hoạt động trong thời gian bao lâu. Cuối ngày hoặc cuối tháng thì có thể gỡ cái mô đun này mang về nhà kết nối vào máy tính để lấy ra bản báo cáo về ngày làm việc đó của máy bơm (mở rộng ra có thể là cho các thiết bị khác). Việc xác định khi nào bơm hoạt động và trong thời gian bao lâu thì rất bình thường rồi, cái khó ở đây là em không biết làm sao để lưu các dữ liệu này lại rồi khi mang về máy tính thì đọc ra lại. Em nghĩ mỗi lần bơm khởi động và hoạt động thì một trường dữ liệu mới được lập ra và ghi lại thời gian khởi động, thời gian hoạt động ứng với lần khởi động đó. Em định dùng vi điều khiển Pic để làm, bước đầu thì chỉ làm sao lưu dữ liệu trong 1 ngày thôi. Việc truyền dữ liệu vào máy tính cũng đơn giản là làm giao tiếp 232 trước đã. Em đã có tìm hiểu về EEPROM nhưng thấy khó quá. Mong các Bác cao thủ trên diễn đàn chỉ hướng để em làm. Xin chân thành cảm ơn!
caí này dùng pic+ds1307 khi máy bơm chạy đọc giá trị thời gian từ ds1307 lưu vào eeprom và khi bơm dừng cũng vậy.
còn về việc mang mô đun này về nhà kết nối máy tính để đọc ra thì thiết kế cho nó một cái nút nhấn.khi nhấn nút thí nó đọc dữ liệu trong eeprom truyền dữ liệu vào máy tính.

duongngocy
17-01-2011, 09:42 PM
Bác nói vậy em hiểu rồi nhưng vấn đề quang trọng ở đây là làm sao lưu được một trường dữ liệu vào eeprom khi bơm khởi động, cùng với đó là cách đọc ra. Tóm lại em chưa biết thao tác với bộ nhớ EEPROM. Mong mọi người chỉ rõ hơn và cho em tài liệu về giao tiếp với bộ nhớ EEPROM

tdm
18-01-2011, 08:18 PM
Bác nói vậy em hiểu rồi nhưng vấn đề quang trọng ở đây là làm sao lưu được một trường dữ liệu vào eeprom khi bơm khởi động, cùng với đó là cách đọc ra. Tóm lại em chưa biết thao tác với bộ nhớ EEPROM. Mong mọi người chỉ rõ hơn và cho em tài liệu về giao tiếp với bộ nhớ EEPROM
nếu bạn làm việc với ccsc:
ghi vào eeprom dùng hàm sau:Write_eeprom (dia_chi, data)
đọc eeprom: data=read_eeprom (dia_chi);
với pic 16f877a:có 256 byte eeprom

tdm
18-01-2011, 08:53 PM
đây là đoạn code khi nhấn nút sẽ đọc dữ liệu trong eeprom truyền lên máy tính:


#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use fast_IO(B)
#use fast_IO(C)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bi ts=8)
#ROM 0x2100 = {" PIC VIET NAM "}//khai bao ghi vao eeprom khi nap code
int8 i = 0;
int8 a=0;
int8 dia_chi=0;
int8 b;//khai bao bien b la dang con tro
/*Ham main*/
void main(void)
{
set_tris_B(0xff);
port_b_pullups(true);
while(1)
{
if(!input(PIN_B0))//chờ phím nhấn
{
dia_chi=0;
for(i=0;i<=14;i++)
{
a=read_eeprom (dia_chi);dia_chi++;
putc(a);//truyen len may tinh
}
while(!input(PIN_B0))//cho nha phim
{
}
delay_ms(10);
}
}
}//ket thuc chuong trinh

duongngocy
20-01-2011, 10:56 PM
Cảm ơn bác tdm nhều nha. Em đã mô phỏng thử một cái mạch trong Protues dựa theo code bác đưa và em dùng 2 con vi điều khiển pic dã có thể đọc và ghi dữ liệu từ EEPROM. Bước đầu là vậy nhưng em thật sự rất phấn khởi. Một lần nữa cám ơn bác đã giúp đỡ.