RTV forum PL | NewsGroups PL

3 kana造 PWM na raspberry pi 3

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - 3 kana造 PWM na raspberry pi 3

Queequeg
Guest

Thu Jan 10, 2019 4:06 pm   



Hej,

Disclaimer: nigdy nie programowa貫m GPIO na raspi.

Z tego co wiem, raspi ma tylko jeden sprz皻owy kana PWM, a jak kto chce
wi璚ej, to musi radzi sobie software'owo lub r騜nymi innymi dodatkami.

Wygoogla貫m, 瞠 w Pythonie robi to np. biblioteka WiringPi.

https://projects.drogon.net/raspberry-pi/wiringpi/software-pwm-library/

Pisz, 瞠 rozs康na cz瘰totliwo嗆 to 100 Hz (przy podziale na 100), bo
powy瞠j si to przycina.

Pytanie do praktyk闚: czy cz瘰totliwo嗆 rz璠u 500 Hz powielona trzy razy
(bo potrzebuj trzech kana堯w) jest realna na raspberry pi 3 (z poziomu
Pythona, nie C), czy od razu da sobie z tym spok鎩 i zrobi mi璠zymordzie
na AVR? Nie jestem pewien, o kt鏎ym raspberry tam pisz, a przecie mi璠zy
jedynk i tr鎩k jest przepa嗆.

Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa wrapper)
pomaga?

--
http://facebook.com/groups/pl.misc.elektronika

Zbych
Guest

Thu Jan 10, 2019 4:41 pm   



W dniu 10.01.2019 o15:06, Queequeg pisze:
Quote:
Hej,

Disclaimer: nigdy nie programowa貫m GPIO na raspi.

Z tego co wiem, raspi ma tylko jeden sprz皻owy kana PWM, a jak kto chce
wi璚ej, to musi radzi sobie software'owo lub r騜nymi innymi dodatkami.

A nie dwa?
https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
Na stronie 140 wida PWM0 i PWM1.

Quote:
czy od razu da sobie z tym spok鎩 i zrobi mi璠zymordzie
na AVR?

Mo瞠 taki gotowiec?
https://www.aliexpress.com/item/Raspberry-Pi-Servo-Driver-HAT-providing-precise-PWM-output-16-Channel-12-bit-I2C-Interface-support/32919741085.html

https://www.aliexpress.com/item/16-Channel-12-bit-PWM-Servo-Driver-I2C-interface-PCA9685-module-for-arduino-or-Raspberry-pi/32718274859.html

Quote:
Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa wrapper)
pomaga?

Nie robi貫m software'owego PWM na RPi, ale mam kilka paneli LED z
telebimu, kt鏎e s w豉郾ie od鈍ie瘸ne software'owo przez RPi3 i ka盥e
wi瘯sze obci捫enie wida jako fluktuacje jasno軼i mimo 瞠 system jest
odchudzony (Raspbian Lite, powy陰czane wszystko co nie by這 niezb璠ne).

Waldemar
Guest

Thu Jan 10, 2019 5:01 pm   



Am 10.01.2019 um 15:06 schrieb Queequeg:
Quote:
Hej,

Disclaimer: nigdy nie programowa貫m GPIO na raspi.

Z tego co wiem, raspi ma tylko jeden sprz皻owy kana PWM, a jak kto chce
wi璚ej, to musi radzi sobie software'owo lub r騜nymi innymi dodatkami.

Wygoogla貫m, 瞠 w Pythonie robi to np. biblioteka WiringPi.

https://projects.drogon.net/raspberry-pi/wiringpi/software-pwm-library/

Pisz, 瞠 rozs康na cz瘰totliwo嗆 to 100 Hz (przy podziale na 100), bo
powy瞠j si to przycina.

Pytanie do praktyk闚: czy cz瘰totliwo嗆 rz璠u 500 Hz powielona trzy razy
(bo potrzebuj trzech kana堯w) jest realna na raspberry pi 3 (z poziomu
Pythona, nie C), czy od razu da sobie z tym spok鎩 i zrobi mi璠zymordzie
na AVR? Nie jestem pewien, o kt鏎ym raspberry tam pisz, a przecie mi璠zy
jedynk i tr鎩k jest przepa嗆.

Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa wrapper)
pomaga?

Nie wiem, czy si sprawa op豉ca. Nie wiem co jeszcze potrzebujesz robi,
ale programowe PWM na Raspberry jest do嗆 upierdliwe, bo nie ma toto
RT-Kernela, ja bym nie kopulowa si z tym, tylko da arduino nano czy
inne 這 tylko do PWMu.
Biblioteka WiringPi jest zacna i mo積a du穎 zrobi z niej korzystaj帷,
ale przy dobrym wy篡這waniu systemu mo瞠sz mie solidne haki.

Waldek

Jacek Radzikowski
Guest

Thu Jan 10, 2019 5:13 pm   



On 1/10/19 11:01 AM, Waldemar wrote:
Quote:
Am 10.01.2019 um 15:06 schrieb Queequeg:
[...]
Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa
wrapper)
pomaga?
Nie wiem, czy si sprawa op豉ca. Nie wiem co jeszcze potrzebujesz robi,
ale programowe PWM na Raspberry jest do嗆 upierdliwe, bo nie ma toto
RT-Kernela, ja bym nie kopulowa si z tym, tylko da arduino nano czy
inne 這 tylko do PWMu.
Biblioteka WiringPi jest zacna i mo積a du穎 zrobi z niej korzystaj帷,
ale przy dobrym wy篡這waniu systemu mo瞠sz mie solidne haki.

Przy wi瘯szej liczbie PWM czy wy篡這wanych wymaganiach czasowych bym si
zastanowi nad przesiadk na Beaglebone. Procesor ma 2 wbudowane
koprocesory hard-rt, przy umiej皻nym napisaniu programu mo積a otrzyma
nanosekundow dok豉dno嗆 i niemal zerowy jitter. Bedzie to o wiele
stabilniejsze ni cokolwiek co uda si uzyska nawet z z RT-linuksem.
Albo pod陰czy po SPI kostk do sterowania LEDami mie 鈍i皻y spok鎩.
W projektach bardziej ambitnych ni machaniem serwem na pokaz czy
miganie diodk nie ma sensu szarpa si z programowym generowaniem PWM
na systemach nie-RT.

Jacek.

cezar
Guest

Thu Jan 10, 2019 5:23 pm   



On 10/01/2019 16:13, Jacek Radzikowski wrote:
Quote:
On 1/10/19 11:01 AM, Waldemar wrote:
Am 10.01.2019 um 15:06 schrieb Queequeg:
[...]
Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa
wrapper)
pomaga?
Nie wiem, czy si sprawa op豉ca. Nie wiem co jeszcze potrzebujesz
robi, ale programowe PWM na Raspberry jest do嗆 upierdliwe, bo nie ma
toto RT-Kernela, ja bym nie kopulowa si z tym, tylko da arduino
nano czy inne 這 tylko do PWMu.
Biblioteka WiringPi jest zacna i mo積a du穎 zrobi z niej korzystaj帷,
ale przy dobrym wy篡這waniu systemu mo瞠sz mie solidne haki.

Przy wi瘯szej liczbie PWM czy wy篡這wanych wymaganiach czasowych bym si
zastanowi nad przesiadk na Beaglebone. Procesor ma 2 wbudowane
koprocesory hard-rt, przy umiej皻nym napisaniu programu mo積a otrzyma
nanosekundow dok豉dno嗆 i niemal zerowy jitter. Bedzie to o wiele
stabilniejsze ni cokolwiek co uda si uzyska nawet z z RT-linuksem.
Albo pod陰czy po SPI kostk do sterowania LEDami mie 鈍i皻y spok鎩.
W projektach bardziej ambitnych ni machaniem serwem na pokaz czy
miganie diodk nie ma sensu szarpa si z programowym generowaniem PWM
na systemach nie-RT.

Jacek.

beaglebone nawet bez PRU potrafi wyygenrowa kilku-MHz PWMy - gdzies
czyta貫m 瞠 do 10MHz jest bezpiecznie. Jak kiedy si bawi貫m to nawet
30-40MHz da這 si generowa ale nie moge stwierdzi jak czysty by
sygna bo m鎩 oscyoskop to ju przerasta這.

Ma ich chyba 8 niezale積ych.

Jacek Radzikowski
Guest

Thu Jan 10, 2019 5:36 pm   



On 1/10/19 11:23 AM, cezar wrote:
Quote:
On 10/01/2019 16:13, Jacek Radzikowski wrote:
On 1/10/19 11:01 AM, Waldemar wrote:
Am 10.01.2019 um 15:06 schrieb Queequeg:
[...]
Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa
wrapper)
pomaga?
Nie wiem, czy si sprawa op豉ca. Nie wiem co jeszcze potrzebujesz
robi, ale programowe PWM na Raspberry jest do嗆 upierdliwe, bo nie
ma toto RT-Kernela, ja bym nie kopulowa si z tym, tylko da arduino
nano czy inne 這 tylko do PWMu.
Biblioteka WiringPi jest zacna i mo積a du穎 zrobi z niej
korzystaj帷, ale przy dobrym wy篡這waniu systemu mo瞠sz mie solidne
haki.

Przy wi瘯szej liczbie PWM czy wy篡這wanych wymaganiach czasowych bym
si zastanowi nad przesiadk na Beaglebone. Procesor ma 2 wbudowane
koprocesory hard-rt, przy umiej皻nym napisaniu programu mo積a otrzyma
nanosekundow dok豉dno嗆 i niemal zerowy jitter. Bedzie to o wiele
stabilniejsze ni cokolwiek co uda si uzyska nawet z z RT-linuksem.
Albo pod陰czy po SPI kostk do sterowania LEDami mie 鈍i皻y spok鎩.
W projektach bardziej ambitnych ni machaniem serwem na pokaz czy
miganie diodk nie ma sensu szarpa si z programowym generowaniem PWM
na systemach nie-RT.

Jacek.

beaglebone nawet bez PRU potrafi wyygenrowa kilku-MHz PWMy - gdzies
czyta貫m 瞠 do 10MHz jest bezpiecznie. Jak kiedy si bawi貫m to nawet
30-40MHz da這 si generowa ale nie moge stwierdzi jak czysty by
sygna bo m鎩 oscyoskop to ju przerasta這.

Ma ich chyba 8 niezale積ych.

Ale to chyba na sprz皻owym. W archiwach listy beaglebone jest post w
kt鏎ym kto si chwali pomiarami, i najlepsze co si da這 to chyba co
ok. kilkuset kHz. IIRC wi璚ej ni pojedyncze MHz nie da si wyci庵n望 z
g堯wnego procesora, bo szybko嗆 ogranicza czas dost瘼u to rejestr闚 I/O,
do kt鏎ych trzeba si przebi przez szyny L3/L4. To samo masz w PRU
je郵i korzystasz z linii z dost瘼em przez szyn. Generowa貫m kiedy z
PRU przebiegi do sterowania kostk TI do LED闚 (trzeba by這
zsynchronizowa reset z zegarem, wi璚 tak by這 naj豉twiej), i co kt鏎y
impuls czas trwania by 3-4 razy d逝窺zy.
Co innego na pinach do kt鏎ych PRU ma bezpo鈔edni dost瘼. Tam nie ma
takich ogranicze.
No i sprz皻owych PWM jest wi璚ej ni w RPi, a PocketBeagle jest ta雟ze
ni RPi3

Jacek.

Guest

Thu Jan 10, 2019 6:47 pm   



W dniu czwartek, 10 stycznia 2019 08:06:31 UTC-6 u篡tkownik Queequeg napisa:
Quote:
Hej,

Disclaimer: nigdy nie programowa貫m GPIO na raspi.

Z tego co wiem, raspi ma tylko jeden sprz皻owy kana PWM, a jak kto chce
wi璚ej, to musi radzi sobie software'owo lub r騜nymi innymi dodatkami.

Wygoogla貫m, 瞠 w Pythonie robi to np. biblioteka WiringPi.

https://projects.drogon.net/raspberry-pi/wiringpi/software-pwm-library/

Pisz, 瞠 rozs康na cz瘰totliwo嗆 to 100 Hz (przy podziale na 100), bo
powy瞠j si to przycina.

Pytanie do praktyk闚: czy cz瘰totliwo嗆 rz璠u 500 Hz powielona trzy razy
(bo potrzebuj trzech kana堯w) jest realna na raspberry pi 3 (z poziomu
Pythona, nie C), czy od razu da sobie z tym spok鎩 i zrobi mi璠zymordzie
na AVR? Nie jestem pewien, o kt鏎ym raspberry tam pisz, a przecie mi璠zy
jedynk i tr鎩k jest przepa嗆.

Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa wrapper)
pomaga?


Gdzies czytalem ze uzywajac assemblera/C mozna szybciej machac gpio na malinie.


Tu jakis gostek robil testy:
http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

Wyciagal sporo wiecej od tych 100Hz co piszesz.

Ja bym jednak wolal se podpiac jakies male arduino po usb, i je prostymi komendami sterowac ustawiajac pwm jaki mi pasuje/potrzeba.

Zaleta taka ze dziala bez problemu, niezaleznie od maliny, jak dobrze ogarniesz to wznowi dzialanie po padzie pradu i wogole lepiej. A kosztuje grosze....

Guest

Thu Jan 10, 2019 9:10 pm   



W dniu czwartek, 10 stycznia 2019 15:06:31 UTC+1 u篡tkownik Queequeg napisa:
Quote:
Hej,

Disclaimer: nigdy nie programowa貫m GPIO na raspi.

Z tego co wiem, raspi ma tylko jeden sprz皻owy kana PWM, a jak kto chce
wi璚ej, to musi radzi sobie software'owo lub r騜nymi innymi dodatkami.

Wygoogla貫m, 瞠 w Pythonie robi to np. biblioteka WiringPi.

https://projects.drogon.net/raspberry-pi/wiringpi/software-pwm-library/

Pisz, 瞠 rozs康na cz瘰totliwo嗆 to 100 Hz (przy podziale na 100), bo
powy瞠j si to przycina.

Pytanie do praktyk闚: czy cz瘰totliwo嗆 rz璠u 500 Hz powielona trzy razy
(bo potrzebuj trzech kana堯w) jest realna na raspberry pi 3 (z poziomu
Pythona, nie C), czy od razu da sobie z tym spok鎩 i zrobi mi璠zymordzie
na AVR? Nie jestem pewien, o kt鏎ym raspberry tam pisz, a przecie mi璠zy
jedynk i tr鎩k jest przepa嗆.

Czy ten PWM jest bardzo niestabilny, gdy procesor jest obci捫ony? Je郵i
tak, to czy u篡cie schedulera FIFO lub RR (sched_setscheduler, nie wiem
czy da si to zrobi z poziomu Pythona ale na pewno mo積a napisa wrapper)
pomaga?

--
http://facebook.com/groups/pl.misc.elektronika

A nie lepiej zrobi to na FPGA? Na najprostszym spartanie-6 za mniej ni 10# mo瞠sz obs逝篡 w pzdu kana堯w i masz pewno嗆, 瞠 nic Ci si nie b璠zie 軼ina.

Queequeg
Guest

Sun Jan 13, 2019 11:46 pm   



sczygiel_at_gmail.com wrote:

Quote:
Gdzies czytalem ze uzywajac assemblera/C mozna szybciej machac gpio na malinie.

Pewnie tak... ale osoba, kt鏎a b璠zie to oprogramowywa豉 (nie ja), b璠zie
robi豉 to w pythonie.

Dzi瘯i za wszystkie odpowiedzi, b璠zie po drodze AVR.

--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika

jacek
Guest

Mon Jan 14, 2019 1:24 am   



W dniu 2019-01-13 o22:46, Queequeg pisze:
Quote:
sczygiel_at_gmail.com wrote:

Gdzies czytalem ze uzywajac assemblera/C mozna szybciej machac gpio na malinie.

Pewnie tak... ale osoba, kt鏎a b璠zie to oprogramowywa豉 (nie ja), b璠zie
robi豉 to w pythonie.

Dzi瘯i za wszystkie odpowiedzi, b璠zie po drodze AVR.

Pro軼iej da PCA9685 lub TLC5971 kt鏎y ma 16 lub 12 sprz皻owych PWM i

nie trzeba dodatkowego procesora programowa...

--
pzdr, j.r.

Queequeg
Guest

Mon Jan 14, 2019 1:03 pm   



jacek <jacek.rutkowski_at_wp.pl> wrote:

Quote:
Pro軼iej da PCA9685 lub TLC5971 kt鏎y ma 16 lub 12 sprz皻owych PWM i
nie trzeba dodatkowego procesora programowa...

Nie s康zi貫m, 瞠 takie scalaki istniej. Faktycznie, nie ma sensu tego
robi na AVR. Dzi瘯i!

--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika

elektroda NewsGroups Forum Index - Elektronika Polska - 3 kana造 PWM na raspberry pi 3

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map