-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: I2C "Sklave" mit ATTiny 2313

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    10.10.2007
    Alter
    41
    Beiträge
    45

    I2C "Sklave" mit ATTiny 2313

    Anzeige

    Hallo zusammen,
    ich möchte mir eine Platine zum Experimentieren mit dem ATTiny 2313 machen und habe dazu einen Schaltplan entworfen. Es soll nicht nur der ATTiny drauf sein, sondern auch zwei Taster und ein paar LEDs. Damit soll das ganze dann als Porterweiterung und/oder als Co-Controller verwendet werden können. Die einzelnen Pins sollen über Buchsenleisten ebenfalls erreichbar sein, so sind weitere Versuchsaufbauten möglich.

    Was haltet Ihr von dem Schaltplan? Vor allem zu den Widerstände an den beiden I2C-Buchsen würde mich eure Meinung interessieren!

    LG, Timo
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Schaltplan_I2C-Slave.jpg  

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Hallo Timo !

    Nun kann ich meinen schlechten Augen sei wohl gedankt, keine Widerstände bzw I2C Buchsen erkennen so dierekt in dem Foto/Schaltung. Was mir auf Anhieb auffiel waren fehlende Vorwiderstände bei den LEDs, oder hast Du diese dann in der Anschaltung/Verdrahtung vorgesehen ?

    Gruss
    Gerhard

    Nachtrag: habe jetzt da was "Widerstand" wohl erkennen können, aber so richtig nich ...nee, nee,nee iss nix für die schlechten Augen meines Vaters Sohn's

    Also ich habe an SDA/SCL je einen 4,7K gegen +5V geschaltet, bei geringer Entfernung geht auch ein 10k, was meine Erfahrungen so sagen.
    Geändert von oderlachs (15.04.2014 um 10:08 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Die Taster müssen anders angeschlossen werden und auch die Widerstände der SDA und SCL Leitung müssen anders verbunden werden.

    Taster: Pullup oder Pulldown (etwas Stromsparender) ist egal, aber das Schaltbild sollte so aussehen: http://www.rn-wissen.de/index.php/Pu...own_Widerstand
    Nur so lässt sich ein sauberer High und Low Pegel erreichen. Deine Schaltung wird gar nicht funktionieren, denn sieh zieht den I/O Kanal von GND über einen Widerstand erneut auf GND! (kommt auf die interne Verschaltung des µC an).

    I²C: Pullup d.h. sie gehen auf VCC und sind nicht seriell in die Datenleitung integriert (das würde nur eine Dämpfung bewirken). Siehe I2C Referenzdokumente

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    10.10.2007
    Alter
    41
    Beiträge
    45
    Danke für die Antworten. Das mit der Bildgröße tut mir leid, aber die maximale Breite für Anhänge ist hier 800 Pixel und somit wird das Bild "geschrumpft". Ich habe das Bild unter diesem Link abgelegt: http://timogruss.de/wordpress/wp-con...I2C-Slave2.png

    Jetzt erkläre ich aber mal kurz, was es mit den Widerständen auf sich hat:

    Was die Taster betrifft, so sind das keine missglückten Pullup-Widerstände, sondern eher Strombegrenzer. Externe Pullups habe ich hier nicht verwendet, da ich die internen Pullups des ATTiny benutzen möchte. Stellt euch vor, es werden die Pins Int0 und Int1 extern über die Buchsenleiste beschaltet, dann könnte es ja sein, dass auf Int0 Vcc liegt. Drücke ich jetzt versehentlich den Taster S1, würde dies einen Kurzschluss verursachen. R2 begrenzt den Strom in diesem Fall auf ca. 30mA.

    Die Widerstände zwischen den I2C-Leitungen sind auch keine Pullups. Diese liegen auf dem Hauptmodul (da habe ich 10k Widerstände drauf) und werden dem Bus von dort zugeschaltet. Die hier in Reihe geschalteten Widerstände sind eher als Schutz und "Trennung" zwischen Busleitungen und Ein-/Ausgängen des ATTiny zu verstehen. Dabei muss ich aber zugeben, dass diese Idee nicht auf meinem Mist gewachsen ist und ich auch schon Schaltpläne ohne diese Widerstände gesehen habe.

    Bei den LEDs habe ich mir ein Symbol gezeichnet für Widerstandsnetzwerke. Das sollte ich besser anders machen, eher als Widerstände die nebeneinander angeordnet sind und einen Kasten drumherum haben. Das wäre wesentlich besser zu verstehen! Aber mit anderen Worten, die haben alle drei einen Vorwiderstand von 1k.

    Macht der Plan mit diesen Info in euren Augen mehr Sinn? Wo seht ihr noch Verbesserungspotential?

    Danke nochmals, Timo
    Geändert von Reissdorf (15.04.2014 um 12:59 Uhr) Grund: Erklärung LED-Widerstände hinzugefügt

  5. #5
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Ich bleib dabei und würde die Taster trotzdem über PullUp oder Pulldown verschalten, das ergibt einfach schönere Pegel am I/O Eingang. Die Strombegrenzung hat der µC ja schon intern eingebaut.

    Als Schutz für den I2C Bus würde man Optokoppler nehmen aber keine Widerstände, die verfälschen das Signal und dann ist die Flanke nicht mehr so schön. Auch hier halte ich nicht viel davon. Meine bisherigen Boards haben nie derartiges gebraucht und überleben bisher sehr gut.

    Die Resetschaltung sieht mir auch ein wenig komisch aus, aber da habe ich jetzt nicht mehr die Standardlösung vor Augen.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Hier mal ein Ideenspender - allerdings für den Attiny26

    Mit Schaltplänen habe ich es nicht so, aber aus dem Layout kann man ja auch Anschaltung erkennen.Klicke auf die Grafik für eine größere Ansicht

Name:	attiny26 testb..jpg
Hits:	29
Größe:	138,1 KB
ID:	27999
    Falls Jemand das Layout downloaden möchte?
    Ziemlich am Ende ist das endgültige Layout -

  7. #7
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Aus dem Layout schon die Funktionsweise zu erkennen finde ich ziemlich schwierig . Aber es ist wunderschön layoutet, diese Leiterbahnenführung lässt großes künstlerische Talent erkennen. :-D

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405


  9. #9
    Benutzer Stammmitglied
    Registriert seit
    10.10.2007
    Alter
    41
    Beiträge
    45
    Erstmal Danke für die vielen Tipps. Ich habe versucht diese in meinen neuen Schaltplan einfließen zu lassen. Schaut mal in die angehängte PDF-Datei.
    Die Taster haben jetzt Pulldowns und der I2C-Bus hängt direkt am ATTiny ohne die Widerstände. Was die Reset-Schaltung angeht, so war das ziemlich dämlich. Ich hab den Taster komplett vergessen Der ist aber jetzt mit auf dem Board.
    Darüber hinaus habe ich auch mal einen Entwurf für eine entsprechende Leiterplatte gemacht. Es soll ca. 40x50mm groß sein.

    Der ATTiny 2313 hat einen 20MHz Quarz und eine 6-poligen ISP-Wannensteckerbuchse. Außerdem sind 3 LEDs und 2 Taster auf dem Board (zum Testen und erste kleine Projekte). Jeder Pin des ATTinys ist auf eine Buchsenleiste geführt. Mir war auch noch wichtig zwei I2C-Buchsen auf dem Board zu haben, sodass der Bus zu einem weiteren Modul geführt werden kann.

    Über euer Feedback wäre ich echt dankbar.

    LG, Timo
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken GBI2CSlave-V1-BRD.jpg  
    Angehängte Dateien Angehängte Dateien

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Schöne Skitze, aber ich habe die I2C PullUp Widerstände nicht gefunden... auch würde ich die beiden Int-Eingänge nicht voll auf +5V legen, sondern dort 4k7 (für 1mA Strombegenzung) so einfügen..
    Ein jeder hat so seine Eigenheiten auch beim Schaltungsentwurf..kann ja durchaus auch falsch mit meiner Theorie liegen, aber bislang habe ich das so gehandelt...

    Hoffe ja das ich alles erkannt habe,meine Augen sind nicht die besten bei PDF Betrachtungen

    Wünsche viel Spass beim Weiterentwickeln

    Frohe Ostern und Gruss

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. ...mit logischer "1" LCD "zuschalten" ?
    Von Kugelblitz im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 25
    Letzter Beitrag: 25.02.2012, 10:57
  2. Antworten: 2
    Letzter Beitrag: 15.06.2011, 22:18
  3. ATTiny 2313 SMD "retten"
    Von Bumbum im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 18.12.2007, 21:47
  4. I2C-"Netzwerk" mit ATMega8... noch unklares...
    Von Jaecko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.03.2007, 12:36
  5. Bitte um "Hilfe" mit I2C-Bus am PC ,Temp. mit DS
    Von Tom_ im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 2
    Letzter Beitrag: 05.02.2006, 11:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •