SSC-32, kann ich und wie kann ich es programmieren

Ein Freund hat mir kürzlich dieses Board gegeben, das er noch nie benutzt hatte und nichts davon wusste. Es war ein USB-zu-Seriell-Kabel mit der von mir installierten Treibersoftware angeschlossen und es war ein Servomotor enthalten. Frage 1 - ist dies ein Mikrocontroller (ich weiß, dass er etwas mit Servomotoren zu tun hat, aber ist er programmierbar?)? Frage 2 - wenn dies programmierbar ist, wie kann ich es programmieren (welche Sprache, welche Tools) und wenn ja, kann ich es vom Computer trennen und es trotzdem laufen lassen (Flash-Speicher oder ähnliches) Und zuletzt, hat dies Eingaben ( digital, analog), damit ich Aktionen basierend auf den Eingaben ausführen kann? Ich bemerke einige Stifte in der Mitte, die nicht so aussehen, als wären sie für Servos.

Antworten (3)

Der SSC-32 ist ein dedizierter Servomotor-Controller mit einem darin eingebetteten Mikrocontroller, dem ATmega168 .

Antwort 1: Es hat einen Mikrocontroller und ist somit ein Mikrocontroller-Board.

Der Mikrocontroller auf diesem kann neu programmiert werden - ICSP-Pins sind auf der Platine zugänglich, jedoch nicht in einem praktischen ICSP-Header. Es ist jedoch vorprogrammiert mit serieller Schnittstelle und Servosteuerungslogik, eine Änderung der Programmierung wird den Zweck dieser Platine beseitigen.

Antwort 2: Sie können es in C mit AVR-GCC oder einem der vielen anderen Programmiertools programmieren, die Atmel ATmega-Mikrocontroller unterstützen. Sie benötigen außerdem ein Programmiergerät, das ICSP unterstützt.

Ja, das Board kann betrieben werden, wenn es vom Computer getrennt wird, solange es mit einer geeigneten Stromquelle versorgt wird. Der Mikrocontroller enthält intern Flash-Speicher sowie RAM- und EEPROM-Speicher. Einzelheiten finden Sie im oben verlinkten Datenblatt.

Zuletzt: Der Mikrocontroller hat sowohl analoge als auch digitale Ein-/Ausgangspins, aber sie sind möglicherweise nicht alle bequem auf Pins auf der Platine aufgebrochen. Also ja, wenn Sie die Servocontroller-Funktion des Boards opfern, können Sie damit Aktionen basierend auf Eingaben ausführen.

Diese Pins, die Sie in der Mitte bemerken, sind tatsächlich Eingangspins, die von der Standardprogrammierung verwendet werden, um servobezogene Funktionen auszulösen.

Aber kann ich es mit seiner seriellen Schnittstelle programmieren?
Die serielle Schnittstelle dient zum Senden von Befehlen wie im Handbuch des Servocontrollers definiert - nicht zum Programmieren.
Möglicherweise können Sie einen Arduino-Bootloader flashen und als solchen verwenden, der ATmega168 ist sicherlich der Aufgabe gewachsen. Sie werden höchstwahrscheinlich einen Hochspannungsprogrammierer benötigen, aber das klingt komplizierter, als es wirklich ist.
@jippie Wenn OP über den Programmierer und die Toolchain für die HV-Programmierung oder für die ICSP-Bootloader-Installation verfügt, sind sie bereits in der Lage, das Gerät zu programmieren, sodass die Abfrage zu diesem Zeitpunkt bereits angemessen gelöst ist.

Haftungsausschluss: Dies ist ein schamloser Plug für einen Freund/ehemaligen Arbeitgeber.

Wie Anindo betont, können Sie den SSC-32 nicht neu programmieren, ohne seine normale Servocontroller-Funktionalität zu löschen. Wenn Sie es mit dem ISCP-Header programmieren, ist es nur eine ATMega168-Karte mit Headern, die für Servoanschlüsse ausgebrochen sind, aber Sie haben den Servosteuercode gelöscht. Der Servotor32 ist jedoch genau dafür ausgelegt. Der integrierte Mikrocontroller ist ein ATMega32U4, auf dem der Arduino Leonardo Bootloader läuft.

Es verwendet eine Menge CPU-Zeit (und den SPI-Bus) für den Servosteuerungsteil, aber die meisten Ersatz-E / A sind ausgebrochen, und Sie können Code in der normalen Arduino IDE schreiben, die neben der Servosteuerungsbibliothek arbeitet.

Sowohl der SSC-32 als auch der Servotor32 funktionieren hauptsächlich, indem sie Befehle über einen seriellen UART annehmen (USB auch für den Servotor32 anstelle des großen alten DB-9-Anschlusses). Der Servotor32 UART ist am E/A-Header herausgebrochen und kann mit einem externen Bluetooth-Modul (separat erhältlich) verwendet werden.

Das Board ist ein Servocontroller auf Basis des Atmel ATMEGA168. Tools und die entsprechenden Dokumente finden Sie hier .

Das Board selbst hat eine Dokumentation

Ich sehe keine ADCs oder sonstiges. Schauen Sie im Handbuch nach, ob es über USB mit Strom versorgt wird oder ob es anderweitig mit Strom versorgt werden kann (sollte es sein).

Aber ich kann es immer noch nur mit seiner seriellen Schnittstelle programmieren?