Hallo, bin neu hier und hätte grundlegende Fragen. Hab mich bereits durch das Forum und Google gewühlt, jedoch nichts handfestes gefunden. Projekt: Ein Freund und ich wollen mit einem Raspberry mehrere Atmega8 oder Atmega 328 ansprechen. Das Ganze soll auch noch funktionieren wenn man z.B. (übertrieben) 100 Atmega`s an die selbe Busleitung anschließt. (Busleitung durchgehen bis letzten und mit einer Abzweigung pro Atmega) Das Signal wird am Raspberry über SPI ausgegeben (MOSI PIN) Clock über den Pin SCLK Unserer Einschätzung nach wird die "Ausgangsstromstärke" dieser 2 Pins zu schwach bzw der Raspberry abkacken wenn man 100 Atmegas gleichzeitig lesen läßt. Daher werden wir eine Verstärkerschaltung zwischenschalten um alle Atmegas mit genug Strom zu versorgen. Die Verstärkung wird mit einem Transistor realisiert (Emitterschaltung NPN-Transistor) Haben uns ein Oszi zugelegt und bereits einige Tests druchgeführt Ein 2Mhz Signal 3.3V auf bis zu 30V zu verstärken ging ohne Probleme. (30V werden nicht benötigt) Wir benötigen 5.5V für die Microkontroller. Meine Fragen: 1. Gibt es eine Verstärkerschaltung die das Ausgangssignal nicht invertiert? 2. Haben einfachste Schaltung angewendet (Transistor mit Basiswiderstand und Kollektorwiderstand und Diode von Basis gegen Kollektor). Dies ist meines Wissens nicht von der Temperatur enkoppelt... Sollte man das standardmäßig miteinbeziehen oder ist es vernachlässigbar? 3. Wie genau sollte man Arbeitspunkt einstellen? (Wir haben es derzeit einfach mit Poti versucht und festgestellt das es am besten mit einem 330 bzw 470 OHM Widerstand am besten klappt. 4. Wäre es intelligenter dies mit einer mehrstufigen Transistorschaltung umzusetzen ? 5. Gibt es ein IC welches uns die Arbeit der Verstärkerschaltung abnimmt? Mfg.
:
Verschoben durch Admin
Moin, Es gibt Busse, die sind ums Verrecken nicht fuer viele Teilnehmer gemacht. SPI gehoert dazu. 1.) Natuerlich gibs die. Basisschaltung z.B. 2.) Es ist voellig egal ob und was ihr da einbezieht, es ist voellig ungeeignet. 3.) Garnicht. Arbeitspunkte stellt man fuer Linearbetrieb ein; nicht fuer Schaltbetrieb 4.) Nein, die selbe Schnapsidee, egal ob mit einer oder mehreren Transistorstufen 5.) Es gibt Bustreiber- und Pegelwandler-ICs; die haben wenigstens schon mal Push-Pull Ausgangsstufen. Gruss WK
:
Bearbeitet durch User
Wenn man nur Daten vom RASPI zu den ATmegas übertragen will geht SPI durchaus, ab und zu zwischen die Leitungen ein paar Bustreiber (74HCT244) schalten, sollte gehen. Evtl sternförmige Verteilung.
:
Bearbeitet durch User
Ben 1. schrieb: > zu schwach bzw der Raspberry abkacken wenn man 100 Atmegas gleichzeitig > lesen läßt. Ben 1. schrieb: > abkacken Was soll das bitte für ein Betriebszustand sein? Ist das ein neues Wort wie "Amper hochskillen"?
Was Bitte schrieb: > Was bitte bedeutet Abkacken? Bitte etwas genauer beschreiben! Das (beim) abkacken:
1 | Das "abkacken" wird am Raspberry durch das einspringen einer falschen Adresse durch das ausführen von defekter Software (vorrübergehend), oder das ausräuchern eines Pins (dauerhaft) erreicht. Man kann es z.B. mit extern angelegter Wechsel- oder Überspannung versuchen, Ausgangstreiber Kurzschließen (3,3V auf runter geschalteten GND - bzw. anders herum), oder einfach (z.B. per Jumper), die 3,3V auf die 5V Schiene schalten. |
https://de.wiktionary.org/wiki/abkacken
:
Bearbeitet durch User
Denkt mal über differentielle Übertragung nach und besorgt euch entsprechende Treiber dann braucht ihr keine Klimmzüge mit Spannungsverstärkung zu machen.
Thomas O. schrieb: > besorgt euch entsprechende Treiber Das wäre in diesem Fall wohl ein MAX485 oder ähnlich. Mit RS422/485 ist dieser Aufbau durchaus machbar, mit z.b. dem LTC1487 auch mit 256 Busteilnehmern.
Horst schrieb: > Thomas O. schrieb: > besorgt euch entsprechende Treiber > > Das wäre in diesem Fall wohl ein MAX485 oder ähnlich. > Mit RS422/485 ist dieser Aufbau durchaus machbar, mit z.b. dem LTC1487 > auch mit 256 Busteilnehmern. Nur ist leider der Raspi-UART für sauberes RS485-Timing nicht geeignet, insbes. mit modbus hat man viel 'Spass'
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.