Lưu đồ giải thuật cho chương trình chính

Một phần của tài liệu Đồ án: Thiết kế trạm cân xe (Trang 77 - 86)

GIẢI THÍCH CHƯƠNG TRÌNH CHO VI XỬ LÝ

1. Lưu đồ giải thuật cho chương trình chính

Nhấn “Zero”

?

Xuất ra Led đơn

“Zero”.Xuất “0000” ra Led 7 đoạn.

Đọc A/D và lưu vào cùng vị trí đã lưu V1.

Nhấn

“Tare” ?

Xuất ra Led đơn

“Tare”. Đọc A/D và lưu vào : V3

Nhấn

“Netweigh” ?

Đọc AD : V2 V = (V2 – V1) x 2 Đổi V sang BCD Xuất ra Led 7 đoạn Truyền ra Port nối tiếp Truyền ra Port nối tiếp

Xuất ra Led đơn “Net Weigh”

Đọc A/D : V4 Lấy V5 = (V4- V3) x 2

Đổi V5 sang BCD Xuất Led 7 đoạn Truyền ra Port nối tiếp Y

Y

Y N

N

N

2.Lưu đồ đọc số 12 bit từ ADC về vi xử lý:

3.Giải thích chương trình cho vi xử lý

Điện áp từ load cell sẽ được đưa qua bộ khuếch đại , ở đây giá trị điện áp sẽ được khuếch đại lên 160 lần như đã trình bày ở trên

Start

Cho RUN / HOLD = 1

STATUS = 0

Cho HBEN = 0

Delay 210ns

Đọc vào byte cao

Cho LBEN =0

Delay 210ns

Đọc vào byte thấp

End

N

Y

Điện áp sau khi đã khuếch đại sẽ được đưa vào bộ chuyển đổi A/D. Sau đó tín hiệu tương tự sẽ được chuyển đổi thành số 12 bit

Dữ liệu 12 bit sau đó được đưa vào vi sử lý và sẽ được xuất trực tiếp ra 4 led 7 đoạn

Ta sẽ chỉnh điện áp so sánh sao cho ứng với 1 kg giá trị thập phân sẽ tương ứng la 1000 đơn vị .Để hiển thị đúng 1 kg ta sẽ dịch số trên led qua trái một lần và chọn dấu chấm sau led thứ 2

4. Chương trình quản lý trạm cân viết cho máy tính:

Cũng giống như các chương trình quản lý trạm cân thực tế , chương trình viết cho máy tính bao gồm các chức năng :Đọc dữ liệu là khối lượng cân được từ vi xử lý về và hiển thị kết quả đó lên màn hình , cho phép nhập tên khách hàng , biển số xe , loại hàng hóa được cân để in phiếu cân có cả khối lượng xe , khối lượng hàng hoá, và cả lưu trữ số liệu để báo cáo số lượng xe và hàng hóa cân được trong ngày...

Để nhận dữ liệu từ cổng COM chương trình viết bằng visual basic

Chương trình đã viết cũng cho phép lựa chọn cổng COM , thời gian nhận dữ liệu về máy tính , tốc độ Baud nhằm mục đích ứng dụng được linh hoạt cho nhiều máy tính và đầu cân khác nhau . Riêng đối với mô hình cân xe này thì tốc độ Baud là cố định 9600 bps ( đã viết cho vi xử lý ) và thời gian nhận dữ liệu về máy tính là nhỏ hơn một giây.

Ngoài ra còn có chức năng lưu trữ khối lượng khi xe đi vào để khi chiều xe là đi ra thì sẽ trừ đi khối lượng đã lưu trước đó thì sẽ được khối lượng hàng hoá đã xuất ( thực hiện ngược lại sẽ ra lượng hàng đã nhập).

Sử dụng visual basic để thiết kế giao diện và nhận dữ liệu từ vi xử lý .Chương trinh dung cho máy tính là:

Dim d As Date

Private Sub cmdClose_Click() Unload Me

End Sub

Private Sub Form_Load()

If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False

MSComm1.CommPort = 1 MSComm1.RThreshold = 4

MSComm1.InputLen = 0

'MSComm1.InputMode = comInputModeBinary MSComm1.Settings = "9600,N,8,1"

MSComm1.PortOpen = True Timer1.Interval = 1000 Timer1.Enabled = True End Sub

Private Sub Timer1_Timer() d = Now

lb5 = d End Sub

Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive

Dim sok As Variant Dim nhan As Variant nhan = MSComm1.Input Text3.Text = nhan

'Text3.Text = nhan & " Kg"

'Text4.Text = (sok * 20000) & " Đ"

End Select

End Sub

PHẦN IV: PHÁT TRIỂN LUẬN VĂN

CHƯƠNG TRÌNH CÂN HÀNG VÀ TÍNH TIỀN TỰ ĐỘNG DÙNG CARD GẮN VÀO RÃNH CẮM MÁY TÍNH

Tương tự như khi thực hiện cho vi xử lý , hệ thống cân dùng Card máy tính đơn giản hơn và bao gồm các thành phần sau đây:

Các thành phần như nguồn chuẩn cấp cho AD , loadcell ; bộ khuếch đại tín hiệu từ cảm biến... đã được trình bày ở trước . Phần này chỉ trình bày cách thực hiện Card AD gắn vào rãnh cắm máy tính và chương trình viết cho tấm Card này Hệ thống cân mà sử dụng cách thức giao tiếp với máy tính theo kiểu song song này chỉ sử dụng cho khoảng cách gần vì rất dễ bị nhiễu khi truyền đi xa. Sau đây là những thiết kế cho hệ thống cân loại này.

I ) Card AD gắn vào rãnh cắm máy tính :

Ở đây sử dụng IC 8255 trong việc xuất,nhập dữ liệu số. Việc đọc AD 12 bit chỉ cần sử dụng một IC 8255 cung cấp 24 bit xuất , nhập để điều khiển và đọc 12 bit của AD ICL7109 là đủ. Tuy nhiên Card được thiết kế gồm hai IC 8255 là để dùng những đường xuất nhập còn lại ứng dụng cho các việc điều khiển khác như kích Cảm biến

và mạch khuếch đại

Biến đổi AD

Giao tiếp qua rãnh cắm máy tính

Máy tính với chương trình xử lý

Máy in

Hiển thị số liệu lên cân màn hình Nguồn chuẩn

đóng mở relay hay các valve selenoid dùng khí nén của dây chuyền đóng bao tự động hoặc báo quá tải...

Vùng địa chỉ cho phép của Card mở rộng là :300 – 31F (Hex).Do 4 bit cao của vùng địa chỉ này là số3(11 binary) nên cần 10 đường địa chỉ, các đường dẫn địa chỉ được sử dụng đối với vùng này là từ A0 ÷A9. Ở đây chỉ sử dụng các địa chỉ từ 300- 307H Sự phân công địa chỉ cho các Port xuất nhập như sau :

Hex A9A8 A7 A6 A5 A4 A3 A2 A1 A0 Địa chỉ của các Port 300 1 1 0 0 0 0 0 0 0 0 Port A của 8255 thứ nhất 301 1 1 0 0 0 0 0 0 0 1 Port B của 8255 thứ nhất 302 1 1 0 0 0 0 0 0 1 0 Port C của 8255 thứ nhất 303 1 1 0 0 0 0 0 0 1 1 Thanh ghi từ điều khiển 8255-1 304 1 1 0 0 0 0 0 1 0 0 Port A của 8255 thứ hai

305 1 1 0 0 0 0 0 1 0 1 Port B của 8255 thứ hai 306 1 1 0 0 0 0 0 1 1 0 Port C của 8255 thứ hai

307 1 1 0 0 0 0 0 1 1 1 Thanh ghi từ điều khiển 8255-2

Hoạt động của tấm Card có thể tóm tắt như sau :

Khi thực hiện việc xuất nhập máy tính xuất ra các đường địa chỉ từ A0 ÷ A9, các đường địa chỉ này được nối qua bộ đệm một hướng 74244 để nâng khả năng truyền tín hiệu . Do các chân 1G,2G của các IC này được nối xuống mass, trùng với mức tích cực của nó , nên tín hiệu từ máy tính được đưa ra.Các đường địa chỉ từ A3 ÷ A9 được nối đến các chân P0 ÷ P6 của IC so sánh 74688 .Tín hiệu AEN từ máy tính được đưa đến chân cho phép G của 74688 , do đó khi xuất địa chỉ thì IC 74688 được phép hoạt động. Các địa chỉ này được so sánh với các địa chỉ đã chọn bằng DipSwitch được đưa đến các chân Q0 ÷Q6.Chân P7 được nối với Q7.

Bộ so sánh 8 bit này sẽ cho ngõ ra (chân 19) của IC 74LS688 xuống mức thấp nếu có sự giống nhau ở các chân P và Q tương ứng . Ngõ ra này được nối đến ngõ vào B của IC giải mã 74139 , đường địa chỉ A2 cũng được nối đến ngõ vào A của IC này .Do chân G G B A Y0 Y1 Y2 Y3

được nối mass nên theo bảng hoạt 1 X X 1 1 1 1 động của 74139 thì khi A2=0, ngõ 0 0 0 0 1 1 1

ra Y0 được chọn , do cách kết nối 0 0 1 1 0 1 1 như trên sơ đồ nên IC 8255 thứ 0 1 0 1 1 0 1 nhất được chọn , Khi A2=1thì ngõ 0 1 1 1 1 1 0 ra Y1 được chọn , và do đó IC 8255 thứ hai được chọn.

Hai đường địa chỉ thấp A0, A1 được đưa đến các chân A0, A1 của 8255 để chọn chế độ hoạt động cho nó .

Đó là: A1 A0 Chọn

Các đường dữ liệu từ D0 ÷ D7 được 0 0 Port A xuất ra hoặc đưa vào máy tính thông 0 1 Port B qua bộ đệm hai chiều 74245. Hướng 1 0 PortC

của dữ liệu được xác định thông qua 1 1 Thanh ghi từ điều khiển tín hiệu điều khiển I/OR nối đến chân

DIR của 74245.Khi máy tính thực hiện sự truy cập đọc dữ liệu từ ngoại vi thì chân I/OR = 0, do đó DIR=0, dữ liệu được truyền từ B sang A . Khi chân DIR=1,dữ liệu được xuất từ máy tính ra ngoại vi (Từ A sang B).

Trước khi giao tiếp cần ghi giá trị vào từ điều khiển .Tùy theo yêu cầu xuất ra hay nhập vào Port nào của 8255 thứ nhất hay thứ hai mà ghi từ điều khiển cho thích hợp ( cách xác định từ điều khiển được trình bày ở phần sau). Sau khi ghi từ điều khiển vào 8255 thì từ chương trình máy tính ta có thể thực hiện việc xuất hay nhập dữ liệu vào máy tính để ứng dụng trong việc thu thập số liệu và điều khiển sau này.

Với cách kết nối như trong mạch đã vẽ , để đọc AD trước hết cần phải xuất ra mức 1 ra Port C2 của IC 8255 thứ hai để kích chân RUN/HOLD cho AD bắt đầu chuyển đổi. Sau đó có thể delay 133 mili giây hoặc đợi chân STATUS nối ở Port B6 của 8255 thứ hai bằng 0 thì mới đọc được AD về máy tính .Cũng giống như mạch vi xử lý, cần phải xuất ra LBEN và HBEN mức 0 rồi mới đọc về byte thấp , byte cao tương ứng. Tuy nhiên do cách kết nối LBEN , HBEN và RUN/HOLD cùng nằm trong Port C của IC 8255 nên khi muốn xuất mức 0 ra các chân chọn byte thì cần phải che lại không để chân RUN /HOLD bị ảnh hưởng vì

khi xuất từ điều khiển ra IC 8255 thì cả một Port của 8255 đều dùng cho chức năng xuất hay nhập mà không điều khiển từng bit riêng được.

Cách kết nối ICL7109 vào mạch tương tự như phần dùng cho vi xử lý.

Ngoài ra trên tấm Card còn có lấy các đường nguồn và mass của máy tính cung cấp cho các IC và tiện dùng cho các ứng dụng khác ( không dùng quá công suất).

Có một phương pháp khác tạo Card ADC nhờ máy tính đã được giới thiệu trong tạp chí “Tự động hóa ngày nay” số 3 năm2000. Theo phương pháp này, cần phải dùng một bộ biến đổi DAC cơ sở nối tiếp với mạch khuếch đại thuật toán hay dùng DAC có kết hợp sẵn với mạch so sánh. Khi mã số lối vào DAC tăng dần và qua giá trị ak lối ra so sánh chuyển mức thì ak là tín hiệu lối vào được số hóa. Cần phải viết chương trình điều khiển việc chuyển đổi này theo các thuật toán khác nhau.

Một phần của tài liệu Đồ án: Thiết kế trạm cân xe (Trang 77 - 86)

Tải bản đầy đủ (PDF)

(95 trang)