Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (2024)

Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (3)

    • Pico
  • Georg1400
  • 27. Mai 2024 um 14:33
  • Unerledigt
    • 27. Mai 2024 um 14:33
    • Neu

    Ich habe folgendes Problem und als blutiger Anfänger in der Programmierung des Pico´s stehe ich vor einem für mich riesigem Problem.

    Zur Zeit baue ich mir einen Test-Reparaturplatz um eine Tachoeinheit zu betreiben. Mir fehlt aber noch folgendes Signal:

    Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (4)

    Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (5)

    Das Signal sollte sich immer wiederholen.

    Kann man das auf dem Pico realisieren und wie.

    Ich kann mir vorstellen, das das für einige von Euch kein Problem seien dürfte.Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (6)

    Gruß

    Georg

  • Kann man mit dem Pico so ein Signal erzeugen und wie? Schau mal ob du hier fündig wirst!

    • 27. Mai 2024 um 16:17
    • Neu

    Wenn ich die Angaben da richtig interpretiere, kommen alle 500 ms 8 kurze LOW-Impule mit etwas über einer ms im Abstand von 5 ms (fallende Flanke zu fallende Flanke). Das sollte für den Pico absolut kein Problem sein.
    Wie hoch sind denn die Spannungen - 5 Volt (high) und 0 Volt (low)? Wenn ich es richtig sehe, sind es jedenfalls von low zu high 4,92 Volt.

    Im Grunde genügt dir da (wenn du es mangels tieferen Programmierkenntnissen einfach halten willst) eine verschachtelte Schleife.

    Eine äußere Endlosschleife mit einem Delay von 460 ms (Signal ist auf low) und eine innere Zählschleife (von 0 bis 7) mit jeweils Signal auf high -> delay 1,1 ms -> Signal auf low -> delay 3,9 ms. Das Signal gibst du über einen GPIO auf einen Transitor und kannst damit 5 Volt (die über einen Pullup-Widerstand anliegen) nach GND schalten. Der Transistor dreht die Logik wieder um.

    Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (7)

    Als Transistor kannst du einen üblichen Kleinleistungstransistor nehmen - BC547 oder BC337. Der Pullup-Widerstand kann zwischen 1000 und 10000 Ohm liegen. Zwischen GPIO und dem Control Signal Eingang (B = Basis) des Transistors musst du noch einen Widerstand schalten - 1000 Ohm sollten es tun, höher geht auch. Spielt in diesem Fall eine allzu große Rolle.
    Die Signalspannung, die du mit dem Tacho auswerten kannst, liegt dann zwischen den beiden Anschlüssen Vout. Oben das Signal, unten GND.

    Wie weit kannst du einen Pico schon programmieren? Hast du schon mal was mit Transistoren gebaut oder generell mal was gelötet? Das sollte auch ohne nennenswerte Vorerfahrungen machbar sein.

    • 27. Mai 2024 um 19:21
    • Neu

    Gnom

    Danke für deine schnelle Antwort.

    Du hast meine Angaben richtig interpretiert, anstatt unnütze Angaben über Speicherorte zu kommentieren.

    Meine Probleme liegen nicht in der Hardware ( 48 Jahre Elektronikerfahrung), sondern im Bereich Software. Leider habe ich jetzt nicht die Zeit mich weiter in Software für den Raspberry Piko einzuarbeiten (das steht für den Winter an). Wegen diesem fehlenden Signals steht zur Zeit mein gesamtes Projekt. ;-((

    Wenn mir Jemand mit einer verschachtelten Schleife helfen könnte.....?

    Gruß

    Georg

    • 27. Mai 2024 um 19:33
    • Neu

    Moinsen,

    Ich weiss zwar echt nicht wie du zu der Annahme kommst, das hier irgendwas mit 3,9 ms und 1,1ms zu tun haben soll ? Aber wenn ich die Bildpunkte als Verhältnis eines Anteils Rasterbreite ( 5 ms ) beträgt der High-Anteil zwischen den LOW Peaks im Verhältnis 11 zu 8 was einer Impulsbreite von ca. 3,65 ms entsprechen würde.
    Statt hier solche Schätzung abzugeben, wäre es doch viel sinnvoller den TO darauf hinzuweisen, die Trigger Einstellung richtig anzupassen. Jeder Oszi lässt sich so einstellen, das das Rasterkreuz - Mitte X als Trigger-Punkt "to Low" oder "to High" verwendet werden kann.
    Zudem lässt sich bei jedem Hantek Oszi bei gesetzten Triggerpunkt die Pulslänge bis nächsten Flankenwechsel ermitteln, und es wird auch so als solches angezeigt. Da muss man weder raten, noch Bildpunkte von einer Bildschirmfotografie zählen, um hier auf genaue Werte der Impulslänge und -dauer zu kommen.

    Grundsätzlich machen Schleifen nur dann bei einem µC Sinn, wenn diese nicht zu periodischen Verschleppungen führen. Der PICO verfügt über 8 PIO Kanäle die unabhängig der CPU arbeiten. Jeder Befehl ist an den CPU Takt direkt gekoppelt, ohne selbst die CPU zu belasten. Das heist nichts anderes als das jeder PIO@ASM Befehl mit dem Reziprok des tatsächlichen CPU Clock ausgeführt wird. Da der TO keine Angaben macht, welche Programmiersprache er nutzen möchte noch der Hinweis allgemeiner Art. Bei der Verwendung von µPython wird der CPU standardmäßig auf 125 MHz abgesenkt, kann aber wieder auf 133 MHz angehoben werden. so das ähnliche Bedingungen wie mit der Verwendung von C/C++ gegeben sind.

    Daher sollte der TO erst einmal sagen, welche Programmierkenntnisse er in Python ( µPython ) oder C/C++ hat.
    Da jede Schleife als Zählschleife auch Sprungbedingungen enthält, was sich auf den STACK auswirkt, würde ich ohne zu wissen wie lange das Programm am Stück laufen soll, erst einmal von einer solchen Methode abraten. Denn diese minimalen Zeitverzögerungen ( Sprungbedingung innerhalb einer solchen Schleife ) addieren sich mit zunehmender Laufzeit auf, so das dein Signalabstand zwischen den Impulsfolgen selber mit zunehmender Laufzeit immer größer werden. ( 10 min bis einige wenige Stunden sind hier nicht das Problem ! )

    • 27. Mai 2024 um 21:33
    • Neu

    Franky07 Die Sprungbedingungen in Zählschleifen wirken sich auf den Stack aus‽ Wie das?

    • 27. Mai 2024 um 21:38
    • Neu

    Du lernst es nicht, Franky!

    Soso, das Verhältnis 11 zu 8 entspricht deiner Meinung nach bei 5 ms Perisodendauer 3,65? Ich weiß zwar nicht, was du dir beim betrachten der Abbildungen so gedacht hast in deinem Hirnkasten, aber es hat offenbar wenig mit dem zu tun, was der TO sagen wollte.

    Der TO hat sich deutlich als "blutiger Anfänger in der Programmierung" geoutet. Es hat also wenig Sinn, ihn mit PIO, periodischer Verschleppung, reziproken CPU-Clocktakten, Taktfrequenzvarianten und Stackproblemen zu malträtieren. Für seinen Anwendungsfall reicht nach erfahrungspraktischem Ermessen eine Schleife problemlos aus und das ganze Ding ist wahrscheinlich mit 10 Programmzeilen erschlagen.

    DU musst aber wieder ne Raketenwissenschaft draus machen und deine übersteigerte Hybris hier ausleben. Wenn du nichts besseres als grundlose Beleidigungen und deine von egomanen Besserwissereien vorzubringen hast, dann halt dich doch einfach raus! Ich empfinde deinen Beitrag absolut zum Kotzen! (Sorry, aber für mein Empfinden kann ich nichts - ich könnte mir höchstens auf die Zunge beißen, und sie dir verheimlichen. Aber ehrlich währt doch am längsten, oder?)

    • 27. Mai 2024 um 21:44
    • Neu

    __blackjack__ Da fällt mir ein blöder Spruch ein: Diskutiere nicht mit Idioten - sie ziehen dich auf ihr Niveau herunter und schlagen dich mit Erfahrung!

    • 27. Mai 2024 um 23:11
    • Neu

    Moinsen

    Zitat von Gnom

    DU musst aber wieder ne Raketenwissenschaft draus machen und deine übersteigerte Hybris hier ausleben. Wenn du nichts besseres als grundlose Beleidigungen und deine von egomanen Besserwissereien vorzubringen hast, dann halt dich doch einfach raus! Ich empfinde deinen Beitrag absolut zum Kotzen!

    Ich weiss zwar immer noch noch nicht wie du zu dieser deiner Zahlenerkenntnis gekommen bist, aber du willst es ja auch keinen Verraten ! Also muss man wieder einmal annehmen, das du hier nur stupiden Unsinn von dir gibst wie schon so oft !
    Wenn es nur 10 Zeilen sind, dann poste doch hier einfach deinen 10 Zeilen-Code in einer realen Programmiersprache die auf dem PICO verwendet werden kann.

    Aber auch hier scheinst du wieder mehr zu wissen als Anderen.
    Denn wenn ich die Aufgabe lese ->

    Zitat von Georg1400

    Zur Zeit baue ich mir einen Test-Reparaturplatz um eine Tachoeinheit zu betreiben. Mir fehlt aber noch folgendes Signal:

    Dann handelt es sich offenbar um ein Referenzsignal welches er benötigt. Aber wenn man mit 48 Jahren Erfahrung in der Elektronik immer noch keinen OSZI bedienen kann, dann läuft offenbar etwas gewaltig schief. Deswegen hatte ich das auch so formuliert, das der TO erst einmal für eine fundierte Faktenlage sorgen soll !
    Alle Oszis dieser Firma beherrschen die notwendigen Grundfunktionen, um auch dir die Möglichkeit zu geben einen Code zu erstellen, der diesen Anforderungen entspricht. Und falls es dir noch nicht aufgefallen sein sollte, was aber auch ein Darstellungsfehler sein könnte sind nicht alle Impulse von gleicher Länge, deswegen rät man hier auch nicht irgendwelche Zahlen, sondern misst ernsthaft mit den verfügbaren Messmitteln. Warum soll ausgerechnet die Einheit Millisekunden hier ein besondere Relevanz besitzen ? Egal wie man das Kind dreht, du kannst in keiner wirklichen Programmiersprache auf Microcontrollern ein Delay einer Floatpoint Delay Zeit angeben. Das muss man in einer kleineren Einheit µSek oder nSek machen,
    Aber das nur mal am Rande zu deinen Aussagen ! Denn nicht wie im normalen Python für einen BS basiertes OS kann man floatpoints bei delay oder sleep angeben. Das heist nichts anderes das du scheinbar schon wieder Python für ARM ( RasPI ) mit einer µPython Version , oder aber mit dem Funktionsumfang der PICo SDK verwechselst.
    Also erzähle den Leuten nicht irgendwelchen Unsinn !
    Und noch ein Tip für dich, das bisschen toggeln eines GPIOs via PIO kann man im Elektronik-Kompendium nachlesen. Dazu muss man nur etwas rechnen können und diese Impuls-Blockwiederholung an einen Timer binden. Das sind dann zwar ein paar Zeilen mehr als deine hypothetischen 10 Zeilen, aber das Ergebnis stimmt immer.

    • 28. Mai 2024 um 00:01
    • Neu

    Moin Georg1400,

    erstmal: Herzlich Willkommen im Forum!

    Bilder sind meistens hilfreich, aber sie führen auch zu Interpretationen, die ,wie man lesen kann, unterschiedlich sind.


    Schaffen wir mal Fakten mit denen man arbeiten kann.
    Du benötigst 8 Impulse. Wie lang muss ein Impuls sein?
    Dann soll sich die Impulsreihe wiederholen. In welchem zeitlichem Abstand?

    Dann wäre noch hilfreich, wenn du schreibst in welcher Sprache du das Ganze realisieren möchtest.

    73 de Bernd

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!

Benutzerkonto erstellenAnmelden

Ähnliche Themen

  • Kann man ein moduliertes Signal mit einem Pi Pico erzeugen?

    • DO8THW
    • 21. Mai 2024 um 20:55
    • Raspberry Pi Pico

Benutzer online in diesem Thema

  • 1 Mitglied (davon 1 unsichtbar)
Kann man mit dem Pico so ein Signal erzeugen und wie - Deutsches Raspberry Pi Forum (2024)

References

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6196

Rating: 4.4 / 5 (65 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.