عرض مشاركة واحدة
قديم 25-10-2009, 07:59 AM  
  مشاركة [ 16 ]
sskk77 sskk77 غير متواجد حالياً
درجة الضيافة
 
تاريخ التسجيل: 01 - 12 - 2005
المشاركات: 63
شكر غيره: 0
تم شكره 0 مرة في 0 مشاركة
معدل تقييم المستوى: 232
sskk77 له تواجد مميز في خط الطيران
sskk77 sskk77 غير متواجد حالياً
درجة الضيافة



مشاهدة ملفه الشخصي
تاريخ التسجيل: 01 - 12 - 2005
المشاركات: 63
شكر غيره: 0
تم شكره 0 مرة في 0 مشاركة
معدل تقييم المستوى: 232
sskk77 له تواجد مميز في خط الطيران
افتراضي رد: مشروع تصميم جهاز تحكم عن بعد للانظمة غير المأهولة

الاشارة لها اقل قيمة تساوى 1 ملى ثانية (ليس مايكرو) واعلى قيمة تكون 2 ملى ثانية حتى تستطيع التحكم بالسيرفوا و الاسبيد كترولر

بالنسبة للسيرفو 1.5 هى نقطة المنتصف 2 ملى ثانية اعلى قيمة للزاوية و 1ملى ثانية هى اعلى قيمة للزاوية فى الاتجاة المعاكس

بالنسبة للسبيد كنترولر 1 ملى ثانية يكون الموتور لايعمل وتزيد سرعة الموتور بزيادة عرض النبضة حتى تصل الى 2 ملى ثانية تكون اقصى سرعة
ملحوظة مهمة عند استخدام اسبيد كنترولر لازم تبداء الاشارة عند التشغيل من 1m sec عدى ذلك لن يشتغل
هذه العملية للحماية معظم الاسبيد كنترولر تعمل بنفس المبداء

-----------------------------------
يتم حساب الجزء مرتفع الجهد من النبضة الجزء كما فى الرسم من A to B هو المهم
الجزء BC ليس حساس يمكن ان يكون اى قيمة حسب تجربتى
-----------------------------------
بالنسبة للاخطاء اذا كانت مسموحة ام لا (سوف تلاحظ ذلك فى حركة السيرفو )
اذا لم يكن الاداء ثابت وسريع معناها فى عدم استقرار فى الاشارة
------------------------------------
اذا كانت الاشارة لها عرض نبضة اكبر من 2 ملى ثانية سوف يتحرك السيرفوو الى اقل زاوية كما لو كانت الاشارة تساوى 1 ملى ثانية
------------------------------------
تردد الاشارة يفضل ان يكون 50 هيرتز يجب ان تعيد الاشارة نفسها كل 18 ملى ثانية
-----------------------------------

حسب ماطلبت هذا هو كود الاسمبلى

كود:
PM_USED			EQU	1

	INCLUDE	"16F84A.INC"


; Define statements.
#define		osc		 12

RAM_START       		EQU	0000Ch
RAM_END         		EQU	0004Fh
RAM_BANKS       		EQU	00001h
BANK0_START     		EQU	0000Ch
BANK0_END       		EQU	0004Fh
EEPROM_START    		EQU	02100h
EEPROM_END      		EQU	0213Fh

R0              		EQU	RAM_START + 000h
R1              		EQU	RAM_START + 002h
R2              		EQU	RAM_START + 004h
R3              		EQU	RAM_START + 006h
R4              		EQU	RAM_START + 008h
R5              		EQU	RAM_START + 00Ah
R6              		EQU	RAM_START + 00Ch
R7              		EQU	RAM_START + 00Eh
R8              		EQU	RAM_START + 010h
T1              		EQU	RAM_START + 012h
FLAGS           		EQU	RAM_START + 014h
GOP             		EQU	RAM_START + 015h
RM1             		EQU	RAM_START + 016h
RM2             		EQU	RAM_START + 017h
RR1             		EQU	RAM_START + 018h
RR2             		EQU	RAM_START + 019h
_d               		EQU	RAM_START + 01Ah
_angle           		EQU	RAM_START + 02Ah
_value           		EQU	RAM_START + 02Bh
_PORTL           		EQU	 PORTB
_PORTH           		EQU	 PORTA
_TRISL           		EQU	 TRISB
_TRISH           		EQU	 TRISA
#define _PORTC_1         	 PORTC, 001h
#define _PORTB_0         	 PORTB, 000h
#define _PORTB_1         	 PORTB, 001h
#define _PORTB_2         	 PORTB, 002h
#define _PORTB_3         	 PORTB, 003h
#define _PORTB_4         	 PORTB, 004h
#define _PORTB_5         	 PORTB, 005h
#define _PORTB_6         	 PORTB, 006h
#define _PORTB_7         	 PORTB, 007h

; Constants.
_T2400           		EQU	00000h
_T1200           		EQU	00001h
_T9600           		EQU	00002h
_T300            		EQU	00003h
_N2400           		EQU	00004h
_N1200           		EQU	00005h
_N9600           		EQU	00006h
_N300            		EQU	00007h
_OT2400          		EQU	00008h
_OT1200          		EQU	00009h
_OT9600          		EQU	0000Ah
_OT300           		EQU	0000Bh
_ON2400          		EQU	0000Ch
_ON1200          		EQU	0000Dh
_ON9600          		EQU	0000Eh
_ON300           		EQU	0000Fh
_MSBPRE          		EQU	00000h
_LSBPRE          		EQU	00001h
_MSBPOST         		EQU	00002h
_LSBPOST         		EQU	00003h
_LSBFIRST        		EQU	00000h
_MSBFIRST        		EQU	00001h
_CLS             		EQU	00000h
_HOME            		EQU	00001h
_BELL            		EQU	00007h
_BKSP            		EQU	00008h
_TAB             		EQU	00009h
_CR              		EQU	0000Dh
_UnitOn          		EQU	00012h
_UnitOff         		EQU	0001Ah
_UnitsOff        		EQU	0001Ch
_LightsOn        		EQU	00014h
_LightsOff       		EQU	00010h
_Dim             		EQU	0001Eh
_Bright          		EQU	00016h
	INCLUDE	"SERVO-~1.MAC"
	INCLUDE	"PBPPIC14.LIB"

	MOVE?CB	000h, TRISD

	LABEL?L	_main	
	SERIN2DPIN?T	_PORTC_1
	SERIN2MODE?C	054h

	LABEL?L	L00001	
	SERIN2WAIT?CL	0A6h, L00001
	SERIN2WAIT?CL	041h, L00001
	SERIN2COUNT?C	010h
	SERIN2STR?B	_d
	MOVE?BB	_d + 00009h, PORTD
	CMPLE?BCL	_d + 00001h, 07Fh, L00002
	SUB?BCB	_d + 00001h, 080h, _angle
	HIGH?T	_PORTB_0
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_0
	LABEL?L	L00002	
	CMPGE?BCL	_d + 00001h, 080h, L00004
	SUB?CBB	07Fh, _d + 00001h, _angle
	HIGH?T	_PORTB_0
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_0
	LABEL?L	L00004	
	CMPLE?BCL	_d + 00002h, 07Fh, L00006
	SUB?BCB	_d + 00002h, 080h, _angle
	HIGH?T	_PORTB_1
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_1
	LABEL?L	L00006	
	CMPGE?BCL	_d + 00002h, 080h, L00008
	SUB?CBB	07Fh, _d + 00002h, _angle
	HIGH?T	_PORTB_1
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_1
	LABEL?L	L00008	
	CMPLE?BCL	_d + 00003h, 07Fh, L00010
	SUB?BCB	_d + 00003h, 080h, _angle
	HIGH?T	_PORTB_2
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_2
	LABEL?L	L00010	
	CMPGE?BCL	_d + 00003h, 080h, L00012
	SUB?CBB	07Fh, _d + 00003h, _angle
	HIGH?T	_PORTB_2
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_2
	LABEL?L	L00012	
	CMPLE?BCL	_d + 00004h, 07Fh, L00014
	SUB?BCB	_d + 00004h, 080h, _angle
	HIGH?T	_PORTB_3
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_3
	LABEL?L	L00014	
	CMPGE?BCL	_d + 00004h, 080h, L00016
	SUB?CBB	07Fh, _d + 00004h, _angle
	HIGH?T	_PORTB_3
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_3
	LABEL?L	L00016	
	CMPLE?BCL	_d + 00005h, 07Fh, L00018
	SUB?BCB	_d + 00005h, 080h, _angle
	HIGH?T	_PORTB_4
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_4
	LABEL?L	L00018	
	CMPGE?BCL	_d + 00005h, 080h, L0****
	SUB?CBB	07Fh, _d + 00005h, _angle
	HIGH?T	_PORTB_4
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_4
	LABEL?L	L0****	
	CMPLE?BCL	_d + 00006h, 07Fh, L00022
	SUB?BCB	_d + 00006h, 080h, _angle
	HIGH?T	_PORTB_5
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_5
	LABEL?L	L00022	
	CMPGE?BCL	_d + 00006h, 080h, L00024
	SUB?CBB	07Fh, _d + 00006h, _angle
	HIGH?T	_PORTB_5
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_5
	LABEL?L	L00024	
	CMPLE?BCL	_d + 00007h, 07Fh, L00026
	SUB?BCB	_d + 00007h, 080h, _angle
	HIGH?T	_PORTB_6
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_6
	LABEL?L	L00026	
	CMPGE?BCL	_d + 00007h, 080h, L00028
	SUB?CBB	07Fh, _d + 00007h, _angle
	HIGH?T	_PORTB_6
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_6
	LABEL?L	L00028	
	CMPLE?BCL	_d + 00008h, 07Fh, L00030
	SUB?BCB	_d + 00008h, 080h, _angle
	HIGH?T	_PORTB_7
	MUL?BCW	_angle, 004h, T1
	ADD?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_7
	LABEL?L	L00030	
	CMPGE?BCL	_d + 00008h, 080h, L00032
	SUB?CBB	07Fh, _d + 00008h, _angle
	HIGH?T	_PORTB_7
	MUL?BCW	_angle, 004h, T1
	SUB?CWW	005DCh, T1, T1
	PAUSEUS?W	T1
	LOW?T	_PORTB_7
	LABEL?L	L00032	
	GOTO?L	_main

	END

بالتوفيق اخى

الف شكر لك اخي سأجرب وارد لك خبر
sskk77 غير متواجد حالياً