RoboRIO Kesintisi ve Mevcut Çekişi Anlama

Yüksek akım çekme olayları sırasında kendisini ve radyo gibi diğer kontrol sistemi bileşenlerini korumak için ve akü voltajının korunmasına yardımcı olmak için roboRIO, aşamalı bir kesinti koruma şeması içerir. Bu makale, bu şemayı açıklar, sistem akım çekmesi için proaktif olarak planlama hakkında bilgi sağlar ve robotunuzda meydana gelirse elektrik kesintisi olaylarını anlamak için PDP’nin yeni işlevselliğinin ve DS Günlük Dosyası Görüntüleyicisinin nasıl kullanılacağını açıklar.

roboRIO Kesinti Koruması

RoboRIO, batarya voltajını tehlikeli derecede düşük çeken büyük akım durumunda cihaz sıfırlamalarını önlemek ve giriş voltajını kendisine ve diğer kontrol sistemi bileşenlerine korumaya çalışmak için aşamalı bir kesinti koruma şeması kullanır.

Aşama 1 - 6V çıkış düşüşü

** Voltage Trigger - Gerilim Tetikleyici - 6,8 V **

Voltaj 6.8V’nin altına düştüğünde, PWM pinlerindeki 6V çıkış düşmeye başlayacaktır.

Aşama 2 - Çıkışı Devre Dışı Bırakma

** Voltage Trigger - Gerilim Tetikleyici - 6,3V **

Voltaj 6,3V’un altına düştüğünde, kontrol cihazı voltaj düşürme koruma durumuna girecektir. Aşağıdaki göstergeler bu durumun ortaya çıktığını gösterecektir:

  • RoboRIO üzerindeki güç LED’i kehribar rengine dönecektir

  • Sürücü istasyonundaki voltaj göstergesinin arka planı kırmızıya dönecek

  • Sürücü İstasyonundaki mod ekranı ‘’Gerilim Kesintisi’’ olarak değişecektir

  • DS’nin CAN/Güç sekmesi 12V arıza sayacını 1 artıracaktır.

  • DS, DS günlüğüne bir kesinti olayı kaydeder.

Denetleyici, pil voltajını korumaya çalışmak için aşağıdaki adımları atacaktır:

  • PWM çıkışları devre dışı bırakılacaktır. Nötr değerini ayarlamış olan PWM çıkışları için (WPILib’deki tüm motor kontrolörleri), çıkış devre dışı bırakılmadan önce tek bir nötr puls gönderilecektir.

  • 6V, 5V, 3.3V User Rails devre dışı hale getirilir. (Bu, PWM pinlerindeki 6V çıkışları, DIO konektör bankasındaki 5V pinleri, Analog bankadaki 5V pinleri, SPI ve I2C bankasındaki 3.3V pinleri ve MXP bankasındaki 5V ve 3.3V pinlerini içerir)

  • Çıkışlar olarak yapılandırılan GPIO, High-Z’ye gider

  • Röle Çıkışları devre dışı bırakılır (düşük sürülür)

  • CAN tabanlı motor kontrolörlerine açık bir devre dışı bırakma komutu gönderilir

Kontrol cihazı, voltaj 7,5V’nin üzerine çıkana veya voltaj kesintisinin bir sonraki aşaması için tetiğin altına düşene kadar bu durumda kalır

Aşama 3 - Cihaz Karartması

Voltage Trigger - Gerilim Tetikleyici - 4.5V

4.5V’nin altında cihaz elektrik kesintisine uğrayabilir. Kesin voltaj bundan daha düşük olabilir ve cihazdaki yüke bağlıdır.

Cihaz normal önyükleme sırasına başlayacağı zaman, kontrol cihazı voltaj 4,65V’nin üzerine çıkana kadar bu durumda kalacaktır.

Kesintiyi Önleme - Proaktif Akım Çekiş Planlaması

Bir kesinti durumundan kaçınmanın anahtarı, robotunuzun mevcut çekimini proaktif olarak planlamaktır. Bunu yapmanın en iyi yolu, bir çeşit güç bütçesi yaratmaktır. Bu, güç kullanımını ve dolayısıyla bir maçın sonundaki pil durumunu en iyi şekilde anlamak için hem tahmini akım çekimini hem de süreyi ölçmeye çalışan karmaşık bir belge olabilir veya mevcut kullanımın basit bir envanteri olabilir. Bunu yapmak için:

  1. Establish the max “sustained” current draw (with sustained being loosely defined here as not momentary). This is probably the most difficult part of creating the power budget. The exact current draw a battery can sustain while maintaining a voltage of 7+ volts is dependent on a variety of factors such as battery health (see this article for measuring battery health) and state of charge. As shown in the NP18-12 data sheet, the terminal voltage chart gets very steep as state of charge decreases, especially as current draw increases. This datasheet shows that at 3CA continuous load (54A) a brand new battery can be continuously run for over 6 minutes while maintaining a terminal voltage of over 7V. As shown in the image above (used with permission from Team 234s Drive System Testing document), even with a fresh battery, drawing 240A for more than a second or two is likely to cause an issue. This gives us some bounds on setting our sustained current draw. For the purposes of this exercise, we’ll set our limit at 180A.

  2. Robotunuzun aktarma organı, manipülatör, ana oyun mekanizması vb. Gibi farklı işlevlerini listeleyin.

  3. Mevcut akımınızı bu fonksiyonlara atamaya başlayın. Muhtemelen çok çabuk tükendiğini göreceksin. Pek çok takım, tekerleklerini motor başına 40-50A akım çekişinde kaydırmak için yeterli torka sahip olacak şekilde aktarma organlarını donatıyor. Aktarma sisteminde en çok yiyen, hatta güç bütçemizi aşan 4 motorumuz varsa! Bu, birkaç senaryoyu bir araya getirmemiz ve aynı anda hangi işlevlerin kullanılabileceğini (ve kullanılması gerektiğini) anlamamız gerekebileceği anlamına gelir. Çoğu durumda, bu, robotunuz aktarma organlarını maksimize ederken (bir şeyi itmeye çalışmak gibi) diğer işlevlerin mevcut çekimini gerçekten sınırlamanız gerektiği anlamına gelir. Bu alternatif senaryolardan bazıları için bir aktarma organının mevcut “sürüş” gereksinimlerini kıyaslamak biraz daha karmaşıktır çünkü motor sayısı, robot ağırlığı, vites ve verimlilik gibi birçok faktöre bağlıdır. Diğer işlevler için akım sayıları, işlevi tamamlamak için gereken gücü hesaplayarak ve verimliliği tahmin ederek (mekanizma tasarlanmamışsa) veya motor üzerindeki tork yükünü belirleyerek ve akım çekimini belirlemek için tork-akım eğrisini kullanarak yapılabilir.

  4. Analizinizde karşılıklı olarak birbirini dışlayan işlevler belirlediyseniz, yazılımda dışlamayı zorunlu kılmayı düşünün. Ayrıca, çıktı limitleri veya istisnaları dinamik olarak sağlamak için (örneğin, aktarma organı akımı X’in üzerinde olduğunda bir mekanizma motorunu çalıştırmayın veya yalnızca motora izin vermeyin), robot programınızda PDP’nin akım izlemesini (aşağıda daha ayrıntılı olarak ele alınmıştır) kullanabilirsiniz. aktarma organı akımı Y’nin üzerinde olduğunda çıkışın yarısına kadar çalıştırın.

PDP kullanarak Akım Çekimini Ölçme

FRC ® Driver Station, günlüğe kaydedilen verileri PDP’den çıkarmak ve DS PC’nize kaydetmek için roboRIO ve PDP ile birlikte çalışır. Bu veriler için bir görüntüleyici hala geliştirme aşamasındadır.

Bu arada ekipler, mekanizmalar geliştirilirken robotlarındaki mevcut çizimi görselleştirmek için robot kodunu ve manuel günlük kaydını, bir LabVIEW ön panelini veya SmartDashboard’u kullanabilir. LabVIEW’de, Güç paletinde bulunan PDP Kanalı Akım VI’yı kullanarak bir PDP kanalındaki akımı okuyabilirsiniz. C ++ ve Java ekipleri için Power Distribution Panel sınıfını Güç Dağıtım Paneli makalesinde açıklandığı gibi kullanın. Bu bilgilerin zaman içinde grafiğini çizmek en kolayı bir LV Ön Panel ile veya bir Grafik göstergesi kullanarak SmartDashboard ile güç bütçenizi karşılaştırmak ve güncellemek için bilgi sağlayabilir veya beklendiği gibi çalışmayan mekanizmaları bulabilir (yanlış yük nedeniyle, hesaplama, yanlış verimlilik varsayımları veya bağlama gibi mekanizma sorunları).

Kesintileri Tanımlama

Bir voltaj düşmesini belirlemenin en kolay yolu, DS’nin CAN \ Güç sekmesine tıklamak ve 12V hata sayısını kontrol etmektir. Alternatif olarak, Driver Station Log Viewer’ı kullandıktan sonra Driver Station Log’u gözden geçirebilirsiniz. Günlük, yukarıdaki görüntüdeki gibi parlak turuncu bir çizgi ile kesintileri belirleyecektir (bu kesintilerin bir tezgah üstü beslemeyle indüklendiğini ve tipik bir FRC robotundaki kesintilerin süresini ve davranışını yansıtmayabileceğini unutmayın).