đề tài: thiết kế cân điện tử qua ARM STm32f103C8t6 giao tiếp PC

lmc98cddt16c

Học sinh phổ thông
#1
mọi người giúp e với ạ
mấy a ai có ví dụ về loadcel lập trinh trên 32stmcube ,mdk kell C k ạ cho e xin tham khảo với ạ
cảm ơn mọi người
hay mấy a nào có thể cho e xin hướng đi cụ thể làm đề tài này được không ạ vì e mới hoc nên chưa hiểu lắm về ARM ạ
 
#2
Chương trình Load cell gồm có một số bước cơ bản sau:
  1. Start-up power
  2. Read temperature & humidity, ADC, Acceloremeter for calibration
  3. Calibration base on characteristic of sensor - load cell and Tilt of Mass vector
  4. Error report if any condition not meet
  5. Start ADC24bit sample&convertion
  6. Digital filter result
  7. Convert to decimal number
  8. Display to LCD if have
  9. Send data direct via USB port or via UART/USB

Sơ đồ khối cơ bản:
1537847284228.png


https://www.facebook.com/arrowelectronicvn/

brg!
 
#4
phần gợi ý của bác có nói đến ADC24 bít, vậy dùng con NAU7082 thì có ổn ko bác?
http://www.tula.vn/modules.php?name=monline&file=sdtc1&_run=viewdetails&lid=1617
Hi bạn
Việc sử dụng ADC 24bit hay 20 bit, 16 bit, hay của MCU 12bit hoặc thậm chí 32bit là dựa trên yêu cầu đầu bài. Bao gồm độ chính xác, độ phân giải và phạm vi đo.
Ví dụ bạn cần đo 1000g, độ phân giải và chính xác là 1g, thì ít nhất ADC cần có 1000g/1g = 1000 steps. Phân biệt rõ là độ phân giải 1g không có nghĩa là độ chính xác 1g nhé. Độ chính xác thường yêu cầu nhỏ hơn độ phân giải để đảm bảo con số hiển thị đó là con số đáng tin. Với ADC 1000 step thì cần loại 10 bit là được, tương đương 1024 step. Nhưng khi làm thiết bị đo lường thì khác, phải tính chính xác và đảm bảo các điều kiện hoạt động ổn định. Với ADC 10bit thông thường theo phương pháp xấp xỉ thì vẫn dễ mắc sai số nhảy bit, ít nhất +-1 bit cuối, nên số bit tin tưởng được là 9bit thôi. Vì vậy cho bài toán trên suggest dùng ADC 12bit. Như STM32 chẳng hạn, trong ADC characteristic cũng nói rõ sai số tổng là 2LBS tức 2 bit cuối, nên số bit sử dụng và tin tưởng được còn lại là 10bit. Đây chỉ là nói về độ chính xác của ADC khi sample & convert, chưa nói đến ảnh hưởng của Vref, Common Mode Reject Ratio từ tín hiệu ngõ vào, sai số của khối khuếch đại.

Với con ADC NAU7082, nếu dùng cho loadcell với biến thiên tín hiệu ngõ vào chậm, nhưng tạm dùng được. Còn phải căn cứ vào yêu cầu đặt ra đã.
Như thấy trong spec của nó, số bit dùng được cao nhất là 22.9 bit với gain = 1. Gain càng cao, error càng cao.
1537928512336.png

Bạn cần yêu cầu đo ntn ?
 

huunho

Thạc sỹ
#5
mình cần đo điện áp từ -1000v đến 1000v với 3 số thập phân sau dấu phẩy
 
#6
mình cần đo điện áp từ -1000v đến 1000v với 3 số thập phân sau dấu phẩy
Vậy là bạn cần tới ít nhất 7 con số rồi :D
adc bits.PNG

Nhìn bảng trên thì bạn cần cỡ 25bit trở lên, và con ADC 32bit này mới phù hợp với ứng dụng của bạn LTC2508-32

Nhưng cái khó của yêu cầu này không chỉ ở ADC, mà ở mạch khuếch đại đầu vào của bạn. Với ngưỡng 1000V thì cần Gain <1, khi dùng gain - các bộ khuếch đại sẽ mắc phải sai số phi tuyến - non-linear error sẽ làm tăng sai số của tín hiệu trước khi vào ADC.
Để đo điện áp cao cần phải đảm bảo an toàn, do đó mạch cần có phần cách li. Có thể cách li với tín hiệu tuyến tính nhưng cái này lại làm tăng sai số. Cách hai là để ADC đọc xong rồi cách li tín hiệu số truyền về.
Con LTC2508-32 hỗ trợ tốc độ lấy mẫu khá cao 4ksps với 131dB Dynamic Range.
 

huunho

Thạc sỹ
#7
tín hiệu tuyến tính thì sao cách li dc hả bạn? ý mình hỏi là tín hiệu 1 chiều đó. mình chỉ muốn viết 1 chương trình đo điện áp trên stm32 hay stm8 sao cho nó đo dc áp từ -1000v đến 1000v như 1 chiếc đồng hồ đo điện auto range, sai số dưới 1% là ổn bạn ạ. con ic ADC 32 bit phía trên phức tạp và đắt tiền ghê, trong khi con 24bit đã khá là ổn rồi
 
#8
tín hiệu tuyến tính thì sao cách li dc hả bạn? ý mình hỏi là tín hiệu 1 chiều đó. mình chỉ muốn viết 1 chương trình đo điện áp trên stm32 hay stm8 sao cho nó đo dc áp từ -1000v đến 1000v như 1 chiếc đồng hồ đo điện auto range, sai số dưới 1% là ổn bạn ạ. con ic ADC 32 bit phía trên phức tạp và đắt tiền ghê, trong khi con 24bit đã khá là ổn rồi
Tín hiệu tuyến tính hoàn toàn có thể truyền cách li được bạn nhé, bạn có thể xem datasheet con này sẽ hiểu: http://www.ixysic.com/home/pdfs.nsf/0/2E7C7ED81A9497A385256A2C0068BE89/$file/LOC110.pdf
Cách thử hai là đo từ 1 ADC rồi chuyển nó sang dạng số rồi bắn xung số đó qua opto thông thường.
Dải đo của bạn khá rộng, mà đòi hỏi sai số 1% . Hiện mình đang dùng con đồng hồ Kyoritsu mất 900k VND mới được ~1% như dưới:
https://emin.vn/kyoritsu1009-ong-ho-van-nang-kyoritsu-1009-1/pr.html
1538465447646.png

Nên mong muốn của bạn không dễ chút nào :D
1% x 1000V = 10V.
Cái này bạn chỉ đo DC thôi đúng không, nhưng một số mạch nguồn DC switching có thể làm nhiễu đồng hồ đo, do đó cần bổ xung thêm mạch lọc ở tầng trước nữa nhé.
 

lmc98cddt16c

Học sinh phổ thông
#9
Chương trình Load cell gồm có một số bước cơ bản sau:
  1. Start-up power
  2. Read temperature & humidity, ADC, Acceloremeter for calibration
  3. Calibration base on characteristic of sensor - load cell and Tilt of Mass vector
  4. Error report if any condition not meet
  5. Start ADC24bit sample&convertion
  6. Digital filter result
  7. Convert to decimal number
  8. Display to LCD if have
  9. Send data direct via USB port or via UART/USB

Sơ đồ khối cơ bản:
Xem đính kèm 81645

https://www.facebook.com/arrowelectronicvn/

brg!
anh ơi về phần cứng đề tài này a có thể hướng dẫn e được không ạ
e nghỉ phần cứng chỉ cần 1 loa1dcel + 1 hx711 + 1 stm32 + 1 pin 12 vol nuoi hx711 voi 1 mach nap stlink để nap chuong trinh va 1 usb pl 2303 để giao tiep máy tính, như v đủ chưa ạ
 

lmc98cddt16c

Học sinh phổ thông
#10
anh ơi về phần cứng đề tài này a có thể hướng dẫn e được không ạ
e nghỉ phần cứng chỉ cần 1 loa1dcel + 1 hx711 + 1 stm32 + 1 pin 12 vol nuoi hx711 voi 1 mach nap stlink để nap chuong trinh va 1 usb pl 2303 để giao tiep máy tính, như v đủ chưa ạ
à anh a có link của các bước về load cell như a gửi kh ạ , cho e xin
 

Quảng cáo Google