PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اتصال مسیتقیم cny70 یه avr



مجتبی تاجیک
01-02-2011, 07:44
سلام ،

من دارم یه ربات تعقیب خط درست میکنم ، تو همه نقشه ها و ... که تو اینترنت پیدا کردم این سنسور رو با درایور وصل کرده بودن به ic ؛ ولی چند جا خوندم مستقیما میشه این کار رو انجام داد ، آیا صحت داره ؟ اگر آره لطفا یه شماتیک از نحوه اتصال قرار بدید .

ممنون .

M3R
01-02-2011, 11:01
سلام :hi:
میتونی از Adc برای این کار استفاده کنی.
به اینصورت :
پایه منفی گیرنده رو با یه مقاومت زیاد مثلا 390 کیلو (دلیلشو بعدا میگم) به زمین وصل کن بعدش از پایه منفی گیرنده وصل کن به ورودی adc بعد هم خوندن ولتاژ و تشخیص سفید یا سیاه. (اگه تو این قسمت مشکل داری بگو تا راهنماییت کنم)
دلیل اون مقاومت بالا هم اینه که تغییرات ولتاژ زیاد باشه تا بتونی راحت سیاه و سفید رو تشخیص بدی.
یه راه دیگه هم داری اینکه به جای مقاومت ثابت یه مقاومت متغییر بزاری و اینجوری راحت تر میتونی تغییر ولتاژ بدی!!
در ضمن الان برنامه برای کشیدن شماتیک ندارم اگه متوجه نشدی بگو تا شماتیک هم بزارم.
موفق باشی :0013:

مجتبی تاجیک
02-02-2011, 08:28
اینطوری ؟

You can see links before reply

پایه + گیرنده مستقیم وصل بشه به + تغذیه ؟

من تا به حال با ADC کار نکردم ، با خوندن راهنمای خود Bascom کد زیر رو نوشتم ، مشکلی نداره ؟


$regfile "m8def.dat"
$crystal = 4000000

Config Adc = Single , Prescaler = Auto
Start Adc


Dim W As Word

Do
W = Getadc(0)
Cls
Lcd " value " ; W
waitms 500
Loop
End

متشکر .

M3R
02-02-2011, 19:33
سلام.
آره همینجوری که بستی درسته فقط گیرنده رو باید معکوس ببندی.
گیرنده باید تو بایاس معکوس بسته شه یعنی پایه مثبت رو با 390 کیلو به زمین و پایه منفی رو مستقیم وصل کن به vcc.
برنامه ای هم که نوشتی درسته.
حالا همین برنامه رو بنویس با cny 70 مقدار سفید و سیاه رو بگیر تا بعد ....
موفق باشی :0013:

مجتبی تاجیک
02-02-2011, 22:53
سلام.
آره همینجوری که بستی درسته فقط گیرنده رو باید معکوس ببندی.
گیرنده باید تو بایاس معکوس بسته شه یعنی پایه مثبت رو با 390 کیلو به زمین و پایه منفی رو مستقیم وصل کن به vcc.
برنامه ای هم که نوشتی درسته.
حالا همین برنامه رو بنویس با cny 70 مقدار سفید و سیاه رو بگیر تا بعد ....
موفق باشی :0013:
من دقیق متوجه نشدم ، یعنی همون شماتیکی که بالا قرار دادم فقط سنسور رو برعکس کنم ؟

راستی وقتی پایه های سنسور فرستنده رو به - و + مدار وصل میکنم سنسور فرستنده روشن میشه ( با دوربین دیدم ) ولی جریان از مدار میره و خود مدار دیگه توش ولتاژی نیست ولی سنسور فرستنده روشنه ، چرا ؟!

M3R
03-02-2011, 01:40
سلام.
ببین کلا میتونی مدار رو به دو روش ببندی.مثل شکل زیر:
You can see links before reply
که به نظر من مدار شماره 1 بهتره چون میتونی خروجی رو هر جور که دلت خواست تنظیم کنی.
مدار شماره دو هم مقدار مقاومت هر چی بیشتر باشه بهتره.

مجتبی تاجیک
03-02-2011, 21:05
سلام.
ببین کلا میتونی مدار رو به دو روش ببندی.مثل شکل زیر:
You can see links before reply
که به نظر من مدار شماره 1 بهتره چون میتونی خروجی رو هر جور که دلت خواست تنظیم کنی.

آدرس عکسی که ضمیمه کردید اینه : You can see links before reply ولی هیچی نمایش داده نمیشه ؛ اگر ممکنه عکس رو دوباره آپلود کنید .

M3R
03-02-2011, 22:10
سلام.
مثل اینکه فایلی که پیوست کردم حذف شده.
شرمنده الان جایی نیستم که بتونم برات شماتیک بکشم ولی توضیحات مدار رو میدم خیلی ساده هست اگه نفهمیدی بگو تا شماتیک رو بزارم.
ببین دو روش داری یا از مقاومت ثابت برای گیرنده استفاده کنی یا متغیر.
اگه بخوای از مقاومت ثابت استفاده کنی مدار رو به اینصورت که میگم ببند :
پایه منفی گیرنده رو به مثبت تغذیه وصل کن و پایه مثب گیرنده رو با یه مقاومت به منفی تغذیه وصل کن.حالا خروجیت رو از پایه مثبت گیرنده بگیر و به adc میکرو بده.
حالا اگه بخوای از مقاومت متغیر استفاده کنی :
مدار رو مثل بالا که گفتم ببند فقط به جای مقاومت ثابت از پتانسیومتر استفاده کن به این صورت که یه سر پتانسیومتر رو به مثبت گیرنده و اون سر دیگش رو به زمین حالا پایه وسط خروجی میشه که وصل میشه Adc میکرو.
مدار رو ببند و برنامه ای که بالا نوشتی رو میکرو پروگرام کن بعد مقدار سنسور رو روی lcd بخون.
اگه مشکلی داشتی بگو.
ویرایش:
عکس رو دوباره آپلود کردم (پست شماره 6)

مجتبی تاجیک
04-02-2011, 01:26
سلام.
مثل اینکه فایلی که پیوست کردم حذف شده.
شرمنده الان جایی نیستم که بتونم برات شماتیک بکشم ولی توضیحات مدار رو میدم خیلی ساده هست اگه نفهمیدی بگو تا شماتیک رو بزارم.
ببین دو روش داری یا از مقاومت ثابت برای گیرنده استفاده کنی یا متغیر.
اگه بخوای از مقاومت ثابت استفاده کنی مدار رو به اینصورت که میگم ببند :
پایه منفی گیرنده رو به مثبت تغذیه وصل کن و پایه مثب گیرنده رو با یه مقاومت به منفی تغذیه وصل کن.حالا خروجیت رو از پایه مثبت گیرنده بگیر و به adc میکرو بده.
حالا اگه بخوای از مقاومت متغیر استفاده کنی :
مدار رو مثل بالا که گفتم ببند فقط به جای مقاومت ثابت از پتانسیومتر استفاده کن به این صورت که یه سر پتانسیومتر رو به مثبت گیرنده و اون سر دیگش رو به زمین حالا پایه وسط خروجی میشه که وصل میشه Adc میکرو.
مدار رو ببند و برنامه ای که بالا نوشتی رو میکرو پروگرام کن بعد مقدار سنسور رو روی lcd بخون.
اگه مشکلی داشتی بگو.
ویرایش:
عکس رو دوباره آپلود کردم (پست شماره 6)
اخوی من مدار رو با اون توضیحاتت بستم ( با مقاومت 100 کیلو ) و مطمئنم درسته ( وقتی با مولتی متر ولتاژ خروجی سنسور رو در حالت بایاس معکوس که گفتی میگیرم تقریبا 4 ولت هست ، یعنی تو سفید + 4 و تو مشکی حدود 0 نشون میده ) ولی میکرو تشخیص نمیده و رو LCD همش مقدار 1023 رو نشون میده ؛ برنامه هیچ اشکالی نداره ؟

من خروجی سنسور رو به پایه PC0 یعنی ( ADC0 ) میکرو Atmega8 وصل کردم .

مجتبی تاجیک
04-02-2011, 02:09
ردیفش کردم ، مشکل از برنامه بود ، باید موقع کانفیگ ADC پارامتر Reference رو به صورت زیر مقدار میدادم :


Config Adc = Single , Prescaler = Auto , Reference = Internal

مجتبی تاجیک
04-02-2011, 08:54
من خواستم 2 تا سنسور رو به میکرو متصل کنم ، برنامه رو به صورت زیر تغییر دادم :


$regfile "m8def.dat"
$crystal = 4000000

Config Adc = Single , Prescaler = Auto
Start Adc


Dim A As Word, B as Word

Do
A = Getadc(0)
B = Getadc(1)
Cls
Lcd " value " ; A
lowerline
Lcd " value " ; B
waitms 100
Loop
End

و یک سنسور دیگه رو بایاس معکوس وصل کردم به ADC1 میکرو ، ولی میکرو فقط مقدار همون سنسور اول رو نشون میده ؛ مشکل کجی کد هست ؟

جالب اینکه مقدار سنسور اول رو تو خط پائینی LCD نمایش میده ، یعنی GetADC(10) ؛ مگه پارامتری که به GetADC میدیم شماره پرت نیست ؟ من که سنسور اولم رو به پایه ADC0 متصل کردم !

M3R
04-02-2011, 11:24
ردیفش کردم ، مشکل از برنامه بود ، باید موقع کانفیگ ADC پارامتر Reference رو به صورت زیر مقدار میدادم :


Config Adc = Single , Prescaler = Auto , Reference = Internal

سلام.
مدار جواب داد؟
refrence رو که شما internal گذاشتی به این معنی هست که شما میخوای از ولتاژ مرجع داخلی استفاده کنی که 2.56 ولت هست یعنی حداکثر ولتاژ قابل اندازه گیری (بدون تقسیم مقاومتی) برابر 2.56 ولته.
حالا اگه refrence را avcc بزارید یعنی ولتاژ مرجع از پایه avcc گرفته میشه که برابر 5 ولته و حداکثر ولتاژ قابل اندازه گیری 5 ولت میشه.

مجتبی تاجیک
04-02-2011, 12:32
سلام.
مدار جواب داد؟
refrence رو که شما internal گذاشتی به این معنی هست که شما میخوای از ولتاژ مرجع داخلی استفاده کنی که 2.56 ولت هست یعنی حداکثر ولتاژ قابل اندازه گیری (بدون تقسیم مقاومتی) برابر 2.56 ولته.
حالا اگه refrence را avcc بزارید یعنی ولتاژ مرجع از پایه avcc گرفته میشه که برابر 5 ولته و حداکثر ولتاژ قابل اندازه گیری 5 ولت میشه.

آره جواب داد ، فقط الان اون مشکلی که گفتم رو داره ، میخوام 3 تا سنسور وصل کنم ولی اون مشکلی که تو پست قبل گفتم پیش میاد .

M3R
04-02-2011, 19:40
من خواستم 2 تا سنسور رو به میکرو متصل کنم ، برنامه رو به صورت زیر تغییر دادم :


$regfile "m8def.dat"
$crystal = 4000000

Config Adc = Single , Prescaler = Auto
Start Adc


Dim A As Word, B as Word

Do
A = Getadc(0)
B = Getadc(1)
Cls
Lcd " value " ; A
lowerline
Lcd " value " ; B
waitms 100
Loop
End

و یک سنسور دیگه رو بایاس معکوس وصل کردم به ADC1 میکرو ، ولی میکرو فقط مقدار همون سنسور اول رو نشون میده ؛ مشکل کجی کد هست ؟

جالب اینکه مقدار سنسور اول رو تو خط پائینی LCD نمایش میده ، یعنی GetADC(10) ؛ مگه پارامتری که به GetADC میدیم شماره پرت نیست ؟ من که سنسور اولم رو به پایه ADC0 متصل کردم !

سلام.
برنامه رو اینجوری بنویس :


$regfile "m8def.dat"
$crystal = 4000000

Config Adc = Single , Prescaler = Auto
Start Adc


Dim A As Word, B as Word

Do
A = Getadc(0)
B = Getadc(1)
Cls
Home
Lcd " value " ; A
lowerline
Lcd " value " ; B
waitms 100
Loop
End

مشکل برنامه اینه که هر بار برنامه میرسه به دستور lower line , یه خط تو lcd میاد پایین تر و مقدار رو اونجا می نویسه.
حالا ببین برنامه رو بار اول که اجرا می کنی مقدار A رو سطر اول و مقدار B رو سطر پایینی مینویسه ولی برنامه که دوباره تکرار شد و دوباره میخواد مقدار مقدار A رو نشون بده اینبار سطر اول نشون نمیده چون آخرین بار مکان نما سطر دوم بود.ولی اگه دستور home روبنویسی همیشه مکان نما میاد سطر اول ستون اول مقدار A رو مینویسه و خط پایین مقدار B همین.
موفق باشی :0013:

مجتبی تاجیک
05-02-2011, 12:05
سلام.
برنامه رو اینجوری بنویس :


$regfile "m8def.dat"
$crystal = 4000000

config adc = single , prescaler = auto
start adc


dim a as word, b as word

do
a = getadc(0)
b = getadc(1)
cls
home
lcd " value " ; a
lowerline
lcd " value " ; b
waitms 100
loop
end

مشکل برنامه اینه که هر بار برنامه میرسه به دستور lower line , یه خط تو lcd میاد پایین تر و مقدار رو اونجا می نویسه.
حالا ببین برنامه رو بار اول که اجرا می کنی مقدار a رو سطر اول و مقدار b رو سطر پایینی مینویسه ولی برنامه که دوباره تکرار شد و دوباره میخواد مقدار مقدار a رو نشون بده اینبار سطر اول نشون نمیده چون آخرین بار مکان نما سطر دوم بود.ولی اگه دستور home روبنویسی همیشه مکان نما میاد سطر اول ستون اول مقدار a رو مینویسه و خط پایین مقدار b همین.
موفق باشی :0013:

باز هم مشکل داره ، الان 2 تا سنسور رو به صورت بایاس معکوس یکی رو به adc0 و یکی رو به adc1 متصل کردم ، ولی وقتی رنگ مشکی یا سفید رو روی سنسور 1 میارم دیگه عکس العملی نشون نمیده ولی سنسور 2 تو خط 2 درست کار میکنه .

M3R
05-02-2011, 18:32
سلام.
سنسور یک مقدار ثابت نشون میده؟؟
چند نشون میده؟
در ضمن refrence رو Avcc بزار.

مجتبی تاجیک
05-02-2011, 18:59
سلام.
سنسور یک مقدار ثابت نشون میده؟؟
چند نشون میده؟
در ضمن refrence رو avcc بزار.

سلام ،
درست شد ، برای صاف شدن جریان بین راه پین adc و سنسور خازن قرار داده بودم ، برش داشتم درست شد !

ممنون .

مجتبی تاجیک
07-02-2011, 22:36
من 3 تا سنسور به ربات وصل کردم ، 2 تا سوال :

1- در مورد نحوه چیدمان این 3 سنسور بهترین آرایش چیه ؟

* پیست رو روی یک مقوا سفید بزرگ به وسله چسب برق مشکی درست کردم .

2- برای پیچ های 90 درجه حداقل به چند سنسور و چه آرایشی نیاز هست ؟

M3R
08-02-2011, 10:44
سلام.


1- در مورد نحوه چیدمان این 3 سنسور بهترین آرایش چیه ؟
بهترین آرایش همون مثلثی هست یا هشتی یا هفت وارونه به این شکل ^

2- برای پیچ های 90 درجه حداقل به چند سنسور و چه آرایشی نیاز هست ؟
ببین با همین سه سنسور و همین آرایشی که بالا گفتم هم میتونی بپیچی ولی باید سرعت رباتت پایین باشه
اگه از سه سنسور استفاده کنی رباتت خیلی زیگزاگ میره چرا از 8 تا سنسور استفاده نمیکنی؟؟

مجتبی تاجیک
08-02-2011, 11:10
سلام.


بهترین آرایش همون مثلثی هست یا هشتی یا هفت وارونه به این شکل ^

ببین با همین سه سنسور و همین آرایشی که بالا گفتم هم میتونی بپیچی ولی باید سرعت رباتت پایین باشه
اگه از سه سنسور استفاده کنی رباتت خیلی زیگزاگ میره چرا از 8 تا سنسور استفاده نمیکنی؟؟

اونوقت آرایش 8 سنسور چه طوری میشه ؟

M3R
08-02-2011, 13:08
سلام.

اونوقت آرایش 8 سنسور چه طوری میشه ؟
همینجوری که گفتم به صورت ^ به نظر من بهترین آرایش برای سنسورهای کم هست.

مجتبی تاجیک
08-02-2011, 20:52
سلام.

همینجوری که گفتم به صورت ^ به نظر من بهترین آرایش برای سنسورهای کم هست.

اندازه روبات من 5 * 10 سانت هست ؛فاصله بین سنسور ها چه قدر باشه ؟
عکسی ، چیزی از چیدمان و فاصله سنسورها ندارید ؟

M3R
09-02-2011, 11:31
اندازه روبات من 5 * 10 سانت هست ؛فاصله بین سنسور ها چه قدر باشه ؟
عکسی ، چیزی از چیدمان و فاصله سنسورها ندارید ؟
سلام.
ببین فاصله سنسورها ونحوه چیدمان کاملا بستگی به نقشه و مسیرهای زمین داره.
مثلا اگه شما تو زمین زاویه کمتر از 70 درجه داشته باشید دیگه نمیشه از همین آرایش معمولی برای ربات استفاده کرد.
اگه میخوای 8 تا سنسور بزاری طول برد سنسورات رو تقریبا 11 یا 12 سانت و عرضش رو حدود 6 یا 7 بزار بعد 8 تا سنسور رو توی این برد قرار بده.یه جوری که سنسورهای آخر کنار برد باشن.
من یه بار درست کردم دو تا سنسور رو وسط گذاشتم و 3 تا سنسور راست و 3 تا سنسور هم چپ.
خیلی هم نمیخواد به مثلث سنسورهات زاویه بدی مثل ^ یکم باز تر باشه.

raminhm
11-01-2015, 15:45
اگه امكانش هست تصوير اتصال cny70 به ميكرو را راي من ارسال كنيد ممنون
hosseinmazaree@gmail.com

Ma3ood
12-01-2015, 17:41
دوست عزیز شما خواهان و طالب علم هستی
میایی سر میزنی و جواب میگیری و گرنه هرچی صبر کنی کسی برای شما چیزی نمیفرسته
نمیدونم چه تعریفی از فروم برای شما شده