امتیاز موضوع:
  • 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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1307
( 230 تشکر در 105 ارسال )
ارسال: #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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1307
( 230 تشکر در 105 ارسال )
ارسال: #4
RE: کمک از دوستان برای یک برنامه ساده
سلام
این تصویر از مدار هست

[تصویر:  44.JPG] 

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

موفق باشید


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

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نفر آفلاین
مدیر بخش الکترونیک
*****

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

تشکرها : 1307
( 230 تشکر در 105 ارسال )
ارسال: #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نفر آفلاین
مدیر بخش الکترونیک
*****

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

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

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

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


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] یک کمک ساده و فوری questnet 5 1,095 ۱۶-مرداد-۱۳۹۷, ۱۸:۳۶:۴۳
آخرین ارسال: questnet
  [فوری] کمک از دوستان برای یک سوال کوچک questnet 0 419 ۲۸-فروردین-۱۳۹۷, ۰۰:۱۰:۰۴
آخرین ارسال: questnet
  درخواست کمک برای ساعت با فونت بزرگ sobhan6831 4 569 ۲۴-فروردین-۱۳۹۷, ۲۰:۱۹:۱۲
آخرین ارسال: sobhan6831
  [پروژه] یک برنامه بسیار ساده می خواستم امکان داره کمک کنید questnet 1 338 ۲۲-اسفند-۱۳۹۶, ۰۰:۰۴:۱۵
آخرین ارسال: 1نفر
  راهنمایی برای حل مشکل برنامه در بسکام fedagh 2 1,946 ۱۲-دى-۱۳۹۵, ۱۸:۳۰:۵۹
آخرین ارسال: fedagh
  درخواست راهنمایی از دوستان p.n 5 1,968 ۰۶-آذر-۱۳۹۵, ۲۳:۲۹:۱۹
آخرین ارسال: Ambassador
  کمک در برنامه nrf24 با کدویژن sniper-70 0 1,624 ۱۹-آبان-۱۳۹۵, ۰۰:۱۶:۱۵
آخرین ارسال: sniper-70
  کمک در برنامه nrf24 با اردوینو sniper-70 0 1,508 ۱۴-آبان-۱۳۹۵, ۲۱:۱۲:۰۷
آخرین ارسال: sniper-70
  کمک در برنامه فرستنده avr به زبان سی sniper-70 3 2,119 ۱۹-شهریور-۱۳۹۵, ۱۲:۳۳:۲۰
آخرین ارسال: amo.ho3ein
  [سوال] بهترین مدار برای آشکارسازی عبور از صفر hamze_b 9 4,374 ۰۸-مرداد-۱۳۹۵, ۲۲:۴۳:۴۹
آخرین ارسال: alimogmov

پرش به انجمن:


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

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