Hallo zusammen, Ich habe ein kleines Problem: Ich habe 2 Microcontroller und möchte auch beide behalten, also die Alternative auf einen Umzusteigen ist keine Alternative für mich. Mein Problem ist, dass ich zwar jeweils an den Eingängen der MCs (ATMega 16) 5.0V messe (wird durch einen 5V Spannungsregler bereitgestellt), aber ich bei folgender Pin-Belegung nur 3.8V am Ausgang des MC1 kriege: MC1: MC2: PD0 -------- PA0 PD1 -------- PA1 PD2 -------- PA2 PD3 -------- PA3 Die Minuse (------) entsprechen einem Kabel ohne jeglichen extra eingebauten Widerstand usw. Das ganze soll eine Kommunikationsmöglichkeit zwischen den 2 MCs werden, wobei MC1 ausschließlich Befehle versendet und MC2 ausschließlich Befehle empfängt. Die PullUp-Widerstände sind logischerweise bei MC1 alle auf aus gesetzt und bei MC2 alle auf an. Nur wenn ich den Pin (z.b. PD0) gegen Masse messe, dann zeigt er mir 3.8V an. Damit sieht MC2 es nicht als high an und schreibt auch nichts in eine Variable. Andere Pinausgänge laufen jedoch (zumindest die getesteten) auf 5.0V. Muss ich die Datenverbindungen auch mit eine Widerstand versehen (wie bei Schaltern/Tastern), die gegen Masse geschalten sind? Das wäre sicherlich besser aber würde ja nichts an meinem Problem ändern, weil 3.8V bleiben 3.8V egal ob das noch zusätzlich an - geht oder nicht oder irre ich mich da?
Warum nimmst Du für die Kommunikation nicht den SPI-Bus? Dafür ist er gemacht!
Hi Nur zur Sicherheit: Die Massen beide Controller sind verbunden? MfG Spess
SPI oder U(S)ART und alles wird einfacher. Aber davon mal ab: wie programmierst du die µC? Sind es Arduino-Boards? Sind die µC fest verdrahtet in der schaltung oder machst du das z.B. über Sockel mit externen Programmer (z.B. Avr Dragon) und musst den µC immer aus der Schaltung nehmen zum proggen? Wie flasht du die µC (ISP oder JTAG)? Wenn die JTAG-Fuse gesetzt ist, hast du das Problem das ein paar Pins andere Pegel haben! Weiß aber grad nicht aus dem Kopf, welche Pins das jetzt genau sind.
Marcel Forer schrieb: > Das ganze soll eine Kommunikationsmöglichkeit zwischen den 2 MCs werden, > wobei MC1 ausschließlich Befehle versendet und MC2 ausschließlich > Befehle empfängt. und was ist wenn der Befehlsempfänger etwas zurückmelden möchte, weil z.B. - ein verstümmelter oder grundsätzlich unverstandener Befehl ankommt? - dem Empfänger grad nicht wie Befehlsausführung zuwohle ist? - der Empfänger irgendwie fröhlich mitteilen möchte "ich habe fertig"? --> In dem Falle wäre es meines Erachtens zweckmäßig, wenn da nicht nur das "du bist ein dummer Sklave und machst was ich verlange", sondern dem Sklaven auch ein gewisses Mitspracherecht (sogar: Mitsprachepflicht) eingeräumt wird. Selbst die primitivste Parallelport-Schnittstellenimplementation kennt da ja ein hin-und-her Handshake in Form von "strobe" und "busy"
Die 2 MCs sind fest verlötet auf der Platine und sollen auch nicht mehr runter. Zum Programmieren nehme ich 2 selbstgebaute Pin-Stecker, die fest auf der Platine verlötet sind und programmiere über ISP. Die softwareseitige Kommunikation ist kein Problem. Fuse-Bits habe ich keinen einzigen gesetzt. Die Minuse sind miteinander verbunden genauso wie die Pluse. Ein Aus/Umlöten ist nicht möglich, ich möchte also zwingend diese 4 Pins zur Kommunikation verwenden. Es ist einer dieser 4Pins für eine derartige "Habe Fertig" Nachricht. Das ist aber nicht das Problem.
Marcel Forer schrieb: > Die 2 MCs sind fest verlötet auf der Platine und sollen auch nicht mehr > runter. Ist ja vielleicht nicht nötig. Zeig mal die beiden "Platinen". Dann wird vielleicht noch was anständiges draus.
Die komplette Elektronik ist richtig verlötet und funktioniert. Das Ganze ist für einen kleinen Aufzug mit Fernbedienung gemacht. 1 MC überwacht alle Knöpfe, der andere kümmert sich um die Motorsteuerung, Zeitüberwachung usw. Also da jetzt alles runterzulöten ist keine Alternative, bevor ich das alles ablöten muss, geb ich das Projekt auf. Aber das will ich ehrlich gesagt auch nicht. :D Nein also ich will bloß herausfinden wieso ich nur 3.8V statt 5.0V rauskriege obwohl ich alles parallel geschalten habe (wobei ich anmerken muss, dass momentan nur eine einzige LED angesteuert wird, der Rest nicht, also sollte das auch nicht der Auslöser sein). Ich habe zwar theoretisch auch einen Schaltplan, aber der ist gigantisch.
Marcel Forer schrieb: > Nein also ich will bloß herausfinden wieso ich nur 3.8V statt 5.0V Wie lang sind die Leitungen, wie und mit was hast du gemessen?
Hi >Nur wenn ich den Pin (z.b. PD0) gegen Masse messe, dann zeigt er mir >3.8V an. Gegen was anderes als Masse misst du sonst. >Damit sieht MC2 es nicht als high an und schreibt auch nichts in eine >Variable. Das stimmt nicht. Ab einem Pegel von 0,6xVCC wir ein H erkannt. Fall die Schaltung in Ordnung ist würde ich sagen hier kämpfen zwei Ausgänge gegeneinander. MfG Spess
spess53 schrieb: > Fall die Schaltung in Ordnung ist würde ich sagen hier kämpfen zwei > Ausgänge gegeneinander. Das riecht danach. mfg.
spess53 schrieb: > Fall die Schaltung in Ordnung ist würde ich sagen hier kämpfen zwei > Ausgänge gegeneinander. Hätte er dann nicht eher U/2 gemessen? Angenommen natürlich, daß die Ausgänge am µC symmetrisch sind, und die Pins zur Messung im statischen Zustand sind. Bei CMOS-Gatterbausteinen ist das bspw. so, wenn man irgendwo einen "Kurzen" zwischen zwei Ausgängen mit gegensätzlichem Pegel hat. Am Ende hängt da an diesem Ausgang noch die genannte LED mit dran, mit höherem Strom? Das verzieht die Pegel natürlich auch, weg von VCC.
Marcel Forer schrieb: > Die komplette Elektronik ist richtig verlötet und funktioniert. Das > Ganze ist für einen kleinen Aufzug mit Fernbedienung gemacht. 1 MC > überwacht alle Knöpfe, der andere kümmert sich um die Motorsteuerung, > Zeitüberwachung usw. > Also da jetzt alles runterzulöten ist keine Alternative, bevor ich das > alles ablöten muss, geb ich das Projekt auf. Das einzige was du aufgeben solltest, ist der Einsatz von 2 µC, wo einer alleine sich schon fadisiert. Mehrere µC machen die Dinge nicht einfacher, sondern schwieriger. Und in deinem Fall ist die Aufgabenstellung so dermassen trivial, dass der µC nebenher noch Sudoku lösen kann, damit ihm nicht vor Langeweile die Pins ausfallen.
Marcel Forer schrieb: > Die Minuse sind miteinander verbunden genauso wie die Pluse. Was ist denn das für eine Sprache? Marcel Forer schrieb: > Nur wenn ich den Pin (z.b. PD0) gegen Masse messe, dann zeigt er mir > 3.8V an. Damit sieht MC2 es nicht als high an und schreibt auch nichts > in eine Variable. Das würde mir zu denken geben. Denn 3,8V ist ein tadelloser Highpegel. > Das wäre sicherlich besser aber würde ja nichts an meinem Problem > ändern, weil 3.8V bleiben 3.8V egal ob das noch zusätzlich an - geht > oder nicht oder irre ich mich da? Du kämpfst da gegen Windmühlenflügel! Dein Problem liegt ganz woanders... Marcel Forer schrieb: > Die komplette Elektronik ist richtig verlötet und funktioniert. Ja, anscheinend aber noch nicht ganz... > Nein also ich will bloß herausfinden wieso ich nur 3.8V statt 5.0V > rauskriege obwohl ich alles parallel geschalten habe Dann zeig erst mal den Schaltplan. Damit aus "Raten" noch "Rat" werden könnte... > Ich habe zwar theoretisch auch einen Schaltplan, aber der ist > gigantisch. Juckt doch nix.
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.