7i80hd + 7i33 + 7i37 + 7i84

More
09 Jul 2021 10:42 - 09 Jul 2021 10:49 #214074 by vre
Hello
I have installed xilinx ise 14.7 and i want a PIN file for 7i80hd + 7i33 + 7i37 + 7i84
For 7i33 the pwm output must be like this in the photo because dc motor driver accepts that type of pwm
My problem is that i want 2 outputs for direction forward & reverse not only 1 direction.
Also for connecting 7i84 to 7i80hd i have this adapter www.aliexpress.com/item/4000542156362.html
 
Can someone help me with pin file ?


I have this pin file but does not outputs the forward-reverse signals in the form shown in the photo
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_SV4_7I33_SSERIAL_72 is
    constant ModuleID : ModuleIDType :=(
        (WatchDogTag,        x"00",    ClockLowTag,            x"01",    WatchDogTimeAddr&PadT,                WatchDogNumRegs,            x"00",    WatchDogMPBitMask),
        (IOPortTag,        x"00",    ClockLowTag,            x"03",    PortAddr&PadT,                    IOPortNumRegs,                x"00",    IOPortMPBitMask),
        (QcountTag,        x"02",    ClockLowTag,            x"08",    QcounterAddr&PadT,                QCounterNumRegs,            x"00",    QCounterMPBitMask),
        (PWMTag,        x"00",    ClockHighTag,            x"05",    PWMValAddr&PadT,                PWMNumRegs,                x"00",    PWMMPBitMask),
             (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"),
        (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"01" & QCountTag & x"02",                    -- I/O 00
        IOPortTag & x"01" & QCountTag & x"01",                   -- I/O 01
        IOPortTag & x"00" & QCountTag & x"02",                -- I/O 02
        IOPortTag & x"00" & QCountTag & x"01",                -- I/O 03
        IOPortTag & x"01" & QCountTag & x"03",                -- I/O 04
        IOPortTag & x"00" & QCountTag & x"03",                -- I/O 05
        IOPortTag & x"01" & PWMTag & x"81",                   -- I/O 06
        IOPortTag & x"00" & PWMTag & x"81",                   -- I/O 07
        IOPortTag & x"01" & PWMTag & x"82",                   -- I/O 08
        IOPortTag & x"00" & PWMTag & x"82",                   -- I/O 09
        IOPortTag & x"01" & PWMTag & x"83",                   -- I/O 10
        IOPortTag & x"00" & PWMTag & x"83",                   -- I/O 11
        IOPortTag & x"03" & QCountTag & x"02",                -- I/O 12
        IOPortTag & x"03" & QCountTag & x"01",                -- I/O 13
        IOPortTag & x"02" & QCountTag & x"02",                -- I/O 14
        IOPortTag & x"02" & QCountTag & x"01",                -- I/O 15
        IOPortTag & x"03" & QCountTag & x"03",                -- I/O 16
        IOPortTag & x"02" & QCountTag & x"03",                -- I/O 17
        IOPortTag & x"03" & PWMTag & x"81",                   -- I/O 18
        IOPortTag & x"02" & PWMTag & x"81",                   -- I/O 19
        IOPortTag & x"03" & PWMTag & x"82",                   -- I/O 20
        IOPortTag & x"02" & PWMTag & x"82",                   -- I/O 21
        IOPortTag & x"03" & PWMTag & x"83",                   -- I/O 22
        IOPortTag & x"02" & PWMTag & x"83",                   -- I/O 23
                    
                    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 24
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 25    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 26
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 27    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 28
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 29
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 30
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 31
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 32
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 33
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 34
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 35
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 36
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 37    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 38    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 39    
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 40
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 41
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 42
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 43
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 44
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 45
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 46
        IOPortTag & x"00" & NullTag & x"00",                               -- I/O 47    



        IOPortTag & x"00" & SSerialTag & SSerialRX0Pin,         -- I/O 48
        IOPortTag & x"00" & SSerialTag & SSerialTX0Pin,         -- I/O 49
        IOPortTag & x"00" & SSerialTag & SSerialRX1Pin,         -- I/O 50
        IOPortTag & x"00" & SSerialTag & SSerialTX1Pin,         -- I/O 51
        IOPortTag & x"00" & SSerialTag & SSerialRX2Pin,         -- I/O 52
        IOPortTag & x"00" & SSerialTag & SSerialTX2Pin,         -- I/O 53
        IOPortTag & x"00" & SSerialTag & SSerialRX3Pin,         -- I/O 54
        IOPortTag & x"00" & SSerialTag & SSerialTX3Pin,         -- I/O 55
        IOPortTag & x"00" & SSerialTag & SSerialRX4Pin,         -- I/O 56
        IOPortTag & x"00" & SSerialTag & SSerialTX4Pin,         -- I/O 57
        IOPortTag & x"00" & SSerialTag & SSerialRX5Pin,         -- I/O 58
        IOPortTag & x"00" & SSerialTag & SSerialTX5Pin,         -- I/O 59
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 60
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 61
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 62
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 63
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 64
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 65
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 66
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 67
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 68
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 69
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 70
        IOPortTag & x"00" & NullTag & x"00",                    -- I/O 71

        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_SV4_7I33_SSERIAL_72;

 
Attachments:
Last edit: 09 Jul 2021 10:49 by vre.

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 13:10 #214095 by andypugh
I think that pwmgen only knows how to output PWM, DIR and ENA
github.com/LinuxCNC/linuxcnc/blob/master...hostmot2/pins.c#L108
If you need FWD REV outputs then I think that you will need to do that in HAL.
What I would suggest is setting the 82 and 83 pins in your VHDL to nulltag. I _think_ that will then leave them as GPIO pins, physically on the PWM header, and you can then drive then as FWD REV using HAL logic.

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 13:31 #214101 by PCW
Replied by PCW on topic 7i80hd + 7i33 + 7i37 + 7i84
If you want FWD and REV PWM, that would be PWM mode 2

In mode 2 the PWM magnitude signal is directed to the OUT1 pin for positive values
and the OUT2 pin for negative values.

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 13:43 #214104 by andypugh
I think that he wants a single PWM pin and separate FWD and REV pins?
(And, presumably, neither set for off?)

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 16:18 #214121 by PCW
Replied by PCW on topic 7i80hd + 7i33 + 7i37 + 7i84
OK in that case GPIO would be the way to go for FWD/REV

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 21:17 - 09 Jul 2021 21:19 #214138 by vre
Replied by vre on topic 7i80hd + 7i33 + 7i37 + 7i84
I want 1 pin for pwm 1 pin for forward and 1 pin for reverse.
How can i do that in 7i80 + 7i33 ?
Some solution with 7400 series chips to modify the output of 7i33 ?

Also for pid tuning dc brushed motor that parameters need to tune?
Last edit: 09 Jul 2021 21:19 by vre.

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 21:46 #214139 by PCW
Replied by PCW on topic 7i80hd + 7i33 + 7i37 + 7i84
The 7I33 is an analog servo interface, it's not suitable for PWM output

What is the PWM frequency?

Please Log in or Create an account to join the conversation.

More
09 Jul 2021 23:58 - 09 Jul 2021 23:59 #214147 by vre
Replied by vre on topic 7i80hd + 7i33 + 7i37 + 7i84
The pdf is the datasheet of dc motor driver
Except from pwm driving this driver has an other mode where
0V input is full rpm reverse 5V is full rpm forward 2.5V is 0 rpm and so on..
Can make a config 7i33 to output in that way voltages not -10 to 10 but 0 to 5 or make an external circuit to do that ?
Can i use this mode ?

Brake/PWM input:
• Potentiometer or throttle mode: brake switch input.
• PWM mode1: 0-100% PWM: You can use your own PWM control signal from your PLC or
microprocessor. The minimum controll PWM frequency is 100Hz. The step resolution 1us. The
acceptable voltage level: 3,3-10V.
• PWM mode2: RC wirelles receiver input 1,5msec pulse for the 0% duty cycle and 2,5msec pulse for
the 97% duty cycle.
• PWM, logical and pulse counter input in USART mode
Attachments:
Last edit: 09 Jul 2021 23:59 by vre.

Please Log in or Create an account to join the conversation.

More
10 Jul 2021 16:52 #214193 by PCW
Replied by PCW on topic 7i80hd + 7i33 + 7i37 + 7i84

Can make a config 7i33 to output in that way voltages not -10 to 10 but 0 to 5 or make an external circuit to do that ?
Can i use this mode ?

Yes, you could use the offset PWM mode and bound the PID output to 2.5

Please Log in or Create an account to join the conversation.

More
11 Jul 2021 05:49 - 11 Jul 2021 05:50 #214228 by vre
Replied by vre on topic 7i80hd + 7i33 + 7i37 + 7i84
how to do that setting?
setp [HMOT](CARD0).pwmgen.00.offset-mode 1
setp pid.x.maxoutput 5.0

For pid tuning brushed dc motor that parameters of pid need tuning ?
Last edit: 11 Jul 2021 05:50 by vre.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.127 seconds
Powered by Kunena Forum