امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کمک از دوستان برای یک برنامه ساده
نویسنده پیام
questnet آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 6
تاریخ عضویت: اسفند ۱۳۹۶

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #1
کمک از دوستان برای یک برنامه ساده
با سلام
من تازه با avr آشنا شدم و می خواستم ازتون یک کمک بگیرم در رابطه با یک برنامه خیلی ساده (البته برای شما)

امکان داره یک برنامه با بسکام و atmega32  برای من بنویسید که بتونه
یک مقدار پالس بگیره (مثلا 10 هزار تا) بعد یک ثانیه یک پایه رو برای من یک کنه و دوباره صفر کنه
من می خواهم این برنامه دور یک گیربکس رو بشماره برام  و روی lcd تغداد دور یا پالس رو نشون بده (برای این کار یک پراکسی نصب کرده ام که با هر دور یک تیغه قطع و وصل به من میده) و وقتی به عدد setpoint (مثلا 10 هزار دور) رسید عدد روی lcd صفر بشه و یک led به مدت یک ثانیه روش بشه و خاموش بشه و دوباره شمارش از صفر شروع بشه و دائم کار کنه

عزیزان لطف کردن این برنامه رو نوشتن ولی این برنامه input نداره و من نمی تونم دور گیربکس رو که یه پالس 5 ولتی هست رو بدم به میکرو


کد:
$regfile "m32def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.7 , E = Portb.6 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Timer1 = Counter , Edge = Falling

Config Portd.2 = Output
Counter1 = 0
Dim A As Word
Portd.2 = 0
Cls
Do
A = Counter1
Locate 1 , 1
Lcd A
If A = 10 Then

Counter1 = 0
Portd.2 = 1
wait 1
Portd.2 = 0
Cls

End If
Loop
End
۲۳-فروردین-۱۳۹۷, ۰۲:۲۷:۴۱
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1729
( 501 تشکر در 199 ارسال )
ارسال: #2
RE: کمک از دوستان برای یک برنامه ساده
سلام
واسه شمارش ده هزار در این خط بجای 10 مقدار ده هزار بنویسید If A = 10 Then
شمارش پالس این برنامه از طریق پایه (مثلا t1یا همون پایه شماره دو mega32 ) وقفه خارجی انجام میشه پالس ورودی  هم توی برنامه حساس به پالس با لبه پایین رونده (falling)تعریف شده
زمان تاخیر رو هم با تایمر بسازید که شمارش مختل نشه
موفق باشید


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

۲۳-فروردین-۱۳۹۷, ۲۱:۱۳:۳۸
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, questnet, lord_viper, Ambassador
questnet آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 6
تاریخ عضویت: اسفند ۱۳۹۶

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: کمک از دوستان برای یک برنامه ساده
(۲۳-فروردین-۱۳۹۷, ۰۲:۲۷:۴۱)questnet نوشته است: با سلام
من تازه با avr آشنا شدم و می خواستم ازتون یک کمک بگیرم در رابطه با یک برنامه خیلی ساده (البته برای شما)

امکان داره یک برنامه با بسکام و atmega32  برای من بنویسید که بتونه
یک مقدار پالس بگیره (مثلا 10 هزار تا) بعد یک ثانیه یک پایه رو برای من یک کنه و دوباره صفر کنه
من می خواهم این برنامه دور یک گیربکس رو بشماره برام  و روی lcd تغداد دور یا پالس رو نشون بده (برای این کار یک پراکسی نصب کرده ام که با هر دور یک تیغه قطع و وصل به من میده) و وقتی به عدد setpoint (مثلا 10 هزار دور) رسید عدد روی lcd صفر بشه و یک led به مدت یک ثانیه روش بشه و خاموش بشه و دوباره شمارش از صفر شروع بشه و دائم کار کنه

عزیزان لطف کردن این برنامه رو نوشتن ولی این برنامه input نداره و من نمی تونم دور گیربکس رو که یه پالس 5 ولتی هست رو بدم به میکرو


کد:
$regfile "m32def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.7 , E = Portb.6 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Timer1 = Counter , Edge = Falling

Config Portd.2 = Output
Counter1 = 0
Dim A As Word
Portd.2 = 0
Cls
Do
A = Counter1
Locate 1 , 1
Lcd A
If A = 10 Then

Counter1 = 0
Portd.2 = 1
wait 1
Portd.2 = 0
Cls

End If
Loop
End

ببخشید من متوجه نشدم که باید مثلا میکرو سوییچ رو چطوری وصل کنم چون من می خواهم تعداد دور یک موتور کریبکس رو بشمارم و با هر دور گیربکس مثلا یک میکرو سوئیچ تحریک میشه و قطع میشه می خوام اگز این میکرو سوئیچ مثلا 10 هزار بار قطع و وصل شد یک led به مدت مثلا یک ثانیه روشن بشه و این حرکت دائم تکرار بشه
۲۷-فروردین-۱۳۹۷, ۲۳:۵۷:۳۷
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1729
( 501 تشکر در 199 ارسال )
ارسال: #4
RE: کمک از دوستان برای یک برنامه ساده
سلام
این تصویر از مدار هست

[تصویر:  44.JPG] 

اون دکمه نقش میکرو سوئیچو داره
فایل شبیه سازی هم پیوست کردم

موفق باشید


فایل‌(های) پیوست شده
.rar   New Folder.rar (اندازه: 14.14 KB / تعداد دفعات دریافت: 55)


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

۲۸-فروردین-۱۳۹۷, ۲۰:۲۱:۵۰
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, lord_viper, Ambassador
questnet آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 6
تاریخ عضویت: اسفند ۱۳۹۶

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: کمک از دوستان برای یک برنامه ساده
(۲۷-فروردین-۱۳۹۷, ۲۳:۵۷:۳۷)questnet نوشته است:
(۲۳-فروردین-۱۳۹۷, ۰۲:۲۷:۴۱)questnet نوشته است: با سلام
من تازه با avr آشنا شدم و می خواستم ازتون یک کمک بگیرم در رابطه با یک برنامه خیلی ساده (البته برای شما)

امکان داره یک برنامه با بسکام و atmega32  برای من بنویسید که بتونه
یک مقدار پالس بگیره (مثلا 10 هزار تا) بعد یک ثانیه یک پایه رو برای من یک کنه و دوباره صفر کنه
من می خواهم این برنامه دور یک گیربکس رو بشماره برام  و روی lcd تغداد دور یا پالس رو نشون بده (برای این کار یک پراکسی نصب کرده ام که با هر دور یک تیغه قطع و وصل به من میده) و وقتی به عدد setpoint (مثلا 10 هزار دور) رسید عدد روی lcd صفر بشه و یک led به مدت یک ثانیه روش بشه و خاموش بشه و دوباره شمارش از صفر شروع بشه و دائم کار کنه

عزیزان لطف کردن این برنامه رو نوشتن ولی این برنامه input نداره و من نمی تونم دور گیربکس رو که یه پالس 5 ولتی هست رو بدم به میکرو


کد:
$regfile "m32def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portb.7 , E = Portb.6 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Timer1 = Counter , Edge = Falling

Config Portd.2 = Output
Counter1 = 0
Dim A As Word
Portd.2 = 0
Cls
Do
A = Counter1
Locate 1 , 1
Lcd A
If A = 10 Then

Counter1 = 0
Portd.2 = 1
wait 1
Portd.2 = 0
Cls

End If
Loop
End

ببخشید من متوجه نشدم که باید مثلا میکرو سوییچ رو چطوری وصل کنم چون من می خواهم تعداد دور یک موتور کریبکس رو بشمارم و با هر دور گیربکس مثلا یک میکرو سوئیچ تحریک میشه و قطع میشه می خوام اگز این میکرو سوئیچ مثلا 10 هزار بار قطع و وصل شد یک led به مدت مثلا یک ثانیه روشن بشه و این حرکت دائم تکرار بشه
ممنون از دوستان
برنامه رو نوشتم ولی بازم یک مشکل کوجک دارم و اون اینه که با هر بار تحریم میکروسوئیچ کانتر چندین عدد میندازه مثلا از روی 5 میپره رو 25 
آیا راه حلی داره؟
۰۹-اردیبهشت-۱۳۹۷, ۰۲:۴۷:۱۵
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1729
( 501 تشکر در 199 ارسال )
ارسال: #6
RE: کمک از دوستان برای یک برنامه ساده
سلام خسته نباشید
این مشکل ناشی از سرعت زیاد میکرو در شمارش و عمل کردن چندباره میکرو سوئیچ در طی یک بار فشرده شدنه 
بنظرم بجای استفاده از میکرو سوئیچ از یه سنسور مثل مادون قرمز استفاده کنید
عکس یه مدار رو  برای نمونه پیوست کردم واسه تغییر وضعیت این مدار و ارسال پالس واسه شمارش به ازای هر دور موتور باید یکبار ارتباط نوری بین فتودیود ها قطع بشه
(بجای lm324 میشه از lm324 استفاده کرد)
اگ دوباره سوالی داشتین زیر همین تاپیک پست بزارید نیازی به ایجاد پست جدید نیست
موفق باشید


فایل‌(های) پیوست شده بندانگشتی (ها)
   


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

(آخرین ویرایش در این ارسال: ۰۹-اردیبهشت-۱۳۹۷, ۱۶:۰۰:۰۲، توسط 1نفر.)
۰۹-اردیبهشت-۱۳۹۷, ۱۵:۴۴:۳۶
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
questnet آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 6
تاریخ عضویت: اسفند ۱۳۹۶

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: کمک از دوستان برای یک برنامه ساده
(۰۹-اردیبهشت-۱۳۹۷, ۱۵:۴۴:۳۶)1نفر نوشته است: سلام خسته نباشید
این مشکل ناشی از سرعت زیاد میکرو در شمارش و عمل کردن چندباره میکرو سوئیچ در طی یک بار فشرده شدنه 
بنظرم بجای استفاده از میکرو سوئیچ از یه سنسور مثل مادون قرمز استفاده کنید
عکس یه مدار رو  برای نمونه پیوست کردم واسه تغییر وضعیت این مدار و ارسال پالس واسه شمارش به ازای هر دور موتور باید یکبار ارتباط نوری بین فتودیود ها قطع بشه
(بجای lm324 میشه از lm324 استفاده کرد)
اگ دوباره سوالی داشتین زیر همین تاپیک پست بزارید نیازی به ایجاد پست جدید نیست
موفق باشید
ممنون  
ولی میشه بجای این فتودیود از یک ترانزیستور استفاده کنم که برام مثل یک سوئیچ عمل کنه
البته ببخشید من اطلاعات الکترونیکی ام خیلی خیلی کمه اگه اگه میشه مدارش روهم بگذارید
یا راه دیگری نداره ؟
۱۲-اردیبهشت-۱۳۹۷, ۰۹:۲۳:۳۷
ارسال‌ها
پاسخ
1نفر آفلاین
مدیر بخش الکترونیک
*****

ارسال‌ها: 221
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۴

تشکرها : 1729
( 501 تشکر در 199 ارسال )
ارسال: #8
RE: کمک از دوستان برای یک برنامه ساده
سلام
ترانزیستور رو چجوری بکار ببرین؟منظورتون اینه که ترانزیستور توی حالت سوئیچ بکار ببرین سیگنال بیسش دوباره از همون میکرو سوئیچه؟
منظورتون کدوم مدار هست؟اگه مدار پست قبل رو میگید زیر پست تصویرش پیوست شده
این پیشنهادو دادم که دیگه از میکرو سوئیچ ( اتصال مکانیکی) استفاده نشه


ORG 00H
:LOOP
MOV Life,#♥H
JMP LOOP
END

۱۲-اردیبهشت-۱۳۹۷, ۲۰:۴۳:۱۳
ارسال‌ها
پاسخ
تشکر شده توسط : babyy, hadikh73, lord_viper


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] یک کمک ساده و فوری questnet 5 4,014 ۱۶-مرداد-۱۳۹۷, ۱۸:۳۶:۴۳
آخرین ارسال: questnet
  [فوری] کمک از دوستان برای یک سوال کوچک questnet 0 1,403 ۲۸-فروردین-۱۳۹۷, ۰۰:۱۰:۰۴
آخرین ارسال: questnet
  [پروژه] یک برنامه بسیار ساده می خواستم امکان داره کمک کنید questnet 1 1,637 ۲۲-اسفند-۱۳۹۶, ۰۰:۰۴:۱۵
آخرین ارسال: 1نفر
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 3,420 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  درخواست راهنمایی از دوستان p.n 5 3,540 ۰۶-آذر-۱۳۹۵, ۲۳:۲۹:۱۹
آخرین ارسال: Ambassador
  [سوال] تنظیم فیوزبیت در RTC ساده hese 0 1,921 ۱۹-دى-۱۳۹۴, ۱۵:۳۲:۱۳
آخرین ارسال: hese
  پیدا کردن باگ برنامه ساده کنترل دو طرفه موتور dc با pwm cortex-m3 1 2,801 ۰۱-مرداد-۱۳۹۴, ۲۳:۱۱:۰۰
آخرین ارسال: omid_phoenix
  کمک برای شرط گذاشتن برای یک فرکانس خاص sinohe 5 4,170 ۱۱-آذر-۱۳۹۳, ۰۰:۱۵:۱۸
آخرین ارسال: sinohe
  کمک برای وصل کلید و پرش به برنامه های مختلف sinohe 8 5,475 ۱۶-آبان-۱۳۹۳, ۱۶:۲۰:۱۱
آخرین ارسال: sadegh1rezaei
Rolleyes دوستان راهنمایی کنید ..لطفا ماکان 42 18,776 ۲۷-مهر-۱۳۹۳, ۱۸:۲۷:۳۰
آخرین ارسال: a.mehran

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS