PWM mit dem Raspberry Pi erzeugen

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von mschnell »

fliegermichl hat geschrieben:Ich habe aber irgendwo gelesen, daß am GPIO Pin 18 (Pin 12 auf der Steckerleiste) eine per Hardware generierte pwm ausgegeben werden kann.

-> https://www.raspberrypi.org/documentation/usage/gpio/

->

PWM (pulse-width modulation)
Software PWM available on all pins
Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19

-Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von pluto »

Ich könnte natürlich zusätzlich noch einen AVR dazunehmen. Aber das ist verdammt viel Overkill um ein Garagentor auf und zu zu machen

Was du brauchst ist wohl ein Motor Treiber.... Die kosten so gut wie nichts und Arbeiten über I2C... oder SPI....
Ein ESP sollte das auch können, wenn du den Motor Treiber da anschließend.
MFG
Michael Springwald

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von fliegermichl »

Hab's gefunden.
GPIO 23 (Pin 33) ist einer der beiden möglichen GPIO für Hardware pwm

gpio mode 23 pwm
gpio pwm 23 52

erzeugt eine Frequenz von 30,468 KHz an dem Pin.
Ich brauche das für eine Lichtschranke.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von Timm Thaler »

fliegermichl hat geschrieben:Ich könnte natürlich zusätzlich noch einen AVR dazunehmen. Aber das ist verdammt viel Overkill um ein Garagentor auf und zu zu machen :-)


Ein Garagentor?

Natürlich nur AVR! Sowas würde ich nie mit einem Raspi steuern. Jedes Programm hat Zugriff auf die GPIOs, kann die PWM überschreiben, und Dir das Tor auf und zumachen. Da reicht es schon, wenn Du ein Update einspielst und plötzlich werden GPIOs anders behandelt.

Glaubst Du nicht? Früher waren GPIOs nur per sudo erreichbar. Da das vielen zu umständlich war, wurden mit einem Update GPIOs allgemein freigegeben. Beim Pi3 musste man die serielle Schnittstelle umbiegen, weil sie die vergeigt haben. Mit einem Update wurde das behoben - mit dem Effekt, dass die Schnittstelle erstmal nicht ging, wenn man sie umgestellt hatte. Ich frage meine Heizung per serieller Schnittstelle ab. Die Abfrage brach dann immer mal ab, und ich musste das Programm neu starten. Bis ich rausgefunden habe, dass irgendwas die Parameter der von meinem Programm geöffneten Schnittstelle verstellt. Nun setze ich alle paar Stunden die Parameter neu, ich hab aber nie rausgefunden, was da noch auf die Serielle zugreift.

Oder der Raspi hängt sich auf und die PWM wird nicht abgeschalten. Oder - falls Software-PWM - bleibt hängen und der Motor bekommt 100%.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von mschnell »

fliegermichl hat geschrieben:GPIO 23 (Pin 33) ist einer der beiden möglichen GPIO für Hardware pwm.

Also anscheinend ein and3eres Modell als auf der zitierten Webseite !
-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von mschnell »

Timm Thaler hat geschrieben:[PWM - bleibt hängen und der Motor bekommt 100%.

Ich denke, er will nicht den Motor steuern, sondern eine IR-Fernbedienung simulieren.

Für eine Motorsteuerung braucht man natürlich ein ganz anderes Sicherheits-Konzept.

-Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von pluto »

Bis ich rausgefunden habe, dass irgendwas die Parameter der von meinem Programm geöffneten Schnittstelle verstell

Ähnliches habe ich auch herrausgefunden bei USB, dass liegt daran, dass der Kernel meint ein Reset zu senden und dann ist die Aktuelle Verbindung weg.
Vielleicht ist das hier was ähnliches... Seit dem ich ein Wemos D1 mini dafür nutzte, habe ich kein Problem mehr..... Aber meine Idee war hier:
mein Programm sollte öfter prüfen, ist die Verbindung noch gültig und wenn nein, baue eine neue auf.
Habe ich aber noch nicht getestet bisher.

Ich denke, er will nicht den Motor steuern, sondern eine IR-Fernbedienung simulieren.

Wenn er damit den Motor steuern möchte, wäre das genau so Riskant.
MFG
Michael Springwald

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von fliegermichl »

Nee die 30KHz sind nur für eine Lichtschranke. Damit das Tor nicht zufährt wenn noch was im Weg steht. Funktioniert jetzt super.

Den Raspberry hatte ich gewählt, weil der erstens rumlag und zweitens per Wifi erreichbar ist.

Ob ich das wirklich so umsetze, weiss ich zur Zeit noch gar nicht. Im Moment passiert das alles noch am Basteltisch.
Bislang habe ich schon die Lichtschranke am laufen und zwei Hallsensoren die mir sagen, ob das Tor offen oder geschlossen ist (oder eben gerade fährt)

Wegen dem plötzlichen deaktivieren der USB Ports habe ich gelesen, macht der Prozessor wenn die Versorgungsspannung zu weit in den Keller geht. Seit ich ein gescheites 5V Nezteil dran hab ist mir das nie mehr passiert.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: PWM mit dem Raspberry Pi erzeugen

Beitrag von pluto »

Wegen dem plötzlichen deaktivieren der USB Ports habe ich gelesen, macht der Prozessor wenn die Versorgungsspannung zu weit in den Keller geht.

Nicht nur wenn das Netzteil zu "klein" ist... es gibt noch mehr gründe...
MFG
Michael Springwald

Antworten