Forum

Einloggen | Registrieren | RSS  

kakarott95(R)

17.01.2023,
00:41
 

Wie funktioniert eine Bitübertragung mittels PWM im Detail? (Elektronik)

Ich habe eine grundlegende Frage:

ein arduino bzw. Computer wird ja mithilfe von Impulsen gesteuert, sprich, 5v bei high und 0 v bei Low. Jetzt habe ich gestern etwas mithilfe von pwm programmiert und da habe ich gesehen, dass beispielsweise bei einer Zahl 255 lautet 11111111 in Form von Impulsen übertragen werden. Meine Frage ist, wie werden diese Impulse gesteuert bzw. Übertragen? Es werden ja Impulse mit einer Frequenz von beispielsweise 300 hz versendet. Also 300 mal in der Sekunde. Wie funktioniert das genau?


Ich habe mir das versucht langsamer und einfacher vorzustellen, indem ich mir dachte, dass ich ja den Lichtschalter zu Hause ja auch manuell in der Minute 100 mal an und aus stellen kann und somit entweder Strom durchlasse oder sperre. Aber wie funktioniert das mit so ner Geschwindigkeit und so einer Frequenz im Computer bzw. Arduino?

Danke.

gast

17.01.2023,
06:54

@ kakarott95

Wie funktioniert eine Bitübertragung mittels PWM im Detail?

» Ich habe eine grundlegende Frage:
»
» ein arduino bzw. Computer wird ja mithilfe von Impulsen gesteuert, sprich,
» 5v bei high und 0 v bei Low. Jetzt habe ich gestern etwas mithilfe von pwm
» programmiert und da habe ich gesehen, dass beispielsweise bei einer Zahl
» 255 lautet 11111111 in Form von Impulsen übertragen werden. Meine Frage
» ist, wie werden diese Impulse gesteuert bzw. Übertragen? Es werden ja
» Impulse mit einer Frequenz von beispielsweise 300 hz versendet. Also 300
» mal in der Sekunde. Wie funktioniert das genau?

Mich beschleicht der Verdacht da liegt eine Verwirrung vor.
Daten können mit Impulsen übertragen werden z.B. eine serielle Übertragung
https://de.wikipedia.org/wiki/Serielle_Daten%C3%BCbertragung

PWM ist was anderes, kann aber auch Informationen übertragen.
https://www.elektronik-kompendium.de/sites/kom/0401111.htm

Sehr verbeitet ist die Technik für die Ansteuerung eines Sevos.
Über die PWM wird die Information "versendet" welche Stellung der Servo einnehmen soll.
https://www.electronicsplanet.ch/Roboter/Servo/servo-funktionsweise/servo-funktionsweise.php

cmyk61(R)

E-Mail

Edenkoben, Rheinland Pfalz,
17.01.2023,
10:02
(editiert von cmyk61
am 17.01.2023 um 10:02)


@ kakarott95

Wie funktioniert eine Bitübertragung mittels PWM im Detail?

Moin,

PWM bedeutet PulsWeitenModulation

Damit kann man Daten übertragen aber auch den Energiefluss steuern (besonders praktisch bei LEDs)
Um bei Deinem Beispiel mit dem Lichtschalter zu bleiben.
9 Sekunden an - 1 Sekunde aus = 90% Helligkeit / Geschwindigkeit etc
10 Sekunden an - 0 ekunden aus = 100%
1 Sekunde an - 9 Sekunden aus = 10%

Natürlich kann man statt einem Zeitfenster von 10 Sekunden auch zB 255 Sekunden verwenden.
Aber auch 255 Millisekunden oder Mikrosekunden. Abhängig von der Anwendung, vom Motor, vom Leuchtmittel etc.

Servos im Modellbau werden auf diese Weise angesteuert.

Eine Datenübertragung von Computer zu Computer/Interfacebaustein etc funktioniert ähnlich. Jedoch ist in einem Protokoll genau festgelegt, zu welchem Zeitpunkt ein Highsignal und wann ein Lowsignal gesendet wird und wie lange diese Impulse sein müssen. Das kann (fast) beliebig komplex sein.

Gruß
Ralf

» Ich habe eine grundlegende Frage:
»
» ein arduino bzw. Computer wird ja mithilfe von Impulsen gesteuert, sprich,
» 5v bei high und 0 v bei Low. Jetzt habe ich gestern etwas mithilfe von pwm
» programmiert und da habe ich gesehen, dass beispielsweise bei einer Zahl
» 255 lautet 11111111 in Form von Impulsen übertragen werden. Meine Frage
» ist, wie werden diese Impulse gesteuert bzw. Übertragen? Es werden ja
» Impulse mit einer Frequenz von beispielsweise 300 hz versendet. Also 300
» mal in der Sekunde. Wie funktioniert das genau?
»
»
» Ich habe mir das versucht langsamer und einfacher vorzustellen, indem ich
» mir dachte, dass ich ja den Lichtschalter zu Hause ja auch manuell in der
» Minute 100 mal an und aus stellen kann und somit entweder Strom durchlasse
» oder sperre. Aber wie funktioniert das mit so ner Geschwindigkeit und so
» einer Frequenz im Computer bzw. Arduino?
»
» Danke.

ingo

E-Mail

17.01.2023,
17:26

@ kakarott95

Wie funktioniert eine Bitübertragung mittels PWM im Detail?

» Ich habe eine grundlegende Frage:
»
» ein arduino bzw. Computer wird ja mithilfe von Impulsen gesteuert, sprich,
» 5v bei high und 0 v bei Low. Jetzt habe ich gestern etwas mithilfe von pwm
» programmiert und da habe ich gesehen, dass beispielsweise bei einer Zahl
» 255 lautet 11111111 in Form von Impulsen übertragen werden. Meine Frage
» ist, wie werden diese Impulse gesteuert bzw. Übertragen? Es werden ja
» Impulse mit einer Frequenz von beispielsweise 300 hz versendet. Also 300
» mal in der Sekunde. Wie funktioniert das genau?

Zwei Wege kann ich mir vorstellen.
1. Da ist für PWM ein passendes Modul im Arduino. Dem sagt man die Frequenz mit der es schwingen soll.

2. Der Arduino läuft mit einem Takt der deutlich höher als 300 Hz ist. Da ist es kein Problem einen Ausgang mit 300 Hz per Software zu schalten.

Gruß Ingo

bigdie(R)

17.01.2023,
20:28

@ kakarott95

Wie funktioniert eine Bitübertragung mittels PWM im Detail?

» Ich habe eine grundlegende Frage:
»
» ein arduino bzw. Computer wird ja mithilfe von Impulsen gesteuert, sprich,
» 5v bei high und 0 v bei Low. Jetzt habe ich gestern etwas mithilfe von pwm
» programmiert und da habe ich gesehen, dass beispielsweise bei einer Zahl
» 255 lautet 11111111 in Form von Impulsen übertragen werden. Meine Frage
» ist, wie werden diese Impulse gesteuert bzw. Übertragen? Es werden ja
» Impulse mit einer Frequenz von beispielsweise 300 hz versendet. Also 300
» mal in der Sekunde. Wie funktioniert das genau?

Also Datenübertragung hat erst mal nichts mit PWM zu tun. Einzig bei Servos im Modellbau wird die Impulsbreite ausgewertet als information
Ansonsten ist es evtl hilfreich mal beim Urschleim der seriellen Datenschnittstellen anzufangen um das System zu verstehen Im Prinzip bis auf die Pegel bekommt der Arduino auch die Bits vom PC über eine serielle Schnittstelle wie RS232. Wenn die Spannung nur 0V und 5V ist, nenn man es UART.
https://de.wikipedia.org/wiki/RS-232
Da Laptops und PCs heute kaum noch RS232 Ports haben, gibt es Wandler von USB auf RS232 oder Uart.
USB ist eine andere Art serieller Datenübertragung. Da ist das Protokoll aber viel aufwändiger, deshalb nutzen die Prozessoren auf dem Arduino Bord weiterhin den alten Standard und spezielle Ics bauen praktisch einen USB Tunnel um die daten nach altem Muster durchzuschleusen