- Configuring LinuxCNC
- Advanced Configuration
- Step/Dir servos + Encoders = follow errors... and so much pain.....
Step/Dir servos + Encoders = follow errors... and so much pain.....
22 Feb 2021 17:23 #199728
by jhandel
Replied by jhandel on topic Step/Dir servos + Encoders = follow errors... and so much pain.....
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?
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 or Create an account to join the conversation.
23 Feb 2021 18:08 #199869
by PCW
Replied by PCW on topic Step/Dir servos + Encoders = follow errors... and so much pain.....
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)
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)
The following user(s) said Thank You: jhandel
Please Log in or Create an account to join the conversation.
25 Feb 2021 19:55 #200127
by jhandel
Replied by jhandel on topic Step/Dir servos + Encoders = follow errors... and so much pain.....
Awesome.. that is much less wiring hackery than the other approach
Please Log in or Create an account to join the conversation.
29 May 2023 00:43 #272376
by jhandel
Replied by jhandel on topic Step/Dir servos + Encoders = follow errors... and so much pain.....
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
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..
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
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 or Create an account to join the conversation.
29 May 2023 00:46 - 29 May 2023 01:08 #272377
by jhandel
Replied by jhandel on topic Step/Dir servos + Encoders = follow errors... and so much pain.....
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.
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.
Last edit: 29 May 2023 01:08 by jhandel. Reason: updating post reading of the linked thread to realize it doesn't quite get me there..
Please Log in or Create an account to join the conversation.
- Configuring LinuxCNC
- Advanced Configuration
- Step/Dir servos + Encoders = follow errors... and so much pain.....
Time to create page: 0.097 seconds