หน้า 10 จากทั้งหมด 28 หน้า หน้าแรกหน้าแรก 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... หน้าสุดท้ายหน้าสุดท้าย
สรุปผลการค้นหา 181 ถึง 200 จากทั้งหมด 553

กระทู้: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

  1. #181
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    น้าจี ผมaddไฟล์ลงในโปรตุสใส่ชิปไม่ใด้ครับ แต่ยัดลงบรอดใด้ ผมไม่แน่ใจว่าต้องทำHEXเพื่อใส่ในโปรตุสด้วยหรือเปล่า คือว่าผมอยากลองในโปรตุสก่อนลากสายบนบรอดครับ

  2. #182
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจี ผมaddไฟล์ลงในโปรตุสใส่ชิปไม่ใด้ครับ แต่ยัดลงบรอดใด้ ผมไม่แน่ใจว่าต้องทำHEXเพื่อใส่ในโปรตุสด้วยหรือเปล่า คือว่าผมอยากลองในโปรตุสก่อนลากสายบนบรอดครับ
    5555+ ผมแสดงสดหมดเลยครับน้า ไม่ได้เล่น simulator เลยครับ น้าทำบน photo broad ก่อนก็ได้ครับสัญญาณขาคันเร่งก็ใช้ VR ปรับจากแหล่งจ่ายไฟ 5V เอาครับต่อแบบ voltage divider ก็ได้ส่วน output ก็ใช้ LED ก็ได้ครับแต่ใส่ R ลดกระแสหน่อยนึงลกสายไม่มากครับลองดูทดลองจริงเลยครับบางที sim ได้แต่ใช้งานจริงไม่ได้หรือบางครั้ง sim ไม่ได้แต่ใช้งานจริงได้ก็มีครับ

  3. #183
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ jee4x4 ดูโพส
    5555+ ผมแสดงสดหมดเลยครับน้า ไม่ได้เล่น simulator เลยครับ น้าทำบน photo broad ก่อนก็ได้ครับสัญญาณขาคันเร่งก็ใช้ VR ปรับจากแหล่งจ่ายไฟ 5V เอาครับต่อแบบ voltage divider ก็ได้ส่วน output ก็ใช้ LED ก็ได้ครับแต่ใส่ R ลดกระแสหน่อยนึงลกสายไม่มากครับลองดูทดลองจริงเลยครับบางที sim ได้แต่ใช้งานจริงไม่ได้หรือบางครั้ง sim ไม่ได้แต่ใช้งานจริงได้ก็มีครับ
    ครับเด๊วผมลองดูครับ

  4. #184
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    น้าจีผมลองแล้วไฟมันติดตลอดเลยครับ ผมต้องกำหนดสถานะเริ่มต้นให้ดับก่อนหรือเปล่าครับ

  5. #185
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจีผมลองแล้วไฟมันติดตลอดเลยครับ ผมต้องกำหนดสถานะเริ่มต้นให้ดับก่อนหรือเปล่าครับ
    เดี๋ยวผมต้องกลับบ้านไปดูตำราก่อนครับว่าขาที่น้าตั้งให้รับสัญญาณ analog มันใช่รึเปล่าครับจำไม่ค่อยได้ล้างลามาแรมปีแล้วครับ

  6. #186
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ jee4x4 ดูโพส
    เดี๋ยวผมต้องกลับบ้านไปดูตำราก่อนครับว่าขาที่น้าตั้งให้รับสัญญาณ analog มันใช่รึเปล่าครับจำไม่ค่อยได้ล้างลามาแรมปีแล้วครับ
    ครับน้า

  7. #187
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jul 2009
    User ID
    7708
    Status
    Offline
    โพส
    1,114

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจีผมลองแล้วไฟมันติดตลอดเลยครับ ผมต้องกำหนดสถานะเริ่มต้นให้ดับก่อนหรือเปล่าครับ
    โอ้ ไม่เข้า 2 วันไปใกลละ
    ครับ
    เริ่มต้น น้าต้อง สั่งทุกอย่างเป็น Off หมดก่อน
    และถ้าเงื่อนไข ไม่เป็นจริง ก็สั่ง Off ใว้ด้วยครับ
    ไม่อย่างงั้น มันจะ On ตลอดเพราะไม่มีคำสั่ง ทำงานตอนเงื่อนใขเป็นเท็จ
    และค่าคันเร่งก็น่าจะมีการตรวจสอบอยู่ตลอดเวลาและเช็คค่าความแตกต่าง
    เพราะว่าช่วงที่เราถอนคันเร่ง ไฟ ไม่ถอยไปที่ 1.0 V ทันที มันจะ Delay ซึ่งขบวนการช่วงนั้น
    ลมน้าจะหมดก่อนที่จะ เฟี๊ยว ครับผม
    แก้ไขครั้งล่าสุดโดย Yanyong : 25-06-2012 เมื่อ 08:58

  8. #188
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    ครับน้า เด๋วลองดูครับ ไปไหนมาครับไปเที่ยวมาหรือครับ เผื่อผมด้วยนะครับ

  9. #189
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ Yanyong ดูโพส
    โอ้ ไม่เข้า 2 วันไปใกลละ
    ครับ
    เริ่มต้น น้าต้อง สั่งทุกอย่างเป็น Off หมดก่อน
    และถ้าเงื่อนไข ไม่เป็นจริง ก็สั่ง Off ใว้ด้วยครับ
    ไม่อย่างงั้น มันจะ On ตลอดเพราะไม่มีคำสั่ง ทำงานตอนเงื่อนใขเป็นเท็จ
    และค่าคันเร่งก็น่าจะมีการตรวจสอบอยู่ตลอดเวลาและเช็คค่าความแตกต่าง
    เพราะว่าช่วงที่เราถอนคันเร่ง ไฟ ไม่ถอยไปที่ 1.0 V ทันที มันจะ Delay ซึ่งขบวนการช่วงนั้น
    ลมน้าจะหมดก่อนที่จะ เฟี๊ยว ครับผม
    สำคัญตรงที่ผมยังไม่ค่อยเข้าใจคำสั่งมันเท่าไรครับ ไปไปมามา ผมว่าผมอาจจะถนัดpicมากกว่านะครับ

  10. #190
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    ลองไปต่อวงจรลองให้หน่อยครับน้าของผมบอร์ดเกลือขึ้นเจ๊งไปแล้วครับ ผมเอา boost sensor เข้ามาเป็นเงือนงำ เอ้ย เงื่อนไขในการเปิดด้วยครับหลักการคล้ายน้ายงครับ
    int padalsensor=0; // the number of the analog pin for recrive signal from padalsensor(analog pin 0)
    int boostsensor=1; // the number of the analog pin for recrive signal from boostsensor(analog pin 1)
    int solenoildPin = 13; // the number of the solenoildPin pin
    int padalvalue=0;
    int padalvalue1=0;
    int boostvalue=0;
    //-----------------------------------------Setup_Function---------------------------
    void setup()
    {
    pinMode(solenoildPin, OUTPUT); // initialize the solenoild pin as an output:
    }
    //--------------------------------------------loop_function---------------------------
    void loop()
    {

    //----------------------------------------------read sensor-------------------------------
    boostvalue=analogRead(boostsensor);
    padalvalue=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue
    delay(1000); // wait 1 sec.
    padalvalue1=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue1
    if(padalvalue1>=padalvalue) //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค่าที่1ซึ่งหมายถึงช่วงที่เรากดคันเร่ง ให้สั่งปิด solenoild
    {digitalWrite(solenoildPin,LOW);}
    else if(padalvalue1<padalvalue&&(boostvalue>625))
    {digitalWrite(solenoildPin,HIGH); //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค่าที่1และสัญญาณจาก boost sensor มากกว่า 3V หรือประมาณ 15 psi ให้สั่งเปิด solenoild ประมาณ 1 sec
    delay(1000);}
    }

  11. #191
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2008
    User ID
    2789
    Status
    Offline
    โพส
    1,271

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    ดูแล้วก็จากไปแบบเงียบๆ ระดับเทพเขาคุยกัน

  12. #192
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ fresh-sky ดูโพส
    ดูแล้วก็จากไปแบบเงียบๆ ระดับเทพเขาคุยกัน
    เคยเล่นนานละครับ ไม่ใช่เทพที่ไหนหรอก อิอิ ตอนนี้ของเล่นพังหมดแล้วพอดีน้า Pok เขาอยากทำเลยลองเขียนโปรแกรมมาให้ลองครับ

  13. #193
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ fresh-sky ดูโพส
    ดูแล้วก็จากไปแบบเงียบๆ ระดับเทพเขาคุยกัน
    ถ้าน้าอยากศึกษาก็เดินไปพร้อมๆกันเลยครับ

    อ้างอิง โพสต้นฉบับโดยคุณ jee4x4 ดูโพส
    เคยเล่นนานละครับ ไม่ใช่เทพที่ไหนหรอก อิอิ ตอนนี้ของเล่นพังหมดแล้วพอดีน้า Pok เขาอยากทำเลยลองเขียนโปรแกรมมาให้ลองครับ
    ครับน้าจี เด๋วผมอัดลงบรอดแล้วลากสายครับ เพิ่มกลับมาครับฝนตกอย่างแรงเลยครับ ช่วงนี้ฝนเยอะ น้าๆรักษาสุขภาพกันด้วยนะครับคืบหน้ายังไงเด๊วแจ้งผลครับ
    น้ายง หายไปเลยครับ อย่าไปไหนนะครับ ผมยังมีอีกหลายโปรเจ็กครับ

  14. #194
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    ถ้าน้าอยากศึกษาก็เดินไปพร้อมๆกันเลยครับ



    ครับน้าจี เด๋วผมอัดลงบรอดแล้วลากสายครับ เพิ่มกลับมาครับฝนตกอย่างแรงเลยครับ ช่วงนี้ฝนเยอะ น้าๆรักษาสุขภาพกันด้วยนะครับคืบหน้ายังไงเด๊วแจ้งผลครับ
    น้ายง หายไปเลยครับ อย่าไปไหนนะครับ ผมยังมีอีกหลายโปรเจ็กครับ
    โปรแกรมผมเขียนโดนเอาสัญญาณ MAP มาเป็นเงื่อนไขด้วยนะครับคือถ้าเป็นช่วงยกคันเร่งแล้วแรงดันของ MAP ยังสูงก็สั่ง solenoild เปิด 1 วิครับตัวเลข delay หรือค่าMAP ที่เอามาเป็นเงื่อนไขสามารถปรับแก้ได้ตามการใช้งานนะครับ

  15. #195
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ jee4x4 ดูโพส
    โปรแกรมผมเขียนโดนเอาสัญญาณ MAP มาเป็นเงื่อนไขด้วยนะครับคือถ้าเป็นช่วงยกคันเร่งแล้วแรงดันของ MAP ยังสูงก็สั่ง solenoild เปิด 1 วิครับตัวเลข delay หรือค่าMAP ที่เอามาเป็นเงื่อนไขสามารถปรับแก้ได้ตามการใช้งานนะครับ
    น้าจี ผมอัดลงบรอดแล้ว พินโซลินอย์ พินที่13 มันมีไฟติดค้างตลอดเลยครับ ผมลองเพิ่มโค๊ดตรงsetup ให้มันLOW ก้อยังไม่ยอมดับครับ
    ส่วนค่าMAPผมว่ามันสูงไปครับ อาจต้องลดลงครับไม่งั้นเบิ้ลเปล่าไม่เปิดแน่เลยครับ

  16. #196
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจี ผมอัดลงบรอดแล้ว พินโซลินอย์ พินที่13 มันมีไฟติดค้างตลอดเลยครับ ผมลองเพิ่มโค๊ดตรงsetup ให้มันLOW ก้อยังไม่ยอมดับครับ
    ส่วนค่าMAPผมว่ามันสูงไปครับ อาจต้องลดลงครับไม่งั้นเบิ้ลเปล่าไม่เปิดแน่เลยครับ
    ลองเอา code ในส่วนของ MAP ออกก็ได้ครับผมไปดูที่เขาทำขาย มันใช้แค่สัญญาณคันเร่งอย่างเดียว

  17. #197
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ jee4x4 ดูโพส
    ลองเอา code ในส่วนของ map ออกก็ได้ครับผมไปดูที่เขาทำขาย มันใช้แค่สัญญาณคันเร่งอย่างเดียว
    ใช่ครับน้าจี เด๊วผมลองเอาส่วนmapออกก่อน แต่วันนี้สงสัยไม่ใด้ทำแน่ครับ

  18. #198
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jul 2009
    User ID
    7708
    Status
    Offline
    โพส
    1,114

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจี ผมอัดลงบรอดแล้ว พินโซลินอย์ พินที่13 มันมีไฟติดค้างตลอดเลยครับ ผมลองเพิ่มโค๊ดตรงsetup ให้มันLOW ก้อยังไม่ยอมดับครับ
    ส่วนค่าMAPผมว่ามันสูงไปครับ อาจต้องลดลงครับไม่งั้นเบิ้ลเปล่าไม่เปิดแน่เลยครับ
    ลองตั้งค่า เงื่อนใขการเริ่ม
    - ตรวจสอบคันเร่ง ที่1
    - หน่วงเวลา 200 ms
    - ตรวจสอบคันเร่ง ที่2
    - ถ้าคันเร่งที่ 2 น้อยกว่าคันเร่งที่ 1 อยู่ 0.5 V { ทำงาน }

    เอาไปทั้งยวงเลยครับ
    นี่ของที่ใช้อยู่จริง ๆ เลยครับ
    น้า เป็น Mikro C ใช่ใหม ?

    *** ล่างสุดผมเขียนเพื่อลด MAP ใช้งานกับ ระบบ LPG ลดค่าลงเพื่อให้น้ำมันลดการฉีด
    ไม่งั้นไม่ได้ 14-15 โลลิตรแน่นอน
    ***ถ้าไม่กดคันเร่งเร็ว ๆ ภายใน 25*10 ms =250 ms
    จะทำงานระบบลด Map ถ้ากด ตามเงื่อนไข จ่ายย้ำมันเต็มที่ เพราะ สั่ง จูน Map ขึ้นรอใว้แล้ว
    ** อ. ต้น ที่หาคน ทำให้อยู่ ไม่ได้ซักที ก็ เอาไปใช้ พลาง ๆ ได้ครับ รับรอง
    เพราะลองแล้วครับ
    //////////////// UPDATE 05-03-2012 ///////////// ///// /1/2012 ///////////////
    //////////////// PIC18F4620 ///////////////
    //////////////// UPDATE 08-03-2012 /////////////
    /* LOAD TO TRITON */
    //////////////// UPDATE 15-03-2012 /////////////
    //////////////// UPDATE 18-03-2012 /////////////
    //// ONLY UP RAIL AND MAP NOT TO UP PEDAL ////
    #include <built_in.h>
    #define beep1 PORTC.F2 //BC548 BUZZER 5V
    #define temp_relay PORTB.F1 // on off Air temp 1 &2
    /* ********** CHANGE MODE SW PORTB.F0 ********** */
    unsigned long int vout1,vout2,rail_in, map_in,
    rail_ref,map_ref,pedal1,pedal2,pedal3,pedal_in,pedal;
    char y=0,valible=0,i4=2,y1=0;

    ///**** Kick down control Rail & Map ****///
    const char rail_conf = 0x10; //Channel A nonBuffered x2Gain
    const char map_conf = 0x90; //Channel B nonBuffered x2Gain
    const char SHDN = 0x00; //Channel A & B Output = High Impedance

    void DAC_OUT(char config,int output)
    {
    PORTC.F0=0; // Enable Chip Select
    SPI_Write(config+Hi(output));
    SPI_Write(Lo(output));
    PORTC.F0=1; // 'DAC output refreshed at this point
    }
    void beep()
    {
    beep1=1; delay_ms(2);beep1=0;
    }
    void beep2()
    {
    beep1=1; delay_ms(10);beep1=0;delay_ms(90);
    }
    void beep3()
    {
    beep1=1; delay_ms(150);beep1=0;delay_ms(150);
    }
    void rail_up()
    {
    // if(PORTB.F0==0){i4++; beep2();delay_ms(100);}// NORMAL ON 4.5V
    // if(i4>4){i4=0;}
    // if(i4==1){valible=0;}
    // if(i4==2){valible=20;}
    // if(i4==3){valible=40;}
    // if(i4==4){valible=80;}
    // if(i4==0){valible=0;beep2();i4++;}

    {
    if(rail_in<317){vout1=rail_ref-valible;}// < 1.55 V
    else if((rail_in>=317)&&(rail_in<327)){vout1=rail_ref-(7+valible);}//1.55-1.613
    else if((rail_in>=327)&&(rail_in<337)){vout1=rail_ref-(12+valible);}//1.613-1.657
    else if((rail_in>=337)&&(rail_in<348)){vout1=rail_ref-(17+valible);}//1.657-1.687
    else if((rail_in>=348)&&(rail_in<358)){vout1=rail_ref-(21+valible);}//1.687-1.75
    else if((rail_in>=358)&&(rail_in<368)){vout1=rail_ref-(25+valible);}//1.75-1.8
    else if((rail_in>=368)&&(rail_in<378)){vout1=rail_ref-(29+valible);}//1.8-1.89
    else if((rail_in>=378)&&(rail_in<389)){vout1=rail_ref-(33+valible);}//1.89-1.995
    else if((rail_in>=389)&&(rail_in<399)){vout1=rail_ref-(37+valible);}//1.995-2.029
    else if((rail_in>=399)&&(rail_in<409)){vout1=rail_ref-(41+valible);}//2.029-2.102
    else if((rail_in>=409)&&(rail_in<419)){vout1=rail_ref-(44+valible);}//2.102
    else if((rail_in>=419)&&(rail_in<429)){vout1=rail_ref-(40+valible);}//2.102
    else if((rail_in>=429)&&(rail_in<440)){vout1=rail_ref-(36+valible);}//2.102
    else if((rail_in>=440)&&(rail_in<450)){vout1=rail_ref-(32+valible);}//2.102
    else if((rail_in>=450)&&(rail_in<460)){vout1=rail_ref-(28+valible);}//2.102
    else if((rail_in>=460)&&(rail_in<470)){vout1=rail_ref-(24+valible);}//2.102
    else if((rail_in>=470)&&(rail_in<481)){vout1=rail_ref-(20+valible);}//2.102
    else if((rail_in>=481)&&(rail_in<491)){vout1=rail_ref-(16+valible);}//2.102
    else if((rail_in>=491)&&(rail_in<650)){vout1=rail_ref-(12+valible);}//2.102
    else{vout1=rail_ref-(8+valible);}
    }
    }
    void map_up()
    {
    if(map_in>245&&map_in<333){vout2=(map_ref+40);}
    else if(map_in>=333&&map_in<419){vout2=(map_ref+50);}
    else if(map_in>=419&&map_in<505){vout2=(map_ref+60);}
    else if(map_in>=505&&map_in<591){vout2=(map_ref+90);}//569
    else if(map_in>=591&&map_in<677){vout2=(map_ref+100);}//640
    else if(map_in>=677&&map_in<777){vout2=(map_ref+110);}//711
    else{vout2=map_ref;}
    }
    void input_sensor()
    {
    if(PORTB.F0==0){i4++; beep3();delay_ms(250);}// NORMAL ON 4.5V
    if(i4>4){i4=0;}
    if(i4==1){vout1=rail_ref;}
    if(i4==2){valible=15;rail_up();}
    if(i4==3){valible=40;rail_up();}
    if(i4==4){valible=80;rail_up();}
    if(i4==0){valible=0;beep3();i4++;}
    rail_in=Adc_read(0);
    rail_ref=rail_in*2;
    map_in=Adc_read(1);
    map_ref=map_in*2;
    map_up();
    }
    void dac_output()
    {
    if(map_in>=777||vout2>1555){vout2=1555;}
    DAC_OUT(rail_conf,vout1); // Output on channel A
    DAC_OUT(map_conf,vout2); // Output on channel B
    }
    void counter_t()
    {
    y++;
    if(y<25){pedal1=Adc_Read(2);}
    if(y==25){pedal2=Adc_Read(2);}
    if(y>25){y=0;}
    delay_ms(10);
    }
    void main()
    {
    TRISA=0XFF;
    TRISC=0X00;
    TRISB=0X01;
    PORTB=0x00;
    PORTC=0x00;
    TRISC.F0=0; // Chip select line set to output
    Spi_Init(); // Initial Spi
    PORTC.F0=1; // Disable Chip Select
    DAC_OUT(SHDN,0);
    beep3();beep2();beep3();
    while(1)
    {
    counter_t();
    {
    if(pedal2>pedal1+40)
    {
    loop3: y1++;
    input_sensor(); dac_output();
    pedal3=Adc_Read(2);
    temp_relay=1;
    if(y1>10){beep2();y1=0;}
    while(pedal3>=pedal2){goto loop3;} //**************************//
    }
    else {
    input_sensor();
    if(i4<=2){ vout2=map_ref-122;temp_relay=0;} //only for safe petrol
    else{temp_relay=1;}
    dac_output();
    }
    }
    }
    }
    แก้ไขครั้งล่าสุดโดย Yanyong : 27-06-2012 เมื่อ 09:47

  19. #199
    TTC - .... Wait.... TTC-Member
    สมัครเมื่อ
    Sep 2011
    User ID
    22939
    Status
    Offline
    โพส
    135

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    น้าจี น้ายงครับ โคลงงานไกล้ประสบผลสำเร็จแล้วครับ ติดอยู่นิดเดียวครับ ผมลองแก้โค๊ดเป็นร้อยรอบแล้วครับ คือว่าอย่างนี้ครับ

    ตอนเบิ้ลวอลลุ่ม(คันเร่ง)มันโอเคครับ เบิ้ลแล้วปล่อย โบว์อ๊อฟเิปิดแล้วปิดตามเวลาที่ตั้งใว้ครับ แต่มีปัญหาตรงที่ เวลาเร่งวอลลุ่ม(คันเร่ง)ค้างใว้ มันเปิดปิด เปิดปิด ตามเวลาที่ตั้งใว้เลยครับและตลอดเวลาครับ จนกว่าจะถอนคันเร่งก็จะกลับมาปิดครับ งงงงมากครับ ลองแก้โค๊ดต่างๆแล้วครับ ผมงงตอนที่แช่คันเร่งใว้ แล้วโปรแกรมมันวนมาอ่าน มันจะอ่านนะเวลานั้นเป็นpedalแรกหรือเปล่าครับ

    int padalsensor=0; // the number of the analog pin for recrive signal from padalsensor(analog pin 0)
    int solenoildPin = 13; // the number of the solenoildPin pin
    int padalvalue1=0;
    int padalvalue2=0;

    //-----------------------------------------Setup_Function---------------------------
    void setup()
    {
    pinMode(solenoildPin, OUTPUT); // initialize the solenoild pin as an output:

    }
    //--------------------------------------------loop_function---------------------------
    void loop()
    {


    //----------------------------------------------read sensor-------------------------------

    padalvalue1=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue1
    delay(500); // wait 1 sec.
    padalvalue2=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue2
    if(padalvalue2>=padalvalue1) //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค ่าที่1ซึ่งหมายถึงช่วงที่เรากดคันเร่ง ให้สั่งปิด solenoild
    {digitalWrite(solenoildPin,LOW);}
    if(padalvalue2<padalvalue1)
    {digitalWrite(solenoildPin,HIGH); //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค ่าที่1และสัญญาณจาก boost sensor มากกว่า 3V หรือประมาณ 15 psi ให้สั่งเปิด solenoild ประมาณ 1 sec
    delay(500);}
    }
    แก้ไขครั้งล่าสุดโดย pokneed : 27-06-2012 เมื่อ 22:08

  20. #200
    สมาชิกถาวร TTC-Member
    สมัครเมื่อ
    Jun 2009
    User ID
    6951
    Status
    Offline
    โพส
    2,467

    มาตรฐาน ตอบ: Mcu ไมโครคอนโทรเลอร์ ทำอะไร ๆ ก็ทำได้ ถ้าทำเป็น

    อ้างอิง โพสต้นฉบับโดยคุณ pokneed ดูโพส
    น้าจี น้ายงครับ โคลงงานไกล้ประสบผลสำเร็จแล้วครับ ติดอยู่นิดเดียวครับ ผมลองแก้โค๊ดเป็นร้อยรอบแล้วครับ คือว่าอย่างนี้ครับ

    ตอนเบิ้ลวอลลุ่ม(คันเร่ง)มันโอเคครับ เบิ้ลแล้วปล่อย โบว์อ๊อฟเิปิดแล้วปิดตามเวลาที่ตั้งใว้ครับ แต่มีปัญหาตรงที่ เวลาเร่งวอลลุ่ม(คันเร่ง)ค้างใว้ มันเปิดปิด เปิดปิด ตามเวลาที่ตั้งใว้เลยครับและตลอดเวลาครับ จนกว่าจะถอนคันเร่งก็จะกลับมาปิดครับ งงงงมากครับ ลองแก้โค๊ดต่างๆแล้วครับ ผมงงตอนที่แช่คันเร่งใว้ แล้วโปรแกรมมันวนมาอ่าน มันจะอ่านนะเวลานั้นเป็นpedalแรกหรือเปล่าครับ

    int padalsensor=0; // the number of the analog pin for recrive signal from padalsensor(analog pin 0)
    int solenoildPin = 13; // the number of the solenoildPin pin
    int padalvalue1=0;
    int padalvalue2=0;

    //-----------------------------------------Setup_Function---------------------------
    void setup()
    {
    pinMode(solenoildPin, OUTPUT); // initialize the solenoild pin as an output:

    }
    //--------------------------------------------loop_function---------------------------
    void loop()
    {


    //----------------------------------------------read sensor-------------------------------

    padalvalue1=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue1
    delay(500); // wait 1 sec.
    padalvalue2=analogRead(padalsensor); //อ่านค่าจาก sensor ขาคันเร่ง มาเก็บที่ padalvalue2
    if(padalvalue2>=padalvalue1) //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค ่าที่1ซึ่งหมายถึงช่วงที่เรากดคันเร่ง ให้สั่งปิด solenoild
    {digitalWrite(solenoildPin,LOW);}
    if(padalvalue2<padalvalue1)
    {digitalWrite(solenoildPin,HIGH); //ถ้าสัญญาณจากคันเรงค่าที่สองมากกว่าสัญญาณขาคันเร่งค ่าที่1และสัญญาณจาก boost sensor มากกว่า 3V หรือประมาณ 15 psi ให้สั่งเปิด solenoild ประมาณ 1 sec
    delay(500);}
    }
    แบบนี้มันเป็นที่ความนิ่งของแรงดันอะครับถ้ามันมีสวิงแค่นิดเดียวมันก็จะ เปิด ปิด ตลอดเวลาแบบนี้หละครับ ถ้างั้นน้าลองให้มันดูว่าแรงดันค่า 1 กับค่า 2 ต่างกันเท่าไรถึงทำงาน แบบนั้นน่าจะแก้ได้ครับ

หน้า 10 จากทั้งหมด 28 หน้า หน้าแรกหน้าแรก 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... หน้าสุดท้ายหน้าสุดท้าย

ข้อมูลกระทู้

Users Browsing this Thread

ในขณะนี้มี 1 ท่านดูกระทู้อยู่. (0 สมาชิกและ 1 ผู้เยี่ยมชม)

Bookmarks

กฎการโพสข้อความ

  • ท่าน ไม่สามารถ ตั้งกระทู้ใหม่ได้
  • ท่าน ไม่สามารถ ตอบกระทู้ได้
  • ท่าน ไม่สามารถ แนบไฟล์ได้
  • ท่าน ไม่สามารถ แก้ไขข้อความโพสได้
  •  
  • BB code สถานะ เปิด
  • Smilies สถานะ เปิด
  • [IMG] สถานะ เปิด
  • [VIDEO] code is เปิด
  • HTML สถานะ ปิด