Hallo zusammen Ich stehe vor der Aufgabe, 6 Elektromagnete welche einen Kreis bilden, mit einem quasi Lauflicht (immer 3 Elektromagnete sind eingeschaltet) anzusteuern. Das Ganze soll recht flott gehen, so dass ich in 50 Mikrosekunden eine Runde gedreht habe. (20kHz) Die Elektromagneten sind so beschaffen, dass sie die Frequenz handhaben können. Auch ist die Ansteuerung nicht das Thema. Microcontroller (z.B. Arduino)entfällt meiner Meinung nach, da zu langsam. In ein neues Thema mit eines eigen aufgebauten Prozessorboards, möchte ich mich nicht einlassen. Wie würdet ihr das Thema lösen, bin altershalber in der Lage, noch mit diskreten Bauteilen umzugehen. :-) Gruss Bonzo
:
Verschoben durch Moderator
Hi! Das ist ja recht langsam. Damit sollte jeder Wald und Wiesen uc leicht klarkommen. Arduino sollte ebenfalls gehen. Lg
Rolf K. schrieb: > Ich stehe vor der Aufgabe, 6 Elektromagnete welche einen Kreis bilden, > mit einem quasi Lauflicht (immer 3 Elektromagnete sind eingeschaltet) > anzusteuern. > Das Ganze soll recht flott gehen, so dass ich in 50 Mikrosekunden eine > Runde gedreht habe. (20kHz) > Die Elektromagneten sind so beschaffen, dass sie die Frequenz handhaben > können. Was sollen das für Elektromagnete sein ? Eine Leiterschleife auf einem Chip ? Jedenfalls kann so ein 'Magnet' nichtmal 1mH haben, damit das noch funktioniert.
Da gibt es zwei Möglichkeiten, Zähler und Decoder wie vorgeschlagen oder eine Statemachine. Zustand 0: 000111 Zustand 1: 001110 Zustand 2: 011100 Zustand 3: 111000 Zustand 4: 110001 Zustand 5: 100011 und von 5 geht es zurück auf Zustand 0 alle andern der möglichen 64 Zustände sind nicht erlaubt. Ein 6-bit Schieberegister wie in der Überschrift geht natürlich auch, passend rückgekoppelt. (3.Ausgang Q2 über Inverter auf den Eingang) z.B. 74HC164 https://assets.nexperia.com/documents/data-sheet/74HC_HCT164.pdf
:
Bearbeitet durch User
Rolf K. schrieb: > Das Ganze soll recht flott gehen, so dass ich in 50 Mikrosekunden eine > Runde gedreht habe. (20kHz) Also 1.2e6 rpm Hast Du mal die Fliehkräfte berechnet, die dabei auftreten?
Die Magnete stehen still, wenn ich recht verstanden habe. Aber ihre Induktivität ist nicht zu vernachlässigen. Um die schnell umzumagnetisieren braucht man hohe Spannungen. Für YIG-Oszillatoren nimmt man gern mal >100V. Und die müssen sich nur so schnell ändern dass beim Wobbeln ein Sägezahn mit bloßem Auge nicht mehr flimmert.
Rolf K. schrieb: > 6 Elektromagnete welche einen Kreis bilden, mit einem quasi Lauflicht > (immer 3 Elektromagnete sind eingeschaltet) anzusteuern. > Das Ganze soll recht flott gehen, so dass ich in 50 Mikrosekunden eine > Runde gedreht habe. (20kHz) Du musst die Magnete also eigentlich nur im 120kHz Takt umschalten? Das stupide Abarbeiten einer Tabelle mit 120kHz sollte ein µC schon noch hinbekommen. Welcher Jitter ist da erlaubt? Man sollte aber natürlich etwas näher an den Controller und sollte nicht nur die nächste, schlecht implementierte Ardunio-Bibliothek hernehmen.
Christoph db1uq K. schrieb: > Da gibt es zwei Möglichkeiten, .... oder eine Statemachine. Die vorgeschlagene Statemachine lässt sich mit 3 D-FFs (1 1/2 Bausteine 4013 oder 74HC74) einfach realisieren. Diese haben neben dem Ausgang noch einen invertierten Ausgang. Da in der Tabelle die letzten 3 Bit immer das Inverse der ersten drei Bits ist, kommt man bei Mitverwendung der negierten Ausgänge mit den 3 FlipFlops aus. Diese werden als Ring angeordnet, wobei der D-Eingang des folgenden FlipFlops mit dem Q-Ausgang des Vorgängers verbunden ist. Lediglich das erste FlipFlop in der Kette ist mit dem invertierten Ausgang des letzten FlipFlops verbunden. Der Takt wird an alle Takteingänge gelegt. Dann erhält man die folgende Zählweise: 000 -> 100 -> 110 -> 111 -> 011 -> 001 -> 000. Wie gesagt die restlichen Bits liefern die negativen Ausgänge. (Die Reihenfolge ist etwas anders, als die, die Christoph K. dargestellt hat, die gewünschte Funktion ist aber gegeben.) Bei der Schaltung kann ein Zustand zum "Hängen" führen, nämlich das Muster 010 -> 101 -> 010. Das kann man verhindern, indem man entweder beim Einschalten mit einem Reset-Signal einen der gültigen Zustände (z.B. 000 ) erzeugt, oder man decodiert einen der ungültigen Zustände (hier z.B. 101) mit einem 3-fach NAND aus und macht die Invertierung zwischen dem Ausgang des letzten FFs zum Eingang des ersten mit einem weiteren Gatter des NAND, wobei man den Ausgang der "Fehlererkennung" an einen Eingang dieses "Inverter-NANDs" legt. Dann erhält das erste FF eine 1 als Eingang und auf 101 folgt dann 110 - eine gültige Kombination.
Als Treiber für die Elektromagnete könnte man ULN2805 Bausteine verwenden. Siehe https://cdn-reichelt.de/documents/datenblatt/A200/ULN2801A_ULN2802A_ULN2803A_ULN2804A_STM.pdf , falls der Strom, von 350 mA ausreicht. Der Baustein enthält auch die notwendigen Dioden zur Ableitung der Abschaltspannung. Einfach Pin 10 mit der Versorgungsspannung der Elektromagnete verbinden.
Günni schrieb: > Der Baustein enthält auch die notwendigen Dioden zur Ableitung der > Abschaltspannung. Ich würde da aber eher keinen Freilauf verwenden, sondern über Z-Dioden (o.ä.) schneller abschalten.
"output abs. max. 50V"
Das könnte je nach Induktivität zu wenig sein. Zum schnellen Abschalten
ist vielleicht sogar eine negative Spannung nötig.
>Die Elektromagneten sind so beschaffen, dass sie die Frequenz handhaben
können.
was bedeutet "handhaben"? Konkret, welche Induktivität, welcher Strom?
:
Bearbeitet durch User
Günni schrieb: > Die vorgeschlagene Statemachine lässt sich mit 3 D-FFs (1 1/2 Bausteine > 4013 oder 74HC74) einfach realisieren. Diese haben neben dem Ausgang Und getaktet wird das Ganze wie? Mit 120KHz Quarz? Mit 1MHz Quarz und Teiler 8,33333? Wieviel ICs noch zusätzlich "einfach" dranhängen? > Zustände (z.B. 000 ) erzeugt, oder man decodiert einen der ungültigen > Zustände (hier z.B. 101) mit einem 3-fach NAND aus und macht die > Invertierung zwischen dem Ausgang des letzten FFs zum Eingang des ersten > mit einem weiteren Gatter des NAND, wobei man den Ausgang der > "Fehlererkennung" an einen Eingang dieses "Inverter-NANDs" legt. Dann Und noch einen NAND-IC "einfach" dranhängen? Anstatt das Ganze mit einem Microcontroller (z.B. Arduino) zu lösen.
Peter D. schrieb: > Also 1.2e6 rpm > Hast Du mal die Fliehkräfte berechnet, die dabei auftreten? Wer sagt denn, dass es sich um einen makroskopischen Rotor handeln muss? Ich vermute eher, dass der TE damit beschäftigt ist, ein (Blut-)Gerinnungsmessgerät o.ä. zu entwickeln. Eine Möglichkeit besteht darin, Eisenspäne in die Probe zu kippen und diese mit einem rotierenden Magnetfeld anzuregen. Die Bewegung der Späne wird mit einer einfachen Kamera erfasst. Sobald sich die Späne nicht mehr bewegen, ist die Probe geronnen, und aus der verstrichenen Zeit wird der INR bzw. Quick berechnet. Kommerziell erhältliche Gerät sind nur minimal größer als einfache Blutzuckermessgeräte und genauso einfach zu bedienen. Statt eines Papierstreifens gibt es aber einen Kunststoffstreifen, in dessen Innerem eine Kapillare eingearbeitet ist, durch die ein Teil des Bluttropfens in einen Hohlraum mit den Eisenspänen gezogen wird. Sobald das Blut dort aufgezogen wurde, beginnt die eigentliche Anregung und Zeitmessung. https://www.coaguchek.de/patienten/selbstkontrolle-der-gerinnung Falls die Angabe des Arbeitgebers des TE tatsächlich korrekt sein sollte, dann stellt das Unternehmen Beschichtungsanlagen her. Und dort ist die Messung von Viskositäten, Partikelverteilungen in Suspensionen usw. ein wichtiges Thema. Ich kann mir gut vorstellen, dass dort an Messvorrichtungen auf Basis magnetisierbarer Teilchen gearbeitet wird.
:
Bearbeitet durch User
Rolf K. schrieb: > Microcontroller (z.B. Arduino)entfällt meiner Meinung nach, da zu > langsam. Deiner Meinung nach... 120KHz sind 8.33us Periodendauer, ergibt 134 Takte bei 16MHz. Lesen aus der Tabelle, ausgeben am Port, Pointer erhöhen und prüfen dauert genau 10 Takte. Die restlichen 124 Takte muss der Microcontroller in einem Loop verbringen (weil zu langsam?) Hier:
1 | ; r16=0 r16<>0 |
2 | ;********************************************************************* |
3 | l_0: ldi zl, low(StepTable*2) ;* 1 |
4 | ldi zh, high(StepTable*2) ;* 1 |
5 | ldi r16, 6 ;* 1 |
6 | |
7 | l_1: lpm r1, Z+ ;* 3 3 |
8 | out PortB, r1 ;* 1 1 |
9 | |
10 | rcall 124Takt_Dly |
11 | |
12 | dec r16 ;* 1 1 |
13 | breq l_0 ;* 2 1 |
14 | |
15 | nop ;* 1 |
16 | nop ;* 1 |
17 | rjmp l_1 ;* 2 |
18 | ;===================================================================== |
19 | ; 10Cy 10Cy |
20 | |
21 | 124Takt_Dly: |
22 | ldi r17, 39 |
23 | us2: dec r17 |
24 | brne us2 |
25 | ret |
26 | |
27 | StepTable: |
28 | .db 0b000111, 0b001110 |
29 | .db 0b011100, 0b111000 |
30 | .db 0b110001, 0b100011 |
30 Bytes Code, 6 Bytes Tabelle, 4 Register, Fehler < 0.5%
Lupo schrieb: > Ein kleiner 8pin ATTINY + 100NF sollten ebenfalls völlig > ausreichen. Korrektur: Der hat zu wenige Pins. Ein kleiner im größeren Dip-Gehäuse AVR wäre ev. besser. Ändert aber nichts daran,dass man nur 1 IC braucht.
Den Timer auf den gewünschten Takt mit Interrupt einstellen und die Ports schalten. Langsam verstehe ich, dass einige Leute hier bei manchen Fragen die Stirn runzeln :)
Ein NE555 für den Takt, ein 4017 als Zähler und ein paar Dioden, schon haben die Endstufen ihre Signale. Wobei NE555 und Schieberegister auch ginge. Mich interessiert, wozu man sowas braucht...
:
Bearbeitet durch User
Jens M. schrieb: > Mich interessiert, wozu man sowas braucht... Mich auch. Andreas S. schrieb: > Ich vermute eher, dass der TE damit beschäftigt ist, ein > (Blut-)Gerinnungsmessgerät o.ä. zu entwickeln. Ich glaube nicht, daß bei 1.2e6 rpm Blut noch gerinnen kann. Die Blutkörperchen zerreißt es regelrecht in ihre Bestandteile.
Marc V. schrieb: > Anstatt das Ganze mit einem Microcontroller (z.B. Arduino) zu lösen. Für den Takt kann man noch ein IC 4060 (Oszillator mit Teilerkette) nehmen. Realisiert man das Ganze mit 4000-er CMOS Bausteinen, muss die Versorgungsspannung nicht stabilisiert werden. Der Arduino benötigt eine stabile Versorgungsspannung und selbst auf meinem Arduino NANO Board befindet sich noch eine Menge "Hühnerfutter". Und dann braucht man noch einen PC auf dem man das Programm entwickelt und über USB in den NANO lädt. Da ist doch wohl fraglich, welche Lösung weniger Aufwand benötigt. Ich habe im Berufsleben oft Leute erlebt, die mit einem Riesenaufwand an High-Tech-Equipment Aufgaben lösten, für die andere mit wenigen Standardbausteinen auskamen. Wenn ich zum Bäcker gehe, ziehe ich mir Schuhe an. Ich kenne Leute, die dafür ihr Auto nehmen, es im Winter sogar manchmal noch freikratzen und dann beim Bäcker noch einen Parkplatz suchen müssen. Intelligenz ist nicht, komplexe Lösungen zu kennen, sondern die für die jeweilige Aufgabenstellung einfachste Lösung zu finden.
Günni schrieb: > Ich habe im Berufsleben oft Leute erlebt, die mit einem Riesenaufwand an > High-Tech-Equipment Aufgaben lösten, für die andere mit wenigen > Standardbausteinen auskamen > Intelligenz ist nicht, komplexe Lösungen zu > kennen, sondern die für die jeweilige Aufgabenstellung einfachste Lösung > zu finden. Ja das kann ich direkt unterschreiben.
Andreas S. schrieb: > diese mit einem rotierenden > Magnetfeld anzuregen Wenn das die Aufgabe ist, gibt es eine einfachere Lösung. Gibt man 2 um 90° phasenverschobene Sinusschwingungen auf 2 Spulen(paare), die räumlich rechtwinklig zueinander stehen, erhält man einen Magnetfeldvektor, der mit konstanter Geschwindigkeit umläuft (wie ein Permanentmagnet, der sich mit konstanter Drehzahl dreht). Das ist zwar Analogtechnik, vom Aufbau her aber noch einfacher und das Magnetfeld "ruckelt" nicht.
Hi, Frage nach der Anfangsbedingung nach Power on. Irgendwelche Zufallszustände sind nicht erlaubt? Sonst wie Sauerbier hier anzubieten: AtTiny2313 und zwei CD4094. (Fängt bei 0 an.) Muss nur auf die geforderte Anzahl von Zuständen angepasst werden, evtl. nur 1 CD 4094-er. ciao gustav
Karl B. schrieb: > Foto von uralter Platine Das geht aber nicht, du hast diese olle Platine dieses Jahr schon gezeigt. Der nächste Termin wäre erst 2021 gewesen :-) Beitrag "Schieberegister (HEF4094B) Programmieren" (2018) Beitrag "Digitalpins I/O" (2019) Beitrag "LED´s aufschalten mit dem 74xxxx" (2020) Sieht die eigentlich noch wirklich so aus, oder zerfällt sie inzwischen?
Rolf K. schrieb: > immer 3 Elektromagnete sind eingeschaltet Hi, das mit der Software machen. Der Vorteil des CD4094 liegt darin, dass man drei Signale zur Ansteuerung verwenden kann. Also Clock, Strobe und die Daten(Muster) als solche. Und was die praktische Ausführung angeht, statt der LEDs eben die Magnete. Bild war nur so eine Idee. Sicher geht das noch kleiner. ciao gustav
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.