PWM buzení transformátoru

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
Venda
Příspěvky: 3
Registrován: 05 pro 2018, 17:59
Reputation: 0

PWM buzení transformátoru

Příspěvek od Venda » 05 pro 2018, 23:36

Zdravím všechny přítomné a prosím o radu.
Stavím zdroj pro buzení VN transformátoru s PWM buzením, které je na 25KHz a 25% střídu. Tlačítkem se postupně nastavují tři stupně výkonu indikované LED diodami, na kterých jsou různé časy buzení a pauz. Přikládám program PWM_ transformátor
PWM_transformator.ino
(2.12 KiB) Staženo 5 x
, kde mě sice funguje přepínání stupňů, ale nedaří se mi do něj vložit samotné buzení PWM, to je druhý přiložený soubor PWM_25Khz
PWM_25Khz.ino
(2.88 KiB) Staženo 4 x
. nemáte někdo prosím s tímto zkušenosti, třeba mě nasměrovat na nějakou web stránku nebo i literaturu, kde se to řeší, velice vám děkuji.

AstroMiK
Příspěvky: 126
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: PWM buzení transformátoru

Příspěvek od AstroMiK » 06 pro 2018, 06:51

Trochu divočina ve struktuře.

Ve sketchi může být jen jeden blok setup.
A definici funkce

Kód: Vybrat vše

void analogWrite25k(int value)
máš někde úplně mimo.

Nemám to teď na čem ověřit, ale pro začátek zkus tohle:
pwm.gif

Venda
Příspěvky: 3
Registrován: 05 pro 2018, 17:59
Reputation: 0

Re: PWM buzení transformátoru

Příspěvek od Venda » 06 pro 2018, 10:58

Moc děkuju, odpolko to vyzkouším, doteď jsem dělal elektroniku postaru, s tímhle teprve začínám.
Mohl bys mě prosím ještě zkontrolovat program PWM_transformator, právě tu syntaxi, díky.

AstroMiK
Příspěvky: 126
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: PWM buzení transformátoru

Příspěvek od AstroMiK » 06 pro 2018, 19:51

Tak ten první program (PWM transfoormátor.ino) sice šel přeložit, ale nefungoval podle očekávání, protože mi to bralo zákmity tlačítka.

Doplnil jsem tam krátkou pauzu po kontrole rozdílného stavu a zvenku jsem připojil 10k Pull-Down ze vstupu na GND.
Tlačítko pak spíná proti Vcc. Přepínání pak funguje dobře.
(Čtvrtá LED je nevyužitá.)

Kód: Vybrat vše

.
.
.
    if (buttonState != lastButtonState) {
        delay(20);    // odruseni zakmitu
        // jestliže se stav změnil, navyšte hodnotu počítadla
        if (buttonState == HIGH) {
.
.
.
----
Druhý program ale nefunguje na Arduinu Uno(Nano).
Problém je v registru OCR4C, který v procesoru ATmega328 není.

Pravděpodobně se jedná o kus kódu na řízení PWM, který byl původně navržený pro Arduino Micro (s procesorem ATmega32U4).


Jinak i bez toho řízení PWM je to nějaký nesmysl.
Například Serial.parseInt() je co? To tam chceš něco posílat po sériovém portu z počítače do Arduina?

Nevím, jak nastavit 25kHz na Arduinu Uno.
Zkoušel jsem nějaké příklady z https://www.eprojectszone.com/how-to-mo ... ino-part1/

Povedlo se mi nastavit asi 63kHz, které se tlačítkem přepínají na střídu 0% /25% / 50% / 75%.
Výstup je na pinu D6 (tam jak je ta nevyužitá LED)

Možná se dá nějakým nastavením těch registrů TCCR0A, TCCR0B docílit i těch 25kHz, ale na to už nějak nemám sílu.
Zkus si prostudovat ten odkaz.

V příloze je funkční program pro těch 63kHz s ukázkou výstupu na osciloskopu (pinu D6).
PWM_63kHz.ino
(2.69 KiB) Staženo 2 x
25procent.gif
75procent.gif

Venda
Příspěvky: 3
Registrován: 05 pro 2018, 17:59
Reputation: 0

Re: PWM buzení transformátoru

Příspěvek od Venda » 06 pro 2018, 22:12

Mám to na UNU a maká to bezvadně, díky moc za tvůj čas. Můj program jsou různě slepený kódy, proto je to taková divočina a jsou tam věci navíc.
Potřebuju aby to běhalo podle těchto časů:

LED1(pwm-25KHz, duty cycle 25%, nonstop)
LED2(pwm-25KHz, duty cycle 25%, 20s buzení a 20s pauza)
LED3(pwm-25KHz, duty cycle 25%, 20s buzení a 150s pauza)
LED4 (poruchová led4, funkci doplním později)

-ale bez základních znalostí, který si musím doplnit, to nedám, všude bych jen bouchal DELAY ... a stál by celý systém, to je blbý. Jak pokročím tak to sem šoupnu, ještě jednou díky.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host