Bagaimana cara memperbaiki kesalahan desain PCB setelah pembuatan?


19

Pemula berusia 16 tahun di sini.

Proyek saya adalah robot mini dengan pcb sebagai sasis, baterai lipo dengan sirkuit pengisi daya, dan sensor inframerah. Saya menggunakan LSM6DS33TR untuk accelerometer dan giroskop I2C saya dengan 10K "pull-up resistor" menurut datasheet, dan ATMEGA328P sebagai mikrokontroler.

Ini adalah pertama kalinya saya merancang papan PCB industri saya sendiri dan memproduksinya. Saya membuat PCB dengan JLCPCB. Setelah mengirim file dan menunggu pengiriman, ketika saya menemukan kesalahan dari desain saya. Saya perhatikan bahwa saya belum menyambungkan resistor pull-up untuk bus I2C saya dengan benar karena mereka harus ditarik ke 3V3.

Pertanyaan saya adalah:

  1. Bagaimana saya bisa mengalihkan koneksi atau membuat modifikasi untuk membuat SDA dan SCL pull-up untuk memasok tegangan dengan PCB yang sudah diproduksi?
  2. Haruskah saya mengubah desain dan membuat PCB lain? (Rusak) :)

Berikut adalah diagram skematik keseluruhan untuk proyek yang saya buat: (garis i2c dilingkari) masukkan deskripsi gambar di sini

LAPISAN TOP: (Pesawat Tembaga GND) masukkan deskripsi gambar di sini

LAPISAN BOTTOM: (3V3 Pesawat Tembaga) masukkan deskripsi gambar di sini


3
Kerja bagus! Untungnya bagi Anda, kita semua telah melakukan hal-hal seperti ini dan telah melalui proses memperbaikinya. Saya akan menyarankan hal yang sama dengan @Oldfart. Semoga beruntung untukmu.
Elliot Alderson

10
Selamat! Selamat datang di tanah tubuh! :) (Anda bukan perancang PCB asli sampai Anda memecahkan gulungan kawat biru? XD)
ThreePhaseEel

4
Untuk proyek-proyek masa depan, saya sarankan Anda menambahkan bantalan tambahan pada beberapa jejak yang lebih penting, bahkan jika itu tidak menjadi padat, sehingga Anda dapat memasang kabel ke mereka jika perlu, dan Anda tidak perlu khawatir tentang menyolder kawat ke pin paket IC kecil.
Pos Gizi

6
Apa yang dikatakan @Hearth dapat dilakukan di sebagian besar perangkat lunak EDA / EDM dengan membuat komponen titik uji yang memiliki satu "pin", dan kemudian membuat tapak untuk titik uji itu yang hanya berupa alas pemasangan kecil. Anda akan memiliki semua titik ini di seluruh papan Anda, berlabel, yang dapat Anda gunakan untuk mod atau untuk menghubungkan probe lingkup. Kemungkinannya tinggi bahwa alat Anda sudah memiliki sesuatu yang serupa di perpustakaan.
TimWescott

8
Saya sarankan Anda membuat papan yang Anda beli berfungsi, bahkan jika itu tidak terlihat menarik. Kemudian, jika Anda memutuskan untuk membuatnya kembali, Anda akan lebih mungkin menemukan 100% masalah.
Spehro Pefhany

Jawaban:


19

Anda harus 'menambal' PCB Anda.

Saya akan melakukan apa yang saya coba gambar di bawah ini: tempatkan dua resistor pull up (10K) pada bantalan yang ada korslet mereka. Kemudian kabel dari ujung lainnya ke koneksi 3V3 terdekat.

masukkan deskripsi gambar di sini

Saya telah menggambar SMD resistor tetapi Anda dapat menggunakan yang "kuno" yang aksial juga.


5
Hanya ingin menambahkan bahwa saya suka menggunakan kawat pembungkus untuk perbaikan ini, tetapi kawat padat yang baik harus dilakukan. Saya juga akan cenderung menaruh setetes lem di bawah resistor untuk menahannya.
Elliot Alderson

3
Resistor THT aksial mungkin lebih tepat karena tidak ada bantalan kedua untuk SMD. Menambahkan lem mungkin membantu tetapi tidak yakin apakah itu solusi terbaik. Dengan sedikit keberuntungan, ujung-ujung resistor THT akan cukup panjang untuk mencapai lokasi yang diinginkan, menghindari kabel tambahan.
Fredled

Saya memang menggunakan 0603 resistor .. ya tht resistor mungkin baik untuk mencapai pembalut. Terima kasih!
Dave Benemerito

9

Papan Anda memiliki lebih banyak masalah. Sebagai contoh, pin catu daya untuk U5 memiliki kapasitor dalam seri dengan mereka yang saya kira seharusnya menjadi topi decoupling antara VCC dan GND. Saya juga tidak melihat topi decoupling untuk AVR.

Pada akhirnya mungkin lebih baik untuk mengulang papan dengan benar.


1
Masalah khusus itu tidak sulit untuk diperbaiki. Ini mungkin komentar, bukan jawaban.
Pos Gizi

2
Masalah VCC dengan U5 dapat diperbaiki kurang lebih dengan cara yang sama dengan masalah resistor I2C - terutama karena ujung yang lain harus menuju ke tanah, dan dalam hal ini OP hanya dapat menggoreskan beberapa topeng solder dari bidang tanah di tempat yang tepat, letakkan tutup melintang, dan solder kedua ujungnya ke bawah.
TimWescott

2
Perlu dicatat bahwa mengganti kedua caps ini dengan resistor 0 ohm mungkin cukup baik. Juga bahwa kawat jumper tidak boleh digunakan untuk menghubungkan kapasitor decoupling karena induktansi mereka akan membatalkan kapasitansi - Pendekatan Tim yang secara langsung melekat pada bidang tanah akan bekerja.
Ben Voigt

3
Beberapa orang tidak peduli tentang banyak pekerjaan tubuh di papan tulis dan beberapa mungkin melihat banyak kesalahan sebagai alasan yang cukup baik untuk mengulang papan. Jadi saya pikir menunjukkan fakta bahwa ada lebih banyak kesalahan di papan, yang mungkin mempengaruhi keputusan OP, adalah jawaban yang valid.
Tidak penting

Terima kasih untuk itu! Saya belum benar-benar memperhatikan kesalahan tutup sampai jawaban ini. Saya tidak tahu apa yang saya pikirkan saat itu XD. Ada banyak hal yang harus dilakukan untuk kesalahan pcb saya. Terima kasih!
Dave Benemerito

9

Bus I2C dapat diperbaiki tanpa perubahan PCB (masalah lain yang tidak ditemukan masih membutuhkan perhatian).

Secara sederhana:

  • Ganti resistor seri (yang anehnya tidak memiliki perancang?) Dengan nilai rendah yang cocok untuk resistor seri, misalnya 22 ohm.
  • Aktifkan resistor pull-up internal yang dapat diprogram pada pin I2C yang sesuai dari ATMEGA.

Perhatikan bahwa pullup yang dapat diprogram tidak akan persis nilai yang disarankan untuk penggunaan I2C, jadi Anda harus menghitung ulang kecepatan maksimum berdasarkan kekuatan pullup baru.


Perlu dicatat, tetapi mungkin tidak akan bekerja dengan kecepatan data yang dibutuhkan oleh IMU.
Matt Young

4
@MattYoung: "IMU" itu memiliki kecepatan maksimum 1,6ksps, itu tidak memerlukan kecepatan data mewah (dan sensor yang membutuhkan kecepatan tinggi tidak akan menggunakan I2C di tempat pertama)
Ben Voigt

Saya memang mempertimbangkan resistor pullup internal atmega, dan setelah cukup penelitian, saya menemukan bahwa itu tidak cocok untuk I2C. Setidaknya untuk chip ini, tidak perlu tarif mewah. Terima kasih untuk info itu :)
Dave Benemerito
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.