Hallo Gemeinde Bei einer Suche im Netz nach dem PCF8591 findet man relativ viele Ergebnisse dazu. Leider gibt es mehr Fragen als Antworten dazu. Innerhalb meines Modularen Systems habe den PCF8591 mit ein 4 Regler versorgt und mit einem Programm getestet. Bin richtig erstaunt, wie gut das funktioniert. Verwendet Hardware: - Platine P59 - PCF8591 mit 4 Einstellregler - Platine P30 - Board 1 mit dem AT 1284p 16MHz - Platine D2 - Display 2 mit dem PCF 8574 und Display 4 x 16 - Platine NT2 - Netzteil mit 5V/12V bei 3A Programm in C mit den Dateien von Peter Stelle es für alle hier zur Verfügung. Falls was nicht stimmt, bitte ein mail an mich. achim
Hallo, ohne Dir zu nahe treten zu wollen: schön gemacht, nur was soll man mit einer Leiterplatte auf der 4 Potis sitzen die man nicht wegjunmpern kann, wenn es real nutzen will? Ein Programm in einem PDF ist gut zum erklären, nur soll man es letztlich abtippen? Oder ist es einfach nur ein wenig Werbung? Gruß aus Berlin Michael
Hallo Michael es ist keine Werbung. Die 4 Potis sollen nur dazu dienen als erster Versuch die Spannung zu ändern. Habe eine weitere Platte fertig, die ohne 4 Potis arbeitet und jeweils für 0 bis 10V ausgelegt ist. Kannst 4 Eingänge von 0 bis 10V anschliessen und einen Ausgang von 0 bis 10V nutzen. Du sollst auch nichtst abtippen. Kann dir sofort die C-Datei schicken, kein Problem. Schau es dir an, ob es technisch richtig ist. Ob ich was bei der Erklärung falsch gemacht habe oder was vergessen habe. achim
Achim S. schrieb: > Leider gibt es mehr Fragen als Antworten dazu. Was für Fragen. Um den 8591 einzusetzen, braucht man doch nur das Datenblatt und einen Microcontroller, das kann auch ein Arduino sein.
Schwätzer schrieb: > Was für Fragen. Um den 8591 einzusetzen, braucht man doch nur das > Datenblatt und einen Microcontroller, das kann auch ein Arduino sein. man = alle, außer Achim Seeger...
Ganz schön viel Aufwand für so ein einfaches Schätzchen... Ein Steckbrett und ein paar Drähte hätten es zum Üben doch auch getan. Aber wenn es eine Arbeit für die Schule war hätte ich dir eine 1 gegegeben.
Danke für die 1. Ist keine Arbeit für die Schule, aber für Anfänger und besonders für Schüler. Ein paar gute Bilder, eine Platine die geht und ein Programm das funktioniert wirkt einfach Wunder für das Verständnis. Einfaches Schätzchen - da hast du recht. Leider sind gute Tuts im Netz recht selten. achim
Hallo, die deutsche Beschreibung des Controlbytes auf Seite 5 ist unvollständig bzw. falsch. Bit 2 schaltet nicht die A/D-Wandlung ein sondern die Auto-Inrement-Funktion. Du nutzt diesen ja auch in Deiner Software und setzt dazu auch richtg das D/A-Bit (Bit6), Text hier auch falsch. Hinweise über den Grund dafür bzw. auf das Datenblatt vermisse ich völlig. Auf den Singlemode und dessen Ablauf gehst Du wohl garnicht ein. Da bekommt nam mit den Read-Cycle nach setzen der Wandlernummer nämlich den Wert der vorigen Wandlung mit dem nächsten Read. Man muß also u.U. 2x lesen um den aktuellen Wert zu erhalten. Spielt besonders dann eine Rolle, wenn man in großen Abständen wandelt. Auf Seite 10 Deiner Programmbeschreibung erwähnst Du es in einem Kommentar, ohne jede Erklärung. Wohl 90% der Softwarebeschreibung befasst sich mit Displaydarstellung, Formatierung derselben usw. usw., der PCF 8591 ist da nur nebenbei Lieferant von ein paar Datenbytes. Die AD-Wandlung wird wohl garnicht erwähnt, ein Beipiel um z.B. die ausgegeben Spannung wieder einzulesen wäre sicher kein Fehler, eine LED am DA-Wandler die man dimmen könnte, wie z.B. bei meinem 3€ China-Modul, würde für die Nutzer des Demoboards sicher Eindruck machen. Aber Aout ist ja vorsichtshalber garnicht erst angeschlossen... Insofern bin ich immer skeptisch bei solchen Tutorials, sie versprechen meist viel und halten oft wenig. Gruß aus Berlin Michael
:
Bearbeitet durch User
@Achim S (Gast)
>Leider sind gute Tuts im Netz recht selten.
So wie gescheite Sätze ohne Denglisch . . .
Dies Platine hat nicht die Aufgabe einen Wert zu bringen. dadurch ist dieser Pin nicht belegt. Sie soll einfach nur Spannung messen. Michael U. schrieb: > Wohl 90% der Softwarebeschreibung befasst sich mit Displaydarstellung, > Formatierung derselben usw. usw., der PCF 8591 ist da nur nebenbei > Lieferant von ein paar Datenbytes. Scheint mir ein bischen übertrieben. Es wird auch ein grösserer Anteil die Stellung der Zahlen berechnet. Habe es ausführlicher gemacht als notwendig. Einige Zeilen kann man zusammenfassen oder abkürzen. Michael U. schrieb: > die deutsche Beschreibung des Controlbytes auf Seite 5 ist unvollständig > bzw. falsch. Bit 2 schaltet nicht die A/D-Wandlung ein sondern die > Auto-Inrement-Funktion. Du nutzt diesen ja auch in Deiner Software und > setzt dazu auch richtg das D/A-Bit (Bit6), Text hier auch falsch. Es ist der Sinn dieser Frage gewesen. Es sollen auch andere das lesen und Fehler finden. Möchte nicht andere mit Fachbegriffen oder Falk B. schrieb: > gescheite Sätze ohne Denglisch . . . mit dem Versuch einer Übersetzung erschlagen. Es scheint eine Kunst zu sein, komplizierte Zusammenhänge einfach und verständlich zu erklären. Da ich das Bit falsch erklärt habe, kannst du es mir einfach auf deutscher Sprache erklären? Schreibe es gern korrekt rein. Über den Ablauf der Wandlung möchte ich nichts bringen. Der Anfänger wird froh sein, einen korrekten Wert angezeigt zu bekommen und das Programm auseinander nehmen um es zu verstehen oder in eigene Anwendungen einzubauen. Die Profis brauchen das nicht, die können so was schon. Auch Profis haben mal als Anfänger angefangen und waren froh über jede Info. Der Sinn dieser Tuts liegt in der Hilfe für Anfänger. achim
Habe den zweiten Teil zum PCF 8591 reingestellt. Auf dieser Platine wird wieder die Spannung gemessen. Diesmal erfolgt der Anschluss mit Schraubklemmen, keine Potis, die Eingänge sind für 0-10V ausgelegt (Spannungsteiler) und der Ausgang ist auch belegt und bringt eine Spannung von 0-10V. Es wird eine Referenzspannung von 2,46V verwendet. Die Schaltung zu der Sache ist allgemein bekannt. Habe es meinem Modularen Board angepasst. Es läuft fehlerfrei. Wünsche viel Spass damit achim
Hallo habe die Software zum PCF 8591 fertig geschrieben. Es sind wieder 4 Eingangskanäle mit 0-10V vorhanden. Die Ausgabe erfolgt auf einem Graphigdisplay. Habe auch die Berechnung dazu geschrieben Wünsche viel Spass damit achim
@ Achim Seeger (achims) Hallo Achim, du solltest dich mal noch etwas mehr mit dem Thema Funktionen befassen, dann werden dein Hauptprogamme deutlich kürzer und übersichtlicher. Und Quelltext sollte man als .c Datei zur Verfügung stellen. Sowas aus dem PDF rauskopieren ist Unsinn. Wenn du einen Kurs (nein, kein Tut!) schreibst, solltest du auch ein paar gute Erklärungen liefern. "Den Korrekturfaktor errechnen wir mit (Berechnet 399, verwendet 398)" Warum? ?= ????????????????/?^? × ?= ?,?? ? / ??? × ?,??=?,??????? ×?????≈??? "Damit haben wir auch die Auflösung der Spannungsmessung berechnet. Diese beträgt bei 2^8 0,0399746 V oder rund 40 mV." Ich hätte das glatt auf 400 gerundet, was auch mathematisch deutlich näherliegend ist. Aber woher kommen die 2,46V? Sollte man da nicht den Leuten sagen, daß sie diese Spannung bei IHREM Aufbau messen müssen und dadurch eine einfache Kalibrierung durchführen? Woher kommt der Faktor 4,16? Mal abgesehen davon, daß man danach immer noch 4 unkalibrierte Spannungsteiler in der Meßkette hat.
Hallo Falk Der Wert 4,16 kommt aus der Rechnung weiter vorn. Ergibt sich aus dem Spannungsteiler. Das Datenblatt des Herstellers gibt einen Vorwiderstand von 2,5 kOhm an. Benutze den 2,49 kOhm da er am nächsten ist. Habe den Wert von 2,46 V gemessen. Der Wert von 400 ist gerundet korrekt. Da ich die Spannung von 10V durch 256 teile ergibt sich dieser Wert. Da die Widerstände eine relative Abweichung haben, stimmt die Teilung nicht exakt. Als Vergleich und zur "kalibrierung" nutze ich 10,00V. K mit 400 liegt deutlich über 10V, verwende ich den wert von 398 ist die Anzeige 9,99V. Damit kann der Anzeige Wert eingestellt werden. Ich verwende Widerstände mit 1%, Das ist für meine Belange vollkommen ausreichend. Es geht in diesem Beitrag besonders um Einheitsspannungen und die Anzeige dazu. Mit dem K ist auch ein abkgleich auf andere Spannungen und Bereiche möglich. Das mit dem c kommt auch gleich, werde das Programm reinstellen, sorry hatte ich vergessen. Falk B. schrieb: > float results[5],adc1 ,adc2 ,adc3 ,adc4; > > Und du redest von Festkommaarithmetik?? Diese Teile stammen von dir und dem genannten Beitrag. Auf meinem Notizblock taucht in der Messung kein Komma auf. Habe ich den ori Artikel falsch verstanden oder wie meinst du das? achim
@ Achim Seeger (achims) >Der Wert 4,16 kommt aus der Rechnung weiter vorn. Ergibt sich aus dem >Spannungsteiler. OK, sollte man aber erklären. >Das Datenblatt des Herstellers gibt einen Vorwiderstand von 2,5 kOhm an. >Benutze den 2,49 kOhm da er am nächsten ist. Habe den Wert von 2,46 V >gemessen. So kritisch ist der nicht, alles im Bereich 1k-5k sollte funktionieren. >Da die Widerstände eine relative Abweichung haben, stimmt die Teilung >nicht exakt. Als Vergleich und zur "kalibrierung" nutze ich 10,00V. K >mit 400 liegt deutlich über 10V, verwende ich den wert von 398 ist die >Anzeige 9,99V. Das sollte man genau erklären, damit es die Leute, die ja was lernen sollen, auch verstehen. >Damit kann der Anzeige Wert eingestellt werden. Ich verwende Widerstände >mit 1%, Das ist für meine Belange vollkommen ausreichend. Darum geht es nicht. Du willst ja das Thema Kalibrierung in Ansätzen erklären. Das geht auch mit 5% Widerständen. >> float results[5],adc1 ,adc2 ,adc3 ,adc4; >> Und du redest von Festkommaarithmetik?? >Diese Teile stammen von dir und dem genannten Beitrag. Ich hab das nur von dir kopiert! Das float hab ich damal wohl übersehen. > Auf meinem >Notizblock taucht in der Messung kein Komma auf. Hä? > Habe ich den ori >Artikel falsch verstanden Wahrscheinlich. Siehe Anhang, so ist das DEUTLICH brauchbarer ;-) Ist nicht kompiliert, nur hingeschrieben.
Hallo Falk ich habe auf meinem Block die Messung per Hand durchgespielt. Dabei bin ich von dem genannten Artikel ausgegangen. Dabei habe ich z.B. mit 10000 multipliziert und dadurch das Komma rausgerechnet. In der eigentlichen Rechnung wird das Komma durch die Variable nicht übernommen, dadurch rechne ich nur mit 100. Die Herkunft von float ist egal, oder könnte aus dem Netz stammen? Könnten wir das Wort Kalibrierung durch Annäherung ersetzen? Sonst besteht die grosse Möglichkeit eine riesige Diskussion anzufangen. Dein Programm werde ich gleich mal ansehen und probieren. Mach es zu Anfang immer recht ausführlich. Die Berechnungen sind teilweise nicht so einfach zu verstehen. Jetzt habe ich es ein paar mal gemacht und verstehe es weitaus besser. achim
@Achim Seeger (achims) >ich habe auf meinem Block die Messung per Hand durchgespielt. Dabei bin >ich von dem genannten Artikel ausgegangen. Dabei habe ich z.B. mit 10000 >multipliziert und dadurch das Komma rausgerechnet. In der eigentlichen >Rechnung wird das Komma durch die Variable nicht übernommen, dadurch >rechne ich nur mit 100. Schon klar! >Die Herkunft von float ist egal, oder könnte aus dem Netz stammen? Keine Ahung, DU hast doch den Quelltext erstellt! >Könnten wir das Wort Kalibrierung durch Annäherung ersetzen? Nö. > Sonst >besteht die grosse Möglichkeit eine riesige Diskussion anzufangen. Warum? Es geht um Kalibierung das kann jeder. Nicht um Eichung, das kann und darf nur das Eichamt. >Mach es zu Anfang immer recht ausführlich. Die Berechnungen sind >teilweise nicht so einfach zu verstehen. Welche denn?
Hallo Falk es geht z.B. um Modulo. Hast schon einiges dazu geschrieben. Es war vorher Neuland für mich und musst es erst mal begreifen. Begreiffen ist eins und dann die konkrete Anwendung und Umsetzung, nicht zu vregessen, es zu erklären das man es nachvollziehen kann. Brauch etwas Zeit dazu. achim
Hallo Falk habe das Programm aufgespielt. Leider ging es nicht früher, da sich eine Festplatte in den Computerhimmel begeben hat. Sind einiges Sachen anders bzw. ergibt Fehlermeldungen. Ein Teil konnte ich bereinigen. Leider stimmt was an deiner Rechnung nicht. Es kommen irgendwelche Sonderzeichen zustnade. Vielleicht auch die Puts Anweisungen. Ansiônsten gefällt mir das Programm sehr gut. Ist deutlich kürzer als meins. Muss mich noch durchfinden. achim
@ Achim S (Gast) >Sind einiges Sachen anders bzw. ergibt Fehlermeldungen. Verständlich, ich hab das einfach im Editor geschrieben und nicht compiliert, u.a. weil ich nicht alle Quellen von dir habe. >Ein Teil konnte >ich bereinigen. Leider stimmt was an deiner Rechnung nicht. Hmm. > Es kommen >irgendwelche Sonderzeichen zustnade. Das sollte nicht sein. > Vielleicht auch die Puts >Anweisungen. Ansiônsten gefällt mir das Programm sehr gut. Schön. ;-) >Ist deutlich kürzer als meins. Vor allem übersichtlicher! > Muss mich noch durchfinden. Poste das aktuelle Programm und einen Screenshot, dann kann man dir helfen.
Hallo Falk mache ic, muss nur noch ein paar Programme überreden wieder zu laufen. Stenn sich noch recht bockig an. achim
Hallo habe die Software zum PCF 8591 und meinem Modularen System weiter geschrieben. Mit der Hardware kann ich jetzt: - Taster entprellen - Spannung 0 bis 10V ausgeben - Anzeige der Ausgabe erfolgt auf einem I2C Display - Verbindung der Module über I2C - mit Tastern kann ich die Spannung von 0 bis 10V einstellen und Anzeigen - Begrenzung und Einstellung möglich Am besten mal ansehen. Hoffe das ich das richtige angehängt habe. achim
Habe wahrscheinlich nicht das richtige genommen, versuche wir noch mal
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.