Hallo zusammen, meine Schaltung läuft nun zu 98 % ;-) , so dass ich eine PCB mit Eagle erstellen will, da mir die fliegende Verdrahtung auf der Rückseite nicht gefällt. Beim LCD gib es das einzige Problem, dass ab zu mal ein Zeichen spinnt. Ich schalte auch Relais, welche aber mit Freilaufdiaode und Potentialgetrennt mit Optokoppler angesteuert werden. Ich initialisiere das LCD nur einmal am Anfang. Bisher hängt es direkt am µC und ich bin mir nicht sicher, ob ich Treiber 5V/ 5V in alle Leitungen schalten sollte und am Treiber beidseitig noch 10 K gegen Masse schalten sollte um kapazitive Einkopplungen zu unterbinden oder gar Kondensatoren vorsehen sollte. Da das für meine Eagle Schaltung wichtig ist, wäre ich dankbar für jegliche selbst gewonnenen Erfahrungen und Ratschläge. Bei Rückfragen einfach fragen ! Danke. Daniel
Daniel E. schrieb: > meine Schaltung Welche denn? > Bisher hängt es direkt am µC Dad ist üblich und Macht idR keine Probleme. > Bisher hängt es direkt am µC Welches Display über welche Leitungslänge an welchem uC?
Hallo und Danke für die Rückmeldung. Display anliegend 4x40. Länge Kabel max. 20-25 cm Schaltung ebenso anliegend mít PIC18F4580 Danke schon mal!
:
Bearbeitet durch User
Daniel E. schrieb: > Potentialgetrennt mit Optokoppler Du hast da keine Potentialtrennung, weil du links und rechts vom OK die selbe Masse hast... Wo und wie sind da welche Relais angeschlossen? > Ich initialisiere das LCD nur einmal am Anfang. Das reicht. Und dann würde ich den Display-Inhalt laufend auffrischen. Dazu wird im Programm ein Display ins RAM "abgebildet" und von dort pro ms ein Zeichen auf das Display hinausgeschrieben. Auf diese Art musst du nicht auf das Display warten, weil es ja sicher schon mit dem vorigen Zeichen/Kommando "fertig" ist. Auf diese Art ist auch ein "Löschen" des Displays nie nötig. Und wenn zufällig tatsächlich mal ein falsches Zeichen dargestellt wird (EMV- oder ESD-Impuls), dann ist das spätestens nach 50ms schon wieder Geschichte...
Also wenn ich mir deinen Schaltplan so ansehe, würde ich sagen C C und noch mal C. Ich mache das privat oft so, das ich überall wo Versorgung ist und Stromimpulse auftreten, Cs setzte. Also am uC, Optokopplern, Display, ISP usw. Was auch helfen kann, ich sehe bei dir einige Eingänge, wenn du diese mit einem RC-Glied etwas beruhigst, dann hast du weniger Einstrahlungen auf der Platine, die gerade bei langen Leitungen schnell passieren. Ich denke mal, das die Signale, wleche du messen möchtest eher Niederfrequent sind.
Sven S. schrieb: > würde ich sagen C C und noch mal C. Richtig, die Blockkondensatoren fehlen hier völlig... http://www.lothar-miller.de/s9y/categories/14-Entkopplung > Also am uC, Optokopplern, Display, ISP usw. Die Optokoppler an sich brauchen keinen Blockkondensator. Bestenfalls die Last, die dranhängt könnte einen brauchen. Aber hinter die DCDC-Wandlern würde ich noch ein paar setzen...
:
Bearbeitet durch Moderator
Hallo und danke für die zahlreichen Wortmeldungen. Ihr habt völlig recht, hinter den DCDC Wandlern gehören auf jeden Fall welche hin. Die an JP 1 sind Taster zum Seiten wechseln und Werte des LCD Umschalten. An den anderen Eingängen messe ich Temperaturen der Solaranlage, welche nur 100 ms kurz an sind (PT1000) und über ISR gemeldet werden. An den Ausgängen der Optokoppler sind Siemens PT5 Relais (max. 20 cm verdrilltes Kabel mit Freilaufdiode dran oder ein Reed Relais (40 m in der Heizung entfernt), welches PT 1000 Sensoren umschaltet. Das mit der Potentialtrennung ist richtig, ich schau mal, ob ich das noch auftrennen kann. Zusammengelegt ist es wieder schnell. Ich schreib das LCD schätzungsweise 3-4x in der Sekunde, dennoch, wenn einmal ein Zeichen verkorkst ist sind es nach dem überschreiben die neuen Zeichen auch. So hab ich es jedenfalls in Erinnerung -> der Sommer ist lange her :-(. Zurück zum Display, so lassen oder modifizieren der Leitungen und Treiber? Danke.
Daniel E. schrieb: > Ich schreib das LCD schätzungsweise 3-4x in der Sekunde, Komplett? > wenn einmal ein Zeichen verkorkst ist sind es nach dem überschreiben > die neuen Zeichen auch. Alle "neuen" Zeichen, oder nur das eine an der "verkorksten" Stelle?
Lothar M. schrieb: > Daniel E. schrieb: >> Ich schreib das LCD schätzungsweise 3-4x in der Sekunde, > Komplett? Ja, erst hat ich einen 4 MHz Qaurz da war das ewig lange >100/200 ms, Ich hab es gemessen mit einen Port bei Beginn Ein und am Ende aus, genauen Wert hab ich auf einem anderen Laptop. Jetzt hab ich 20 Mhz. >> wenn einmal ein Zeichen verkorkst ist sind es nach dem überschreiben >> die neuen Zeichen auch. > Alle "neuen" Zeichen, oder nur das eine an der "verkorksten" Stelle? nur das Zeichen an der verkorksten Stelle ich werden dann mal meine C´s in der Schaltung updaten!
Daniel E. schrieb: > nur das Zeichen an der verkorksten Stelle Wenn das gesamte Display 4 mal pro Sekunde geschrieben wird und dabei nur einzelne Zeichen, aber immer die selben, falsch dargestellt werden, dann hat das Programm einen Fehler. Denn wenn es ein Hardwarefehler wäre, dann würde ein falsches Zeichen nach 1/4 Sekunde überschrieben, und zudem wäre jedesmal ein anderes Zeichen betroffen.
> Zurück zum Display, so lassen oder modifizieren der Leitungen und > Treiber? Ich denke, bei Deinem Gerät würde es sich anbieten, Bedienteil (Display+Taster) und Steuer-/Leistungsteil voneinander zu trennen, einen kleinen PIC fürs Bedienteil vorzusehen, und beide per serieller Schnittstelle zu verbinden. Die serielle Verbindung kann dann ja problemlos auch etwas länger sein. Dein aktueller PIC18F4580 hat zwar nur eine serielle Schnittstelle. Das ist aber auch ein recht alter Typ, der langsam aber sicher teuer wird. Dafür gibts einen Nachfolgetyp PIC18F45K80, der besser und schneller ist und 2 EUSARTs hat. fchk
Hallo zusammen, "Denn wenn es ein Hardwarefehler wäre, dann würde ein falsches Zeichen nach 1/4 Sekunde überschrieben, und zudem wäre jedesmal ein anderes Zeichen betroffen." Eigentlich logisch! Ich schau noch mal nach, ob ich es im ausgebauten Zustand nachbilden kann. @Frank K. (fchk) Ich bin froh, das es so 98% läuft ! Dein Vorschlag ist gut, übersteigt aber meine Kenntnisse und dauert bei mir in der Einarbeitung Wochen und dann ist noch nicht mal gesagt, dass es 100% läuft. Hab noch genug 18F4580 da :-) und damit geht auch SPRUTs Brenner! Hab die Elkos upgedated. Lassen wir da die LCD Beschaltung so wie sie ist, oder soll ich temporär im Layout noch C´s vorsehen? Sonstige Anmerkungen evtl.? Danke.
Daniel E. schrieb: > 18F4580 da :-) und damit geht auch SPRUTs Brenner! Aha. Noch eine Antiquität. Besorge Dir mal ein PICKIT3. Wenn Du dann die ICSP-Leitungen unbenutzt lässt, kannst Du richtig debuggen: Breakpoints, Speicher anschauen, Single Step, etc. Dann machts erst richtig Spaß. fchk
Frank K. schrieb: > Daniel E. schrieb: > >> 18F4580 da :-) und damit geht auch SPRUTs Brenner! > > Aha. Noch eine Antiquität. Besorge Dir mal ein PICKIT3. Wenn Du dann die > ICSP-Leitungen unbenutzt lässt, kannst Du richtig debuggen: Breakpoints, > Speicher anschauen, Single Step, etc. Dann machts erst richtig Spaß. > > fchk Keine schlechte Idee beim Aussterben der Parallelport-Schnittstelle und knapp 20 Euro aus der Bucht von Honkong hab ich auch locker übrig. Um zu sehen, wo der Käfer hinspringt, bei welchen Ereignissen auch immer.. auf jeden Fall notwendig! Gekauft :-)
Frank K. schrieb: > Daniel E. schrieb: > >> 18F4580 da :-) und damit geht auch SPRUTs Brenner! > > Aha. Noch eine Antiquität. Besorge Dir mal ein PICKIT3. Wenn Du dann die > ICSP-Leitungen unbenutzt lässt, kannst Du richtig debuggen: Breakpoints, > Speicher anschauen, Single Step, etc. Dann machts erst richtig Spaß. > > fchk Ahhhh @ fchk: Beitrag "[S] Pic Programmer" auch aus der Bucht ;-), wo steht dort das es ein Clone ist? Hab grad bei roboter-Bausatz geschaut, sieht nach original aus??
Meiner tut so, als würde er funktionieren. Hab aber noch ein ICD3 fürs ernsthafte Arbeiten. Das PICKIT3 brauchte ich nur, um Dokumentation für die Inbetriebnahme zu machen. Da wäre ein 300€ ICD3 etwas übertrieben, und die Chinesen benutzen eh nur Clones. Und ja, ich verdiene damit mein Geld. fchk
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.