Sterowanie urzadzeniem przez port drukarkowy

Feb 11, 2005 34 Replies
Jump to replies (34)

Witam,



Mam pewien problem. Buduje urzadzenie, ktorego poszczegolne funkcje maja byc sterowane za posrednictwem komputera. Wymagana jest spora szybkosc i sporo pinow (stad wlasnie port drukarkowy a nie rs). Program do obslugi urzadzenia pisze w C++ Builderze. Czy ktos wie w jaki sposob obsluzyc przesylanie danych (lub chociaz ustawianie stanow na pinach) w porcie drukarkowym w C++ Builderze (w Windows 98)?



use a google MAN!

formatting link

Jak dużo pinów to proponował bym RS232 i mikroprocesor. W C++Builder port szeregowy bardzo łatwo się obsługuje i działa nawet pod XP.

Pozdrawiam

jak szykbosc? /czym sterujesz?

ile pinow? :)

Q napisał(a):

A wiecie moze, z jaka maksymalna czastotliwoscia mozna zmieniac stan na RS232? Bo w sumie chodzi o stroboskop.

Q napisał(a):

czestotliwosc zmiany stanow - ponad 100 Hz

16 :)

PAndy napisał(a):

Uzywalem, w pierwszej kolejnosci, ale jedyne, co znalazlem, to jak to zrobic w Bascomie :(

przez rs232 wysylasz tylko rozkaz do mikrokontrolera, np zeby ci mrugalo z

500hz, a mikrokontroler sam juz zajmuje sie zmiana stanow... a on moze to robic o rzad wielkosci szybciej niz potrzebujesz ;)

  1. koledze chodzilo o cos innego: tzn. podlaczasz do rs'a kompa jakiegos _uP_ i _uP_ robi Ci rozne cuda, a po rs'ie mowisz mu, jakie te cuda maja byc :)

np. o jakiej czestotliwosci ma generowac PWM'a, itd... czyli: przesylajac po uarcie z predkoscia 9600 bps rozkaz "wez ty mi generuj pwm'a teraz o f=100kHz", on to zrobi :)

  1. rx i tx to nie wiem - ponoc sie da zmieniac ich stan programowo, ale pod wind'a moze byc problem :(, ale rts'a mozna :)

stroboskop? to chyba nie bedziesz zadal duzej szybkosci?! :)

f - spoko, nawet by sie wycisnelo na RTS'ie :) /"norlmalne" max'y teoretycznie powinny przenosic 250-300kbp;

no ale 16 wyjsc...

ja bym to zrobil tak: uP + sterowanie po RS-232 :)

ps. jaka moc chcesz przlaczac? /jakie napiecia i prady? /nie znam sie na strobo, ale pewnie sa to male pioruny :)

Q napisał(a):

Owszem, racja, ale tylko wtedy gdy budowalbym "normalny" stroboskop. Moja koncepcja jest jednak inna. Chodzi o zbudowanie "bazy" stroboskopowej do obslugi duzej powierzchniowo sali. Do takiej bazy podlaczaloby sie max 16 stroboskopow "koncowek", do ktorych szlo by z bazy zasilanie i napiecie wyzwalajace.

Glowna koncepcja mojego programu polega na skryptowym jezyku obslugi takiej bazy. Moglbym wiec napisac program w stylu:

blink1 wait 100 blink2 wait 200 blink3 wait 300

A po jego uruchomieniu komputer wysylalby "na zywo" informacje do bazy, ktory palnik ma zapalic. Chodzi o to, ze trudno jest mi uzyskac rozne czasy odstepu pomiedzy poszczegolnymi blyskami metoda sprzetowa. Poza tym wiazaloby sie to z koniecznoscia zaladowania programu do procesora w bazie, co uniemozliwiloby mi pisanie dlugich programow. Wiem, ze ten problem moznaby rozwiazac poprzez np. dodatkowa pamiec w bazie czy cos takiego, ale zalezy mi na jak najnizszych kosztach.

guzik prawda :)

poza tym - nic nie jest "normalne" :)

wysylalbys te info po rs'ie; w czym widzisz problem?

komputer pod windowsem nie wysle Ci nic w czasie jakim chcesz; najlepiej zrobic to sprzetowo; /komp by pelnil role sterownika uP ktory sterowalby stroboskopami :)

?! /metoda softwarowa chyba; metody sprzetowe stosuje sie wlasnie wtedy, gdy bardziej zalezy nam na czasowkach (niz na kosztach :); /o ile w ogole softwarowo da sie zrobic to co chcemy :)

nierozumiem tego zdania :)

?

to kazdy rozmie :)

ja to widze, tak, ze z kompa do uC szeregowo szed³by sygna³ co i kedy odpaliæ (czyli adres konkretnego palnika i w dajmy ktorym takcie licznika) a mikroprocesor w odpowiednim czasie by to juz wykona³ - wg mnie, gdyby uzyæ np at89c51, to juz nic wiecej z ukladow cyfrowych by nie trzeba by³o -od uC od razu starowanie przez optotriaka i dalej na stroba juz ;-) mozliwe ze to zagmatwalem, ale jakby co to moge niejasnosci jeszcze wytlumaczyc

wlasnie, a jak jeszcze inaczej mozna starowac moca (inaczej niz triakiem :)? sa np. jakies takie szybkie przekazniki? /jak z kosztami? :)

nie rob se jaj :)

Q napisał(a):

Myslalem po prostu, ze na rs'ie zabraknie pinow ;] W sumie zamiast ustawiac stany, moznaby przeslac 1 bajt oznaczajacy numer palnika.

Masz racje, jezeli chodzi o dokladnosc, to na Windows nie ma co liczyc :/ Moze tak wlasnie zrobie. Chodzi o to, ze caly projekt robie razem z kolega. On zna sie na elektronice, ja na programowaniu. Jednak tylko ja mam internet, wiec pisze w jego imieniu rowniez. Specjalista od elektroniki nie jestem, wiec nie bede sie w niczym spiral. W kazdym razie dzieki za nowa koncepcje.

Softwareowo to wiem jak zrobic, tyle ze bedzie strasznie niedokladnie. A co do rozwiazania sprzetowego, to wedlug mojego kolegi, bedzie to drozej i wiecej roboty. Dlatego chcielismy rozwiazac to w ten wlasnie sposob.

Chodzilo mi o to, zeby ladowac caly program "mrugania" palnikow do uC za kazdym razem gdy zechce zmienic program. Ale to chyba nie jest najlepszy pomysl :/

Eprom na program odpowiadajacy za mruganie.

Dzieki za wszystkie uwagi. Jesli macie jeszcze jakies sugestie co do sposobu zrealizowania mojego pomyslu, to piszcie.

Pecet spokojnie zrobi 500kHz ! Bufory RS-232 niekoniecznie to przeniosa, ale 115kbaud przenosza nawet z przyzwoitymi zboczami.

Tylko ze jesli to ma byc pod windows, to nie gwarantuje nawet 100Hz :-(

No i port nie moze byc USB :-(

J.

J.F. napisał(a):

Wlasnie dlatego chce port drukarkowy a nie rs ;]

U¿ytkownik "Q" snipped-for-privacy@gazeta.gov.pl> napisa³ w wiadomo¶ci news:cui4uj$q85$ snipped-for-privacy@atlantis.news.tpi.pl...

to zalezy jaki stroboskop chcesz regulowac - na czym polega sterowanie mocy? bo jak dot±d to spotykalem sie z takm rozwiazaniem, ze zmiana mocy polegala na zmianie pojemnosci kondensatora

Z portem drukarki jest niestety dokladnie tak samo :-(

Dobrze koledzy radzili - maly procesorek, do ktorego przez RS wysylamy komendy..

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required