Generowanie przebiegu prostokątnego 1kHz z zmiennym wypełnieniem na Atmel 89c2051

atmel i przebieg prostokatny





Poprzedni Następny
Wiadomość
Spis treści
From: "Turysta" <mjleg17_at_nospam_w.pl>
Subject: atmel i przebieg prostokatny
Date: Wed, 4 Jul 2001 13:40:58 +0200


Witam
Ktos moze ma pomysl na generowanie na nozce scalaka przebiegu prostokatnego
o roznym wypelnieniu.
Konkretnie chodzi o czestotliwosc generacji 1kHz lecz o zmiennym
wypelnieniu (np. 80% jedynki 20% zera, 30% jedynki 70%zera).
Procesor to oczywiscie Atmel 89c2051 z tym ze liczniki wewnetrze mam
wykorzystane do obslugi transmisji szeregowej.
Zegar 12MHz.
Bylbym wdzieczny za wszelka pomoc w rozwiazaniu problemu.

P.S. Rozumiem ze ma to postac
loop: Delay ...
clr P1.4
Delay ...
setb P1.4
ljmp loop
Z tym ze nie bardzo wiem jak zrobic sensowne opoznienie.

Pozdrawiam
Mariusz
mjankows_at_nospam_staszic.sns.waw.pl



Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Wed, 4 Jul 2001 13:48:58 +0200


"Turysta" <mjleg17_at_nospam_w.pl> wrote in message news:9huvcm$sgk$1_at_nospam_h1.uw.edu.pl...
...
Procesor to oczywiscie Atmel 89c2051 z tym ze liczniki wewnetrze mam
wykorzystane do obslugi transmisji szeregowej.
...

oba timery masz wykorzystane do transmisji szeregowej ?
do czego drugi, do timeoutow ?

P.S. Rozumiem ze ma to postac
loop: Delay ...
clr P1.4
Delay ...
setb P1.4
ljmp loop
Z tym ze nie bardzo wiem jak zrobic sensowne opoznienie.

jesli uzywasz przerwan to w ten sposob nie zrobisz stalego opoznienia
procedura przerwan pojawaiajaca sie w przypadkowych momentach
zaburzy czas delaya o ile to ma byc zwykla petla

jest chcesz miec rowny przebieg to chyba najlepiej na przerwaniu od timera

Andrzej



Poprzedni Następny
Wiadomość
Spis treści
From: "Turysta" <mjleg17_at_nospam_w.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Wed, 4 Jul 2001 14:19:14 +0200



Użytkownik Andy <anok_at_nospam_ceti.pl> w wiadomości do grup dyskusyjnych
napisał:9huvrt$21s$1_at_nospam_news.tpi.pl...
"Turysta" <mjleg17_at_nospam_w.pl> wrote in message
news:9huvcm$sgk$1_at_nospam_h1.uw.edu.pl...
...
Procesor to oczywiscie Atmel 89c2051 z tym ze liczniki wewnetrze mam
wykorzystane do obslugi transmisji szeregowej.
...

oba timery masz wykorzystane do transmisji szeregowej ?
do czego drugi, do timeoutow ?

P.S. Rozumiem ze ma to postac
loop: Delay ...
clr P1.4
Delay ...
setb P1.4
ljmp loop
Z tym ze nie bardzo wiem jak zrobic sensowne opoznienie.

jesli uzywasz przerwan to w ten sposob nie zrobisz stalego opoznienia
procedura przerwan pojawaiajaca sie w przypadkowych momentach
zaburzy czas delaya o ile to ma byc zwykla petla

nie uzywam przerwan, chodzi mi na razie o sam zarys lub pomysl wyliczenia
czestotliwosci dla przebiegu
i metody na generowanie roznego wypelnienia.
Co do samego przebiegu to wydaje mi sie ze wiem jak, ale nie potrafie
przeskoczyc wypelnienia

jest chcesz miec rowny przebieg to chyba najlepiej na przerwaniu od timera

wlasnie na rownym mi nie zalezy, tylko na takim gdzie zmienie wartosc
opoznienia (no wlasnie nie wiem jak) i bede mial inne wypelnienie prostokata

Andrzej


Mariusz



Poprzedni Następny
Wiadomość
Spis treści
From: "Bzyk" <janosik_at_nospam_com.pl>
Subject: Odp: atmel i przebieg prostokatny
Date: Wed, 4 Jul 2001 14:40:22 +0200



wlasnie na rownym mi nie zalezy, tylko na takim gdzie zmienie wartosc
opoznienia (no wlasnie nie wiem jak) i bede mial inne wypelnienie
prostokata

;x=wypełnienie
;a dowolny rejestr R16-R32

ldi a,x
delay1: inc a
cp1 a,255
brne delay1


ldi a,x
delay2: dec a
cpi a,0
brne delay

przy różnym wypełnieniu x częstotliwość masz stałą.
Może trzeba będzie coś dopieścić w kodzie ale zarys jest.


Bzyk




Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Wed, 04 Jul 2001 14:57:57 +0200


Kolega ten, tego....lekko przesadził.....wypisując rozkazy AVR-a ;)

PWM (bo generalnie tak toto się zwie) programowo robię tak:
W ten sposób zmieniając wartość z którą porównuję inkrementowany licznik
zmieniam wypełnienie przebiegu.
Częstotliwość zaś i rozdzielczość PWM-a dobieram zmieniając zakres
dekrementacji licznika oraz jej częstotliwość.

Cała procedura zajmuje bardzo niewiele miejsca i czasu, więc nie ma
problemu z podwieszeniem jej pod jakieś okresowe przerwanie (np:
wyświetlacz). Jeśli jednak nie można użyć przerwania...hmm...pojawiają się
kłopoty. Można w pętli przewijać procedurę wraz z dekrementowaniem liczika,
ale wtedy każde wtrącenie przerwana zniekształca przebieg. Coś za coś.

--
PZD, Irek.N. (ALIAS)



Poprzedni Następny
Wiadomość
Spis treści
From: "Bzyk" <janosik_at_nospam_com.pl>
Subject: Odp: atmel i przebieg prostokatny
Date: Wed, 4 Jul 2001 15:20:08 +0200



Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3B4312D5.928A8AE5_at_nospam_multispedytor.com.pl...
Kolega ten, tego....lekko przesadził.....wypisując rozkazy AVR-a ;)

A co? asembler be...



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Wed, 04 Jul 2001 15:34:22 +0200


A co? asembler be...

Ależ gdzież tam....najlepszy....tyle że kolega pisał o 2051 ;)

Swoją drogą wysłałem mu exampla, ale raczył był powrócić z hasłem _User
unknown_ :(

--
PZD, Irek.N. (ALIAS)



Poprzedni Następny
Wiadomość
Spis treści
From: "Turysta" <mjleg17_at_nospam_w.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Thu, 5 Jul 2001 09:10:20 +0200


Jesli kolega wysylal do mnie to jesli mozna prosic jeszcze raz tylko ze pod
adres
mjankows_at_nospam_staszic.sns.waw.pl
ten z listy ma pulapke antyspamowa.
Pozdrawiam
Mariusz

Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3B431B5E.C3F4D846_at_nospam_multispedytor.com.pl...
A co? asembler be...

Ależ gdzież tam....najlepszy....tyle że kolega pisał o 2051 ;)

Swoją drogą wysłałem mu exampla, ale raczył był powrócić z hasłem _User
unknown_ :(

--
> PZD, Irek.N. (ALIAS)
>
>



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: atmel i przebieg prostokatny
Date: Thu, 05 Jul 2001 20:45:53 GMT


On Wed, 04 Jul 2001 14:57:57 +0200, Ireneusz Niemczyk wrote:
Kolega ten, tego....lekko przesadził.....wypisując rozkazy AVR-a ;)
PWM (bo generalnie tak toto się zwie) programowo robię tak:
- dekrementuję jakiś licznik w przerwaniu i sprawdzam jego wartość
- jak jest równy wartości zadanej to załączam
- jak licznik jest = 0 to zawsze wyłączam
W ten sposób zmieniając wartość z którą porównuję inkrementowany licznik
zmieniam wypełnienie przebiegu.
Częstotliwość zaś i rozdzielczość PWM-a dobieram zmieniając zakres
dekrementacji licznika oraz jej częstotliwość.

Taaa - tylko ze w ten sposob to mozesz sobie wypelniac 50Hz.
Bo jakbys chcial wypelniac powiedzmy 2kHz, w dodatku na 500 mozliwych
ustawieniach i jeszcze np w 4 kanalach ... uj, to sie juz nie da :-)

P.S. Dobrze sie to robi z uzyciem kosci 8254/53 jak kto ma tyle
miejsca

PPS. Jest taka odmiana programu jak komus na czestotliwosci zalezy
ze zamiast dla np 4/10 wysylac kolejno 1111000000, wysylamy
1010010100. Najgorsze ze wtedy czestotliwosc sie zmienia ..


J.


Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Fri, 06 Jul 2001 11:27:04 +0200


Taaa - tylko ze w ten sposob to mozesz sobie wypelniac 50Hz.
Bo jakbys chcial wypelniac powiedzmy 2kHz, w dodatku na 500 mozliwych
ustawieniach i jeszcze np w 4 kanalach ... uj, to sie juz nie da :-)

OK. ale musisz przyznać, że to bardzo łatwa i oczywista wersja PWM-a.

Co do 2k w 500 poziomach i 4 kanałach....brutal z ciebie ;)) przerwanie co uS
(
W 51 upchałem ostatnio 4 PWM-y 4 bitowe ~200Hz, jeden 8 bitowy ~14Hz (albo
7??? nie pamiętam odkładnie) do tego 4xLED i prosta klawiaturka.....weszło
_siakoś_. :) więc nie jest znów tak bardzo, bardzo źle...

PPS. Jest taka odmiana programu jak komus na czestotliwosci zalezy
ze zamiast dla np 4/10 wysylac kolejno 1111000000, wysylamy
1010010100. Najgorsze ze wtedy czestotliwosc sie zmienia ..

Koslawy....a nie będzie to niemile brzęczeć czasami jak do np: silnika
podłączysz ?

--
PZD, Irek.N. (ALIAS)



Poprzedni Następny
Wiadomość
Spis treści
From: "Kumex" <kumex_at_nospam_interia.pl>
Subject: Odp: atmel i przebieg prostokatny
Date: Fri, 6 Jul 2001 14:07:09 +0200


Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3B458468.FF350E7F_at_nospam_multispedytor.com.pl...
PPS. Jest taka odmiana programu jak komus na czestotliwosci zalezy
ze zamiast dla np 4/10 wysylac kolejno 1111000000, wysylamy
1010010100. Najgorsze ze wtedy czestotliwosc sie zmienia ..

Koslawy....a nie będzie to niemile brzęczeć czasami jak do np: silnika
podłączysz ?

Brzęczenie bardzo zależy od częstotliwości.
Właśnie tak się robi w niektórych falownikach. Ostatnio miałem na tapecie
falownik APATORa z Torunia (który tak na prawdę jest sprowadzany z Tajwanu i
sprzedawany pod znakiem Apatora) i oglądałem sobie przebiegi na
oscyloskopie.
Specjalnie nieprzyjemnie to, to nie brzęczało, a chodziło na 12kHz.

Pozdr.,
QmX.




Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Fri, 06 Jul 2001 14:53:37 +0200


Brzęczenie bardzo zależy od częstotliwości.
Właśnie tak się robi w niektórych falownikach. Ostatnio miałem na tapecie
falownik APATORa z Torunia (który tak na prawdę jest sprowadzany z Tajwanu i
sprzedawany pod znakiem Apatora) i oglądałem sobie przebiegi na
oscyloskopie.
Specjalnie nieprzyjemnie to, to nie brzęczało, a chodziło na 12kHz.

A i owszem, robi się nawet więcej - pomija się częstotliwości rezonansowe
napędów.
Sterowałem znacznie niższymi czestotliwościami - fakt piszczało troszkę, ale
nie dokuczliwie (czysty, klawrowny...ton pracy silnika) ;)
Zastanowiło mnie, czy taka kopnięta fala podana na silnik będzie brzmieć
równie czysto, czy może jakieś produkty się ponakładają i w efekcie silnik
będzie warczał .

--
PZD, Irek.N. (ALIAS)
ps. 12k - wysoko :)


Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: atmel i przebieg prostokatny
Date: Fri, 06 Jul 2001 23:03:07 GMT


On Fri, 06 Jul 2001 11:27:04 +0200, Ireneusz Niemczyk wrote:
Taaa - tylko ze w ten sposob to mozesz sobie wypelniac 50Hz.
Bo jakbys chcial wypelniac powiedzmy 2kHz, w dodatku na 500 mozliwych
ustawieniach i jeszcze np w 4 kanalach ... uj, to sie juz nie da :-)

OK. ale musisz przyznać, że to bardzo łatwa i oczywista wersja PWM-a.

Wersja bardzo dobra ... ale nie do wszystkiego :-(

PPS. Jest taka odmiana programu jak komus na czestotliwosci zalezy
ze zamiast dla np 4/10 wysylac kolejno 1111000000, wysylamy
1010010100. Najgorsze ze wtedy czestotliwosc sie zmienia ..

Koslawy....a nie będzie to niemile brzęczeć czasami jak do np: silnika
podłączysz ?

IMHO - mniej bedzie brzeczec niz te oryginalne 1111000000.
Ale moga narzekac ze dawniej buczal, a teraz piszczy ..




Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek_at_nospam_fidonet.org.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Wed, 04 Jul 2001 14:55:39 +0200


Turysta wrote:

Procesor to oczywiscie Atmel 89c2051 z tym ze liczniki wewnetrze mam
wykorzystane do obslugi transmisji szeregowej.
Zegar 12MHz.
Bylbym wdzieczny za wszelka pomoc w rozwiazaniu problemu.

Masz dwa wyjscia, albo uzyc niedokladniej petli software-owej albo
wykorzystac przerwanie ktoregos licznika. Nawet jezeli masz zajety timer
do obslugi przerwania to mozesz w jego przerwaniu odliczac petle
software-owe, byle bys sie wyrobil czasowo przed nadejsciem kolejnego
przerwania.
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48608888899 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Dzisiaj slonce nie wzejdzie, bo za zimno.

Poprzedni Następny
Wiadomość
Spis treści
From: "Tomek Slowik" <tomek_at_nospam_olsza.krakow.pl>
Subject: Re: atmel i przebieg prostokatny
Date: Thu, 5 Jul 2001 16:46:12 +0200


używanie setb i clr naraz można zastąpić instrukcją CPL (dopełnienie) ->
każde wejście w pętle będzie zmieniało stan na przeciwny, jako opóźnienie
użyj martwych pętli petla:
DJNZ Rx, petla

DJNZ z trzema rejestrami powinna dać ci duży wybór czasów.


Użytkownik "Turysta" <mjleg17_at_nospam_w.pl> napisał w wiadomości
news:9huvcm$sgk$1_at_nospam_h1.uw.edu.pl...
Witam
Ktos moze ma pomysl na generowanie na nozce scalaka przebiegu
prostokatnego
o roznym wypelnieniu.
Konkretnie chodzi o czestotliwosc generacji 1kHz lecz o zmiennym
wypelnieniu (np. 80% jedynki 20% zera, 30% jedynki 70%zera).
Procesor to oczywiscie Atmel 89c2051 z tym ze liczniki wewnetrze mam
wykorzystane do obslugi transmisji szeregowej.
Zegar 12MHz.
Bylbym wdzieczny za wszelka pomoc w rozwiazaniu problemu.

P.S. Rozumiem ze ma to postac
loop: Delay ...
clr P1.4
Delay ...
setb P1.4
ljmp loop
Z tym ze nie bardzo wiem jak zrobic sensowne opoznienie.

Pozdrawiam
Mariusz
mjankows_at_nospam_staszic.sns.waw.pl