Hlavní přehled   |   Info a nápověda Přihlásit   |   Registrovat
 
 
Příspěvek umístěný v tematickém vlákně:    Generátor Figuera - Koncepční detaily, odborná diskuze   (str. 62)
 
Antena   
02.12.2024 08:00

312 10 147 
  gromit napsal(a):    Společné body sin(50Hz) a saw(10kHz): y(t)=3.5⋅sin(2π⋅50⋅t)+6.5 y(t)=3.5⋅(2⋅ tmodT/T −1)+6.5 , T=1/10000 Kód v Pythonu pro výpočet společných bodů a případné...

Ahoj
wow
máš to daleko sofistikovanější program, než jsem stvořil o vikendu.
Já pilu počítal jako jednotlivé úsečky...
osu y mám jako proud s maximem 10A
osu x mám v mikrosekundách
A hlavně pilu mám náběžnou hranu od bodu [0;0] do bodu [0;10] a klesající část první periody pily mám z bodu [0;10] do bodu [0,100us] atd...
pila nemůže (pro můj účel) mít osu x "posunutou" do bodu [0;6,5], průběh pily nemůže být nahoru a pak dolů ale jenom nahoru od osy x výše popsaným způsobem, a nebo špatně chápu tvou rovnici y(t)=3.5⋅(2⋅ tmodT/T −1)+6.5, to 6,5 je přece posun bodu [0;0] nahoru ve směru osy y do bodu [0;6,5]
... fety spínají ve spínacím režimu ve smyslu od nuly do 10A jinak ne...
Ale to nevadí, jako řešení v pythonu geniální až tak moc, že mu nerozumím a nedokáži to upravit pro můj účel. Mám to naprogramované po svém...
Ten program bych v budoucnu potřeboval i modifikovat, různě posunutá sinusovka, vyšší pila apod... ale to bych nedal...hlavně ty derivace...
Děkuji za upozornění, že ve vrcholu sinusovky a pily se to potká jednou, já na to zapomněl, řešení je jednoduché, vrchol se jednoduše ignoruje, nedochází ke změně spínání, nedochází ke změně stavu tranzistorů.
A nezapoměň je levý a pravý primár, je levá a pravá sinusovka, ta druhá je posunuta o Pí. ... do výpočtu se musí zahrnout i ta druhá. Až máme jednotlivé průsečíky, python musí sám vygenerovat program typu
digitalWrite(pinP,HIGH);
digitalWrite(pinL,HIGH);
delayMicroseconds(32);
digitalWrite(pinL,LOW);
delayMicroseconds(5); //
digitalWrite(pinP,LOW);
delayMicroseconds(10);

Těch průsečíků jedné periody sinusu s pilou je 400 a druhého sinusu s pilou dalších 400
A tyto společné body jsou časy pro sepnutí fetu. Ručně se to psát nedá, proto python vygeneruje program pro arduino. Časy se musí seřadit za sebou, aby to spínalo správně, aby byly jednotlivé příkazy pěkně za sebou a spínalo to do primárů sinus a ne blbost... u arduina trvá provedení instrukce digitalwrite 3,5 mikrosekundy, u stm jsem časový údaj o délce času provedení digitalwrite nenašel.

Podle mě pomocí PWM to v arduinu nejde napsat, protože se neustále mění střída.
Dík A.
Zvláštní ocenění za úsilí nebo přínosPozitivní ohlasyOznačit příspěvek
  Přejít na příspěvek do vlákna      

 
 
Omforum.cz   |   Nápověda   |   Pravidla fóra   |   Podpořte chod fóra   |   Vytvořil: 2015-2026 Adam Benda
 
 
CC BY-NC-ND 3.0 CZ
Licence Creative Commons
Toto dílo podléhá licenci Creative Commons Uveďte původ-Neužívejte komerčně-Nezpracovávejte 3.0 Česká republika License