İyi haberler! Bu ucuz olacak! :-)
Basit bir direnç bölücü, 12 V'u bir Arduino'nun sindirebileceği 5 V'a düşürür. Çıkış gerilimi olarak hesaplanabilir
VEy UT= R ' 2R, 1 + R ' 2VbenN-
10 kΩ aralığında direnç değerleri iyi bir seçimdir. Eğer R2'niz 10 kΩ ise, R1 14 kΩ olmalıdır. Şimdi 14 kΩ standart bir değer değil, 15 kΩ. Giriş voltajınız 5 V yerine 4,8 V olacaktır, ancak Arduino bunu hala yüksek bir seviye olarak görecektir. Ayrıca, 12 V'un biraz fazla olması gerektiğinde, bir miktar tavan boşluğunuz da vardır. 18 kΩ bile, size hala yeterince yüksek bir 4.3 V verecek, ancak daha sonra 12 V hakkında biraz fazla düşünmeye başlamanız gerekir. Gerilim hala yüksek olarak mı görülüyor? 15 kΩ ile yapışırdım.
Düzenle
Bir otomotiv ortamından bahsediyorsun ve sonra biraz ekstra korumaya ihtiyacın var. Aracın 12 V'u asla oldukça 12 V değildir, ancak çoğu zaman yüksek, nominal 12 V'un üzerinde birkaç volt tepe noktasına sahiptir (Aslında nominal, hücre başına 2.15 V'de 12.9 V'a benzer.) 5 V zener yerleştirebilirsiniz R2'ye paralel olarak diyotun yapılması ve bunun zener'in 5 V değerinden daha yüksek olan herhangi bir voltajı kesmesi gerekir, ancak bir zener voltajı akımla değişir ve düşük giriş akımında dirençler size düşük voltajlarda keser. Arduino'nun girişi ve 5 V kaynağı arasında bir Schottky diyot olması daha iyi bir çözüm olacaktır. Ardından, yaklaşık 5,2 V'den daha yüksek herhangi bir giriş voltajı, Schottky diyotun çalışmasını sağlar ve giriş voltajı 5,2 V ile sınırlandırılır. Bunun için gerçekten bir Schottky diyotuna ihtiyacınız vardır, ortak bir PN diyotunun 0 değeri vardır.
Daha iyi
Michael'ın optocoupler biraz daha pahalı olsa da, iyi bir alternatif. Sıklıkla girişi çıkıştan izole etmek için bir optocoupler kullanacaksınız, ancak burada istediğiniz gibi bir girişi korumak için de kullanabilirsiniz.
Nasıl çalışır: giriş akımı, fototransistör üzerinden bir çıkış akımına neden olan dahili kızılötesi LED'i yakar. Akım Aktarım Oranı için giriş ve çıkış akımı arasındaki oran TO olarak adlandırılır . CNY17 4 mA çıkışı için 10 mA giriş gerekir aracı en az% 40 TO sahiptir. 10 mA girişi için gidelim. O zaman R1 (12 V - 1.5 V) / 10 mA = 1 kΩ olmalıdır. Çıkış direnci 4 mA'da 5 V düşüşe neden olacak, o zaman 5 V / 4 mA = 1250 Ω olmalıdır. Biraz daha yüksek bir değere sahip olmak daha iyidir, voltaj yine de 5 V'tan daha fazla düşmez. 4.7 kΩ, akımı yaklaşık 1 mA ile sınırlar.
Vcc, Arduino'nun 5 V'luk kaynağıdır, Vout, Arduino'nun girişine gider. Girişin tersine çevrileceğini unutmayın: 12 V varsa düşük, olmadığında yüksek olur. Bunu istemiyorsanız, optocoupler'in çıktısının ve çekme direncinin konumunu değiştirebilirsiniz.
düzenleme 2
Optocoupler çözümü aşırı gerilim sorununu nasıl çözmüyor? Direnç bölücü orantısaldır: çıkış gerilimi girişin sabit bir oranıdır. 12 V girişinde 5 V çıkışı hesapladıysanız, 24 V giriş 10 V verir. Tamam değil, bu nedenle koruma diyot.
Optocoupler devresinde, Arduino'nun giriş pinine bağlanan sağ tarafın 5 V'tan daha yüksek bir voltaj olmadığını görebilirsiniz. Eğer optocoupler açıksa, transistör akımı çekecektir, yukarıdaki örnekte 4 mA kullandım. 1,2 kΩ, Ohm Kanunu nedeniyle (mevcut zaman direnci = voltaj) 4,8 V'luk bir voltaj düşmesine neden olur. Ardından çıkış voltajı direnç boyunca 0,2 V (Vcc) - 4,8 V olacaktır, bu düşük bir seviyedir. Akım düşük olursa, voltaj düşüşü de daha küçük olacaktır ve çıkış voltajı yükselecektir. Örneğin 1 mA akım 1,2 V düşüşe neden olur ve çıkış 5 V - 1,2 V = 3,8 V olur. Minimum akım sıfırdır. O zaman direnç boyunca bir voltajınız olmaz ve çıkış 5 V olur.
Giriş voltajı çok yükselirse ne olur? Yanlışlıkla 12 V yerine 24 V batarya bağlarsınız. Sonra LED akımı iki katına çıkar, 10 mA - 20 mA oluşturur. % 40 TO, hesaplanan 4 mA yerine 8 mA çıkış akımına neden olur. 1,2 kΩ dirençten 8 mA, 9,6 V düşüş olacaktır. Ancak negatif olacak bir 5 V'luk tedarikten bu imkansız; Burada 0 V'den daha düşük olamazsınız. Bu yüzden optocoupler 8 mA çekmek isterken, direnç bunu sınırlayacaktır. Üzerindeki maksimum akım, 5 V'nin tam karşısında olduğu zamandır. Çıkış daha sonra gerçekten 0 V olacak ve akım 5 V / 1,2 kΩ = 4.2 mA olacaktır. Böylece, hangi akım kaynağını bağlarsanız besleyiniz, bundan daha yüksek olmayacak ve voltaj 0 V ile 5 V arasında kalacak.
Eğer aşırı gerilimine bekliyorsanız için o kıyafetleri, üstelik sen Optokupler LED akımı artmış işleyebilir olmadığını kontrol etmek gerekir, ancak 20 mA çoğu optokuplörleri için bir sorun olmayacaktır (genellikle 50 mA maksimum puan konum) ve çift muhtemelen IRL olmayacak olan giriş voltajı.