PBL3960 chora jazda :) co za pieprznięty układ

Chciałem sobie zrobić sterownik silnika krokowego na układach PBL3960 + PBL3771 linki do dokumentacji:

formatting link
No i od trzech dni mam nieudane próby wysterowania układu PBL3960 tak aby na jego wyjściach przetwornika D/A pojawiło się to co chce. Schemat mam taki jak w dokumentacji, PBL3960 ma wyprowadzenia podłączone od uC AT90S2313.

W dokumentacji jest nawet schemat wewnętrzny układu PBL3960 rozbity na pojedyncze przerzutniki i bramki logiczne. Pisze trochę w akcie desperacji :) niby rozumie jak to wszystko powinno działać (a może mi się tylko wydaje), a nie działa :( próbowałem na różne sposoby to poustawiać i nic. Ten niżej przedstawiony kod najlepiej działa bo ustawia przynajmniej jedno z wyjść przetwornika no ale gdy próbuje ustawić kolejne wyjście to nie wiem dlaczego pierwsze przestawia się razem z nim :( i to w dość losowy sposób. Dałem już nawet za każdą instrukcje opóźnienie :) na 10ms.

sbi(PORTD,RESET); // RESETUJE UKŁAD PBL3960 TUTAJ WSZYSTKO GRA delay(10); // I NA WYJŚCIACH D/A PO RESECIE MAM 0V

cbi(PORTD,WR); delay(10); sbi(PORTD,WR); delay(10);

cbi(PORTD,RESET); delay(10); // KONIEC RESETU

sbi(PORTD,A0); //DA2 USTAWIAM KANAŁ DRUGI delay(10);

PORTB=40; // 1.41 delay(10);

cbi(PORTD,WR); delay(10); // DO TEGO MOMENTU JEST WSZYSTKO DOBRZE BO GDY PRZERWE DZIEŁANIE //WHILE(1); // PROGRAMU W TYM MOMĘCIE WSTAWIAJĄC NP. WHILE(1); TO NA KANALE DRUGIM sbi(PORTD,WR); // USTAWIA MI SIĘ 1.41V CZYLI TYLE ILE POWINNO delay(10);

cbi(PORTD,A0); //DA1 USTAWIAM KANAŁ PIERWSZY delay(10);

PORTB=80; // 2.82 delay(10);

cbi(PORTD,WR); delay(10);

TUTAJ NIE USTAWIŁEM CELOWO WR PONIEWAŻ WTEDY NA PRZETWORNIKACH DA JEST ZAWSZE 0V I NIE MOŻNA SPRAWDZIĆ CZY SIĘ POPRAWNIE USTAWIŁY. W KAŻDYM RAZIE NA TYM ETAPIE PROGRAMU DZIEJĄ SIĘ CUDA :) PO PIERWSZE PRZESTAWIA SIĘ KANAŁ DRUGI RAZEM Z KANAŁEM PIERWSZYM (A W ZAŁOŻENIU POWINIEN TYLKO PIERWSZY) DO TEGO CO PARĘ URUCHOMIEŃ PROGRAMU POJAWIAJĄ SIĘ NA TYCH WYJŚCIACH RÓŻNE WARTOŚCI NP. DA1=2.83 DA2=4.0V A JAK URUCHOMIĘ PROGRAM PO RAZ DRUGI TO DOSTAJĘ NP. DA1=4.0V DA2=4.0V

Może ktoś kurde programował z powodzeniem ten układ i ma gotowy kod do jego wysterowania? Albo po przeczytaniu dokumentacji wykryje jakiś błąd w moim kodzie.

Reply to
Kurciok
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.