اطلاعیه

Collapse
No announcement yet.

طراحی شمارنده پالس های ورودی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    طراحی شمارنده پالس های ورودی

    با سلام
    یک مدار آنالوگ موجود هست که پالسهایی با دامنه ثابت 6 ولت تولید میکند. هدف از این پروژه شمارش این پالس ها در مدت زمان مشخص (مثلا 100 ثانیه) و انتقال تعداد پالس ها به PC از طریق پورت سریال می‏باشد. نرخ پالس های ورودی تقریبا برابر با 1000 تا 2000 پالس در هر ثانیه می‏باشد.
    سوال من اینست که:
    1) به نظر شما بهترین روش برای این کار چیست؟ آیا امکان دارد تایمری در pc طراحی کرد (مثلا با VB) بعد در اون مدت زمان هر موقع یک پالس به میکرو اعمال می‏شود، میکرو از طریق پورت سریال "یک منطقی" را به pc ارسال کند و برنامه موجود در pc عمل شمارش را در مدت زمان مشخص انجام دهد.
    1) آیا می‏توان در خود میکرو شمارش را انجام داد (از طریق pc تایمر میکرو را set کرد) و بعد کل تعداد شمارش در مدت زمان مشخص را با پورت سریال به کامپیوتر ارسال کرد؟ آیا میکرو توانایی شمارش همچین عددی را دارد.
    با تشکر از شما

    #2
    پاسخ : طراحی شمارنده پالس های ورودی

    کسی نیست یک کمک کوچکی به ما بکنه؟
    من تو این چند روز تایمر با میکرو را طراحی کردم. (تا 65K) ولی چون کار من تقریبا صنعتی هست نمیدونم این کارم درسته یا نه؟ چون قراره این دستگاه بره داخل خاک. و آیا میشه بصورت real time شمارش را در pc انجام داد؟ و شمارشها را بصورت لحظه ای مشاهده کرد؟

    دیدگاه


      #3
      پاسخ : طراحی شمارنده پالس های ورودی

      با تشکر از شما
      دو تا سوال برای من ایجاد شده:
      1) من در این پروژه مجبورم که از دو تا timer/counter همزمان استفاده کنم. (یکی برای شمارش پالس های خارجی و یکی هم به عنوان تایمر) آیا از لحاظ وقفه مشکلی پیش نمیاد. ورودی شمارنده پالس هایی کاملا رندوم میباشند. و timer هم هر یک ثانیه یک بار وقفه overflow میدهد.
      2) من میخواهم از طریق کامپیوتر مقدار timer را از طریق سریال ست کنم .(مثلا 100 تا overflow که برابر با 100 ثانیه میشود) در اینجا دوتا سوال برام پیش آمده. من اگر بخواهم مقدار دریافتی بصورت عدد باشد نه رشته باید از u% در تابع ()scanf استفاده کنم؟ در basecome دستوری بود به اسم ()input که میتوانستیم یک متنی را در hyper terminal نمایش دهیم و بعد از وارد کردن مقدار عدد و بعد زدن enter این مقدار وارد یک متغییر میشد ولی در C هر عددی را که وارد میکنیم بلافاصله وارد میکرو میشه. (مثلا میخواهیم عدد 100 را وارد کنیم.) و همینطور برای ارسال.
      input "enter first number:" , Firstnumber
      input "enter second number:" , Secondnumber

      دیدگاه


        #4
        پاسخ : طراحی شمارنده پالس های ورودی

        شما با استفاده از تایمر یک میکرو کنترلر در حالت کانتر میتونید این پالس ها رو بشمارید
        همین
        برای به وجود اوردن یک زمان هم میتونید از یک تایمر در حالت تایمر استفاده کنید
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه

        لطفا صبر کنید...
        X