ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12
  1. #1
    2011/04/11
    8
    0

    درخواست کمک fpga

    سلام دوستان. بچا ها من این ترم پروژه برداشتم با این عنوان
    پیاده سازی کنترلر pid دیجیتال با fpga جهت کنترل دور موتور
    ولی با استاد که تماس گرفتم گفتند که باید برد اموزشی اول بخری و ما با سیگنال ژنراتور یه سیگنال به پروسسور میدیم و مقادیر رو روی اسیلسکوپ نگاه میکنیم. منتها مشکلی که من دارم اینه که من قدرت هستم و کلا از الکترونیک سر در نمیارم. از شما درخواست دارم راهنمایی کنین که چه کاری باید انجام بدم. اول برد رو بگیرم و بعد فقط دنبال حل برنامه باشم درسته؟ برد که بگیرم چیزه دیگه ای نیاز نداره و فقط برنامه روش ریخته میشه و اجرا میشه ؟ برنامش سخته؟ چطور تو یک ماه یاد بگیرم؟ :cry: اگر کسی بتونه کمکم کنه تو حل مشکلات و نوشتن برنامه واقعا ممنون میشم. : :cry2:
  2. #2
    2009/01/05
    اصفهان
    127
    0

    پاسخ : درخواست کمک fpga

    شما که قدرتی چرا رفتی دنبال fpga ؟
    ^^^^^^^^^^^^^
    خواستن توانستن است

    ^^^^^^^^^^^^^
  3. #3
    2011/04/11
    8
    0

    پاسخ : درخواست کمک fpga

    سلام
    والا منم نمیخواستم بردارم چون دانشکاه یکم سخت گیره این موضوع از همه راحت تر بود و زمان اعلام موضوع هم داشت تمام میشد. خلاصه بیشتر جنبه کنترلیش مهمه تا الکترونیکیش. بچه ها کسی نبود به داده ما برسه؟ :sad:
  4. #4
    2009/08/11
    682
    70

    پاسخ : درخواست کمک fpga

    یه برد fpga بخر
    اگه پورت پارالل داری نیازی به پروگرمر usb نیست. با پورت پارالل مستقیم پروگرم میشه.
    core آماده pid هم تو سایت opencores.org هست. می تونی دانلود کنی.

    https://www.linkedin.com/in/mohammadhosseini69

    http://zakhar.blog.ir
  5. #5
    2011/04/11
    8
    0

    پاسخ : درخواست کمک fpga

    سلام محمد جان
    اقا برد رو بگیریم و برنامش به زبون وی اچ دی ال تو اینترنت پیدا کنم و بریزم روش حله؟ مقاله راجع بهش زیاد هست اما کد برنامه رو اصلا گیر نیاوردم. زمانم کنه وگرنه میشستم خودم انجام میدادم. اگه کد برنامه رو برام پیدا کردی ممنون میشم بهم بدی. خلاصه ما هم یه چیزایی بلدیم که شاید به کاره دیگران بیاد دست درد نکنه عزیزم
  6. #6
    2009/08/11
    682
    70

    پاسخ : درخواست کمک fpga

    نقل قول نوشته اصلی توسط r.m.d
    اقا برد رو بگیریم و برنامش به زبون وی اچ دی ال تو اینترنت پیدا کنم و بریزم روش حله؟
    نه در این حد دیگه!
    نمی خوای 2 خط کد در راستای پروژه (اگه نگیم بخاطر رضای خدا) تغییر بدی؟!
    https://www.linkedin.com/in/mohammadhosseini69

    http://zakhar.blog.ir
  7. #7
    2009/12/25
    تهران
    877
    5

    پاسخ : درخواست کمک fpga

    شما اول برد و پروگرمر رو تهیه کن بعدش راه میوفته! خود ISE (اگر FPGA کمپانی xilinx رو بگیری) هم IP core های PID داره هم قالب دستورات VHDL و... آماده برای PID! کل چیزی که داری پیاده می کنی یه انتگراله! چیز خیلی ساده ایه! جای سختش داشتن یه برد و پروگرمره
    [size=10pt]Gracias A La Vida [/size]
    [size=14pt][glow=red,2,300]ساخت فرز CNC[/glow][/size]
    http://www.eca.ir/forum2/index.php?topic=56308.0

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...
  8. #8
    2011/04/11
    8
    0

    پاسخ : درخواست کمک fpga

    با تشکر از محمد و پژوهان عزیز
    نه خداییش اینطور فکر نکن باور کن نمیخوام سمبل کنم اما مشکل من اینه که کار نکردم و الا یکم اطلاعات داشتم مشکلی نبود برای همین شماهارو انداختم تو زحمت که کمکم بدین. دستتون درد نکنه. من سعی میکنم تو هفته دیگه برد رو بگیرم و ببینم چی به چیه. یکم زیرو روش کنم ببینم چی نیاز دارم بعد از شما اگه زحمتی نباشه سوالامو میپرسم. اقا برد همون زاینیکس میگیرم و اسپارتان 3 خوبه دیگه درسته؟ شرمندم کردین با تشکر از راهنماییهاتون
  9. #9
    2011/04/11
    8
    0

    پاسخ : درخواست کمک fpga

    دوستان من یه سری کد پیدا کردم اما ازش سر در نیاوردم. خیلی با زبانی که من کار کردم فرق داره بیشتر شبیه بیسیک هست اما به مراتب گنگتر. اینجا میزارم اگه کسی فهمید چیه به منم بگه. ایا برنامه که باید بنویسم تو همین مایه هاست یا که نه ممنون
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.STD_LOGIC_ARITH.ALL;
    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    entity pid_controller is

    generic
    (
    -- size of input and output data --
    iDataWidith : integer range 8 to 32 := 8;
    -- proportionally gain --
    iKP : integer range 0 to 7 := 3; -- 0 - /2, 1 - /4, 2 - /8, 3 - /16, 4 - /32, 5 - /64, 6 - /128, 7 - /256
    -- integral gain --
    iKI : integer range 0 to 7 := 2; -- 0 - /2, 1 - /4, 2 - /8, 3 - /16, 4 - /32, 5 - /64, 6 - /128, 7 - /256
    -- differential gain --
    iKD : integer range 0 to 7 := 2; -- 0 - /2, 1 - /4, 2 - /8, 3 - /16, 4 - /32, 5 - /64, 6 - /128, 7 - /256
    -- master gain --
    iKM : integer range 0 to 7 := 1; -- 0 - /1, 1 - /2, 2 - /4, 3 - /8 , 4 - /16, 5 - /32, 6 - /64 , 7 - /128
    -- delay between samples of error --
    iDelayD : integer range 1 to 16 := 10;
    -- 0 - controller use derivative of PATERN_I and PATERN_ESTIMATION_I, 1 - controller use error to work --
    iWork : integer range 0 to 1 := 1
    );

    port
    (
    CLK_I : in std_logic;
    RESET_I : in std_logic;
    -- error --
    ERROR_I : in std_logic_vector(iDataWidith - 1 downto 0);
    -- threshold --
    PATERN_I : in std_logic_vector(iDataWidith - 1 downto 0);
    -- current sample --
    PATERN_ESTIMATION_I : in std_logic_vector(iDataWidith - 1 downto 0);
    -- correction --
    CORRECT_O : out std_logic_vector(iDataWidith - 1 downto 0)
    );

    end entity pid_controller;

    architecture rtl of pid_controller is
    -------------------------------------------------------------------------------
    -- functions --
    -------------------------------------------------------------------------------
    -- purpose: make a std_logic_vector of size c_size and build from c_value --
    function f_something ( constant c_size : integer; signal c_value : std_logic) return std_logic_vector is

    variable var_temp : std_logic_vector(c_size - 1 downto 0);

    begin -- function f_something --

    var_temp := (others => c_value);

    return var_temp;

    end function f_something;
    -- examples:
    -- f_something(c_size => 3 , c_value => 'Z&#039 == "ZZZ"
    -- f_something(c_size => 3 , c_value => '1&#039 == "111"
    -- ...
    -------------------------------------------------------------------------------
    -- types --
    -------------------------------------------------------------------------------
    -- delay register --
    type type_sr is array (0 to iDelayD - 1) of std_logic_vector(iDataWidith - 1 downto 0);

    -------------------------------------------------------------------------------
    -- signals --
    -------------------------------------------------------------------------------
    signal v_error : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_error_KM : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_error_KP : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_error_KD : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_error_KI : std_logic_vector(iDataWidith - 1 downto 0);
    signal t_div_late : type_sr;
    signal v_div : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_acu_earl : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_acu : std_logic_vector(iDataWidith - 1 downto 0);
    signal v_sum : std_logic_vector(iDataWidith - 1 downto 0);

    begin -- architecture rtl --

    -- choice source of input data --
    v_error <= ERROR_I when iWork = 1 else
    conv_std_logic_vector(signed(PATERN_I) - signed(PATERN_ESTIMATION_I) , iDataWidith) when iWork = 0 else
    (others => '0'
    -- master gain execute by shift of iKM bits to the right --
    v_error_KM <= v_error when iKM = 0 else
    f_something(c_size => iKM , c_value => v_error(iDataWidith - 1)) & v_error(iDataWidith - 1 downto iKM) when iKM > 0 else
    (others => '0'

    -- proportionally gain execute by shift of (iKP - 1) bits to the right --
    v_error_KP <= f_something(c_size => iKP + 1 , c_value => v_error_KM(iDataWidith - 1)) & v_error_KM(iDataWidith - 1 downto iKP + 1);

    -- derivative gain execute by shift of (iKD - 1) bits to the right --
    v_error_KD <= f_something(c_size => iKD + 1 , c_value => v_error_KM(iDataWidith - 1)) & v_error_KM(iDataWidith - 1 downto iKD + 1);

    -- integral gain execute by shift of (iKI + 1) bits to the right --
    v_error_KI <= f_something(c_size => iKI + 1 , c_value => v_error_KM(iDataWidith - 1)) & v_error_KM(iDataWidith - 1 downto iKI + 1);

    DI00: process (CLK_I) is
    begin -- process DI00

    if rising_edge(CLK_I) then

    -- synchronous reset --
    if RESET_I = '1' then

    t_div_late <= (others => (others => '0&#039);
    v_div <= (others => '0'
    v_acu <= (others => '0'
    v_acu_earl <= (others => '0'

    else

    -- delay register --
    t_div_late <= v_error_KD & t_div_late(0 to iDelayD - 2);

    -- difference between samples --
    v_div <= conv_std_logic_vector(signed(v_error_KD) - signed(t_div_late(iDelayD - 1)) , iDataWidith);

    -- integration of error --
    v_acu <= conv_std_logic_vector(signed(v_error_KI) + signed(v_acu_earl) , iDataWidith);
    -- sum of N - 1 samples of error --
    v_acu_earl <= v_acu;


    end if;

    end if;

    end process DI00;

    -- first stage of adder --
    v_sum <= conv_std_logic_vector(signed(v_acu) + signed(v_div) , iDataWidith);
    -- correction and second stage of adder --
    CORRECT_O <= conv_std_logic_vector(signed(v_error_KP) + signed(v_sum) , iDataWidith) when RESET_I = '0' else
    (others => '0'

    end architecture rtl;

  10. #10
    2011/04/11
    8
    0

    پاسخ : درخواست کمک fpga

    سلام. دوستان من برد گرفتم برنامه رو هم نصب کردم حالا میشه راهنمایی کنین از کجا شروع کنم؟ و یه سوال دیگه این بردش ماژولهای d/a a/d نداره!!!! برای این کار لازم میشه؟ من باید یه پی ایدی تو ایسیم پیاده کنم درسته. بعد خروجیه موتورم باید فیدبک بشه و میشه از یه انکدر استفاده کرد. حالا من میخوام خروجی انکدر رو بدم داخل باید ای تو دی داشته باشم؟ اگه اشتباه نکنم خروجی انکدر پالسه که به ازای هر دور یه پالس میده اگه اینطور باشه میتونم همین پالسو استفاده کنم؟ بعد اینکه مدار قدرتم چی باید باشه؟ :cry2: و اینکه غیر از پی ایدی یه تفریق کننده هم میخواد دیگه که ورودیو با مقدار فیدبک مقایسه کنه بده به پی ایدی درسته؟ بچه ها اگه اطلاعاتی دارین بهم بدین ممنون میشم من هیچی حالیم نیست شاغلم هستم وقت اصلا ندارم کمکم کنین ممنون میشم. :cry2:
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

موضوعات مشابه

  1. درخواست راهنمایی برای پروژه(fpga(Alu32bit
    توسط 7727 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2016/05/11, 20:17
  2. درخواست مدل IBIS براي FPGA هاي سري Virtex6
    توسط habib-avr در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2015/01/24, 13:57
  3. درخواست معرفی یک تراشه FPGA مناسب
    توسط creative25 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 14
    آخرين نوشته: 2011/10/31, 11:55
  4. درخواست کد VHDL یک فیلتر دیجیتال FIR برای FPGA
    توسط foogi در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2009/06/05, 18:07
  5. درخواست جزوه آزمايشگاه FPGA
    توسط eelinker در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 7
    آخرين نوشته: 2006/06/15, 12:11

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •