Znaleziono 17 wyników

autor: markcomp77
23 sie 2013, 23:29
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

dlaczego upieramy się na zachowanie architektury zawartej w LinuxCnc?

ze względu na budowę konfiguracji kontrolera ruchu w oparciu o HAL
HAL - to jest zbiór małych modulików, które łączymy "kabelkami"... jak na zabawce dziecięcej z elektroniki... albo na laboratorium układów elektronicznych

cała przyjemność zabawy w HAL wychodzi w momencie trafienia na "dziwną maszynę" do kontroli...
można też sobie wyobrazić coś zupełnie innego niż cnc

jednak ceną z tą "plastelinową" konfigurację kontrolera ruchu, jest zachowanie "kabelków" między modułami w łatwo dostępnym miejscu dla "lepiącego"

akcelerowane moduły HAL mogą znajdować się na czymś szybko połączonym z PCetem... tak aby możliwa była łączność w czasie rzeczywistym (przewidywanym) dla wątku planującego (tego wolniejszego)

ważne, aby każdy moduł akcelerowany HAL miał "kabelki" dostępne w PCecie...

w PLUTO z dystrybucji linuxcnc mamy dwa wkłady:
1. pluto_servo: Encoders, PWM, Digital I/O
2. pluto_step: Step generators, Digital I/O

[ Dodano: 2013-08-24, 13:24 ]
są problemy z najnowszym Quartus II 64-bit (13.0.1...).... ale ze starszymi FPGA/PLD :(

brak ACEXa
Quartus II support on EP1K50 (ACEX 1K)
The website claims that Quartus II 11.1sp2 supports legacy devices, do this not include the ACEX 1K devices?
Quartus 11.1sp2 will not support ACEX, FLEX, etc. Those devices are too old.

Just install both version of Quartus. There is no problem having multiple versions of Quartus installed on one machine. I have 9.0SP2, 10.1, and 11.1sp1 all coexisting.

I've started to use VirtualBox and Virtual machines to support legacy tools. That way I can put the entire OS plus installed tools onto an external USB drive, and it does not take space on my laptop drive (other than for the VirtualBox install).
http://www.alteraforum.com/forum/showth ... light=acex

ACEX jest już nie wspierany przez alterę... sprzedają go jeszcze z zapasów

ostatnia wersja "mająca" ACEXa to 9.0sp2
http://www.altera.com/literature/rn/arc ... _90sp2.pdf
Design software support for ACEX, APEX, FLEX, and HardCopy Stratix device families will not be provided in future versions of the Quartus II software beginning with version 9.1.
ale 9.0sp2 ma jedynie wersję Windowsową :(
http://download.altera.com/software/qua ... s_free.exe

[ Dodano: 2013-08-24, 21:07 ]
9.0sp2 po nie wielkich bólach odpalił się pod wine :)
(na wersji wine 1.5.26 zaczyna działać)
autor: markcomp77
23 sie 2013, 18:16
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

tuxcnc pisze:Nawet jak ktoś chce żeby mu LED migał, to zaraz napiszecie że potrzebny jest Cortex ...
nie.. konieczna jest struktura FPGA ;)
i koniecznie środowisko programowania o zajętości 11GB
Obrazek

-->>
http://www.fpga4fun.com/QuartusQuickStart.html
autor: markcomp77
23 sie 2013, 15:13
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

blue_17 pisze:w tym rozwiązaniu mógł być by dobry jakiś ARM z systemem operacyjnym ale nie wiem czy to nie przerost formy nad treścią
przerost...

ale komunikacja w podobny sposób jak pluto przez LPT/EPP może być wystarczającym środkiem na stworzenie szybszych modułów HAL, nie tylko na fpga.. ale np.na arduino-due (arm Cortex-M3/ 84 MHz)

--
mi właśnie kończy się instalka Altera Quartus II... na dysku zajmuje 11.1GB
autor: markcomp77
22 sie 2013, 21:24
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

trochę niepokoi mnie informacja, że czasami to nie działa... i nie wiadomo dlaczego :(

a Netmos98xx-a mam na swojej karcie lpt... ma dwa porty i daje się tym sterować konfiguracje wielo-osiowe... ale jest problem z EPP

no cóż... udało mi się ściągnąć te 4GB... więc pewnie jutro coś zacznie się instalować
autor: markcomp77
22 sie 2013, 11:46
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

no... niestety trzeba było przeczytać http://www.altera.com/literature/ds/acex.pdf ;)
ACEX 1K Datasheet pisze:ACEX 1K devices are configured at system power-up with data stored in an Altera serial configuration device or provided by a system controller. Altera offers EPC16, EPC2, EPC1, and EPC1441 configuration devices, which configure ACEX 1K devices via a serial data stream. Configuration data can also be downloaded from system RAM or via the Altera MasterBlasterTM, ByteBlasterMVTM, or BitBlasterTM download cables. After an ACEX 1K device has been configured, it can be reconfigured in-circuit by resetting the device and loading new data. Because reconfiguration requires less than 40 ms, real-time changes can be made during system operation.

ACEX 1K devices contain an interface that permits microprocessors to configure ACEX 1K devices serially or in parallel, and synchronously or asynchronously. The interface also enables microprocessors to treat an ACEX 1K device as memory and configure it by writing to a virtual memory location, simplifying device reconfiguration.
na początku mana piszą:
Programmable logic devices (PLDs), providing low cost system-on-a-programmable-chip (SOPC) integration in a single device
co sugeruje, że mamy do czynienia z PLD.. czyli z czymś podobnym do PAL/GAL (ino większym)
ale dalej... to widać, że to fpga...
FPGAs vs. CPLDs pisze:FPGAs are RAM based - they need to be "downloaded" (configured) at each power-up. CPLDs are EEPROM based - they are active at power-up (i.e. as long as they've been programmed at least once...).
autor: markcomp77
22 sie 2013, 09:01
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

251mz pisze:Jest coś takiego jak konfigurator...
poczytam...

ale znalazłem jeszcze coś "nie pięknego"
man pisze: speedrange [default: 0]

Selects one of four speed ranges:

0: Top speed 312.5kHz; minimum speed 610Hz
1: Top speed 156.25kHz; minimum speed 305Hz
2: Top speed 78.125kHz; minimum speed 153Hz
3: Top speed 39.06kHz; minimum speed 76Hz

Choosing the smallest maximum speed that is above the maximum for any one axis may give improved step regularity at low step speeds.
czyli... nie da się zejść na bardzo małe prędkości (niektóre zewnętrzne kontrolery ruchu również mają ten problem)
autor: markcomp77
22 sie 2013, 08:18
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

tuxcnc pisze:FPGA nie programuje się.
Program jest tracony po wyłączeniu zasilania, a po włączeniu trzeba go załadować.
W przypadku Pluto-P załadowanie programu odbywa się przez port lpt i LinuxCNC zajmuje się tym w sposób niezauważalny dla użytkownika.
Dlatego ta sama płytka z FPGA może służyć do różnych celów.
to ma niestety, przykre konsekwencje :(
dodając do tego:
hal man pisze: Note The Pluto P board requires EPP mode. Netmos98xx chips do not work in EPP mode. The Pluto P board will work on some computers and not on others. There is no known pattern to which computers work and which don’t work.
to oznacza, że nie bardzo wiadomo... na jakim kompie to będzie działać :(
aby uniknąć takich kwiatków... uC przynajmniej do załadowania firmware, może być przydatny.
(procedura programowania w c jest zawarta w kodzie linuxcnc)

zamiast wkładania dodatkowo uC do uploadowania firmware. można szukać karty LPT... ale coraz trudniej takie trafić, a te co widziałem są właśnie na jakimś Netmosie :(
autor: markcomp77
21 sie 2013, 21:50
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

generalnie... można iść w kierunku uC
jest (wspomniany wcześniej) projekt "RT-8p8c - PIC32 based ethernet interface board for LinuxCNC"
http://www.cnczone.com/forums/pic_progr ... board.html

jedyny problem... to RTnet... nie każda karta sieciowa ma sterowniki do pracy w trybie "RT"
ale poza tym... można dostawić do linuxcnc również coś po sieci...
gość od tego projektu, bawił się również tabletem, jako interfacem do linuxcnc :)

--
powróćmy jednak do altery PLD... czym to się programuje? (ja wprowadza wkład?)
autor: markcomp77
21 sie 2013, 18:48
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

251mz pisze:
markcomp77 pisze:ale PLC w tym projekcie pozwala na ładną separacje funkcji
FPGA :)
heheh... nie PLC a PLD
PLD (ang. Programmable Logic Device) – układ elektroniczny o programowalnej strukturze.
więcej... http://pl.wikipedia.org/wiki/PLD_(elektronika)

[ Dodano: 2013-08-21, 19:01 ]
---
wracając do tematu:

czy ktoś ogląda pliki źródłowe do pluto_step:

Kod: Zaznacz cały

[...]linuxcnc-dev/src/hal/drivers/pluto_step_firmware$ ls *.v -l
-rw-rw-r-- 1 mark mark 5162 sie 20 17:16 main.v
-rw-rw-r-- 1 mark mark 2777 sie 20 17:16 stepgen.v
-rw-rw-r-- 1 mark mark 1804 sie 20 17:16 test_stepgen.v
plik main zawiera 134 linie, a implementacja stepgen linii 101...
to są malutkie kawałki programów do zrozumienia...

---
teraz trzeba się zastanowić czym to programować? i gdzie TO zdobyć?
autor: markcomp77
21 sie 2013, 14:14
Forum: LinuxCNC (dawniej EMC2)
Temat: Serwokrokowiec czyli pluto-step-encoder.
Odpowiedzi: 56
Odsłony: 7707

procesor może być ciekawym rozwiązaniem... ale PLC w tym projekcie pozwala na ładną separacje funkcji... i to będzie działało na każdym PCceie pracującym na lpt

natomiast uC po lanie w czasie rzeczywistym będzie działał jedynie z obsługiwanymi przez RTnet kartami sieciowymi

usb raczej odpada...

jednak można sobie wyobrazić przyłączenie uC przez port LPT, podobnie jak pluto... można nawet udawać pluto (ale będzie to działać wolniej)

skupmy się jednak na odtworzeniu działającego pluto... a potem zaczniemy zmiany z "wypełnieniem"

Wróć do „Serwokrokowiec czyli pluto-step-encoder.”