Hallo, ich würde gerne eine Schaltung Aufbauen, die mir Impulse vor und rückwärts zählt und auf einer Siebensegmentanzeige ausgibt. Dazu habe ich mir die angehängte Schaltung überlegt. Wenn meine Zählrichtung jetzt rückwärts ist und ich entsprechend viele Impulse habe dann schnappt der Zähler ja rückwärts über. Wie bekomme ich es hin, dass ich negativ mit einem minus als Vorzeichen weiterzählen kann? Ich habe mir überlegt, dass ich vielleicht bei einem negativen Überlauf alle Zähler zurücksetzten und die Zählrichtung invertiere und ein minus auf einer davor gesetzten 7-Segment-Anzeige darstelle. Allerdings muss ich mir diese Invertierung ja merken und dann wieder zurücksetzen wenn er wieder negativ überläuft. Wie ich das realisieren kann fällt mir grade irgendwie nicht so richtig ein. Ein Überlauf in positiver Richtung kann von der Bedienung her nicht vorkommen. Wie bekomme ich das hin? Vielen Dank für eure Hilfe!
:
Verschoben durch Moderator
Beitrag #6605468 wurde von einem Moderator gelöscht.
Beitrag #6605510 wurde von einem Moderator gelöscht.
Paul-Gerhard S. schrieb: > . Wie bekomme ich es hin, dass ich negativ mit einem minus als > Vorzeichen weiterzählen kann? Wie wäre es, nicht BCD, sondern binär zu zählen? Dann kannst du das Zweierkomplement nutzen. Wenn das MSB gesetzt ist, alle Bits imvertieren und 1 addieren. Am MSB kann auch gleich das Minuszeichen hängen. Wird aber mit diskreter Logik etwas ausartend. Vielleicht bekommst du das effizienter in ein kleines CPLD rein? mfg mf PS Paul-Gerhard S. schrieb im Beitrag #6605510: > Kann ich den Thread verschieben? Mods können das.
:
Bearbeitet durch User
Paul-Gerhard S. schrieb: > Wie bekomme ich es hin, dass ich negativ mit einem minus als Vorzeichen > weiterzählen kann? Du musst bei 0 mit dem nächsten Takt (CLK) immer AuFWÄRTS zählen und den Zustand von UP/DOWN in ein einfaches D-FF schreiben, das speichert das Vorzeichen UND der Ausgangvom D-FF wird XOR verknüpft mit UP/DOWN U/D des Zählers ist also (RICHTUNG XOR Q(D-FF)) OR (Zähler==0).
Moin, Hmm, schon 4 Beitraege, aber noch keiner empfiehlt µC? Dann mach' ich's halt. Also zumindest, wenn die Zaehlfrequenz eher so im max. ein paar kHz Bereich ist oder niedriger. Dann sollte das mit einem µController primitivster Bauart gehen; der braucht halt ca. 10 GPOs,damit sollte man 2x7 Segmentanzeigen+Vorzeichen ansteuern koennen und ca. 2 GPIs fuer Richtung und Zaehlimpulse. Dann kann man alle moeglichen, schon gewuenschten und in Zukunft wuenschbaren Gimmick schmerzarm reinbauen. Dazu brauchts dann halt 1µC + Software, gegenueber >4 CMOS ICs. Gruss WK
Vielen Dank für die schnellen Antworten. Achim M. schrieb: > Vielleicht bekommst du das effizienter in ein kleines CPLD rein? Ich habe leider keinerlei Erfahrung mit CPLD. Kann man sich denn da einfach einarbeiten? Und braucht man da keine extra Programmiergeräte/-adapter? MaWin schrieb: > U/D des Zählers ist also (RICHTUNG XOR Q(D-FF)) OR (Zähler==0) Habe das nicht ganz verstanden. Ist es wie im Bild richtig? Was kommt an den Eingang vom D-FF? Und den Takt kann ich dann einfach mit einem beliebigen Systemtakt verbinden? Vor allem musss ich ja den Zustand "Null" erkennen und da muss ich ja alle BCD-Ausgänge NAND verknüpfen oder? Der Zähler soll nämlich 6-7stellig werden. Dergute W. schrieb: > Hmm, schon 4 Beitraege, aber noch keiner empfiehlt µC? Es sollen Takte eines Glasmaßstabes gezählt werden. Ich habe im Artikel hier auf der Seite gelesen dass wenn schon denn schon mit Interruptroutinen (am besten in Assembler) machen muss. Und da ich in uC-Programmierung noch nicht so viel Erfahrung habe (habe zwar mit Arduino schon manches gemacht aber das heißt ja nichts wenn es um Assembler-Interrupts geht) wollte ich das "einfach" digital aufbauen. Ich hätte dazu auch einige Logic-IC´s in Kauf genommen. Vielen Dank nochmal für euere Bemühungen.
Hat den noch irgendjemand eine Idee? MaWin schrieb: > U/D des Zählers ist also (RICHTUNG XOR Q(D-FF)) OR (Zähler==0). Hab ich das richtig verstanden? Kannst du noch die fragen aus meinem letzten Post beantworten?
Paul-Gerhard S. schrieb: > Ist es wie im Bild richtig? Ja. > Was kommt an den Eingang vom D-FF? Die originale Richtung > Und den Takt kann ich dann einfach > mit einem beliebigen Systemtakt verbinden? Das D-FF bekommt nur einen Takt wenn Zahler=0. Man kann aber auch den TAKT immer an CLK des D-FF legen, und D ist RICHTUNG wenn Zahler=0 und sonst Q des D-FF. Oder man nimmt ein JK-FF, mit TAKT in CLK, und J=(Zähler=0) UND RICHTUNG und K=(Zähler=0) UND /RICHTUNG, da gibt es das praktische 7470 oder CD4093. > Vor allem musss ich ja den Zustand "Null" erkennen und da muss ich ja > alle BCD-Ausgänge NAND verknüpfen oder? Der Zähler soll nämlich > 6-7stellig werden. Uff, ein Zähler mit 0 Ausgang wäre praktisch. Es müsste mit einem synchronen Zähler gehen, der einen RCO ripple carry output hat. Der sollte bei DOWN und 0 gesetzt sein und zum nächsten Zahler in RCI gehen und wenn auch der 0 ist sein RCO gesetzt sein und der letzte RCO in der Kette nur high sein wenn bei Zählrichtung DOWN alle Stellen 0 sind. Leider muss dazu UP/DOWN immer auf DOWN stehen, nur wenn der CLK kommt muss richtig UP oder DOWN vorgelegt sein, dann ist aber bei UP der RCO Ausgang weg. Man kommt da wohl um eine Zeitverzögerung nicht drumrum.
Paul-Gerhard S. schrieb im Beitrag #6605633> am besten in Assembler Ach was, das macht man schon lange in c oder c++. Assembler benötigt man heute nurnoch in Ausnahmefällen, wenn es tatsächlich auf jeden Einzelnen Takt ankommt, zwingend eine bestimmte Befehlsreihenfolge eingehalten werden muss, oder man eine Herausforderung sucht (also selten). Das Alles trifft eher nicht auf dein Projekt zu. Paul-Gerhard S. schrieb: > die mir Impulse vor und > rückwärts zählt und auf einer Siebensegmentanzeige ausgibt. Was ist die Quelle deiner Impulse? Möglicherweise musst du deine Signale vorher entprellen. Unabhängig davon, ob du einen µC, CPLD, FPGA oder Diskrete Logik benutzt. Paul-Gerhard S. schrieb: > Ich habe leider keinerlei Erfahrung mit CPLD. Kann man sich denn da > einfach einarbeiten? Paul-Gerhard S. schrieb: > habe zwar mit Arduino schon manches gemacht Da kommst du mit einem µC oder diskreter Logik am schnellsten ans Ziel. AVR-GCC-Tutorial extra VHDL oder Verilg zu lernen macht mmn. Für ein solch einfaches Projekt ohne besondere Anforderungen keinen Sinn.
:
Bearbeitet durch User
Zuerst mal vielen Dank! MaWin schrieb: > Uff, ein Zähler mit 0 Ausgang wäre praktisch. Ist es deiner Meinung nach auch sinnvoller auf uC umzusteigen? Wie gesagt ich dachte halt, dass ich mir da ein haufen Softwareaufwand spare wenn ich das digital mache. Aber mit der Zeit scheint das doch relativ kompliziert zu werden. A. M. schrieb: > Was ist die Quelle deiner Impulse? Es ist ein Glasmaßstab mit Stromausgängen. 11uAss. Für einen Test am Oszi hab ich die angehängte Schaltung auf einem Steckbrett aufgebaut (Stromspannungswandler) und einen Komparator dahinter gesetzt. Das hat gut funktioniert und kann meines Wissens nicht prellen. Aber ich kann natürlich auch falsch liegen. Wegen der Frequenz: Ich konnte kein Datenblatt von meinem Glasmaßstab finden, sehr wahrscheinlich hat er aber 40um pro Sinus. Wenn ich dann beide Flanken und beide Sinussignale auswerte müssten das 1 Impulse pro 10um sein. Wenn ich dann mit 0,5m/s verfahre macht das 50kHz oder liege ich da falsch? Was haltet ihr davon einen STM32 zu nehmen, der schon Quadratur-Eingänge hat? Weis jemand in wieweit solche Funktionen in die ArduinoIDE eingebunden sind? Oder ist es dann gleich gescheiter wenn man mit etwas anderem programmiert? Aber mit was?
Wenn Du schon den Schaltplan hast, kannst Du ja auch noch das Programm für ATtiny25 oder ATtiny202 verwenden. Zusätzlich gibt es ein Arduino-Programm zu Auslesen: http://www.mino-elektronik.de/progs/avr/qcnt25/qcnt_lesen.ino
Paul-Gerhard S. schrieb: > Es ist ein Glasmaßstab mit Stromausgängen. 11uAss Alter Heidenhain - dafür habe ich schon vor Jahrzehnten dafür geeignete Vor-Rückwärtszähler (74LS2000, HCTL2000) und einen Z80 verwendet. Das Zählen ist das eine, die Anzeige ist davon weitgehend unabhängig, das wird in der Software kalibriert und verrechnet und nach Wunsch angezeigt, bei meinen Geräten z.B. mit am Massstab erfasstem Nullpunkt, beliebigem Versatz und in mm oder inch oder meinetwegen auch Ellen. Näheres hier: https://www.rk-elektronik.de/wegmessung Georg
Hallo Dergute W. schrieb: > Hmm, schon 4 Beitraege, aber noch keiner empfiehlt µC? Dann mach' ich's > halt. Also zumindest, wenn die Zaehlfrequenz eher so im max. ein paar > kHz Bereich ist oder niedriger. Tja da haben halt die Verfasser der ersten vier Beiträge die Frage von Paul G. gelesen und haarscharf gefolgert das es wohl seinen Grund hat warum er es mit Logikgattern machen will. Gut so ! Es gibt zum Glück doch noch so einige in Forum die das können und nicht nur ihre Präferenzen zählen lassen und "Umerziehen" wollen Das habe ich jetzt extra etwas übertrieben und auch leicht aggressiv dargestellt - aber genau dieses Verhalten, ignorieren der genauen Frage des jeweiligen TO, ist ein andauerndes Ärgernis insbesondere bei den besonders interessanten oder ungewöhnlichen Fragen bzw. Vorgaben durch den jeweiligen TO - aber nur der bestimmt eigentlich das Thema und seine gewünschte Herangehensweise .... Meine Vermutung: Entweder kann Paul G. nicht programmieren - und programmieren zu lernen ist nun mal extrem aufwendig und auch schnell mal richtig frustrierend - vor allem weil eine Programmlösung für seine "Problem" selbst mit den Arduino (als Gesamtsystem) gar nicht so einfach ist und nebenbei auch erweiterte Grundkenntnisse in der Digitaltechnik notwendig sind. Oder er will es halt vorsätzlich mit Logikgatter ("Analog" ...) machen - eben weil man da fast nur (etwas entkoppeln und eine passende Spannungsversorgung geht auch ohne tieferes Wissen) - fertige "Funktionsmodule" also die ICs nimmt- Hat ja über viele Jahre im Profibereich auch sehr gut funktioniert... Es ist eigentlich generell gar nicht so schwer die Gedanken hinter den meisten Anfragen mit hoher Wahrscheinlichkeit zu erkennen, da muss nicht immer erst die Halbe Lebensgeschichte des jeweiligen TO und eine "Entschuldigung im Voraus" kommen. Bei Fehleinschätzungen wird der jeweilige TO falsche Vermutungen schon klarstellen und halt weitere Infos geben. Wird dann gerne als Salamitaktik abgetan - was es aber in den seltensten Fällen wirklich ist, sondern ein ganz normale Entwicklung, so laufen halt Gespräche ab...
Schaltungen für Vor-Rückzähler auf Chipebene findet man im Tietze-Schenk (um die 8.Auflage) gut erklärt.
Paul-Gerhard S. schrieb: > Ist es deiner Meinung nach auch sinnvoller auf uC umzusteigen? Sicher. Eine 7-stellige 7--Segment LED Anzeige mit Vorzeichen aus einem Inkrementalencoder bekommt man mit einem einzigen IC (Sinowealth SH79F3212 ist stark genug LEDs direkt zu treiben oder Arduino, ATmega8 mit stromverstärkenden Transistoren oder einem MAX7218) hin, während du bei festverdrahteter Standardlogik schon mal 7 Zähler und 7-Segment Decoder brauchst (CD40110). Aber wer nicht programmieren will, muss halt eine Platine voller ICs verdrahten. Man könnte 2 ICM7217 nutzen, die liefern ZERO.
Moin, Praktiker schrieb: > aber genau dieses Verhalten, ignorieren der genauen Frage > des jeweiligen TO, ist ein andauerndes Ärgernis insbesondere bei den > besonders interessanten oder ungewöhnlichen Fragen bzw. Vorgaben durch > den jeweiligen TO - aber nur der bestimmt eigentlich das Thema und > seine gewünschte Herangehensweise .... Ich weiss nicht, wie du auf diese schmale Brett kommst. Das ist vielleicht so, wenn ich mir irgendeinen Experten miete und dem dann explizit sage, er soll bloss nicht auf andere Ideen kommen (was auch nicht unbedingt besonders clever sein muss). Aber ein Forum ist halt kein bezahlter Experte. Da kann jeder schreiben, wozu er Bock hat. Also bestimmt der TO nur am Anfang mal das Thema. Muss dir nicht gefallen, ist aber halt so. Und wenn einer fragt, ob er den Nagel besser mit einem Faustkeil oder einem Amboss in ein Brett kloppen soll, dann nehm' ich mir die Frechheit heraus, zu empfehlen, dass man das auch mit einem Hammer machen kann. Gruss WK
> keiner empfiehlt µC? Dann mach' ich's halt. > Meine Vermutung: Entweder kann Paul G. nicht programmieren [...] Nun ja, Digitalelektronik kann er ja auch nicht ;-) Zwei 7-stellige Anzeigen diskret braucht schon eine Menge Holz - mit nem µC wird das deutlich einfacher. Insb dann, wenn er feststellt, dass er den zölligen Glassmaßstab auf Millimeter umrechnen möchte. Da heutzutage auf eBay aber DROs (digital readout) mit allem Pipapo inkl Gehäuse, Tastatur, Montagematerial, Netzteil etc für unter 100€ zu bekommen sind, würde ich mir den Selbstbau wohl sparen (wenn es um das Ziel und nicht den Weg geht).
MaWin schrieb: > Man könnte 2 ICM7217 nutzen, die liefern ZERO. Es geht auch ohne - nachdem der reguläre Überlauf nicht eintreten kann [1], ist es kein Problem CarryOut der letzten Stufe dafür zu verwenden. In einem JK-FF (U3) gespeichert und mit der externen Richtung per XOR (U4a) verknüpft, ergibt die interne Richtung. U4b und U4c sorgen als Inverter für die passende Ansteuerung des JK-FFs. Die Aufbereitung der Clock- bzw. Up/Down-Signale müßte man noch prüfen - mit dem 4029 ohne Zusatzlogik [2] darf U/D sich nur ändern, während CLK auf H ist. Allerdings halte auch ich einen µC für flexibler ;) [1] Paul-Gerhard S. schrieb: > Ein Überlauf in positiver Richtung kann von der Bedienung her nicht > vorkommen. Und somit ist auch die negative Richtung mit abgedeckt - egal, wo man den Zähler nullt - wenn der absolute Anzeigeumfang >= der des Maßstabes ist. [2] Fig. 17 "Ripple Clocking ..." in https://www.ti.com/lit/ds/symlink/cd4029b.pdf
Paul-Gerhard S. schrieb: > Was haltet ihr davon einen STM32 zu nehmen, der schon Quadratur-Eingänge > hat? Der TO hatte selber einen µC angesprochen. Folglich wird man ihn nicht bevormunden, wenn man ihm eine entsprechende Lösung zeigt. Eine Anzeige mit zwei Stellen + Vorzeichen nützen bei einem Glasmaßstab nicht viel. Damit wird gerade ein Weg von +/- 1 mm ohne Überlauf angezeigt. Ab 100 mm (und das ist kein langer Weg) sind es schon 5 Stellen, die angezeigt werden müssen. Das alles mit separaten Zähler ICs aufzubauen ist ja ganz nett, aber auch ineffizient. Paul-Gerhard S. schrieb: > Wegen der Frequenz: Ich konnte kein Datenblatt von meinem Glasmaßstab > finden, sehr wahrscheinlich hat er aber 40um pro Sinus. Wenn ich dann > beide Flanken und beide Sinussignale auswerte müssten das 1 Impulse pro > 10um sein. Wenn ich dann mit 0,5m/s verfahre macht das 50kHz oder liege > ich da falsch? 50 kHz ist die max. Frequenz einer Phase. Bei zwei Phasen und zwei Flanken/Phase ist die zu verabeitende Impulsfrequenz dann 200 kHz. Der Sinus wird dabei noch nicht ausgewertet. Für höhere Verfahrgeschwindigkeiten sind die Maßstäbe in der Regel nicht zugelassen bzw. geeignet.
Also vielen Dank an alle die jetzt geantwortet haben. Ich habe jetzt verstanden, dass es zwar digital möglich wäre aber der Schaltungsaufwand dementsprechend hoch und auch mehr oder weniger kompliziert. Besser wäre eurer Meinung nach die Wahl eines uC. m.n. schrieb: > Wenn Du schon den Schaltplan hast, kannst Du ja auch noch das Programm > für ATtiny25 oder ATtiny202 verwenden. Zusätzlich gibt es ein > Arduino-Programm zu Auslesen: > http://www.mino-elektronik.de/progs/avr/qcnt25/qcnt_lesen.ino Das hab ich schon versucht. Ich hab es dann auch geschafft über die Kommandozeile das Hex-File zu flashen. Allerdings ist irgendwie schon nach ein paar Zentimetern der Zähler übergelaufen. Und das muss ich ja auf ein Inkrement genau in den Master übernehmen und den dann zurücksetzten bevor er vollends überläuft. Weil ich auch nicht so recht weiß wie ich das machen soll bzw. ich mir dann überlegt habe das ganze digital(analog) aufzubauen hab ich mich entschlossen den Thread hier aufzumachen. Die Möglichkeit ist aber noch nicht ausgeschlossen. Ich dachte halt nur das wäre einfacher wenn man es mit Logikbausteine aufbaut. (Der Beitrag von agoli hat mir da auch wieder richtig Mut gemacht.) foobar schrieb: > Da heutzutage auf eBay aber DROs (digital readout) mit allem Pipapo inkl > Gehäuse, Tastatur, Montagematerial, Netzteil etc für unter 100€ zu > bekommen sind, würde ich mir den Selbstbau wohl sparen (wenn es um das > Ziel und nicht den Weg geht). Das war mir neu. Danke für den Hinweis! Ich habe jetzt aber noch kein Angebot gefunden bei dem man Anzeige und Glasmaßstäbe für unter 100€ bekommt. Aber sind die Anzeigen denn für Stromgetriebene Maßstäbe geeignet? Die Maßstäbe sind nämlich schon teilweise vorhanden und die würde ich auch gerne nutzen. Man könnte allerdings auch einen Adapterstecker machen wo eine Stromspannungswandlung drin ist. Da hab ich bis jetzt auch noch nicht drangedacht. Hat den jemand schonmal Praxis Erfahrungen gemacht mit so einem Ding? m.n. schrieb: > 50 kHz ist die max. Frequenz einer Phase. Bei zwei Phasen und zwei > Flanken/Phase ist die zu verabeitende Impulsfrequenz dann 200 kHz. Der > Sinus wird dabei noch nicht ausgewertet. > Für höhere Verfahrgeschwindigkeiten sind die Maßstäbe in der Regel nicht > zugelassen bzw. geeignet. Ich bin mir nicht sicher aber ich denke ich habe mich da nicht verrechnet. Hab´s mir grade nochmal überlegt(angehängte Datei). Der Sinus selber wird natürlich nicht ausgewertet. Entschuldigung dass hab ich falsch geschrieben. Aber die digitalisierten Flanken beider Spuren. Wenn ich irgendeinen Vorschlag vergessen hab bitte nochmal kurz melden. Vielen Dank an alle!
Paul-Gerhard S. schrieb: > Das hab ich schon versucht. Ich hab es dann auch geschafft über die > Kommandozeile das Hex-File zu flashen. Allerdings ist irgendwie schon > nach ein paar Zentimetern der Zähler übergelaufen. Und das muss ich ja > auf ein Inkrement genau in den Master übernehmen und den dann > zurücksetzten bevor er vollends überläuft. Ich weiß nicht, was Du da gemacht hast. Die ATtiny-Programme haben intern einen 32 Bit Zähler und der läuft mit den paar Impulsen nicht über. > Ich habe jetzt aber noch kein Angebot gefunden bei dem man Anzeige und > Glasmaßstäbe für unter 100€ bekommt. Das bekommst Du auch nur, wenn es ein reiner Glasstab ist, auf den Du Dir die Striche selber aufzeichnest ;-)
m.n. schrieb: > Das bekommst Du auch nur, wenn es ein reiner Glasstab ist, auf den Du > Dir die Striche selber aufzeichnest ;-) Den Eindruck habe ich auch. Ein Adapterstecker von Strom auf TTL wäre aber wahrscheinlich auch keine allzu schlechte Variante. Ich probiere die Attiny-Variante nachher nochmal. Aber wie gesagt ich habe die zuerst Mal zurückgestellt, weil ich geahnt habe, dass da irgendwas faul ist.
Paul-Gerhard S. schrieb: > Mist. Hab vergessen die Datei anzuhängen. Also eine Auswertung von 50000 Strichen/Sekunde ist mit einrm Attiny möglich, erfordert aber schon geschickte Programmierung https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29 vor allem wenn der Attiny auch noch ein Display bedient. Arduino-style word da eher nichts, Assembler eher einfach.
Beitrag #6609265 wurde von einem Moderator gelöscht.
m.n. schrieb: > Ich weiß nicht, was Du da gemacht hast. Die ATtiny-Programme haben > intern einen 32 Bit Zähler und der läuft mit den paar Impulsen nicht > über. Habs gerade nochmal probiert sind zwischen 6 und 7mm bis der Zähler überläuft (siehe Bild). Habe das ältere Programm verwendet weil ich einen tiny85 habe. Vielleicht ist auch das das Problem? Geflasht habe ich über die Arduino IDE bzw. ich hab einen Blink sketch geladen und die entsprechende Zeile
1 | C:\Users\p-g-s\OneDrive\Dokumente\Elektronik_Projekte\Glasmasstab/avrdude -C"C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf" -v -pattiny85 -cstk500v1 -PCOM10 -b19200 -Uflash:w:C:\Users\p-g-s\OneDrive\Dokumente\Elektronik_Projekte\Glasmasstab\Quadratur_alt/Quadratur_alt.hex:i |
mit den geänderten Pfaden in die Komandozeile kopiert. Vielleicht liegt auch da das Problem?
Paul-Gerhard S. schrieb: > Habs gerade nochmal probiert sind zwischen 6 und 7mm bis der Zähler > überläuft (siehe Bild). Das kann nicht sein. Ich habe bei meinen Messmaschinen bis zu 1 µ Auflösung verwendet, damit kann man mit 32bit-Variablen Wege bis über 4 m erfassen. Ich glaube nicht dass du mit deinem Massstab nm auflöst. Falls doch musst du dir das patentieren lassen. Georg
Falls von Interesse: Die Firma LSI stellt interessante Encoder Zählerbausteine her. Z.B.: https://lsicsi.com/pdfs/Data_Sheets/LS7166.pdf Es gibt zahlreiche Varianten für Inkrementalencodererfassung. Allerdings brauchen die meisten Mikroprozessorunterstützung zur weiteren Auswertung. Ich erwähne diese Typen also ausschließlich der Vollständigkeit halber. Bezug dürfte ggf. auch etwas schwierig sein. Wir verwendeten früher die LS7066 und 7166 mit guten Erfolg in Produkten der 80er Jahre in der Energietechnik. Die STM32 haben im Timer Untersystem auch gut funktionierende Quadratur Auf/Ab Zähler mit flexiblen Einstellungen.
:
Bearbeitet durch User
Paul-Gerhard S. schrieb: > Habs gerade nochmal probiert sind zwischen 6 und 7mm bis der Zähler > überläuft (siehe Bild). Eigentlich sieht man doch sofort, daß LSB und MSB vertauscht sein müssen. In der Beschreibung zum ATtiny25 Programm steht:
1 | 'A' Ausgabe des Zählerstandes |
2 | 'B' Ausgabe des Zählerstandes/2 für Geber mit Zwischenflanken |
3 | 'Z' Löschen des Zählers |
4 | |
5 | Bei der Ausgabe wird das untere Byte zuerst gesendet. |
Und im .ino-Programm wird
1 | // Auslesen MSB zuerst
|
2 | long lese_iic_long_inverse(uint8_t iic_adr) |
aufgerufen. Das inverse Auslesen wird durch "AR" angefordert, wobei der Befehl "R" die Reihenfolge umdreht, was der Tiny25 nicht kennt. Ändere loop():
1 | void loop() |
2 | {
|
3 | long zaehler; |
4 | while(1) { |
5 | zaehler = lese_iic_long(IIC_ADRESSE); // Wert holen |
6 | Serial.println(zaehler); // und per UART ausgeben |
7 | delay(100); // zum Testen nur 10 x / Sekunde |
8 | }
|
9 | }
|
Dann sollte es passen.
Also zuerst nochmal vielen Dank an alle. m.n. schrieb: > Dann sollte es passen. Vielen Dank! Jetzt funktioniert es tatsächlich. Ich werde mir jetzt doch zuerst nochmal überlegen, ob ein diskreter Aufbau sich wirklich lohnt. Wenn ich mich dafür entscheide muss ich mal gucken wie weit ich mit dem Beitrag von agoli komme. Wenn ich nochmal ein konkretes Problem dazu habe mach ich vielleicht einen neuen Thread auf. Vielen Dank nochmal!
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.