Step/Dir servos + Encoders = follow errors... and so much pain.....

More
5 years 8 months ago #199728 by jhandel
Thanks!

You think there would be a problem pig-tailing on the OZ+ going into my 7i89 and into the 7i75 so they are both getting the same signal? or should i pull my OZ+ completely off the encoder block on the 7i89 for now?

Please Log in to join the conversation.

More
5 years 8 months ago #199869 by PCW
Sharing will probably not work as the 7I89s differential termination
will probably reduce the swing enough to not work with the 7I75 inputs
but you could jumper the index on the 7I89 for single ended.

BTW I have got firmware now supporting shared muxed encoder/stepgen
index signals. Its a bit limited because the stepgen instance must match the
encoder instance (that is if you have a shared index on muxed encoders 3,4
they will be hardwired to stepgens 3,4 indexes)

Please Log in to join the conversation.

More
5 years 8 months ago #200127 by jhandel
Awesome.. that is much less wiring hackery than the other approach :-)

Please Log in to join the conversation.

More
3 years 5 months ago #272376 by jhandel
Sorry for resurrecting this thread but a lot happend in life between when I stopped working on this and now.. Anyways, I am finally getting this machine back up and running ( change in jobs, moves, home renos, life, life moth balled this project for 2 years :-O)  

Anyways,   I did some searching and I am not sure clear instructions on how to use the stepgenindex to use index's for homing while still treating a the axis as open loop? 

I imagine it would start with 2.9 and updating the VHD for the pinnouts in the firmware... Here is my current VHD for my 7i76e + 7i89 + generic Bob combo looks like 
Code:
library IEEE; use IEEE.std_logic_1164.all;  -- defines std_logic types use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Copyright (C) 2007, Peter C. Wallace, Mesa Electronics -- http://www.mesanet.com -- -- This program is is licensed under a disjunctive dual license giving you -- the choice of one of the two following sets of free software/open source -- licensing terms: -- --    * GNU General Public License (GPL), version 2.0 or later --    * 3-clause BSD License --  -- -- The GNU GPL License: --  --     This program is free software; you can redistribute it and/or modify --     it under the terms of the GNU General Public License as published by --     the Free Software Foundation; either version 2 of the License, or --     (at your option) any later version. --  --     This program is distributed in the hope that it will be useful, --     but WITHOUT ANY WARRANTY; without even the implied warranty of --     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the --     GNU General Public License for more details. --  --     You should have received a copy of the GNU General Public License --     along with this program; if not, write to the Free Software --     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA --  --  -- The 3-clause BSD License: --  --     Redistribution and use in source and binary forms, with or without --     modification, are permitted provided that the following conditions --     are met: --  --   * Redistributions of source code must retain the above copyright --     notice, this list of conditions and the following disclaimer. --  --   * Redistributions in binary form must reproduce the above --     copyright notice, this list of conditions and the following --     disclaimer in the documentation and/or other materials --     provided with the distribution. --  --   * Neither the name of Mesa Electronics nor the names of its --     contributors may be used to endorse or promote products --     derived from this software without specific prior written --     permission. --  --  -- Disclaimer: --  --     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS --     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT --     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS --     FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE --     COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, --     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, --     BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; --     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER --     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT --     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN --     ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE --     POSSIBILITY OF SUCH DAMAGE. --  use work.IDROMConst.all; package PIN_7i76x1_7i89x2D_x15ABOB_51 is     constant ModuleID : ModuleIDType :=(          (HM2DPLLTag,    x"00",    ClockLowTag,    x"01",    HM2DPLLBaseRateAddr&PadT,    HM2DPLLNumRegs,        x"00",    HM2DPLLMPBitMask),         (WatchDogTag,    x"00",    ClockLowTag,    x"01",    WatchDogTimeAddr&PadT,        WatchDogNumRegs,        x"00",    WatchDogMPBitMask),         (IOPortTag,        x"00",    ClockLowTag,    x"03",    PortAddr&PadT,                    IOPortNumRegs,            x"00",    IOPortMPBitMask),         (StepGenTag,    x"02",    ClockLowTag,    x"06",    StepGenRateAddr&PadT,        StepGenNumRegs,        x"00",    StepGenMPBitMask),         (MuxedQcountTag,        MQCRev,    ClockLowTag,    x"0A",    MuxedQcounterAddr&PadT,        MuxedQCounterNumRegs,x"00",    MuxedQCounterMPBitMask),         (MuxedQCountSelTag,    x"00",    ClockLowTag,    x"01",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (SSerialTag,    x"00",    ClockLowTag,    x"01",    SSerialCommandAddr&PadT,    SSerialNumRegs,        x"10",    SSerialMPBitMask),         (LEDTag,            x"00",    ClockLowTag,    x"01",    LEDAddr&PadT,                    LEDNumRegs,                x"00",    LEDMPBitMask),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000"),         (NullTag,                x"00",    NullTag,            x"00",    NullAddr&PadT,                    x"00",                    x"00",    x"00000000")         );                  constant PinDesc : PinDescType :=(      --     Base func  sec unit sec func     sec pin                                            IOPortTag & x"00" & StepGenTag & StepGenDirPin,                    -- I/O 00    embedded 7I76         IOPortTag & x"00" & StepGenTag & StepGenStepPin,                -- I/O 01             IOPortTag & x"01" & StepGenTag & StepGenDirPin,                    -- I/O 02             IOPortTag & x"01" & StepGenTag & StepGenStepPin,                -- I/O 03             IOPortTag & x"02" & StepGenTag & StepGenDirPin,                    -- I/O 04             IOPortTag & x"02" & StepGenTag & StepGenStepPin,                -- I/O 05             IOPortTag & x"03" & StepGenTag & StepGenDirPin,                    -- I/O 06             IOPortTag & x"03" & StepGenTag & StepGenStepPin,                -- I/O 07             IOPortTag & x"04" & StepGenTag & StepGenDirPin,                    -- I/O 08             IOPortTag & x"04" & StepGenTag & StepGenStepPin,                -- I/O 09             IOPortTag & x"00" & SSerialTag & SSerialTX0Pin,                 -- I/O 10             IOPortTag & x"00" & SSerialTag & SSerialRX0Pin,                 -- I/O 11             IOPortTag & x"00" & SSerialTag & SSerialTX1Pin,                 -- I/O 12             IOPortTag & x"00" & SSerialTag & SSerialRX1Pin,                 -- I/O 13             IOPortTag & x"04" & MuxedQCountTag & MuxedQCountIDXPin,        -- I/O 14             IOPortTag & x"04" & MuxedQCountTag & MuxedQCountQBPin,        -- I/O 15             IOPortTag & x"04" & MuxedQCountTag & MuxedQCountQAPin,        -- I/O 16                                                                                 --        P1                                                                             -- 5ABOB pinout                                                                                                 -- 26 HDR    -- IDC DB25             IOPortTag & x"05" & StepGenTag & StepGenStepPin,    -- I/O 01    PIN 1        PIN 1     just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 02   PIN 2        PIN 14    Spindle Step         IOPortTag & x"05" & StepGenTag & StepGenDirPin,        -- I/O 03   PIN 3        PIN 2       Spindle Direction         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 04    PIN 4        PIN 15    just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 05    PIN 5        PIN 3       just GPIO             IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 06    PIN 6        PIN 16    just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 07    PIN 7        PIN 4       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 08    PIN 8        PIN 17    just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 09    PIN 9        PIN 5       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 10    PIN 11    PIN 6       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 11    PIN 13    PIN 7       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 12    PIN 15    PIN 8       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 13    PIN 17    PIN 9       just GPIO         IOPortTag & x"00" & NullTag & NullPin,                    -- I/O 14    PIN 19    PIN 10    just GPIO         IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 15    PIN 21    PIN 11      just GPIO         IOPortTag & x"00" & NullTag & NullPin,                  -- I/O 16    PIN 23    PIN 12    just GPIO         IOPortTag & x"00" & NullTag & NullPin,                -- I/O 33    PIN 25    PIN 13    just GPIO                                                                                                  --        P2            HDR26        DB25         IOPortTag & x"00" & MuxedQCountTag & MuxedQCountQAPin,        -- I/O 17    PIN 1    PIN 1             IOPortTag & x"00" & MuxedQCountTag & MuxedQCountQBPin,        -- I/O 18    PIN 14   PIN 2             IOPortTag & x"00" & MuxedQCountTag & MuxedQCountIDXPin,        -- I/O 19    PIN 2    PIN 3             IOPortTag & x"01" & MuxedQCountTag & MuxedQCountQAPin,        -- I/O 20    PIN 15   PIN 4             IOPortTag & x"01" & MuxedQCountTag & MuxedQCountQBPin,        -- I/O 21    PIN 3    PIN 5             IOPortTag & x"01" & MuxedQCountTag & MuxedQCountIDXPin,        -- I/O 22    PIN 16   PIN 6             IOPortTag & x"02" & MuxedQCountTag & MuxedQCountQAPin,        -- I/O 23    PIN 4    PIN 7             IOPortTag & x"02" & MuxedQCountTag & MuxedQCountQBPin,        -- I/O 24    PIN 17   PIN 8             IOPortTag & x"02" & MuxedQCountTag & MuxedQCountIDXPin,        -- I/O 25    PIN 5    PIN 9             IOPortTag & x"03" & MuxedQCountTag & MuxedQCountQAPin,        -- I/O 26    PIN 6    PIN 11         IOPortTag & x"03" & MuxedQCountTag & MuxedQCountQBPin,        -- I/O 27    PIN 7    PIN 13         IOPortTag & x"03" & MuxedQCountTag &  ,        -- I/O 28    PIN 8    PIN 15         IOPortTag & x"00" & MuxedQCountSelTag & MuxedQCountSel0Pin,    -- I/O 29    PIN 9    PIN 17         IOPortTag & x"00" & NullTag & NullPin,                                -- I/O 30    PIN 10   PIN 19 powop         IOPortTag & x"00" & SSerialTag & SSerialRX2Pin,                 -- I/O 31    PIN 11   PIN 21         IOPortTag & x"00" & SSerialTag & SSerialTX2Pin,                 -- I/O 32    PIN 12   PIN 23         IOPortTag & x"00" & SSerialTag & SSerialTXEN2Pin,                 -- I/O 33    PIN 13   PIN 25                                                                                                                  LIOPortTag & x"00" & SSerialTag & SSerialNTXEn1Pin,                    emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,          emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin, -- added for IDROM v3         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,                  emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,         emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin,emptypin); end package PIN_7i76x1_7i89x2D_x15ABOB_51;

I am not sure if these updates got pushed into 2.8.3 or 2.8.4 and my github fu couldn't chase down the change set from back then to see if it is still in master or 2.9 or (again possible) pushed into 2.8.3 or .4.. 

Again sorry for resurrecting this, I am finally back in a place where I can bring this machine back to life.. 

 

Please Log in to join the conversation.

More
3 years 5 months ago #272377 by jhandel
I read the thread: forum.linuxcnc.org/24-hal-components/482...rmware-update#264600

And I think I still have some questions.. especially on if/what I should change about my VHD (if anything) to make it compatible. 

I downloaded the firmware in the file (which wouldn't work on my card but who's vhd does give me some hints.. but it looks like I don't have to change anything? 

Just need to compile a latest and greatest firmware with my VHD and then make the HAL changes (while on 2.9).

I kind of thought my VHD would have to change but I am not seeing it if it does need to change.

Please Log in to join the conversation.

Time to create page: 3.512 seconds
Powered by Kunena Forum