[STM32 PLC] Cách để có PLC 85K từ board BluePill (STM32F103C8T6)
Chào mọi người, mình là D.G.B chắc hẳn các bạn mới bắt đầu học tập nghiên cứu PLC thì khó khăn lớn nhất là không có PLC thật để test và nghiên cứu. Với nhiều bạn sinh viên chưa có điều kiện thì một board PLC giá rẻ tầm 500K đến 700K là một vấn đề lớn. Vậy liệu còn PLC nào giá rẻ hơn nữa không?
Về bản chất, bộ não bên trong của PLC cũng là một con vi điều khiển. Lấy ví dụ cho dễ hiểu thì mình có một board PLC Mitsubishi FX3U-24MT (tất nhiên là hàng nhái của TQ 😂)
Lần đầu nhìn vào board cũng không bất ngờ lắm hóa ra nó là con STM32F103VCT6. Câu hỏi của mình lúc đó là nếu cái board BluePill của mình cũng chạy được như cái board PLC của Trung Quốc thì làm sao vì nó cùng là STM32F103 mà.
Dành cho bạn nào chưa biết STM32 hoặc chưa học vi điều khiển thì STM32 là dòng vi điều khiển 32 bit của hãng STMicroelectronics. Board BluePill là một sự lựa chọn hợp lí cho các bạn mới học lập trình STM32, các bạn có thể tìm hiểu trên google (hoặc Tổng quan về bluepill). Và gần trường mình (IUH) nó có giá 85K, lí do tại sao mình gọi nó là PLC 85K.
Blue-pill-blue-tablet-STM32F103-as-a-PLC
- Phần cứng:
- Phần mềm:
Cài driver cho FT232RL.
Các bạn giải nén file STM32_PLC đã tải về ở Source File.
Chuyển jump boot0 từ 0 sang 1 để boot vào System memory.
Chuyển jump nguồn của FT232RLvề 3.3V, vì STM32 hoạt động ở điện áp 3.3V.
Cắm cáp rồi mới mở phần mềm Flash Loader lên. Chọn đúng cổng COM của FT232RL. Nhấn Next.
Nhấn Next, ở đây nếu dòng Remove protection hiện lên thì bạn cứ nhấn vào rồi nãy next.
Tại đây chọn STM32F1_MED-density_128K, nhấn next.
Sẽ có hai version PLC cho bạn chọn, hai version đó khác nhau như nào mình cũng chưa rõ.
Nếu bạn chọn version g37 thì chọn đường dẫn Download from file tới STM32F1_PLC_G37.bin, setup như hình rồi nhấn next.
Phần mềm sẽ nạp chương trình vào Bluepill.
Sau đó sẽ tự động kiểm tra (verify) chương trình đã nạp vào và file nạp để tránh lỗi trong quá trình nạp.
Khi chương trình nạp xong nhấn Close.
Giờ bạn tháo dây kết nối với FT232RL, chuyển jump boot0 về 0.
Dùng cáp micro usb cắm vào máy tính, mở device manager lên nếu thấy cổng com như hình dưới thì chúc mừng bạn đã có một con PLC 85K theo đúng nghĩa. Hãy nhớ cổng COM để connect trong GXWorks2.
Nếu không may có lỗi như hình dưới, có thể là do jump bị lỏng tips đơn giản là đặt Bluepill xuống bàn dùng ngón cái ấn lên jump boot rồi lắc nhẹ qua lại(😂😂😂😂).
Hướng dẫn connect với GXWorks2:
Tạo project mới chọn FX2N/FX2NC.
Connection Destination -> Serial USB.
Chọn đúng cổng COM -> OK.
Chọn Connection Test.
Các có thể xem video (tiện subscribe cho mình nếu thấy hay 😃):
Vì sao đây chỉ là PLC dành cho học tập?
Output:
|
Y0 |
PA7 ( PWM3 Channel 2) |
|
Y1 |
PB0 ( PWM3 Channel 3) |
|
Y2 |
PB1 ( PWM3 Channel 4) |
|
Y3 |
PB11 ( PWM2 Channel 4) |
|
Y4 |
PA0( PWM2 Channel 1) |
|
Y5 |
PA4 |
|
Y6 |
PA4 |
|
Y7 |
PA6 ( PWM3 Channel 1) |
|
Y10 |
PB13( PWM1 Channel 1) |
|
Y11 |
PB14 ( PWM1 Channel 2) |
|
Y12 |
PB15 ( PWM1 Channel 3) |
|
Y13 |
PB12 |
Input: (pulldown tức là đã có điện trở kéo xuống gnd sẵn tại ngõ vào, khi bạn muốn tác động ngõ vào phải nối lên vcc tại ngõ vào đó)
|
X0 |
PA15 (pulldown) |
|
X1 |
PB3 (pulldown) |
|
X2 |
PB4 (pulldown) |
|
X3 |
PB5 (pulldown) |
|
X4 |
PB9 (pulldown) |
|
X5 |
PB8 (pulldown) |
|
X6 |
PB7 (pulldown) |
|
X7 |
PB6 (pulldown) |
Truyền thông:
UART1 |
|
|
RX |
PA10 |
|
TX |
PA9 |
|
DE(RS485) |
PA8 |
UART2 |
|
|
RX |
PA13 |
|
TX |
PA2 |
|
DE(RS485) |
PA1 |
Onewire |
|
|
BUS |
PB10 |
|
|
Dùng điện trở 4k7 nối từ PB10 lên VCC |
LED báo run
|
PC13 ( Led xanh trên BluePill) |
Cảm ơn các bạn đã đọc bài viết của mình, nếu có thắc mắc gì hay làm không được các bạn cứ comment phía dưới mình sẽ trả lời.



















Nhận xét
Đăng nhận xét