![]() |
Kết nối PIC với PC thông qua MATLAB và RS232...
hiện tại thì mình đang làm đồ án về điều khiển hệ thống lò điện trở.Ban đầu yêu cầu của thầy kết nối hệ thống điều khiển và đo lường thông qua CARD chuyên dụng của IBM.Nhưng mình muốn tiếp cận bài toán theo hướng khác nên đặt ra các vấn đề cần giải quyết bằng Vi xử lý nên mình đã làm như sau:
+ Thu thập tín hiệu nhiệt độ từ 5 cặp nhiệt điện để đo nhiệt độ của lò và 4 nhiệt độ phôi diotamit. + Truyền 5 nhiệt độ lên PC thông qua chuẩn RS232. + Giao diện truyền nhận ở đây được tạo bởi MATLAB thông qua 3 công cụ: - Bằng code trong m-file. - Sử dụng GUI tạo giao diện chỉnh sửa các tham số. - Dùng toolbox Instrument để kết nối với SIMULINK. + Điều khiển nhiệt độ của vật thông qua điều khiển nhiệt độ lò bằng mạch điều khiển công suất sử dụng TRIAC: - Có thể sử dụng IC điều khiển TRIAC TCA785. - Hoặc sử dụng mạch zero-crossing và điều khiển thông qua PIC Tất nhiên cả trong 2 trường hợp trên thì bộ điều khiển nằm trong SIMULINK hoặc sử dụng m-file. Mạch PIC chỉ có tác dụng kết nối với mạch đo,truyền tín hiệu nhiệt độ và nhận tín hiệu điều khiển từ PC để mở TRIAC. Bạn nào có hứng thú trao đổi thì có thể liên lạc với mình qua mail:hoancaubk@gmail.com nhé. Thân |
Chào mọi người.Lâu lắm rồi mình chưa cập nhật cho thread,mà hình như không có ai thích tìm hiểu về vấn đề này với mình nhỉ.
Hiện tại thì đồ án của mình cũng đã bước vào giai đoạn cuối và đang tiến hành typing với lấy đồ thị thời gian thực nữa là okie. Mình gửi code VXL và code MATLAB cho mọi người cùng thảo luận nhé. Dưới đây là code VXL.string mình gửi từ MATLAB có dạng 'axb'.Trong đó x là giá trị duty cho pwm có dải từ 0 đến 255. Code:
/*test uart cho pic 16f877a su dung phan mem mirko & MATLAB & Rs232 Còn đây là code MATLAB.Mọi người thấy có gì sai thì cứ thảo luận nhé Code:
% Reading of a sensor temperature Chắc tuần sau mình sẽ up final code và MATLAB gui nhé. Thân |
Code VXL mình viết bằng mikroe C PRO for PIC nên khác với PIC C Compiler.
Các bạn đừng thắc mắc tại sao post vào PIC C Compiler lại không build được nhé. |
Trích:
|
à.Bạn phải sử dụng cả 2 byte trong matlab của hàm fscanf ấy.2 lệnh đó là lệnh s.syn... và s.byteavail...Bạn check lại chính xác lệnh trong MATLAB.Mình đang online ở quán nét.:D
|
Kết nói SIMULINK thì bạn phải viết 1 khối s function thôi.Hoặc có thể sử dụng C.
|
Múi giờ GMT. Hiện tại là 03:12 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam