Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - TaoTao

#225
Quote from: pa_ul on April 27, 2013, 10:32:12 AM
ก็ดีนะครับ ที่ได้ทำการทดสอบดู ผมมีสงสัยสองอย่าง

1. การแตะด้วยนิ้วแล้วมันหยุดทำงานเพราะอะไร ผมมั่นใจว่าไม่ใช่เพราะสัญญาณรบกวนจากปลายนิ้วแน่ๆ


ผมก็สังเกตได้อีกอย่าง คือ มันจะไวต่อนิ้ว ที่ฝั่งนึงเท่านั้น คือ ฝั่งขาที่มี MCLR ครับ

และนิ้วมือ เมื่อเอาสโคปวัด มันก็มีไฟเล็กน้อยเท่านั้น เล็กน้อยจริงๆ
แต่ผมกลับคิด(เอาเอง) นะครับ ว่า
ตัวเรา อาจทำตัวเป็นสายอากาศพอดี และมากวนที่ความถี่นั้นๆ ที่มันทำงาน

เพราะ เคยเอามือ(เพื่อนๆ)จับเสาอากาศ เพื่อดูบอลในสมัยก่อน ขณะจับ ภาพชัดแจ๋วเลย

แค่ เดาๆ น่ะครับ และเทสเอา มันๆ อิอิ
#226
Quote from: pa_ul on April 27, 2013, 10:32:12 AM
ก็ดีนะครับ ที่ได้ทำการทดสอบดู ผมมีสงสัยสองอย่าง

1. การแตะด้วยนิ้วแล้วมันหยุดทำงานเพราะอะไร ผมมั่นใจว่าไม่ใช่เพราะสัญญาณรบกวนจากปลายนิ้วแน่ๆ

2. สนามแม่เหล็กถาวร ไม่สามารถเหนี่ยวนำให้เกิดสัญญาณรบกวนได้นะครับ การใช้แม่เหล็กถาวร ซึ่งไม่ใช่ Inductive load จะสามารถบอกอะไรได้บ้างครับ


ในความเห็นผมนะครับ
อิเล็คตรอน(อนุมานว่า ทิศตรงข้ามกระแสไฟฟ้า) เมื่อตัดสนามแม่เหล็ก B
จะมีแรงไฟฟ้าแม่เหล็กชนิดนึงเกิดขึ้น นะครับ
ซึ่งทิศของแรงนี้ตามกฎมือขวาของ เอิสสเตก
ตามสูตร F = IBL sin %Theta
เป็นหลักการที่นำมาสร้าง อุปกรณ์หลายๆ อย่างน่ะครับ


แต่การรบกวนเชิงความถี่ ของ B อาจจำลองได้ยาก
แต่ปริมาณ ผมว่าเข้มข้นกว่าเห็นๆ 555+
เทสเอามันส์ๆ ครับ

ส่วนการจำลอง การอินดิวของ B ผมว่าก็ไม่ยากนะ

เพียงแต่ผมมีมือเดียว อีกมือจับกล้อง เลยถ่ายลำบาก

คือ เลื่อนแม่เหล็ก เข้าออก นั่นเอง

ถ้าสังเกตดีๆ ตอนนำ แม่เหล้ก เข้าใกล้ มากขึ้นๆๆ

Pic ยังคงแสดงผลลัพธ์ ให้ op อย่างคงเส้นคงวา

สโคป แสดงการ interrupt ก็เกิดอย่างต่อเนื่องน่ะครับ(Toggle ทุกๆ 50us)

แต่หาก มันอ่อนไหว ด้านสนามแม่เหล็ก
เมื่อนำเข้าใกล้ เอ๋อ แน่ๆ ครับ

อย่างเช่น จอโทรทัศน์ CRT น่ะครับ

เคยเทสบ้านเพื่อน จอมืด โบ๋ เป็นรู ไปพักใหญ่ๆ เลย กว่าจะหาย
#227
พอดี คิดแว๊บๆ ขึ้นมาว่า คลิปนี้ อาจมีประโยชน์กับอีกหลายๆ คน
ที่ต้องนำเจ้า ปิ๊ก ไปออกสนามรบ

ผลเลยจัดการ เทสน้องปิ๊ก สักเล็กน้อย บางโคด ก่อนนำมันมาใช้งานจริง
ก็...  ถือว่าโหดกับ น้องปิ๊ก พอดูนะครับ

ผลลัพธ์เป็นอย่างไร ขอบรรยายด้วยภาพแล้วกันครับ

http://www.youtube.com/embed/aIH-5jAiBGo

เป็น MCU ของ Board Demo : Pic 8 bits - 16_Instruction

ตระกูล 18F(ของแถมก๊าบบบ มากับ Pickit3 555+)

Code โดยใช้ Internal OSC 16Meg__PLL 4 เท่า = 64 MHz

หารด้วย 4 ก็ได้ 16 MIPs freq ถูกวัดด้วย Kyoritsu MultiMeter ก็เป๊ะตามนี้

ตอนเทส ขี้เกียจบัดกรี Xtal ครับ อยากลอง OSC ในตัวมัน

ด้าน Realtime ใช้ Interrupt Timing 50 usec สั่งบิตนึง toggle เพื่อออกสโคป

โดย.. ตั้งสโคปไว้ที่ 50 usec / div

Pic มันก็ทำงานแม่นยำ Curve คมมาก

ผลลัพธ์ที่ได้...

คนใช้งานที่ต้องเจอ สนามแม่เหล็ก อย่าง Inductive Load คงสบายใจได้ระดับนึงเลยครับ

ที่น่ากังวล ว่า น้องปิ๊ก มันจะเอ๋อเหรอ O_o ก็ น้ำมือมนุษย์นี่เอง

แต่ หากใช้ XTAL นี่ก็ยังไม่ได้เทสจริงจังนะครับ

ถ้าได้เทสแล้ว อาจมาอัพเดทให้ชมกัน

ตอนใช้งานจริง อยู่ในกล่อง คงไม่มีใครทะลึ่งเอามือไป  จิ้มปิ๊ก มันหรอกนะ 555+
เพียงแต่.. อย่าทำมันหายก็คงพอ ไม่งั้น ชิบ..!!
#228
แบบนี้นะครับ
ขนาดใหญ่กว่า ซองบุหรี่เล็กน้อย


#229
มี 2 คำถาม ที่คาใจอยู่น่ะครับ

ปัญหาแรกนะครับ
โค้ดประมาณนี้ครับ

volatile struct{
  unsigned on :1;
  unsigned count  :3;
}switch;

volatile unsigned char value[3] ={1 , 2 , 3};


void switch_fn(){

for(switch.count=1; switch.count<=6; switch.count++){
value[switch.count] = value[switch.count -1] + value[0];

}

ปรากฎว่า มันบอกผิดพลาด คอมไพล์ ไม่ผ่าน
แต่พอ นำตัวแปร switch.count ออกมาข้างนอก struct
โดยเปลี่ยนเป็น unsigned char i;
for(i=1; i<=6; i++){ }
มันถึงยอมน่ะครับ

ทำไมมันไม่ผ่านน่ะครับ

ที่อยากใช้ ตัวแปร เป็น struct
เพราะว่า มันเป็นหมวดหมู่ดีน่ะครับ จัดการง่าย พิมพ์ง่าย
และก็ กำหนดจำนวน bits ได้ด้วย

คำถามที่ สอง น่ะครับ

จะมีทาง ทำให้
ตัวแปร struct{ }; มีค่า initial ได้เลย โดยการกำหนดทีเดียว ได้เปล่าครับ
ผมลองพิมพ์ อย่างนี้

volatile struct {
unsigned ant=4 :3;
unsigned bat=3 ;6;
}id;

มันก็ไม่ยอมน่ะครับ
แต่พอ เอาการกำหนดค่า initial ออก
คือ =4 และ =3 ออก
ปรากฏว่า ถึงจะ Complies ผ่าน
ทำอย่างไร จึง initial ค่าเริ่มต้น ให้มันได้เลย
เหมือนกับ การ Initial ตัวแปรอื่นๆ ทั่วไปครับ

volatile unsigned char ant=4; // อย่างนี้ มันยอมให้ Complies
แต่มันไม่เป็นหมวดหมู่น่ะครับ

ถามซะยาวเลย อิอิ
ขอบคุณสำหรับคำตอบล่วงหน้าครับ
#230
Quote from: wlasoi on April 24, 2013, 04:10:32 PM
core16bit ขึ้นไป มันมี barrel shift bit ช่วยเพิ่มประสิทธิภาพคำสั่ง การคูณ/หาร ให้ เร็วขึ้น กว่าปกติ ครับ พอทำ PID ได้แบบไม่เป็นภาระ MCU มากนัก ในราคาถูกๆ ตัวล่ะร้อยสองร้อย  .. ถ้าอยากได้หารจริงๆ floating point จริงๆ ต้อง cortex-F4 ครับ

ง่ะ  ขอบคุณมากคร๊าบบ
ว่าแต่ 18F ที่ผมใช้
เห็น ดาต้าชีทมันบอก 16bits Instructions
มันมีเปล่าอ่ะครับ

ผมได้เลือก เบอร์ 18f25
เพราะว่า ตอนซื้อ Pickkit3
มันแถม DemoBoard ซึ่งเป็นเบอร์ 18f  คือ 18f45k20
ทำให้ เวลาทดลองโค้ด พวก sw, analog_volume_LED ง่ายขึ้นน่ะครับ
และไม่ต้องปรับโค้ดมากนัก

และคำถามสุดท้าย คือ
ความสามารถ ของ ตระกุล MCU แบบกระชับๆ
เพื่อใช้ในการเลือกใช้น่ะครับ มันพอจะมีแหล่งหรือเปล่าครับ

เพราะว่า ตอนใช้งาน
ที่ microchipdirect หน้าเลือกของ
ก็ เป้น สเปกคร่าวๆ MIPs ฯลฯ

แต่ทั้งนี้ทั้งนั้น ถ้าจะให้อ่านดาต้าชีท ละเอียดทุกเบอร์
@_@! นอนหลับฝันร้ายแน่นอน

ขอบคุณสำหรับคำตอบล่วงหน้านะครับ
#231
แอบ เข้า มา ดู  อิอิ
#232
Quote from: p_chusak on April 24, 2013, 10:46:57 AM
ใช้เลยท่าน PIC24 แม้จะไม่ใช่ cpu ที่ดีที่สุดแต่ก็น่าใช้ ที่ผมใช้ ด้วยเหตุผลดังนี้
1. หาซื้อง่ายในไทย ราคาไม่แพง เดินไปซื้อ ที่ ES ได้มีหลายเบอร์
2. มี package ให้เลือกหลายขนาด แบบ dip ก็ยังมี
3. core เร็วเพียงพอ มีตั้งแต่ 16-70MIPS มีคำสั่ง หาร มีแรมมากพอต่อการใช้งาน
4. IDE และ compiler ฟรี ใช้ได้ไม่จำกัด ขนาด
5. เอกสารตัวอย่างหาง่าย datasheet อ่านเข้าใจง่าย
6. มี USB,can,pwm,...... เยอะครับ และก็มี option ที่เหมาะแก่การใช้งานตาม แบบ style ของ pic อย่าเรื่อง ADC ก็ไม่แพ้ใคร สั่ง convert ทีเดียว มาทั้ง 16 ช่องเลยก็มี ไม่ต้องเสียเวลาไปสั่งและเก็บข้อมูลทีละช่อง คือในแต่ละ module ของ pic จะมีลูกเล่นที่ใช้ได้จริงครับ ถ้ารู้จักใช้ อย่าง UART ก็สลับขั้วได้ อันนี้ได้ใช้จริง
7. สามารถขยับไปใช้ pic32 dspic หรือ ลงไปใช้ pic16F 18F โดยทำการศึกษาเพิ่มนิดเดียว microchip ออกแบบ รีจิสเตอร์คล้ายๆกัน
8. แม้ว่าส่วนใหญ่จะใช้ ไฟ 3.3 Volt แต่ก็ออกแบบให้ใช้กับระบบ 5Volt โดยไม่ได้เพิ่มอะไรมาก input รับ 5 volt ได้ output มี mode open DRAIN ให้เลือกใช้
9. EEPROM ส่วนใหญ่ไม่มี แต่สามารถใช้ flash มาแทนส่วนนี้ได้หากจำเป็นต้องใช้

แห่ะๆ
มันมี คำสั่ง หาร ด้วย ^^!
พอดีตอนนี้ ใช้ 18F อยู่น่ะครับ

ว่าแต่ ตัวไหนอ่ะครับ ที่มันมีการหารด้วย อยากรู้ๆ

ขอบคุณล่วงหน้านะครับ