เอามาฝากสำหรับน้าที่ ชอบกับปริ้นเองแล้วน้า ที่หัดทำด้วยตัวเอง มีสองแบบ แวะผ่านไปเห็น
http://www.thaimicrotron.com/Trick/PCB/DIYPCB.htm
http://www.thaimicrotron.com/Trick/PCB/Dryfilm.htm
ไม่ได้กัดนานผมก็ลืมไปบ้าง แล้วนะครับน้า
น้าๆ ต้อนรับน้องใหม่หน่อย ครับ ของผมเอง ไม่ถึงเดือนปาไป 4000 โล
http://www.thaitritonclub.com/forum/...d=1#post336180
น้าnakcarinน้า jee4x4 ครับตอนนี้ผมลองศึกษากะ chip atmega8 แบบ32ขาอยู่ครับกะจะให้มันโชว์tempเครื่องกะวัดรอบน่ะครับ มีโครงงานอยู่อ่ะครับต่อกับ obd น่ะครับแต่รู้มาคร่าวๆว่าtritonใช้การติดต่อแบบ can bus น้าพอมีโปรแกรม burn avrบ้างไหมครับจะลองทำดูครับ
ตอนนี้ผมใช้ โปรแกรม protrus7 ในการsimดูก่อนน่ะครับว่ามันจะใช้ได้ไหมแต่ตอนนี้ยังมั่วอยู่ครับว่ามันใช้ไง เป็นโครงงานในหนังสือsemiconductor eletronics ฉบับ345 เดือนมิถุนายน เพื่อมีท่านใดเคยทำแล้วผลเป็นไงบอกด้วยครับ ส่วนซอร์สโค๊ดที่ได้มาเป็น.hexแล้วครับ
เพิ่งจะเข้า Net ได้ครับ มารายงานตอกบัตรทำงานให้ triton club ครับ อิอิ
วันนี้ไม่มีอะไรมาเล่นเลยเหรอท่านอาจารย์
น้าจีของ Wiring หน่อยครับ ส่งให้หน่อย nakcarin@hotmail.com หรือน้าที่ใดอ่านก่อนส่งมาได้เลยครับ ขอบคุณ
รบกวนจารย์ จี มาชี้แจงเรื่อง Pedal Speed Control Project
น้าจี ใช้ IC อะไรแปลงแรงดันขึ้นครับ
ถ้าไม่ใช้ MCU จะทำยังไงกันดีครับ
รอ ครับ
น้ายงครับ ผมหาของเล่นให้น้าได้แล้ว เอาไปลองดูครับ แรงได้ก็ประหยัดได้ครับ
ประหยัดได้จริงครับ เพราะหลักการที่เห็นในรูปเป็นวงจร voltage divider(วงจรแบ่งแรงดัน) คือมันจะลดแรงดันที่รับมาจาก sensor ก่อนส่งให้กับ ECU จากรูปถ้าเราปรับ VR ไว้ที่ 50K เมื่อมีแรงดันมาจาก sensor สมมุติ 2 V ECU จะได้รับค่าแรงดันเท่ากับ 2x33/(50+33)=0.795V (คิดแรงดันตกคร่อม R 33K) แต่ในทางปฏิบัติคงไม่สามารถปรับ VR ได้มากจนถึง 50K นะครับเพราะ ECU คงแสดง error code P0107 MAP signal low ซะก่อน แล้วถ้าประหยัดแล้วขับอืดมากๆจะขับได้มั้ยหละน้าวัฒน์ อิอิ
มันคงพอมีครับน้าแต่เล่น MCU ดีกว่าครับเขียนง่ายๆ บวกค่าก็ทำคันเร่งไฟฟ้า ลบค่าก็ทำดันราง เดี๋ยวให้น้านครินทร์ช่วยเป็นโค๊ชให้อีกทีหรือให้ผม open source เลยก็ได้ไม่หวงครับ ตอนนี้ผมทำดันแบบ 5 stepมันยังมีอาการกระตุกบางวันแต่ไม่ทุกครั้งสาเหตคงมาจากผมใช้ทรัพยากรในตัว MCU เต็มพิกัดเกินไปมันเลย hang บางครั้งแต่ถ้าใช้แบบ 1 step ไม่มีปัญหาอะไร
แก้ไขครั้งล่าสุดโดย vista : 09-08-2010 เมื่อ 21:21
มีใครใช้ arduino มั้ยครับเดี่ยวจะให้ source code ไปทำเล่นกันสำหรับดันราง MCU เดี่ยววันนี้เอาแบบดันไม่ต้องทำท้ายรางไปแล้วกันครับ ส่วน arduino ide ไป load จาก web www.arduino.cc ครับฟรีครับไม่ต้องเสียตังค์ส่วน PCB เดี๋ยวup ให้ครับสั่งจาก wara ได้เลย
int railsensor=0;
int boostsensor=1;
int railvalue=0;
int boostvalue=0;
//----------------------ตัวแปรของ MCP4922 (Digital to Analog)
int CS = 8;
int SCK = 9;
int SDI = 10;
int LDAC = 11;
int SHDN = 12;
//-------------------------------function D2A------------------------------
void Write_MCP4922(unsigned char DAC_Channel,unsigned int DAC_Data) // Write DAC Output
{
digitalWrite(CS, LOW); // Enable MCP4922
switch (DAC_Channel) // Select DAC Channel(0=A,1=B)
{
case 0x00: DAC_Data |= 0x3000; // Write DAC-A
break;
case 0x01: DAC_Data |= 0xB000; // Write DAC-B
break;
}
shiftOut(SDI, SCK, MSBFIRST,(DAC_Data >> 8)& 0xFF); //MSB Data(High Byte)
shiftOut(SDI, SCK, MSBFIRST,DAC_Data & 0xFF); //LSB Data(Low Byte)
digitalWrite(CS, HIGH); // Disable MCP4922
digitalWrite(LDAC, LOW); // Enable Pulse Latch
digitalWrite(LDAC, HIGH);
}
//-----------------------------------------Setup_Function---------------------------
void setup()
{
pinMode(CS, OUTPUT);
pinMode(SCK, OUTPUT);
pinMode(SDI, OUTPUT);
pinMode(LDAC, OUTPUT);
pinMode(SHDN, OUTPUT);
digitalWrite(CS, HIGH); //Standby CS Signal
digitalWrite(SCK, LOW);
digitalWrite(SDI, LOW);
digitalWrite(LDAC, HIGH); //Standby LDAC Signal
digitalWrite(SHDN, HIGH); //Standby SHDN Signal
}
//--------------------------------------------loop_function---------------------------
void loop()
{
//----------------------------------------------read railsensor-------------------------------
railvalue=analogRead(railsensor); //อ่านค่าจาก sensor วัดแรงดันน้ำมัน
if((railvalue>=347)&&(railvalue<1023)){
if((railvalue>=347)&&(railvalue<351)){railvalue=analogRead(railsensor)-2;}
else if((railvalue>=351)&&(railvalue<355)){railvalue=analogRead(railsensor)-4;}
else if((railvalue>=355)&&(railvalue<360)){railvalue=analogRead(railsensor)-6;}
else if((railvalue>=360)&&(railvalue<365)){railvalue=analogRead(railsensor)-8;}
else if((railvalue>=365)&&(railvalue<370)){railvalue=analogRead(railsensor)-10;}
else if((railvalue>=370)&&(railvalue<375)){railvalue=analogRead(railsensor)-13;}
else if((railvalue>=375)&&(railvalue<380)){railvalue=analogRead(railsensor)-16;}
else if((railvalue>=380)&&(railvalue<385)){railvalue=analogRead(railsensor)-19;}
else if((railvalue>=385)&&(railvalue<390)){railvalue=analogRead(railsensor)-21;}
else if((railvalue>=390)&&(railvalue<395)){railvalue=analogRead(railsensor)-24;}
else if((railvalue>=395)&&(railvalue<400)){railvalue=analogRead(railsensor)-27;}
else if((railvalue>=400)&&(railvalue<405)){railvalue=analogRead(railsensor)-30;}
else if((railvalue>=405)&&(railvalue<410)){railvalue=analogRead(railsensor)-34;}
else if((railvalue>=410)&&(railvalue<415)){railvalue=analogRead(railsensor)-38;}
else if((railvalue>=415)&&(railvalue<420)){railvalue=analogRead(railsensor)-42;}
else if((railvalue>=420)&&(railvalue<425)){railvalue=analogRead(railsensor)-46;}
else if((railvalue>=425)&&(railvalue<430)){railvalue=analogRead(railsensor)-50;}
else if((railvalue>=430)&&(railvalue<435)){railvalue=analogRead(railsensor)-55;}
else if((railvalue>=435)&&(railvalue<440)){railvalue=analogRead(railsensor)-60;}
else if((railvalue>=440)&&(railvalue<445)){railvalue=analogRead(railsensor)-65;}
else if((railvalue>=445)&&(railvalue<450)){railvalue=analogRead(railsensor)-70;}
else if((railvalue>=450)&&(railvalue<455)){railvalue=analogRead(railsensor)-75;}
else if((railvalue>=455)&&(railvalue<460)){railvalue=analogRead(railsensor)-80;}
else if((railvalue>=460)&&(railvalue<465)){railvalue=analogRead(railsensor)-85;}
else if((railvalue>=465)&&(railvalue<470)){railvalue=analogRead(railsensor)-90;}
else if((railvalue>=470)&&(railvalue<475)){railvalue=analogRead(railsensor)-95;}
else if((railvalue>=475)&&(railvalue<480)){railvalue=analogRead(railsensor)-100;}
else if((railvalue>=480)&&(railvalue<485)){railvalue=analogRead(railsensor)-105;}
else if((railvalue>=485)&&(railvalue<490)){railvalue=analogRead(railsensor)-110;}
else if((railvalue>=490)&&(railvalue<495)){railvalue=analogRead(railsensor)-115;}
else if((railvalue>=495)&&(railvalue<500)){railvalue=analogRead(railsensor)-120;}
else if((railvalue>=500)&&(railvalue<505)){railvalue=analogRead(railsensor)-125;}
else if((railvalue>=505)&&(railvalue<510)){railvalue=analogRead(railsensor)-130;}
else if((railvalue>=510)&&(railvalue<515)){railvalue=analogRead(railsensor)-135;}
else if((railvalue>=515)&&(railvalue<520)){railvalue=analogRead(railsensor)-140;}
else if((railvalue>=520)&&(railvalue<525)){railvalue=analogRead(railsensor)-145;}
else if((railvalue>=525)&&(railvalue<530)){railvalue=analogRead(railsensor)-150;}
else if((railvalue>=530)&&(railvalue<535)){railvalue=analogRead(railsensor)-155;}
else if((railvalue>=535)&&(railvalue<700)){railvalue=analogRead(railsensor)-160;}
else if((railvalue>=700)&&(railvalue<705)){railvalue=analogRead(railsensor)-158;}
else if((railvalue>=705)&&(railvalue<710)){railvalue=analogRead(railsensor)-156;}
else if((railvalue>=710)&&(railvalue<715)){railvalue=analogRead(railsensor)-154;}
else if((railvalue>=715)&&(railvalue<720)){railvalue=analogRead(railsensor)-152;}
else if((railvalue>=720)&&(railvalue<725)){railvalue=analogRead(railsensor)-150;}
else if((railvalue>=725)&&(railvalue<730)){railvalue=analogRead(railsensor)-148;}
else if((railvalue>=730)&&(railvalue<735)){railvalue=analogRead(railsensor)-146;}
else if((railvalue>=735)&&(railvalue<740)){railvalue=analogRead(railsensor)-144;}
else if((railvalue>=740)&&(railvalue<745)){railvalue=analogRead(railsensor)-142;}
else if((railvalue>=745)&&(railvalue<750)){railvalue=analogRead(railsensor)-140;}
else if((railvalue>=750)&&(railvalue<755)){railvalue=analogRead(railsensor)-138;}
else if((railvalue>=755)&&(railvalue<760)){railvalue=analogRead(railsensor)-136;}
else if((railvalue>=760)&&(railvalue<765)){railvalue=analogRead(railsensor)-134;}
else if((railvalue>=765)&&(railvalue<770)){railvalue=analogRead(railsensor)-132;}
else if((railvalue>=770)&&(railvalue<775)){railvalue=analogRead(railsensor)-130;}
else if((railvalue>=775)&&(railvalue<780)){railvalue=analogRead(railsensor)-128;}
else if((railvalue>=780)&&(railvalue<785)){railvalue=analogRead(railsensor)-126;}
else if((railvalue>=785)&&(railvalue<790)){railvalue=analogRead(railsensor)-124;}
else if((railvalue>=790)&&(railvalue<795)){railvalue=analogRead(railsensor)-122;}
else if((railvalue>=795)&&(railvalue<800)){railvalue=analogRead(railsensor)-120;}
else if((railvalue>=800)&&(railvalue<805)){railvalue=analogRead(railsensor)-118;}
else if((railvalue>=805)&&(railvalue<810)){railvalue=analogRead(railsensor)-116;}
else if((railvalue>=810)&&(railvalue<815)){railvalue=analogRead(railsensor)-114;}
else if((railvalue>=815)&&(railvalue<820)){railvalue=analogRead(railsensor)-112;}
else if((railvalue>=820)&&(railvalue<825)){railvalue=analogRead(railsensor)-110;}
else if((railvalue>=825)&&(railvalue<830)){railvalue=analogRead(railsensor)-108;}
else if((railvalue>=830)&&(railvalue<835)){railvalue=analogRead(railsensor)-106;}
else if((railvalue>=835)&&(railvalue<1023)){railvalue=analogRead(railsensor)-104;}
}
else { railvalue=analogRead(railsensor);}
railvalue=map(railvalue,0,1023,0,4095); //map parameter 'railvalue' from 1-1023 to 0-4095 (for DAC)
Write_MCP4922(0,railvalue); //write railvalue to DAC-A
//-----------------------------------------------read boostsensor-----------------------------------
boostvalue=analogRead(boostsensor); // อ่านค่าจาก sensor แรงดันอากาศ
if(boostvalue>720){boostvalue=720;}
else{boostvalue=analogRead(boostsensor);}
boostvalue=map(boostvalue,0,1023,0,4095); //map parameter 'boostvalue' from 1-1023 to 0-4095 (for DAC)
Write_MCP4922(1,boostvalue); //write boostvalue to DAC-B
}
ในขณะนี้มี 1 ท่านดูกระทู้อยู่. (0 สมาชิกและ 1 ผู้เยี่ยมชม)
Bookmarks