Infra DO s PIC - pomoc s PWM

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#16 Příspěvek od Crifodo »

možností je určitě víc, nejsem honěný v programování PICů ani neznám konkrétní architekturu. Taky by se dalo odpočítávat jednotlivé impulsy (1/40kHz) a tím tvořit náplň obálky. PWM je na něco úplně jiného, to co ty potřebuješ je sériový přenos dat, PWM je řízený poměr vypnuto/zapnuto pro energetické (analogové) účely.
Taky by šlo generovat PICem jen obálku a klíčovat hardwarový generátor nosného kmitočtu.
tmz

#17 Příspěvek od tmz »

Ok, takže to bude vypadat asi takhle:
připravit PWM modul
Když 1, tak na výstup 39kHz, 50%
CALL smyčka (2,4ms)
A potom, jak udělat tu negaci?
Uživatelský avatar
Crifodo
Příspěvky: 14779
Registrován: 11 říj 2005, 00:00

#18 Příspěvek od Crifodo »

prohlídni s pořádně ten obrázek ve svém vlastním prvním příspěvku, z toho je to přece jasné.
Rámec datového přenosu trvá 45 ms.
Začíná start bitem 2.4 ms.
Pak jdou data, 12 bitů.
Data: log. nula je 0,6 ms ticho+0,6 ms signál (ta tvoje pwm, jinak obecně prostě tón cca 40 kHz). Log. jednička je 0,6 ms ticho + 1,2 ms signál.
Po odvysílání všech 12 bitů se čeká až doběhne 45 ms a začíná se opakovat datové slovo znova.
Znáš vůbec princip asynchronní sériové komunikace?
tmz

#19 Příspěvek od tmz »

A co udělat podprogram, že log 1=0,6ms, to je při f=39kHz asi 23 cyklů a pak by to bylo
CALL log1
CALL log1
CALL log1
CALL log1
CALL 0,6ms
CALL log1
CALL 0,6ms
anonymní

#20 Příspěvek od anonymní »

nevím přesně ale podle mě by to v principu mělo být tak že si uděláš oscilátor na frekvenci nosné (většinou 36Khz) a jeho výstup v rytmu vysílaných bitů připojovat k IR Led
Uživatelský avatar
Modemo
Příspěvky: 90
Registrován: 13 kvě 2007, 00:00
Bydliště: Brno, Pov. Bystrica

#21 Příspěvek od Modemo »

No uz to chce len sadnut a programovat a programovat.....
Ako povedal aj Crifondo, PWM je na nieco ine....to je ako ist zabit muchu kladivom....da sa, ale neni to to prave orechove :D
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#22 Příspěvek od nekmil »

Tolik problémů :cry:

V mém oblíbeném BASCOM - AVR stačí jediný příkaz:
RC5SEND togglebit, address, command
ale nechť si každý používá co je mu libo.
Uživatelský avatar
jankop
Příspěvky: 679
Registrován: 04 dub 2007, 00:00
Kontaktovat uživatele:

#23 Příspěvek od jankop »

Problém není v procesoru nebo programovacím prostředí. Problém je ve znalosti/neznalosti věci. Ale věřím, že ti BASCOM vyhovuje. Je asi opravdu dobrý pro začátečníky.
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#24 Příspěvek od nekmil »

Tak,tak na takové to "domácí žvýkání" je ideální. Assembler příliš pracný,C už se učit asi nebudu. :)
tmz

#25 Příspěvek od tmz »

Tak už to KONEČNĚ funguje! LOG 1 = TTL obdélníky s f asi 39kHz a log 0 jenom čekací smyčka s nulou na portu. Díky za rady :)
Uživatelský avatar
Modemo
Příspěvky: 90
Registrován: 13 kvě 2007, 00:00
Bydliště: Brno, Pov. Bystrica

#26 Příspěvek od Modemo »

No vidis, a ani to nebolelo :wink:
Teraz si utekaj kupit jednu RGB ledku a sprav si farebnu hudbu k vezi s riadenim cez PWM :lol:
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“