MESA 5i25 + OptoBOB
Obiecałem (daawno temu), że opiszę, jak podłączam Mesę „matkę” (5i25/6i25) do OptoBoba „córki” (w tym przypadku raczej „syna” powinno być).
Przygotowanie Mesy
Ściągamy sterowniki ze strony MesaNet: SUPPORT SOFTWARE. Do karty 6i25 ściągamy te same sterowniki – programowo traktujemy ją cały czas jakby to była 5i25.
Ważna sprawa. O ile ze sterowników (czyli plików .bit) będziemy korzystać ze ściągniętego zipa to sam program 'mesaflash’ musi być 'normalny’ – z dystrybucji Linuxa. Inaczej tak jak ja możecie się kilka dni kręcić w kółko 🙂
Czym flashujemy?
A to już co kto lubi 🙂 Po rozpakowaniu pliku 5i25.zip
wchodzimy do katalogu configs/hostmot2
.
Znajdziemy tam pliki .bit, .xml i .pin. Pliki .bit to nasze sterowniki do flashowania, a .pin to zwykłe pliki tekstowe z opisem pinów – przy podłączaniu OptoBOBa warto przejrzeć następujące pliki:
- 5i25_dmmbob1x2.pin,
- 5i25_g540x2.pin,
- 5i25_hdbb2.pin,
- 5i25_prob_rfx2.pin
Na końcu każdego mamy wypisaną konfigurację pinów np.
IO Connections for P3 Pin#. I/O Pri. func Sec. func Chan Pin func Pin Dir 1 0 IOPort None 14 1 IOPort PWMGen 0 PWM (Out) 2 2 IOPort StepGen 0 Step (Out) 15 3 IOPort None 3 4 IOPort StepGen 0 Dir (Out) 16 5 IOPort StepGen 4 Step (Out) 4 6 IOPort StepGen 1 Step (Out) 17 7 IOPort None 5 8 IOPort StepGen 1 Dir (Out) 6 9 IOPort StepGen 2 Step (Out) 7 10 IOPort StepGen 2 Dir (Out) 8 11 IOPort StepGen 3 Step (Out) 9 12 IOPort StepGen 3 Dir (Out) 10 13 IOPort QCount 0 Quad-A (In) 11 14 IOPort QCount 0 Quad-B (In) 12 15 IOPort QCount 0 Quad-IDX (In) 13 16 IOPort None
Pierwsza kolumna to nr pinu na złączu równoległym – szukamy sterownika, który ma zbliżone obłożenie do naszej maszyny – w moim przypadku najbardziej pasował 5i25_g540x2.pin
Tu też uwaga – w niektórych konfiguracjach jest zamieniona kolejność step-dir – łatwo przeoczyć, a potem trudno dojść czemu nie działa – uczulam 🙂
Jak flashujemy?
sudo mesaflash –device 5i25 –write ../../configs/hostmot2/5i25_g540x2.bit
i dostajemy:
Checking file... OK File type: BIT file Boot sector OK EEPROM sectors to write: 6, max sectors in area: 16 Erasing EEPROM sectors starting from 0x100000... |EEEEEE Programming EEPROM sectors starting from 0x100000... |WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW Board configuration updated successfully. You must power cycle board or use --reload command to load updated firmware.
Teraz najbezpieczniej jest zrobić restart komputera.
Można też przeładować Mesę bez restartu:
sudo mesaflash --device 5i25 --reload
Sprawdzamy czy jest wszystko OK – odpalamy polecenie halcmd
i wywołujemy show pin hm2_5i25.0
. Powinniśmy dostać coś takiego:
halcmd: show pin hm2_5i25.0 Component Pins: Owner Type Dir Value Name 5 s32 OUT 0 hm2_5i25.0.encoder.00.count 5 s32 OUT 0 hm2_5i25.0.encoder.00.count-latched 5 bit I/O FALSE hm2_5i25.0.encoder.00.index-enable 5 bit OUT TRUE hm2_5i25.0.encoder.00.input-a 5 bit OUT TRUE hm2_5i25.0.encoder.00.input-b 5 bit OUT FALSE hm2_5i25.0.encoder.00.input-index 5 bit IN FALSE hm2_5i25.0.encoder.00.latch-enable 5 bit IN FALSE hm2_5i25.0.encoder.00.latch-polarity 5 float OUT 0 hm2_5i25.0.encoder.00.position 5 float OUT 0 hm2_5i25.0.encoder.00.position-latched 5 bit OUT FALSE hm2_5i25.0.encoder.00.quad-error 5 bit IN FALSE hm2_5i25.0.encoder.00.quad-error-enable 5 s32 OUT 0 hm2_5i25.0.encoder.00.rawcounts 5 s32 OUT 0 hm2_5i25.0.encoder.00.rawlatch 5 bit IN FALSE hm2_5i25.0.encoder.00.reset 5 float OUT 0 hm2_5i25.0.encoder.00.velocity 5 s32 OUT 0 hm2_5i25.0.encoder.01.count 5 s32 OUT 0 hm2_5i25.0.encoder.01.count-latched 5 bit I/O FALSE hm2_5i25.0.encoder.01.index-enable 5 bit OUT TRUE hm2_5i25.0.encoder.01.input-a 5 bit OUT TRUE hm2_5i25.0.encoder.01.input-b 5 bit OUT FALSE hm2_5i25.0.encoder.01.input-index 5 bit IN FALSE hm2_5i25.0.encoder.01.latch-enable 5 bit IN FALSE hm2_5i25.0.encoder.01.latch-polarity
No to Mesa skonfigurowana.
Konfiguracja LinuxCNC
Tu było trochę zabawy 🙂 Na szczęście miałem już plik konfiguracyjny do zestawu Mesa-Mesa wygenerowany PNCconfem i potem poprawiony ręcznie do naszych potrzeb. Gdzieś w sieci znalazłem też inny konfig do jakiejś innej karty na złączu równoległym – poskładałem, pocudowałem i wyszło coś co działa. Załączam z nadzieją, że u was też zadziała 🙂
Najnowsze komentarze