Keyestudio 16 Kanallı Servo Sürücü Kartı / Arduino için 12-BIT PWM-12C Arayüzü ile

207,07 TL
Marka
Stok Kodu
KS0065
22,09 TL den başlayan taksitlerle!
Aynı Gün Kargo
Ürün Paylaş :

16-kanal 12-bit PWM Servo Sürücü - I2C Arayüzü

thumb

Tanıtım

Karizmatik bir robot yapmak, belki bir altı-ayaklı robot veya belki sadece hareketli parçaları olan bir sanat eseri yapmak istiyorsunuz. Ya da belki de hassas PWM çıkışlı çok sayıda LED kullanmak istiyorsunuz. O zaman mikrodenetleyicinizin sınırlı sayıda PWM çıkışı olduğunu fark edersiniz! Peki ne yapabilirsiniz? Pes edebilir veya bu kullanışlı PWM ve Servo sürücü breakout kartı alabilirsin.
Bu çipi gördüğünüzde, bunun mükemmel bir eklenti olacağını hemen anlarsınız. Sadece iki pin kullanarak, 16 serbest çalışan PWM çıkışını kontrol eder! Bu breakout karttan maksimum 62 adet zincirleme bağlayarak 992 PWM çıkışını kontrol edebilirsiniz (çok görkemli olacağına hiç şüphe yok).
Dahili saate sahip i2c kontrollü PWM sürücüsüdür. Böylelikle, TLC5940 ailesinden farklı olarak tamamen serbest çalışabilir ki bu, mikrodenetleyicinizi bağlayıp, sürekli sinyal göndermeniz gerekmediği anlamına gelir!
5V uyumludur, yani 3.3V'luk bir mikrodenetleyiciden kontrol edebilirsiniz ve 6V çıkışa kadar güvenle sürebilirsiniz (bu, 3.4 + ileri gerilimli beyaz veya mavi LED'leri kontrol etmek istediğinizde iyidir)

6 adres seçme pini sayesinde bunlardan 62'sini tek bir i2c veriyoluna, toplam 992 çıkışa bağlayabilirsiniz, ki bu çok fazla servo veya LED kontrolü demektir.
Ayarlanabilir frekans PWM, yaklaşık 1,6 KHz'e kadardır.
Her çıkış için 12 bit çözünürlük sunar. Servolar için bu, 60Hz güncelleme hızında yaklaşık 4μs çözünürlük demektir.
Yapılandırılabilir itme-çekme veya açık kollektör çıkışı
Tüm çıkışları hızla devre dışı bırakmak için çıkış etkinleştirme pini

Bu sevimli çipi bir kaç güzel ekstrayla bir breakout karta koyduk.
Güç girişi için terminal bloğu (veya kenardaki 0,1 inçlik kesimleri kullanabilirsiniz)
Terminal bloğu girişinde ters kutup koruması
Yeşil renk güç-iyi LED'i
4'lü gruplar halinde 3 pinli konnektörler, böylece bir seferde 16 servoyu takabilirsiniz (Servo soketler 0,1 inç'ten biraz daha geniştir, böylece yan yana en fazla 4 tane takabilirsiniz)
"Zincirleme yapılabilen" tasarım
ihtiyaç halinde V+ hattına büyük bir kapasitör yerleştirmek için bir nokta
Tüm çıkış hatlarında LED'lerin sürüşünü basitleştirmek ve koruma amaçlı 220 ohm direnç
6 adres seçme pini için lehim köprüleri

Özellikler

  • Boyutlar (başlık veya terminal bloğu bağlantısız iken) (2.5 inç x 1 inç x 0.1 inç) (62.5mm x 25.4mm x 3mm)
  • Ağırlık (3x4 başlık ve klemens ile): 9 gram
  • Bu anakart/yonga, 0x60-0x80 arasında, jumper ile seçilebilen I2C 7-bit adresini kullanır

Bağlantı Şeması

thumb

Örnek Kod

https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library

#include 
#include 
// called this way, it uses the default address 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
// you can also call it with a different address you want
//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x41);

// Depending on your servo make, the pulse width min and max may vary, you 
// want these to be as small/large as possible without hitting the hard stop
// for max range. You'll have to tweak them as necessary to match the servos you
// have!
#define SERVOMIN  150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX  600 // this is the 'maximum' pulse length count (out of 4096)

// our servo # counter
uint8_t servonum = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("16 channel Servo test!");

  pwm.begin();
  
  pwm.setPWMFreq(60);  // Analog servos run at ~60 Hz updates
}

// you can use this function if you'd like to set the pulse length in seconds
// e.g. setServoPulse(0, 0.001) is a ~1 millisecond pulse width. its not precise!
void setServoPulse(uint8_t n, double pulse) {
  double pulselength;
  
  pulselength = 1000000;   // 1,000,000 us per second
  pulselength /= 60;   // 60 Hz
  Serial.print(pulselength); Serial.println(" us per period"); 
  pulselength /= 4096;  // 12 bits of resolution
  Serial.print(pulselength); Serial.println(" us per bit"); 
  pulse *= 1000;
  pulse /= pulselength;
  Serial.println(pulse);
  pwm.setPWM(n, 0, pulse);
}

void loop() {
  // Drive each servo one at a time

  Serial.println(servonum);
  for (uint16_t pulselen = SERVOMIN; pulselen < SERVOMAX; pulselen++) {
    pwm.setPWM(servonum, 0, pulselen);
  }
  delay(500);
  for (uint16_t pulselen = SERVOMAX; pulselen > SERVOMIN; pulselen--) {
    pwm.setPWM(servonum, 0, pulselen);
  }
  delay(500);

  servonum ++;
  if (servonum > 15) servonum = 0;
}
Bu ürüne ilk yorumu siz yapın!
Bu ürünün fiyat bilgisi, resim, ürün açıklamalarında ve diğer konularda yetersiz gördüğünüz noktaları öneri formunu kullanarak tarafımıza iletebilirsiniz.
Görüş ve önerileriniz için teşekkür ederiz.
Keyestudio 16 Kanallı Servo Sürücü Kartı / Arduino için 12-BIT PWM-12C Arayüzü ile Uygun fiyatlar ile Keyestudio 16 Kanallı Servo Sürücü Kartı / Arduino için 12-BIT PWM-12C Arayüzü ile Robot Elektronik'te. Kampanyalı satışlarımız hakkında bilgi almak için tıklayın! KS0065
Keyestudio 16 Kanallı Servo Sürücü Kartı / Arduino için 12-BIT PWM-12C Arayüzü ile

Tavsiye Et

*
*
*
IdeaSoft® | E-Ticaret paketleri ile hazırlanmıştır.