Hi
Poste den Schaltplan als Grafik, nicht jeder (ich z.B.) benutzt Eagle.
Der Controller bekommt seine I2C Adresse nicht über Beschaltung, sondern per Software.
Hallo Leute,
habe noch nicht so viel Ahnung von Elektronik. Habe gerade meinen ersten Schaltplan einigermassen fertiggestellt und haette dazu gerne Feedback von alten Hasen.
Zielsetzung:
Servomotoren in Abhaengigkeit vom Vorgaenger schalten. Nur der Schubservo ist interessant fuer den Nachfolger.
PIN4 HI: Achtung, jetzt kommen neue Daten vom Vorgaenger!
PIN2: Datenleitung fuer Daten vom Vorgaenger.
Auf einen Quarz habe ich verzichtet. Ich denke der billigste ATTiny tut es auch mit dem internen Oszillator. Auch wenn der ATTiny 11 kein ISP hat, werde ich ihn mit einem STK500 bespielen koennen, so nehme ich an. Wichtig ist mir, dass die Servosteuerungen autonom sind, d.h. das keine Zentraleinheit alle Servos steuert.
Was sagt ihr zu dem Schaltplan? Wie wuerde ich da jetzt Abblockkondensatoren fuer den IC einbauen? Habe ich irgendeinen gravierenden Fehler gemacht?
Was ich noch nicht kapiere: Wie wuerde ich einen I2C Bus integrieren, so dass die Schaltung eine ansteuerbare Slave-ID bekommt?
Bitte gebt mir Feedback! Das waere sehr nett von euch!
Eagle Schematics anbei.
Hi
Poste den Schaltplan als Grafik, nicht jeder (ich z.B.) benutzt Eagle.
Der Controller bekommt seine I2C Adresse nicht über Beschaltung, sondern per Software.
Hallo Del,
danke fuer dein Feedback!
OK, werde ich heute Abend machen und mich in Zukunft dran halten.Zitat von Del
Ja, schon klar, aber dafuer muss der Controller ja I2C faehig sein und am Bus haengen! Wenn der Controller nicht I2C faehig ist, muss ich dann einen zweiten, I2C-faehigen, zur Vorverarbeitung vorne ranstellen? Wenn ja, welchen guenstigen Baustein wuerdet ihr dafuer empfehlen?Zitat von Del
Und mein Hauptboard hab ich ja noch gar nicht designed, sollte ich vielleicht auch nicht selber machen, will ich aber unbedingt. Da muss ja dann ein I2C Bus drauf. Was brauche ich dann dafuer? 2 Leitungen, eine (bis 3) Clocks und einen Bus-Controller?
Alle Controller der Atmega/Attiny Reihe können I2C, du brauchst nur 2 freie Pins. Falls ja kannst du sie direkt am I2C Bus anschliessen. Manche bringen dafür schon alles mit, bei manchen muss man das per Software lösen.
Wozu 3 Clocks?
Wozu einen Bus-Controller? Das übernimmt dein Master µC.
Das einzige was du noch brauchst sind Pull-Up Widerstände.
Wirklich? Wo stecke ich denn dann beim ATTiny 11L SCL und SDA an? Das ist doch sicher nicht egal, an welche PINs ich die anschliesse, oder doch?Zitat von Del
Naja, ich dachte ich brauche 3 Clocks um die möglichen Taktraten von I2C zu erzeugen und einen Bus-Controller für das Protokoll, als Vermittler quasi. Wie lege ich bei I2C fest, welcher der Master µC ist?Zitat von Del
Aber was mir noch wichtiger ist, für alle die Eagle haben: Ist der oben angehängte Schaltplan formal korrekt? Ist es ok, wie der Datenanschluss realisiert wurde oder sollte das dann besser über I2C laufen? Wo baue ich die Abblockkondensatoren ein? Direkt vor den IO-Pins des IC?
Sorry falls die Fragen dumm sind oder langweilen, aber für mich ist das alles noch ein Buch mit 7 Siegeln. Ich recherchier ja viel, aber trotzdem bleiben viele Fragen auch nach Studium der Wiki offen.
Doch es ist egal, guck dir mal an was ein Software-I2C ist.Wirklich? Wo stecke ich denn dann beim ATTiny 11L SCL und SDA an? Das ist doch sicher nicht egal, an welche PINs ich die anschliesse, oder doch?
Nein brauchst du nicht, einer reicht.
Der Hauptcontroller übernimmt alle Aufgaben, welche Master ist gibst du per Software vor. Die Slaves senden an eine Master ID, wo der genau in deinem Bussystem sitzt ist egal.
Weisst du überhaupt was I2C ist??
Dort steht es doch ganz genau.
Der Abblockkondensator kommt zwischen Vcc und GND, möglichst nah an den Controller.
Ah, jetzt verstehe ich! Der Chip braucht nur zwei Leitungen und ich spiele dann die I2C-Betriebssoftware auf, also quasi das Protokoll.Zitat von Del
Ich habe mir das durchgelesen, aber richtig verstanden habe ich es jetzt erst! Ich dachte erst, der I2C muss in Hardware realisiert werden. Also ich habe verschiedene ICs, die alle die I2C Software drauf haben. Einer startet die Show, also initiiert das Protokoll und die anderen melden dann ihre Slave-IDs. Stimmt das so in etwa?Zitat von Del
Danke nochmal für die Erinnerung. Das sind sehr viele Informationen für mich in den letzten Tagen und das hatte ich wieder vergessen. Werde in Zukunft wieder mehr nachschlagen.Zitat von Del
Du hast mir auf jeden Fall schon sehr geholfen (denke ich).
Wenn du den Schaltplan als Grafik postest, könnte ich dir vielleicht noch was dazu sagen.
Danke für das Angebot, Del, das kann ich aber erst heute Abend tun, wenn ich wieder daheim bin.
Ich denke dann aber, dass für die geplanten "intelligenten" Beine I2C nicht der richtige Bus ist, da ich eine Art Slave-To-Slave Kommunikation brauche, also die Daten einfach an den nächsten weiter reiche. Oder kann man beim I2C Bus erkennen, wer physisch der nächste oder vorherige Slave in der seriellen Leitung ist? Ich will nämlich nicht jedes Bein vorher konfigurieren müssen und welche hinzufügen, bzw. wegnehmen, wie ich möchte.
Lesezeichen