-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: digitale Signalgenerierung

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967

    digitale Signalgenerierung

    Anzeige

    Hallo zusammen,

    ich möchte euch heute ein noch nicht komplett abgeschlossenes Projekt zeigen, bei dem aber die erste Platine fast abgeschlossen ist.
    Hintergrund ist eine universelle Material Prüfmaschine, mit der Reisversuche/Schussbetrieb oder Schwingversuche durchgeführt werden können. Die ursprünglich Elektronik kränkelt aber ein wenig. Deswegen soll es bald eine komplett neue elektronische Steuerung für die Maschine geben.

    Der erste Schritt dahin ist fast getan. Die Sollsignalgenerierung für den Regler, der nachher den Kolben je nach Einstellung Weg, Kraft, Dehnung oder sonst was regelt.

    Der Wunsch war jeglich einstellbare "kurve" fahren zu können. Auch einfach willkürliche Werte soll man nachfahren können. Somit kommt man um eine digitale Erzeugung des Signals nicht herum.

    Die Frequenz soll von 0,01Hz bis 20Hz in 0,01Hz Schritten einstellbar sein. Mehr macht die Mechanik bei einer Amplitude von 20cm auch nicht mit.

    Heraus kam nun unten gezeige Platine. Sie besteht aus einer steuerbaren PLL, welche einen Adresszähler steuert, welcher wiederum einem SRAM durchläuft, der seine Daten auf einen DAC wirft.

    Eine Periode Daten besteht aus 2^15 Werten mit einer Auflösung von 14bit bei einem Spannungsbereich von -10 bis +10 Volt.

    Das ganze lässt sich vom PC aus über USB steuern. Das Ziel soll später eine mehr oder weniger "BlackBox" mit USB Anschluss. Notschalter wird es natürlich weiterhin noch geben.

    Die nächste Platine wird die Regelungsplatine sein, ob diese digital oder analog ausgeführt wird, kann ich noch nicht sagen.


    Ich möchte ganz speziell noch Manf, PICture, und Besserwessi danken, die mir bei einigen Problemen speziell hierfür prächtig geholfen haben!!


    So und und nun los mit Kommentaren, Kritik

    Grüße hacker







    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Ja, sehr gut gelungen. Saubere Kurve. Grad an hochaufgelösten Dreiecksverläufen sieht man gut die Güte der Digitalisierung.

    Du machst alles im Auftrag oder als Projekt für die Uni Stuttgart? Gibts dazu mehr Informationen? Stellen die für Dich die Platinen her oder ist der Schriftzug nur vorgegeben und dann professionell hergestellt (und von der Uni bezahlt)?

    Übrigens: 'XXX' als Menüpunkt ist nicht so passend.

    Wo lag denn die Hauptschwierigkeit dabei? Die Schaltung sieht sehr kompliziert aus für eine SRAM-gestützte ADC-Applikation.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967
    Vielen Dank für das Lob. Darüber freue ich mich natürlich sehr.

    Ich bin über einen Bekannten an die "Maschine" gekommen. Die alte Elektronik schwächelte da schon seit Jahren und ich durfte schon als Schüler die defekten Schaltungsparts wieder reparieren. Und nun konnten sie mich endlich als Hiwi einstellen, weil ich ab letzten Herbst in der Uni Stuttgart eingechrieben bin. Dann kam eben die Idee auf, nicht immer alles zu reparieren, sondern die Elektronik einfach rundherum zu erneuern. Und das darf ich nun machen. Da bin ich ziemlich stolz drauf *g*. Für mich mit 20 Jahren ist das ne ziemliche Herausforderung, aber man lernt und es macht Spaß.

    Den Schriftzug auf der Platine hab ich beim Layouten drauf gesetzt. Gefertigt wurde die doppelseitige Platine bei PCB-Pool und von der Uni eben bezahlt. Ich bin praktisch nur "Angestellter".


    Das mit dem Menüpunkt wird auch noch geändert. Die ganze Software steckt noch in der Betaphase Und hinter "XXX" verbirgt sich auch nicht das, was man erwarten würde *g*

    Hm für einen etwas erfahreren Elektroniker wird die Schaltung vermutlich keine Herausforderung gewesen sein. Aber für mich gab es schon einige Schwierigkeiten. Mit eins der Hauptprobleme war sicherlich die PLL, die aber dank des Forums nun perfekt läuft.
    Ein etwas anderes Problem war die niedrige Pinzahl am Mega32 (selbst verursacht, man hätte ja einen größeren nehmen können). So hab ich die PLL steuerbar über I²C realisiert.
    Was man vielleicht nicht sieht ist das Platzproblem. Ich hab nur eine Eagle Version mit beschränkter Fläche. Diese wurde in nächtelanger Arbeit beim Routen optimal genutzt. Es wurden auf der Ober- und Unterseite ca. 25 ICs verbaut.
    Wo ich vorher nicht wusste wie es ausgeht waren die SMD ICs. Waren so ziemlich meine ersten etwas längeren SMD Lötversuche.

    Grüße,
    hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Sieht sehr schick aus und ist sehr leistungsfähig, für die Größe.
    Was den Platz angeht, so ist zwar schon recht viel drauf (Unterseite sieht man ja nicht). Um noch mehr draufzubekommen, hätte man eventuell einige Einstellungen in Eagle optimieren können, zB die min. Leiterbahnbreite, den Abstand und das Grid.
    Wie sieht es mit dem Rauschen auf der Analogspannung aus?
    Nun hast Du eine recht hohe Frequenz und Bitzahl. In Verbindung mit dem Speicher dürften da schon recht hohe digitale Frequenzen entstehen.
    Ich sehe keine Groundplanes, dafür aber jede Menge freier Inseln. Da entstehen schnell Störamplituden von 20-100mV im MHz -Bereich. Das könntest Du mit einem empfindlichen Oszi mal überprüfen. Eine 14Bit Auflösung dürfte damit schwer erreichbar sein. Das hängt natürlich auch von der Signalführung ab.
    Hast Du zum Ansteuern des Speichers PullUps verwendet?
    Viel Erfolg und Gruß

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Ja, das Eagle-Problem kenne ich. Aber an Unis sollte Eagle lizenziert vorliegen, oder bestellbar sein.
    Das Platzproblem habe ich z.B. so gelöst, dass ich einfach zwei halbe-Euro-Platinen getrennt gemacht habe, die dann einfach am Rand vier PADs bekamen, die ich nach dem Ätzen einfach zusammengelötet habe: 2x I2C und 2xSpannungsversorgung.

    Und was Du da mit Deinen 20 Jahren auf die Beine gestellt hast, ist sehr beachtlich.
    Ich möchte Dich ja nicht auf einen zu hohen Sockel heben, aber wenn Du diese Herausforderung jetzt bereits zu Beginn des Studiums meistern konntest, dann kannst Du nach abgeschlossenem Studium in faktisch jeden Elektronikbereich einsteigen, inklusive Intel/AMD.

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Der analoge teil könnte hier recht kleine sein. Für den Digitalen teil ist die Masseebene noch nicht so wichtig, und so hoch müssen die Frequenzen da auch noch gar nicht sein. Selbst bei 20 Hz * 2^15 ist man erst bei rund 650 kHz. Das ist also noch relativ niedrig. Vermutlich wäre da die Lösung per DDS die kleinere gewesen.

    Ein so komplizierte Platine fehlerfrei hinzukreigen ist schon eine Leistung.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967
    Hallo,

    danke für das Lob und die wichtige Kritik (davon kann man nur lernen!)

    teilweise bin ich beim Layout schon an den Grenzen von 6mil Leiterbahndicke und Abstand, die durch den Hersteller vorgegeben sind.

    Störungen auf der Analogspannung hab ich bisher keine beobachten können. Nur das allgemeine Rauschen der Versorungsspannung von ca. 5-10mV.

    Der einzige analoge Teil ist die PLL und die hat eine große Massefläche auf der rechten Seite. Beim digitalen Teil war so eine etwas größere zusammenhängende Massefläche der hohen Leiterbahndichte fast unmöglich.

    Zum Ansteuern des Speichers hab ich keine Pullups verwendet? Geht das überhaupt bei den Datenleitungen? Kann ich trotz Pullups die Leitung hochohmig schalten, wie es das Datenblatt erfordert? Wenn ja, für was braucht man sowas? Ich will lernen.

    Gibt es Vorteile von DDS gegenüber meiner Lösung? Bzw. Ist meine Lösung total absurd, oder wird das schon ungefährt so realisiert wie ich es getan hab? Kennt sich da jemand aus?

    Grüße,
    hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Wenn Du eine Leitung hochomig schaltest, dann brauchst Du unbedingt einen PullUp! (und wenns nur ein beim Gegenstück integrierter ist)
    Stell Dir vor, der RAM-Baustein ist auf LESEND eingestellt, d.h. er legt kein Potential an die Leitungen. Jetzt schaltest Du, wie vom DB vorgegeben, seitens des Controllers auch auf hochohmig. Welches Potential liegt dann an der Leitung an? Richtig - keins. Das bedeutet wiederum, dass kleinste Störungen, z.B. von Deinem Finger in der Nähe (1cm), oder ALLES ANDERE ein Potential bilden, so dass im schlimmsten Fall Müll gelesen wird.
    Und nun legt man einen PullUp an, der nur wirkt, wenn kein Potential anliegt. Dann können auch keine Schwingungen entstehen (und so vielleicht ein nicht vorhandener Takt) usw.

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Für eine Leitung die zwischendurch hochohmig wird, sollte ein Pullup oder alternativ ein Pull-down vorhanden sein. Die digitalen ICs mögen mittlere Pegel nicht unbeding und können da unnötig Strom verbrauchen, Störungen erzeugen und wenn der Pegel dann auch noch eine Auswirkung hat, dann gibts es da auch noch "zufällige" reaktionen. Bei den Datenleitungen der RAMs wird das aber wohl weniger das Problem sein.

    Die Frequenzerzeugung per DDS ist vor allem einfach, weil es dazu kleine Spezielle ICs gibt, die man z.B. per SPI mit dem µC verbiden kann. Heir wäre ein AD9832 oder ähnliches schon ausreichend. Die Hauptanwendung sind Sinussignale, aber über einen zum Teil integrierten Comperator kann man auch ein gutes Rechtecksignal bekommen. Bevor es diese ICs gab, war ein DDS Generator sehr aufwendig (z.B. 2 Europlatinen groß, > 5 W Leistung) und die Lösung mit dem PLL die Methode der Wahl. Für Radios/Ferhnsehen wird sie auch immer noch benutzt weil man da auch gut hohe Frequenzen erzeugen kann. DDS Chips für über 50 MHz werden zunehmend teuer. Die PLLs gehen ohne Probleme bei hohen Frequenzen (auch > GHz), weniger gut bei niedrigen Frequenzen. Die DDS Chips gehen vor allem bei mittleren und niedrigen Frequenzen gut. Da es dabei auf die Geschwindigkeit digitaler Logic ankommt verschiebt sich das Einsatzgebiet in Richting höherer Frequenzen. Ein Vorteil des DDS ist, das man keinen Analogteil mehr hat und auch keinen zum Teil kritischen Loopfilter braucht.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    28
    Beiträge
    967
    Danke für eure Erklärungen.
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •