Có thể dùng Matlab để kết nối VDK với máy tính không vậy? Vì mình đang kết nối VDK với máy tính và dùng Matlab để tính toán và hiển thị. Như vậy có thể dùng Matlab để kết nối không hay phải dùng VB rồi nhúng Matlab vào? Ai có tài liệu gì về vấn đề này cho mình với!
Thông báo
Collapse
No announcement yet.
Mình muốn hỏi về việc dùng Matlab trong giao tiếp VDK với máy tính!
Collapse
X
-
Bạn có thể tham khảo một số demo trong Instrument Control Toolbox. Có một số VD về thu thập dữ liệu qua cổng COM của máy tính sử dụng MATLAB, bạn hoàn toàn có thể thu thập xử lý dữ liệu nhận được bằng các hàm có sẵn của MATLAB.
Một số link từ Mathworks:
Serial Port Overview:
http://www.mathworks.com/access/help...f20-63744.html
Communicating with a Serial Port Instrument:
http://www.mathworks.com/access/help...f20-66175.htmlPNLab
Mạch nạp/debug ULink2, Jlink ARM USB
Mạch nạp AVR, PIC, 8051, MSP430 USB
Mạch phát triển STM32, ARM9, ARM11
more...www.pnlabvn.com
-
Việc thu thập dữ liệu từ các cổng của máy tính và tính toán trên máy tính đòi hỏi phải có Card mở rộng của hãng Mathworks, card này rất là đắt lên tới hàng nghìn USD.
Anh Dương Minh Tấn K46 ngành Điều khiển tự động đã làm đồ án và nghiên cứu khoa học về vấn đề này nhưng chỉ là mô phỏng cánh tay máy ảo chứ chưa có giao tiếp thật.
Anh Tấn online thì xin mời đóng góp ý kiến cho các bạn hiểu thêm.
Chúc các bạn thành công.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Thực ra Matlab có hỗ trợ sẵn công cụ để ghép nối cổng COM của máy tính với VDK. Chúng ta chỉ cần cái card đắt đỏ đấy khi muốn làm về DAQ thôi, phải ko ngohaibac. Nhân tiện mình cảm ơn bạn về mấy bài lập trình gui cho MatlabNguyên văn bởi ngohaibac Xem bài viếtViệc thu thập dữ liệu từ các cổng của máy tính và tính toán trên máy tính đòi hỏi phải có Card mở rộng của hãng Mathworks, card này rất là đắt lên tới hàng nghìn USD.
Anh Dương Minh Tấn K46 ngành Điều khiển tự động đã làm đồ án và nghiên cứu khoa học về vấn đề này nhưng chỉ là mô phỏng cánh tay máy ảo chứ chưa có giao tiếp thật.
Anh Tấn online thì xin mời đóng góp ý kiến cho các bạn hiểu thêm.
Chúc các bạn thành công.
mail: [/email] :->
Comment
-
Mà mấy cái CARD ý nó lại chẳng nối qua cổng COM
, thông thường là PCI hoặc bét ra thì cũng là LPT!
PNLab
Mạch nạp/debug ULink2, Jlink ARM USB
Mạch nạp AVR, PIC, 8051, MSP430 USB
Mạch phát triển STM32, ARM9, ARM11
more...www.pnlabvn.com
Comment
-
Giải pháp
Theo mình trong ý hỏi của bạn cũng đã có phương án trả lời.
Bạn có thể dùng VB để thực hiện bài toán truyền thông với VĐK, sau đó sử dụng các hàm gọi đối tượng Matlab trong VB để thực hiện các phép phân tích và xử lý dữ liệu theo ý của bạn.Càng biết nhiều càng thấy mình biết ít.
Comment
-
To Courtney:
Matlab có hỗ trợ truyền thông với ngoại vi thông qua cổng Serial mà. Mình đã từng thử truyền với PSoC thông qua gõ lệnh trực tiếp trên Command Window, không phức tạp đâu.Bạn cứ vào help, đọc phần serial ấy, nó nói kỹ lắm.Để chuyên nghiệp hơn, bạn có thể sử dụng GUI để tạo giao diện và truyền thông với VĐK.Bạn có thể tham khảo trang này
http://cnx.org/content/m12062/latest/
hoặc
http://www.parallax.com/dl/docs/arti...atlabPaper.pdf
By the way, cảm ơn bạn Ngô Hải Bắc vì bài hướng dẫn lập trình GUI trên Matlab rất hay của bạn.Khi vừa mới bắt đầu chuẩn bị đọc GUI thì gặp ngay bài viết của bạn cho nên mình làm GUI nhanh hơn, không phải mất thời gian mò mẫm
Comment
-
Mình chưa làm giao tiếp giữa vi điều khiển với máy tính thông qua Matlab qua COM và LPT nhưng mình nghĩ rằng nếu mà giao tiếp ngon lành mà không cần card mở rộng thì thật là hay. Mình đã từng search về vấn đề này nhưng chưa tìm hiểu cụ thể và mình biết là Matlab có khả năng này.
Vấn đề này rất hay và thiết thực bởi vì dùng công cụ Matlab để xử lý số liệu thì còn gì bằng. Có thời gian mình sẽ nghiên cứu về vấn đề này và viết bài trao đổi cùng mọi người. Anh Dương Minh Tấn làm về giao tiếp này nhưng chỉ là mô phỏng thôi chứ chưa làm giao tiếp ra bên ngoài. Anh cũng vào trao đổi luôn nhé
.
Vấn đề này thật sự hay với dân điều khiển tự động của bọn mình. Chúng ta cùng trao đổi vấn đề này nhé. Bạn nào đã làm rùi, đã biết rùi thì hãy hướng dẫn cụ thể cho mọi người nhé.
Chúc các bạn thành công.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
he he he
Cái này chú mày gặp DaiHang86 hơ hơ hơ hắn đêk phải dân điều khiển nhưng làm nhiều cái này rồi hô hô hôNguyên văn bởi ngohaibac Xem bài viếtMình chưa làm giao tiếp giữa vi điều khiển với máy tính thông qua Matlab qua COM và LPT nhưng mình nghĩ rằng nếu mà giao tiếp ngon lành mà không cần card mở rộng thì thật là hay. Mình đã từng search về vấn đề này nhưng chưa tìm hiểu cụ thể và mình biết là Matlab có khả năng này.
Vấn đề này rất hay và thiết thực bởi vì dùng công cụ Matlab để xử lý số liệu thì còn gì bằng. Có thời gian mình sẽ nghiên cứu về vấn đề này và viết bài trao đổi cùng mọi người. Anh Dương Minh Tấn làm về giao tiếp này nhưng chỉ là mô phỏng thôi chứ chưa làm giao tiếp ra bên ngoài. Anh cũng vào trao đổi luôn nhé
.
Vấn đề này thật sự hay với dân điều khiển tự động của bọn mình. Chúng ta cùng trao đổi vấn đề này nhé. Bạn nào đã làm rùi, đã biết rùi thì hãy hướng dẫn cụ thể cho mọi người nhé.
Chúc các bạn thành công.
Comment
-
=> ý nói là tôi là người học điều khiển tự động chứ không ám chỉ Daihang gì đó là dân ĐK, còn việc làm được giao tiếp với VDK được hay chưa chẳng quan trọng, quan trọng đó chỉ là một vấn đề nhỏ trong các ứng dụng của Matlab mà nhiều người chưa có thời gian để nghiên cứu kĩ. Vì vậy nên ai nghiên cứu vấn đề nào rùi thì mới post lên để học hỏi, trao đổi mà thôi.Nguyên văn bởi ngohaibac Xem bài viếtVấn đề này thật sự hay với dân điều khiển tự động của bọn mình.
Chúc các bạn thành công.
Matlab ai cũng có thể dùng được. Matlab gồm nhiều công cụ, không biết kiến thức về món này của anh bao nhiêu nhưng chắc là đỉnh cao lắm đây
.
Matlab rất rộng và mỗi người có lẽ sẽ dùng các công cụ khác nhau của nó vào mục đích của mình nên sẽ có nhiều ngành cần đến Matlab.
Ngành của em với em em suy nghĩ cách khác anh nên đừng nói kiểu đàn anh nhé.
=> Công công lần sau đọc kĩ hãy nói nhé.
P/S: Em hơi bị ghét cái câu "he he" đấy.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Chương trình giao tiếp RS232 đơn giản qua Matlab
Để biết thêm chi tiết về giao tiếp với PC qua cổng RS232 qua Matlab các bạn dùng Help của Matlab và search với từ khóa: serial.
Việc giao tiếp này cũng rất dễ dàng thực hiện, không có gì là quá cao siêu cả. Mình đã giao tiếp thành công rùi. Để test nó các bạn hãy đấu tắt 2 chân 2 và 3 (TX và RX) của cổng COM lại.
Đầu tiên mình sẽ đưa ra môt chương trình thật là đơn giản, thiết lập ít tham số, còn chi tiết về thiết lập tham số nó thế nào? ý nghĩa ra sao? thì sẽ nói sau, mình cứ làm đơn giản trước rùi phức tạp -> hiểu hết về thiết lập này sau.
Bài này mình giới thiệu cách tạo đối tượng, kết nối, viêt hàm callback.
Tạo đối tượng:
Chúng ta gõ lệnh và kết quả hiện luôn (nhớ là k có dấu ; ở cuối lệnh
Như vậy đối tượng là Serial-COM1, tốc độ 9600,..Code:>> s = serial('COM1') Serial Port Object : Serial-COM1 Communication Settings Port: COM1 BaudRate: 9600 Terminator: 'LF' Communication State Status: closed RecordStatus: off Read/Write State TransferStatus: idle BytesAvailable: 0 ValuesReceived: 0 ValuesSent: 0
Tiếp theo, chúng ta xem các tham số của đối tượng như thế nào bằng lệnh get(s):
Các bạn thấy là có rất nhiều tham số phải không? chúng ta ở đây quan tâm đến tham số: BytesAvailableFcn tham số này chưa thết lập. Tham số này chính là hàm callback mà nó sẽ gọi khi có byte nhận được ở bộ đệm nhận.Vậy chúng ta viết hàm này chính là viết hàm OnComm đáp ứng sự kiện ReceiveEvent như trong MSCOMM của MS vậy.Code:>> get(s) ByteOrder = littleEndian BytesAvailable = 0 BytesAvailableFcn = BytesAvailableFcnCount = 48 BytesAvailableFcnMode = terminator BytesToOutput = 0 ErrorFcn = InputBufferSize = 512 Name = Serial-COM1 ObjectVisibility = on OutputBufferSize = 512 OutputEmptyFcn = RecordDetail = compact RecordMode = overwrite RecordName = record.txt RecordStatus = off Status = closed Tag = Timeout = 10 TimerFcn = TimerPeriod = 1 TransferStatus = idle Type = serial UserData = [] ValuesReceived = 0 ValuesSent = 0 SERIAL specific properties: BaudRate = 9600 BreakInterruptFcn = DataBits = 8 DataTerminalReady = on FlowControl = none Parity = none PinStatus = [1x1 struct] PinStatusFcn = Port = COM1 ReadAsyncMode = continuous RequestToSend = on StopBits = 1 Terminator = LF
Thiết lập này phải thực hiện trước khi mở cổng để giao tiếp, nên chúng ta sẽ viết hàm callback trước. Bạn viết 1 m-file với tên Serial_Callback.m như sau:
Cú pháp của hàm callback như trên với obj là đối tượng kiểu Serial như trên. Hàm có tác dụng đọc dữ liệu và hiển thị luôn kết quả lên command window.Code:function Serial_Callback(obj,event) ind = fscanf(obj)
Chúng ta đưa tham số tên hàm vào cho đối tượng s của ta:
Tiếp theo chúng ta bắt đầu giao tiếp:Code:>> s.BytesAvailableFcn = @Serial_Callback;
Sau đó các bạn xem kết quả thế nào, sau đó thử truyền các kí tự khác xem bằng lệnh fprintf(s,...), hoặc thử với vi xử lý xem cho nó truyền lên các bạn sẽ thấy rất hay.Code:>>fopen(s); >>fprintf(s,'chao cac ban');
Bạn không giao tiếp nữa thì đóng cổng lại:
Mình viết tiếp sau còn giờ đi ngủ đã.Code:>>fclose(s);
Chúc các bạn thành công.Last edited by ngohaibac; 25-12-2006, 16:47.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Chủ đề này rất là hay đấy mà chẳng thấy ai hưởng ứng là sao nhỉ? Tối nay mình sẽ viết chi tiết một vài phần nhé.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
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 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -

Comment